summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2013-07-03 01:47:30 +0200
committerSlávek Banko <slavek.banko@axis.cz>2013-07-03 01:47:30 +0200
commit239e873a38fa91a3fbd27e134bda015922abbabd (patch)
treed7c79f740bce93768ee78b6b787c83a2115b047f
downloadkdbg-239e873a38fa91a3fbd27e134bda015922abbabd.tar.gz
kdbg-239e873a38fa91a3fbd27e134bda015922abbabd.zip
Initial import
-rw-r--r--BUGS7
-rw-r--r--COPYING280
-rw-r--r--ChangeLog-pre-2.2.0441
-rw-r--r--Makefile.am29
-rw-r--r--Makefile.in921
-rw-r--r--README19
-rw-r--r--ReleaseNotes-2.2.036
-rw-r--r--ReleaseNotes-2.2.123
-rw-r--r--ReleaseNotes-2.2.211
-rw-r--r--TODO44
-rw-r--r--acinclude.m411889
-rw-r--r--aclocal.m4881
-rwxr-xr-xautogen.sh4
-rw-r--r--config.h.in310
-rwxr-xr-xconfigure36413
-rw-r--r--configure.files3
-rw-r--r--configure.in241
-rw-r--r--configure.in.in4
-rw-r--r--configure.in.mid115
-rw-r--r--kdbg.spec67
-rw-r--r--kdbg/Makefile.am98
-rw-r--r--kdbg/Makefile.in1288
-rw-r--r--kdbg/brkpt.cpp513
-rw-r--r--kdbg/brkpt.h75
-rw-r--r--kdbg/commandids.h14
-rw-r--r--kdbg/dbgdriver.cpp527
-rw-r--r--kdbg/dbgdriver.h622
-rw-r--r--kdbg/dbgmainwnd.cpp876
-rw-r--r--kdbg/dbgmainwnd.h113
-rw-r--r--kdbg/debugger.cpp2210
-rw-r--r--kdbg/debugger.h556
-rw-r--r--kdbg/doc/Makefile.am3
-rw-r--r--kdbg/doc/Makefile.in721
-rw-r--r--kdbg/doc/de/Makefile.am27
-rw-r--r--kdbg/doc/de/Makefile.in609
-rw-r--r--kdbg/doc/de/argspwdenv.html50
-rw-r--r--kdbg/doc/de/breakptlist.html82
-rw-r--r--kdbg/doc/de/globaloptions.html72
-rw-r--r--kdbg/doc/de/howdoi.html83
-rw-r--r--kdbg/doc/de/index.html190
-rw-r--r--kdbg/doc/de/localvars.html25
-rw-r--r--kdbg/doc/de/memory.html29
-rw-r--r--kdbg/doc/de/pgmoutput.html52
-rw-r--r--kdbg/doc/de/pgmsettings.html83
-rw-r--r--kdbg/doc/de/registers.html37
-rw-r--r--kdbg/doc/de/sourcecode.html30
-rw-r--r--kdbg/doc/de/stack.html25
-rw-r--r--kdbg/doc/de/threads.html44
-rw-r--r--kdbg/doc/de/tips.html45
-rw-r--r--kdbg/doc/de/watches.html27
-rw-r--r--kdbg/doc/en/Makefile.am23
-rw-r--r--kdbg/doc/en/Makefile.in604
-rw-r--r--kdbg/doc/en/argspwdenv.html42
-rw-r--r--kdbg/doc/en/breakptlist.html93
-rw-r--r--kdbg/doc/en/globaloptions.html78
-rw-r--r--kdbg/doc/en/howdoi.html76
-rw-r--r--kdbg/doc/en/index.html185
-rw-r--r--kdbg/doc/en/invocation.html34
-rw-r--r--kdbg/doc/en/localvars.html28
-rw-r--r--kdbg/doc/en/memory.html26
-rw-r--r--kdbg/doc/en/pgmoutput.html46
-rw-r--r--kdbg/doc/en/pgmsettings.html81
-rw-r--r--kdbg/doc/en/registers.html35
-rw-r--r--kdbg/doc/en/sourcecode.html28
-rw-r--r--kdbg/doc/en/stack.html23
-rw-r--r--kdbg/doc/en/threads.html42
-rw-r--r--kdbg/doc/en/tips.html47
-rw-r--r--kdbg/doc/en/types.html183
-rw-r--r--kdbg/doc/en/watches.html28
-rw-r--r--kdbg/doc/en/xslt.html24
-rw-r--r--kdbg/doc/ru/Makefile.am27
-rw-r--r--kdbg/doc/ru/Makefile.in609
-rw-r--r--kdbg/doc/ru/argspwdenv.html43
-rw-r--r--kdbg/doc/ru/breakptlist.html68
-rw-r--r--kdbg/doc/ru/globaloptions.html72
-rw-r--r--kdbg/doc/ru/howdoi.html78
-rw-r--r--kdbg/doc/ru/index.html177
-rw-r--r--kdbg/doc/ru/localvars.html19
-rw-r--r--kdbg/doc/ru/memory.html26
-rw-r--r--kdbg/doc/ru/pgmoutput.html43
-rw-r--r--kdbg/doc/ru/pgmsettings.html73
-rw-r--r--kdbg/doc/ru/registers.html31
-rw-r--r--kdbg/doc/ru/sourcecode.html31
-rw-r--r--kdbg/doc/ru/stack.html23
-rw-r--r--kdbg/doc/ru/threads.html38
-rw-r--r--kdbg/doc/ru/tips.html43
-rw-r--r--kdbg/doc/ru/types.html126
-rw-r--r--kdbg/doc/ru/watches.html20
-rw-r--r--kdbg/envvar.h24
-rw-r--r--kdbg/exprwnd.cpp831
-rw-r--r--kdbg/exprwnd.h180
-rw-r--r--kdbg/gdbdriver.cpp2572
-rw-r--r--kdbg/gdbdriver.h92
-rw-r--r--kdbg/kdbg.desktop42
-rw-r--r--kdbg/kdbgrc50
-rw-r--r--kdbg/kdbgui.rc88
-rw-r--r--kdbg/main.cpp139
-rw-r--r--kdbg/mainwndbase.cpp637
-rw-r--r--kdbg/mainwndbase.h153
-rw-r--r--kdbg/memwindow.cpp316
-rw-r--r--kdbg/memwindow.h55
-rw-r--r--kdbg/mydebug.h25
-rw-r--r--kdbg/pgmargs.cpp246
-rw-r--r--kdbg/pgmargs.h51
-rw-r--r--kdbg/pgmargsbase.cpp237
-rw-r--r--kdbg/pgmargsbase.ui571
-rw-r--r--kdbg/pgmsettings.cpp115
-rw-r--r--kdbg/pgmsettings.h53
-rw-r--r--kdbg/pics/Makefile.am56
-rw-r--r--kdbg/pics/Makefile.in698
-rw-r--r--kdbg/pics/brkcond.xpm20
-rw-r--r--kdbg/pics/brkdis.xpm21
-rw-r--r--kdbg/pics/brkena.xpm21
-rw-r--r--kdbg/pics/brkorph.xpm19
-rw-r--r--kdbg/pics/brktmp.xpm20
-rwxr-xr-xkdbg/pics/genanim.sh9
-rw-r--r--kdbg/pics/hi16-action-brkpt.pngbin0 -> 389 bytes
-rw-r--r--kdbg/pics/hi16-action-execopen.pngbin0 -> 684 bytes
-rw-r--r--kdbg/pics/hi16-action-pgmfinish.pngbin0 -> 441 bytes
-rw-r--r--kdbg/pics/hi16-action-pgmnext.pngbin0 -> 482 bytes
-rw-r--r--kdbg/pics/hi16-action-pgmnexti.pngbin0 -> 491 bytes
-rw-r--r--kdbg/pics/hi16-action-pgmrun.pngbin0 -> 477 bytes
-rw-r--r--kdbg/pics/hi16-action-pgmstep.pngbin0 -> 433 bytes
-rw-r--r--kdbg/pics/hi16-action-pgmstepi.pngbin0 -> 443 bytes
-rw-r--r--kdbg/pics/hi16-app-kdbg.pngbin0 -> 454 bytes
-rw-r--r--kdbg/pics/hi22-action-brkpt.pngbin0 -> 298 bytes
-rw-r--r--kdbg/pics/hi22-action-execopen.pngbin0 -> 1104 bytes
-rw-r--r--kdbg/pics/hi22-action-pgmfinish.pngbin0 -> 381 bytes
-rw-r--r--kdbg/pics/hi22-action-pgmnext.pngbin0 -> 359 bytes
-rw-r--r--kdbg/pics/hi22-action-pgmnexti.pngbin0 -> 383 bytes
-rw-r--r--kdbg/pics/hi22-action-pgmrun.pngbin0 -> 636 bytes
-rw-r--r--kdbg/pics/hi22-action-pgmstep.pngbin0 -> 367 bytes
-rw-r--r--kdbg/pics/hi22-action-pgmstepi.pngbin0 -> 390 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse.pngbin0 -> 5528 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse.xml259
-rw-r--r--kdbg/pics/hi22-action-pulse000000.pngbin0 -> 507 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000001.pngbin0 -> 508 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000002.pngbin0 -> 509 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000003.pngbin0 -> 508 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000004.pngbin0 -> 511 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000005.pngbin0 -> 513 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000006.pngbin0 -> 512 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000007.pngbin0 -> 520 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000008.pngbin0 -> 519 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000009.pngbin0 -> 527 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000010.pngbin0 -> 521 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000011.pngbin0 -> 521 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000012.pngbin0 -> 551 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000013.pngbin0 -> 549 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000014.pngbin0 -> 536 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000015.pngbin0 -> 525 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000016.pngbin0 -> 525 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000017.pngbin0 -> 543 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000018.pngbin0 -> 533 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000019.pngbin0 -> 529 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000020.pngbin0 -> 523 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000021.pngbin0 -> 517 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000022.pngbin0 -> 525 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000023.pngbin0 -> 529 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000024.pngbin0 -> 509 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000025.pngbin0 -> 517 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000026.pngbin0 -> 518 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000027.pngbin0 -> 512 bytes
-rw-r--r--kdbg/pics/hi22-action-pulse000028.pngbin0 -> 506 bytes
-rw-r--r--kdbg/pics/hi32-app-kdbg.pngbin0 -> 1233 bytes
-rw-r--r--kdbg/pics/hi48-app-kdbg.pngbin0 -> 1954 bytes
-rw-r--r--kdbg/pics/lo16-app-kdbg.pngbin0 -> 434 bytes
-rw-r--r--kdbg/pics/lo32-app-kdbg.pngbin0 -> 798 bytes
-rw-r--r--kdbg/pics/pcinner.xpm14
-rw-r--r--kdbg/pics/pcup.xpm14
-rw-r--r--kdbg/pics/pointer.xpm18
-rw-r--r--kdbg/pics/regs.xpm26
-rw-r--r--kdbg/pics/watch.xpm24
-rw-r--r--kdbg/pics/watchcoded.xpm26
-rw-r--r--kdbg/pics/watchdis.xpm22
-rw-r--r--kdbg/pics/watchena.xpm22
-rw-r--r--kdbg/prefdebugger.cpp48
-rw-r--r--kdbg/prefdebugger.h43
-rw-r--r--kdbg/prefmisc.cpp85
-rw-r--r--kdbg/prefmisc.h51
-rw-r--r--kdbg/procattach.cpp308
-rw-r--r--kdbg/procattach.h81
-rw-r--r--kdbg/procattachbase.cpp137
-rw-r--r--kdbg/procattachbase.ui276
-rw-r--r--kdbg/programconfig.cpp147
-rw-r--r--kdbg/programconfig.h37
-rw-r--r--kdbg/regwnd.cpp613
-rw-r--r--kdbg/regwnd.h44
-rw-r--r--kdbg/sourcewnd.cpp967
-rw-r--r--kdbg/sourcewnd.h124
-rw-r--r--kdbg/testprogs/Makefile.am62
-rw-r--r--kdbg/testprogs/Makefile.in885
-rw-r--r--kdbg/testprogs/anonstruct.cpp32
-rw-r--r--kdbg/testprogs/locals.cpp26
-rw-r--r--kdbg/testprogs/maths.cpp30
-rw-r--r--kdbg/testprogs/nestedclass.cpp31
-rw-r--r--kdbg/testprogs/qt.cpp41
-rw-r--r--kdbg/testprogs/repeats.cpp41
-rw-r--r--kdbg/testprogs/std.cpp58
-rw-r--r--kdbg/testprogs/templates.cpp117
-rw-r--r--kdbg/testprogs/test1.xml15
-rw-r--r--kdbg/testprogs/test1.xsl113
-rw-r--r--kdbg/testprogs/testfile.cpp202
-rw-r--r--kdbg/testprogs/widechar.cpp31
-rw-r--r--kdbg/testprogs/xsldoc.xml667
-rw-r--r--kdbg/testprogs/xsldoc.xsl114
-rw-r--r--kdbg/threadlist.cpp128
-rw-r--r--kdbg/threadlist.h39
-rw-r--r--kdbg/ttywnd.cpp239
-rw-r--r--kdbg/ttywnd.h69
-rw-r--r--kdbg/typetable.cpp409
-rw-r--r--kdbg/typetable.h193
-rw-r--r--kdbg/typetables/Makefile.am16
-rw-r--r--kdbg/typetables/Makefile.in600
-rw-r--r--kdbg/typetables/X11.kdbgtt9
-rw-r--r--kdbg/typetables/glib.kdbgtt7
-rw-r--r--kdbg/typetables/gtk+.kdbgtt7
-rw-r--r--kdbg/typetables/kdecore.kdbgtt7
-rw-r--r--kdbg/typetables/kdecore3.kdbgtt7
-rw-r--r--kdbg/typetables/qt.kdbgtt23
-rw-r--r--kdbg/typetables/qt2.kdbgtt28
-rw-r--r--kdbg/typetables/qt3.kdbgtt65
-rw-r--r--kdbg/typetables/qt4core.kdbgtt9
-rw-r--r--kdbg/typetables/stdc++.kdbgtt7
-rw-r--r--kdbg/typetables/stdc++6.kdbgtt45
-rw-r--r--kdbg/winstack.cpp449
-rw-r--r--kdbg/winstack.h147
-rw-r--r--kdbg/xsldbgdriver.cpp1452
-rw-r--r--kdbg/xsldbgdriver.h106
-rw-r--r--po/Makefile.am5
-rw-r--r--po/Makefile.in687
-rw-r--r--po/cs.gmobin0 -> 6930 bytes
-rw-r--r--po/cs.po898
-rw-r--r--po/da.gmobin0 -> 2621 bytes
-rw-r--r--po/da.po891
-rw-r--r--po/de.gmobin0 -> 16351 bytes
-rw-r--r--po/de.po904
-rw-r--r--po/es.gmobin0 -> 14386 bytes
-rw-r--r--po/es.po902
-rw-r--r--po/fr.gmobin0 -> 8680 bytes
-rw-r--r--po/fr.po912
-rw-r--r--po/hr.gmobin0 -> 1566 bytes
-rw-r--r--po/hr.po877
-rw-r--r--po/hu.gmobin0 -> 9667 bytes
-rw-r--r--po/hu.po861
-rw-r--r--po/it.gmobin0 -> 3756 bytes
-rw-r--r--po/it.po1036
-rw-r--r--po/ja.gmobin0 -> 3821 bytes
-rw-r--r--po/ja.po911
-rw-r--r--po/nb.gmobin0 -> 2325 bytes
-rw-r--r--po/nb.po900
-rw-r--r--po/nn.gmobin0 -> 3594 bytes
-rw-r--r--po/nn.po903
-rw-r--r--po/pl.gmobin0 -> 3629 bytes
-rw-r--r--po/pl.po901
-rw-r--r--po/pt.gmobin0 -> 1628 bytes
-rw-r--r--po/pt.po884
-rw-r--r--po/ro.gmobin0 -> 1704 bytes
-rw-r--r--po/ro.po885
-rw-r--r--po/ru.gmobin0 -> 4340 bytes
-rw-r--r--po/ru.po924
-rw-r--r--po/sk.gmobin0 -> 2412 bytes
-rw-r--r--po/sk.po896
-rw-r--r--po/sr.gmobin0 -> 3668 bytes
-rw-r--r--po/sr.po901
-rw-r--r--po/sv.gmobin0 -> 3689 bytes
-rw-r--r--po/sv.po902
-rw-r--r--po/tr.gmobin0 -> 3825 bytes
-rw-r--r--po/tr.po902
-rw-r--r--po/zh_CN.gmobin0 -> 14249 bytes
-rw-r--r--po/zh_CN.po868
-rw-r--r--stamp-h.in0
-rw-r--r--subdirs2
273 files changed, 100142 insertions, 0 deletions
diff --git a/BUGS b/BUGS
new file mode 100644
index 0000000..a1a3bd4
--- /dev/null
+++ b/BUGS
@@ -0,0 +1,7 @@
+Here is an unsorted list of known deficiencies of kdbg.
+
+- Handles only C and C++
+
+- Cannot handle source file names which contain new-lines or
+ a sequence of the form
+ :[0-9]+:[0-9]+:beg
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..960fe74
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,280 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 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-pre-2.2.0 b/ChangeLog-pre-2.2.0
new file mode 100644
index 0000000..98278d1
--- /dev/null
+++ b/ChangeLog-pre-2.2.0
@@ -0,0 +1,441 @@
+Later versions
+
+ Please use the gitweb log at http://repo.or.cz/w/kdbg.git to browse
+ the changes.
+
+Version 2.0.4
+
+ Fixed encoding of the Czech translation thanks to Jakub Galgonek.
+
+ Added support for QString in Qt4's debug libraries.
+
+ Fixed that the debugger window really comes to the foreground and
+ receives the focus when the debuggee stops at a breakpoint, when this
+ option is on (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=171845).
+
+ Added a filter edit box to the Attach to Process dialog to improve
+ usability.
+
+Version 2.0.3
+
+ Fixed parsing of gdb output that mentions "operator<<", "operator>>",
+ "operator<", and "operator>" within text delimited by angle brackets <>.
+ This fixes a crash when any such function is disassembled and other
+ misbehaviors.
+
+ Fixed parsing stack frames that mention "operator<<" or "operator<".
+ Thanks to Charles Samuels, who pointed out the problem and provided
+ an initial fix.
+
+Version 2.0.2
+
+ Fixed stack display for functions in an anonymous namespace and
+ for functions whose names involve template parameter lists (thanks to
+ André Wöbbeking).
+
+ Fixed environment list which would add back the entry from the edit box
+ even if it was just deleted.
+
+ Fixed that the Run/Continue button was enabled while the program was
+ running.
+
+ Fixed parsing of NaN (Not a Number) floating point values.
+
+Version 2.0.1
+
+ Updated Hungarian translation (thanks to Tamas Szanto).
+
+ Worked around gdb 6.3 crashes at "info line main" command (thanks to
+ Stefan Taferner).
+
+ Updated XSLT debugger parser for xsldbg >= 3.4.0 (by Keith Isdale).
+
+Version 2.0.0
+
+ References and const types are treated like the base type (thanks to
+ Shaheed).
+
+ Fixed parsing of large arrays with many different values, which were
+ terminated by "...".
+
+ Fixed the kdbg.desktop file: Encoding is UTF-8, install in XDG menu
+ location.
+
+ Fixed PS_COMMAND detection for Solaris' /bin/sh.
+
+Version 1.9.7
+
+ Added a new animated button in the toolbar.
+
+ Fixed Norwegian translation file names.
+
+Version 1.9.6
+
+ "<invalid float value>" in register dumps was not parsed correctly.
+
+ Fixed that variable popup location was computed incorrectly if tab
+ width is not 0.
+
+ Updated the manual.
+
+ Implemented printing of Qt4's QStrings.
+
+Version 1.9.5
+
+ Fixed some issues when the items in the environment variable list
+ are selected.
+
+ Added a command line option to attach to a process (thanks to
+ Matthew Allen for the initial code).
+
+ Fixed the "Using host libthread_db" error message properly.
+
+ Fixed inappropriate icon sizes.
+
+Version 1.9.4
+
+ Updated the build system to the latest auto* tools.
+
+ Worked around the problem that gdb reports "Using host libthread_db"
+ on Fedora Core when it processes the file command.
+
+Version 1.9.3
+
+ Improved editing of values; it is now possible to edit variables also
+ in the watch window.
+
+Version 1.9.2
+
+ The previous security fix only protects against accidents, not attacks,
+ as Matt Zimmerman pointed out. Did it right this time.
+
+ Basic editing of values in the local variables window is available.
+ More refinements are still necessary.
+
+Version 1.9.1
+
+ Fixed security flaw regarding the program specific debugger command.
+
+ Configurable key bindings.
+
+Version 1.9.0
+
+ Program arguments that are file names can be browsed for.
+
+ Added XSLT debugging (using xsldbg) by Keith Isdale.
+
+ The program counter can be changed via point and click.
+
+ Improved register formating by Daniel Kristjansson.
+
+ "Orphaned breakpoints", i.e. breakpoints that gdb cannot set
+ immediately, can be set. This helps debug shared libraries and
+ dynamically loaded modules.
+
+Version 1.2.10
+
+ Fixed the "Using host libthread_db" error message.
+
+ Fixed inappropriate icon sizes.
+
+Version 1.2.9
+
+ The previous security fix only protects against accidents, not attacks,
+ as Matt Zimmerman pointed out. Did it right this time.
+
+Version 1.2.8
+
+ Fixed security flaw regarding the program specific debugger command.
+
+Version 1.2.7
+
+ Fixed parsing of stack frames for recent gdbs.
+
+ Support vector registers (thanks to Daniel Thor Kristjansson for
+ initial code).
+
+ Work around bug in some gdbs which inhibits printing of QString values.
+
+Version 1.2.6
+
+ Opening the Find dialog no longer toggles a breakpoint.
+
+ Make mouse wheel work (again) in source, variables, and watch windows.
+
+ When a pointer to a struct is expanded the struct is also expanded.
+
+ Improved toolbar and application icons.
+
+Version 1.2.5
+
+ Now compiles for KDE 3.
+
+ Fixed make install for builddir != srcdir.
+
+ Fixed status bar flicker. This gives a nice speed-up by a factor of 4
+ when the contents of an array of 50 QStrings are displayed!
+
+Version 1.2.4
+
+ Now compiles for KDE 3 (Beta1).
+
+ Support QString of Qt 3.x.
+
+ Improved (and fixed) the display of arrays with repeated values.
+
+ Fixed crash when a file is reloaded while disassembled code is
+ displayed.
+
+ Fixed parsing of stack frames involving signal handler invocations.
+
+Version 1.2.3
+
+ Fixed invisible toolbar under KDE 2.x (really, this time, I promise).
+
+ Fixed crash when no line has the cursor (empty files).
+
+ Don't display a blank page when a non-existing file was tried to open.
+
+Version 1.2.2
+
+ Fixed a special, but common case where removing a breakpoint didn't
+ work but add more on the same line instead (thanks to Ron Lerech).
+
+ Fixed invisible toolbar under KDE 2.1.2 (thanks to Neil Butterworth).
+
+ Fixed compilation for gcc 3.0 (thanks to Ben Burton):
+
+ Fixed make install if srcdir != builddir.
+
+ Changed encoding of German translations (and also Danish, Italian,
+ Norwegian, Romanian, Slovak, Swedish) to UTF-8, which fixes message
+ strings under KDE2 (at least for German - couldn't test the others).
+
+Version 1.2.1
+
+ Working directory can be browsed for.
+
+ Added context menu to move the selected expression from the local
+ variables window to the watch window.
+
+ Fixed crash when environment variables are removed.
+
+ Fixed problems with trailing backslashes in watched expressions.
+
+ Fixed compilation on FreeBSD (openpty).
+
+Version 1.2.0
+
+ Translations for: Hungarian, Japanese, Norwegian (Nynorsk), Serbian,
+ Turkish
+
+ Updated the User's Manual (English, Russian (thanks, Ilmar!), German).
+
+Version 1.1.7beta1
+
+ Improved the program icon; made the installation more KDE2 compliant.
+
+ Enabled mouse wheel scrolling at various places.
+
+Version 1.1.6
+
+ Added memory display.
+
+ Single-stepping by instruction.
+
+ Watchpoints. Finally! (On Linux/i386 works best with gdb 5!)
+
+Version 1.1.5
+
+ Made Delete key work in the watch window.
+
+ Breakpoints can be enabled and disabled in the breakpoint list.
+
+ Detach from debugged program on exit (and when new program is debugged).
+
+ Added a list of recently opened executables (thanks to
+ Thomas Sparr <thomas.sparr@kreatel.se>).
+
+Version 1.1.4
+
+ Fixed endless loop on shutdown.
+
+ Brought in line with KDE 1.91 (KDE 2 beta).
+
+Version 1.1.3
+
+ Debugging of multi-threaded programs. Requires a gdb that supports
+ multi-threaded programs, like gdb 5.
+
+ Debugger window pops into the foreground when the program stops.
+
+ Made tab width a user-settable option.
+
+Version 1.1.2
+
+ Display disassembled code.
+
+Version 1.1.1
+
+ Use the KDE system fixed font for the source code window.
+
+ By default, do not log communication with gdb.
+
+ Added an integrated output window (based on code by Judin Max).
+
+ Program specific settings can be set. In particular: the debugger
+ command (required if you are debugging remote devices), the
+ terminal emulation needed for the program.
+
+Verison 1.1.0
+
+ Use docking windows thanks to Judin Max <novaprint@mtu-net.ru>.
+
+ Added a register dump window. Based on code by Judin Max.
+
+ Implemented "balloons" (tool tips) that show variable values.
+
+ ./configure fix for NetBSD thanks to
+ Berndt Josef Wulf <wulf@ping.net.au>.
+
+ There's now a Swedish translation thanks to
+ rjan Lindbergh <orjan.lindbergh@telia.com>.
+
+Version 1.0.2
+
+ Save and restore watched expressions.
+
+ More adjustments for the KRASH release.
+
+ Show <repeat...> count in QStrings like in normal C strings instead
+ of repeating the characters.
+
+ Use QListView instead of KTabListBox.
+
+Version 1.0.1
+
+ Added a hack to set a remote target. Thanks to
+ Johnny Chan <johnnykc@iprg.nokia.com>.
+
+ Display function arguments. Based on suggestions by Johnny Chan.
+
+ KDE 2 fixes.
+
+ Support builddir != srcdir.
+
+Version 1.0.0
+
+ Brought up-to-date for latest KDE 2.
+
+Version 1.0beta3
+
+ Removal of minor misfeatures.
+
+ Prepared for KDE 2 and Qt 2 (it's a configure option:
+ --with-kde-version=2).
+
+ Added Russian documentation (thanks to
+ Ilmar S. Habibulin <ilmar@ints.ru>) and German documentation.
+
+ There is now a Spanish translation thanks to
+ Manuel Soriano <manu@europa3.com>.
+
+Version 1.0beta2
+
+ Recognize strings with repeated characters: 'x' <repeats 34 times>.
+
+ Fix structs with no (additional) data members and other fixes
+ for gdb 4.18.
+
+ Save window size across sessions.
+
+ There is now an Italian translation thanks to
+ Massimo Morin <mmorin@schedsys.com>.
+
+Version 1.0beta1
+
+ Fixed non-displaying QString (Qt2) with certain gdb 4.17's (at least
+ mine here, of SuSE 6.1, had a problem :-)
+
+ Fixed cases where gdb commands where executed after debuggee has exited.
+
+ Do not execute gdb commands after an interrupt.
+
+ Updated some translations. Still most are incomplete. Please help!
+
+ There is now a Polish translation thanks to
+ Jacek Wojdel <wojdel@kbs.twi.tudelft.nl>.
+
+Version 0.3.1
+
+ The working directory for the program being debugged can be set
+ (Execution|Arguments).
+
+ There's now a global options dialog in place (File|Global Options).
+ At the moment the debugger program (which must be gdb, but it could be
+ an experimental gdb version, for example) and the terminal for program
+ output can be specified.
+
+ Fixed Makefiles to support make DESTDIR=/tmp/foo install (which is
+ needed by packagers and to create relocatable RPMs).
+
+ There's now a Danish translation thanks to
+ Steen Rabol <rabol@get2net.dk>.
+
+Version 0.3.0
+
+Starting with this version, Qt 1.42 and KDE 1.1 is required.
+
+ Ported to Qt 2.0 and KDE post-1.1! KDbg now runs with both
+ KDE 1.1 (using Qt 1.42) and the latest experimental KDE. You can of
+ course run one version and debug programs written for the other version.
+
+ KDbg can now display Qt 2.0's QString values (which are Unicode
+ strings)!
+
+ Environment variables can be set. Changes become effective the next time
+ the program being debugged is run.
+
+ The breakpoint list has been improved. It disables command buttons at
+ times when it is not possible to change breakpoints. The icons that
+ show the breakpoint status are now the same as those in the source
+ window.
+
+ Popup menus (context menus) for frequently used commands have been added
+ to the source code window (thanks to Tom Nguyen <ttomnguyen@yahoo.com>)
+
+ There's now a Russian translation thanks to
+ Ilmar Habibulin <ilmar@ints.ru>.
+
+ Internal restructuring. These changes are invisible. They just make
+ future extensions less cumbersome.
+
+Version 0.2.5
+
+This is the last version that supports Qt 1.33 and KDE 1.0.
+
+ There's now a Czech translation thanks to
+ Martin Spirk <spirk@kla.pvt.cz>.
+
+ Recognize and report when gdb dies unexpectedly. This happens commonly
+ when writing CORBA programs since gdb obviously has problems in
+ debugging C++ classes with virtual base classes.
+
+ Added conditional breakpoints and ignore counts.
+
+Version 0.2.4
+
+ Added a toolbar button to load the executable. The button to open a
+ source file is still there. I hope it's clear which one does what.
+
+ Attaching to a running process is now possible (Execution|Attach).
+
+ Made more visible when gdb is busy using a gear wheel in the upper right
+ corner of the window like kfm.
+
+ Made the KTreeView widget more flexible by adding a bunch of virtual
+ keywords. (No, this doesn't have any influence on the look and feel of
+ KDbg.) While doing that, I fixed a small repainting bug.
+
+
+ChangeLog starts here.
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..f1b01e2
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,29 @@
+SUBDIRS = kdbg po
+
+# not a GNU package. You can remove this line, if
+# have all needed files, that a GNU package needs
+AUTOMAKE_OPTIONS = foreign
+
+EXTRA_DIST = BUGS ChangeLog-pre-2.2.0 COPYING TODO admin \
+ ReleaseNotes-2.2.0 \
+ ReleaseNotes-2.2.1 \
+ ReleaseNotes-2.2.2
+
+$(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
+
+dist-hook:
+ cd $(top_distdir) && perl admin/am_edit -padmin
+ cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..de00565
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,921 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(top_srcdir)/configure COPYING TODO admin/compile \
+ admin/config.guess admin/config.sub admin/depcomp \
+ admin/install-sh admin/ltmain.sh admin/missing \
+ admin/mkinstalldirs admin/ylwrap
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+#>- html-recursive info-recursive install-data-recursive \
+#>- install-dvi-recursive install-exec-recursive \
+#>- install-html-recursive install-info-recursive \
+#>- install-pdf-recursive install-ps-recursive install-recursive \
+#>- installcheck-recursive installdirs-recursive pdf-recursive \
+#>- ps-recursive uninstall-recursive
+#>+ 7
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ { test ! -d $(distdir) \
+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PS_COMMAND = @PS_COMMAND@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+SUBDIRS = kdbg po
+
+# not a GNU package. You can remove this line, if
+# have all needed files, that a GNU package needs
+AUTOMAKE_OPTIONS = foreign
+EXTRA_DIST = BUGS ChangeLog-pre-2.2.0 COPYING TODO admin \
+ ReleaseNotes-2.2.0 \
+ ReleaseNotes-2.2.1 \
+ ReleaseNotes-2.2.2
+
+MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files
+#>- all: config.h
+#>+ 1
+all: docs-am config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+#>- cd $(srcdir) && $(AUTOMAKE) --foreign \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --foreign Makefile
+#>+ 14
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+ ( \
+ cd $(srcdir) && $(AUTOMAKE) --foreign \
+ ) || exit 1; echo ' cd $(top_srcdir) && perl admin/am_edit -padmin '; cd $(top_srcdir) && perl admin/am_edit -padmin && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+#>- cd $(srcdir) && $(AUTOCONF)
+#>+ 2
+ cd $(srcdir) && rm -f configure
+ cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+ else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: $(am__configure_deps)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d $(distdir) || mkdir $(distdir)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && cd $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @cd $(distuninstallcheck_dir) \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+#>- clean: clean-recursive
+#>+ 1
+clean: kde-rpo-clean clean-recursive
+
+#>- clean-am: clean-generic clean-libtool mostlyclean-am
+#>+ 1
+clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am am--refresh check check-am clean clean-generic \
+ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
+ dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-zip \
+ distcheck distclean distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-recursive uninstall uninstall-am
+
+
+$(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:
+
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-recursive
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+
+#>+ 2
+KDE_DIST=stamp-h.in subdirs Makefile.in configure.files config.h.in configure.in configure.in.mid kdbg.spec aclocal.m4 configure.in.in Makefile.am configure acinclude.m4 autogen.sh
+
+#>+ 2
+docs-am:
+
+#>+ 7
+force-reedit:
+ \
+ cd $(srcdir) && $(AUTOMAKE) --foreign \
+
+ cd $(top_srcdir) && perl admin/am_edit -padmin Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-recursive
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 3
+final:
+ $(MAKE) all-am
+
+#>+ 3
+final-install:
+ $(MAKE) install-am
+
+#>+ 3
+no-final:
+ $(MAKE) all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 3
+nmcheck:
+nmcheck-am: nmcheck
diff --git a/README b/README
new file mode 100644
index 0000000..7406fd4
--- /dev/null
+++ b/README
@@ -0,0 +1,19 @@
+This is KDbg, a graphical user interface around gdb using
+KDE, the K Desktop Environment.
+
+To install:
+
+ ./configure
+ make
+ make install
+
+Problem reports as well as success stories are welcome!
+
+The homepage is at
+
+ http://www.kdbg.org/
+
+You'll find the most recent version of KDbg there as well as
+other useful information concerning debugging.
+
+Johannes Sixt <j6t@kdbg.org>
diff --git a/ReleaseNotes-2.2.0 b/ReleaseNotes-2.2.0
new file mode 100644
index 0000000..e89e211
--- /dev/null
+++ b/ReleaseNotes-2.2.0
@@ -0,0 +1,36 @@
+KDbg Release Notes for version 2.2.0
+====================================
+
+The 2.2.x series is still based on Qt 3 and KDE 3.
+
+Changes since 2.1.1
+-------------------
+
+Features:
+
+- Source code windows have now a tab attached, which makes switching
+ source files much easier.
+
+- Source code windows now show line numbers at the left.
+
+- There are now "Find Next" and "Find Previous" commands with shortcuts
+ F3 and Shift+F3.
+
+- Improved support of template types in the type tables (which are used
+ to show structure members next to a structure variable). Notably, the
+ number of elements in STL and Qt collection classes are shown.
+
+- Arguments for the debugged program can be passed on KDbg's command line.
+
+Bug fixes
+
+- An incorrect terminal command string setting could crash KDbg if it
+ contained format specifiers other than exactly one '%s'.
+
+- The format specifier in the memory dump window was not correctly
+ preserved when the expression is changed.
+
+- Setting a conditional breakpoint could crash KDbg.
+
+- Using Attach on systems that use the simplified Attach to Process dialog
+ could crash KDbg.
diff --git a/ReleaseNotes-2.2.1 b/ReleaseNotes-2.2.1
new file mode 100644
index 0000000..be501f5
--- /dev/null
+++ b/ReleaseNotes-2.2.1
@@ -0,0 +1,23 @@
+KDbg Release Notes for version 2.2.1
+====================================
+
+The 2.2.x series is still based on Qt 3 and KDE 3.
+
+Changes since 2.2.0
+-------------------
+
+Bug fixes
+
+- Compilation with newer glibc failed.
+
+- A crash could occur when the variable window was updated.
+
+- A crash when command line switch -a was used together with a non-existing
+ executable name.
+
+- Syntax highlighting was applied to all files, not just C/C++.
+
+- The display was incorrect when a file was reloaded that had disassembly
+ lines visible.
+
+There are also some minor documentation fixes.
diff --git a/ReleaseNotes-2.2.2 b/ReleaseNotes-2.2.2
new file mode 100644
index 0000000..5391f8e
--- /dev/null
+++ b/ReleaseNotes-2.2.2
@@ -0,0 +1,11 @@
+KDbg Release Notes for version 2.2.2
+====================================
+
+The 2.2.x series is still based on Qt 3 and KDE 3.
+
+Changes since 2.2.1
+-------------------
+
+There is only one bug fix:
+
+- An error message was shown instead of assembler code when gdb 7.1 was used.
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..0b2cc6f
--- /dev/null
+++ b/TODO
@@ -0,0 +1,44 @@
+7. Show a list of files for the executable.
+
+9. Use gnuclient to show source code in emacs.
+
+10. Provide formatting options in watch window via mouse, not /FMT.
+
+13. Remember which subtrees have been expanded even when function is left and
+ reentered.
+
+14. Speed up direct members by reusing values that are already available in
+ members.
+
+19. Improve support of breakpoints in source files having directories in their
+ names.
+
+22. Allow to change whether signals are handled or ignored.
+
+24. Allow to view fewer or more bytes in the memory dump. Beautify the display.
+
+25. Automatic single-stepping by instruction when a source line is disassembled.
+
+26. Let the user hide some members of certain structures (on a per-type basis).
+ The parent indicates whether all members are visible. Provide a context menu
+ to display the hidden entries. Save the settings somewhere.
+
+28. Better support for remote debugging and special versions of gdb, e.g.
+ "target pilot localhost:2000".
+
+29. "Crash report" function: Stack trace with excerpts of the source code and
+ variable dumps for every frame.
+
+30. Grey out watch window expressions if there are variables that are not
+ in scope.
+
+31. Show the memory dump in a combined ASCII and hex view.
+
+32. Allow to manipulate memory in the memory dump window
+
+33. Clear the status bar when the program is (re-)started (because if this takes
+ some time, you don't know whether KDbg does something.)
+
+35. Allow to copy variable values to the clipboard.
+
+36.
diff --git a/acinclude.m4 b/acinclude.m4
new file mode 100644
index 0000000..bdbfc88
--- /dev/null
+++ b/acinclude.m4
@@ -0,0 +1,11889 @@
+## -*- autoconf -*-
+
+dnl This file is part of the KDE libraries/packages
+dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu)
+dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org)
+
+dnl This file is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Library General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2 of the License, or (at your option) any later version.
+
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Library General Public License for more details.
+
+dnl You should have received a copy of the GNU Library General Public License
+dnl along with this library; see the file COPYING.LIB. If not, write to
+dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl Boston, MA 02110-1301, USA.
+
+dnl IMPORTANT NOTE:
+dnl Please do not modify this file unless you expect your modifications to be
+dnl carried into every other module in the repository.
+dnl
+dnl Single-module modifications are best placed in configure.in for kdelibs
+dnl and kdebase or configure.in.in if present.
+
+# KDE_PATH_X_DIRECT
+dnl Internal subroutine of AC_PATH_X.
+dnl Set ac_x_includes and/or ac_x_libraries.
+AC_DEFUN([KDE_PATH_X_DIRECT],
+[
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+if test "$ac_x_includes" = NO; then
+ # Guess where to find include files, by looking for this one X11 .h file.
+ test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
+
+ # First, try using that file with no special directory specified.
+AC_TRY_CPP([#include <$x_direct_test_include>],
+[# We can compile using X headers with no special include directory.
+ac_x_includes=],
+[# Look for the header file in a standard set of common directories.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ for ac_dir in \
+ /usr/X11/include \
+ /usr/X11R6/include \
+ /usr/X11R5/include \
+ /usr/X11R4/include \
+ \
+ /usr/include/X11 \
+ /usr/include/X11R6 \
+ /usr/include/X11R5 \
+ /usr/include/X11R4 \
+ \
+ /usr/local/X11/include \
+ /usr/local/X11R6/include \
+ /usr/local/X11R5/include \
+ /usr/local/X11R4/include \
+ \
+ /usr/local/include/X11 \
+ /usr/local/include/X11R6 \
+ /usr/local/include/X11R5 \
+ /usr/local/include/X11R4 \
+ \
+ /usr/X386/include \
+ /usr/x386/include \
+ /usr/XFree86/include/X11 \
+ \
+ /usr/include \
+ /usr/local/include \
+ /usr/unsupported/include \
+ /usr/athena/include \
+ /usr/local/x11r5/include \
+ /usr/lpp/Xamples/include \
+ \
+ /usr/openwin/include \
+ /usr/openwin/share/include \
+ ; \
+ do
+ if test -r "$ac_dir/$x_direct_test_include"; then
+ ac_x_includes=$ac_dir
+ break
+ fi
+ done])
+fi # $ac_x_includes = NO
+
+if test "$ac_x_libraries" = NO; then
+ # Check for the libraries.
+
+ test -z "$x_direct_test_library" && x_direct_test_library=Xt
+ test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
+
+ # See if we find them without any special options.
+ # Don't add to $LIBS permanently.
+ ac_save_LIBS="$LIBS"
+ LIBS="-l$x_direct_test_library $LIBS"
+AC_TRY_LINK([#include <X11/Intrinsic.h>], [${x_direct_test_function}(1)],
+[LIBS="$ac_save_LIBS"
+# We can link X programs with no special library path.
+ac_x_libraries=],
+[LIBS="$ac_save_LIBS"
+# First see if replacing the include by lib works.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \
+ /usr/X11/lib${kdelibsuff} \
+ /usr/X11R6/lib${kdelibsuff} \
+ /usr/X11R5/lib${kdelibsuff} \
+ /usr/X11R4/lib${kdelibsuff} \
+ \
+ /usr/lib${kdelibsuff}/X11 \
+ /usr/lib${kdelibsuff}/X11R6 \
+ /usr/lib${kdelibsuff}/X11R5 \
+ /usr/lib${kdelibsuff}/X11R4 \
+ \
+ /usr/local/X11/lib${kdelibsuff} \
+ /usr/local/X11R6/lib${kdelibsuff} \
+ /usr/local/X11R5/lib${kdelibsuff} \
+ /usr/local/X11R4/lib${kdelibsuff} \
+ \
+ /usr/local/lib${kdelibsuff}/X11 \
+ /usr/local/lib${kdelibsuff}/X11R6 \
+ /usr/local/lib${kdelibsuff}/X11R5 \
+ /usr/local/lib${kdelibsuff}/X11R4 \
+ \
+ /usr/X386/lib${kdelibsuff} \
+ /usr/x386/lib${kdelibsuff} \
+ /usr/XFree86/lib${kdelibsuff}/X11 \
+ \
+ /usr/lib${kdelibsuff} \
+ /usr/local/lib${kdelibsuff} \
+ /usr/unsupported/lib${kdelibsuff} \
+ /usr/athena/lib${kdelibsuff} \
+ /usr/local/x11r5/lib${kdelibsuff} \
+ /usr/lpp/Xamples/lib${kdelibsuff} \
+ /lib/usr/lib${kdelibsuff}/X11 \
+ \
+ /usr/openwin/lib${kdelibsuff} \
+ /usr/openwin/share/lib${kdelibsuff} \
+ ; \
+do
+dnl Don't even attempt the hair of trying to link an X program!
+ for ac_extension in a so sl; do
+ if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
+ ac_x_libraries=$ac_dir
+ break 2
+ fi
+ done
+done])
+fi # $ac_x_libraries = NO
+])
+
+
+dnl ------------------------------------------------------------------------
+dnl Find a file (or one of more files in a list of dirs)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_FIND_FILE],
+[
+$3=NO
+for i in $2;
+do
+ for j in $1;
+ do
+ echo "configure: __oline__: $i/$j" >&AC_FD_CC
+ if test -r "$i/$j"; then
+ echo "taking that" >&AC_FD_CC
+ $3=$i
+ break 2
+ fi
+ done
+done
+])
+
+dnl KDE_FIND_PATH(program-name, variable-name, list-of-dirs,
+dnl if-not-found, test-parameter, prepend-path)
+dnl
+dnl Look for program-name in list-of-dirs+$PATH.
+dnl If prepend-path is set, look in $PATH+list-of-dirs instead.
+dnl If found, $variable-name is set. If not, if-not-found is evaluated.
+dnl test-parameter: if set, the program is executed with this arg,
+dnl and only a successful exit code is required.
+AC_DEFUN([KDE_FIND_PATH],
+[
+ AC_MSG_CHECKING([for $1])
+ if test -n "$$2"; then
+ kde_cv_path="$$2";
+ else
+ kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
+
+ AC_CACHE_VAL(kde_cv_path_$kde_cache,
+ [
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z "$6"; then dnl Append dirs in PATH (default)
+ dirs="$3 $dirs"
+ else dnl Prepend dirs in PATH (if 6th arg is set)
+ dirs="$dirs $3"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/$1"; then
+ if test -n "$5"
+ then
+ evalstr="$dir/$1 $5 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/$1"
+ break
+ fi
+ else
+ kde_cv_path="$dir/$1"
+ break
+ fi
+ fi
+ done
+
+ eval "kde_cv_path_$kde_cache=$kde_cv_path"
+
+ ])
+
+ eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
+
+ fi
+
+ if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
+ AC_MSG_RESULT(not found)
+ $4
+ else
+ AC_MSG_RESULT($kde_cv_path)
+ $2=$kde_cv_path
+
+ fi
+])
+
+AC_DEFUN([KDE_MOC_ERROR_MESSAGE],
+[
+ AC_MSG_ERROR([No Qt meta object compiler (moc) found!
+Please check whether you installed Qt correctly.
+You need to have a running moc binary.
+configure tried to run $ac_cv_path_moc and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable MOC to the right one before running
+configure.
+])
+])
+
+AC_DEFUN([KDE_UIC_ERROR_MESSAGE],
+[
+ AC_MSG_WARN([No Qt ui compiler (uic) found!
+Please check whether you installed Qt correctly.
+You need to have a running uic binary.
+configure tried to run $ac_cv_path_uic and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable UIC to the right one before running
+configure.
+])
+])
+
+
+AC_DEFUN([KDE_CHECK_UIC_FLAG],
+[
+ AC_MSG_CHECKING([whether uic supports -$1 ])
+ kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
+ AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache,
+ [
+ cat >conftest.ui <<EOT
+ <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
+EOT
+ ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null"
+ if AC_TRY_EVAL(ac_uic_testrun); then
+ eval "kde_cv_prog_uic_$kde_cache=yes"
+ else
+ eval "kde_cv_prog_uic_$kde_cache=no"
+ fi
+ rm -f conftest*
+ ])
+
+ if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT([yes])
+ :
+ $3
+ else
+ AC_MSG_RESULT([no])
+ :
+ $4
+ fi
+])
+
+
+dnl ------------------------------------------------------------------------
+dnl Find the meta object compiler and the ui compiler in the PATH,
+dnl in $QTDIR/bin, and some more usual places
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_PATH_QT_MOC_UIC],
+[
+ AC_REQUIRE([KDE_CHECK_PERL])
+ qt_bindirs=""
+ for dir in $kde_qt_dirs; do
+ qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
+ done
+ qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
+ if test ! "$ac_qt_bindir" = "NO"; then
+ qt_bindirs="$ac_qt_bindir $qt_bindirs"
+ fi
+
+ KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
+ if test -z "$UIC_NOT_NEEDED"; then
+ KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""])
+ if test -z "$UIC_PATH" ; then
+ KDE_UIC_ERROR_MESSAGE
+ exit 1
+ else
+ UIC=$UIC_PATH
+
+ if test $kde_qtver = 3; then
+ KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no)
+ KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no)
+
+ if test x$ac_uic_supports_libpath = xyes; then
+ UIC="$UIC -L \$(kde_widgetdir)"
+ fi
+ if test x$ac_uic_supports_nounload = xyes; then
+ UIC="$UIC -nounload"
+ fi
+ fi
+ fi
+ else
+ UIC="echo uic not available: "
+ fi
+
+ AC_SUBST(MOC)
+ AC_SUBST(UIC)
+
+ UIC_TR="i18n"
+ if test $kde_qtver = 3; then
+ UIC_TR="tr2i18n"
+ fi
+
+ AC_SUBST(UIC_TR)
+])
+
+AC_DEFUN([KDE_1_CHECK_PATHS],
+[
+ KDE_1_CHECK_PATH_HEADERS
+
+ KDE_TEST_RPATH=
+
+ if test -n "$USE_RPATH"; then
+
+ if test -n "$kde_libraries"; then
+ KDE_TEST_RPATH="-R $kde_libraries"
+ fi
+
+ if test -n "$qt_libraries"; then
+ KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
+ fi
+
+ if test -n "$x_libraries"; then
+ KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
+ fi
+
+ KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
+ fi
+
+AC_MSG_CHECKING([for KDE libraries installed])
+ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5'
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_ERROR([your system fails at linking a small KDE application!
+Check, if your compiler is installed correctly and if you have used the
+same compiler to compile Qt and kdelibs as you did use now.
+For more details about this problem, look at the end of config.log.])
+fi
+
+if eval `KDEDIR= ./conftest 2>&5`; then
+ kde_result=done
+else
+ kde_result=problems
+fi
+
+KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
+kde_have_all_paths=yes
+
+KDE_SET_PATHS($kde_result)
+
+])
+
+AC_DEFUN([KDE_SET_PATHS],
+[
+ kde_cv_all_paths="kde_have_all_paths=\"yes\" \
+ kde_htmldir=\"$kde_htmldir\" \
+ kde_appsdir=\"$kde_appsdir\" \
+ kde_icondir=\"$kde_icondir\" \
+ kde_sounddir=\"$kde_sounddir\" \
+ kde_datadir=\"$kde_datadir\" \
+ kde_locale=\"$kde_locale\" \
+ kde_cgidir=\"$kde_cgidir\" \
+ kde_confdir=\"$kde_confdir\" \
+ kde_kcfgdir=\"$kde_kcfgdir\" \
+ kde_mimedir=\"$kde_mimedir\" \
+ kde_toolbardir=\"$kde_toolbardir\" \
+ kde_wallpaperdir=\"$kde_wallpaperdir\" \
+ kde_templatesdir=\"$kde_templatesdir\" \
+ kde_bindir=\"$kde_bindir\" \
+ kde_servicesdir=\"$kde_servicesdir\" \
+ kde_servicetypesdir=\"$kde_servicetypesdir\" \
+ kde_moduledir=\"$kde_moduledir\" \
+ kde_styledir=\"$kde_styledir\" \
+ kde_widgetdir=\"$kde_widgetdir\" \
+ xdg_appsdir=\"$xdg_appsdir\" \
+ xdg_menudir=\"$xdg_menudir\" \
+ xdg_directorydir=\"$xdg_directorydir\" \
+ kde_result=$1"
+])
+
+AC_DEFUN([KDE_SET_DEFAULT_PATHS],
+[
+if test "$1" = "default"; then
+
+ if test -z "$kde_htmldir"; then
+ kde_htmldir='\${datadir}/doc/HTML'
+ fi
+ if test -z "$kde_appsdir"; then
+ kde_appsdir='\${datadir}/applnk'
+ fi
+ if test -z "$kde_icondir"; then
+ kde_icondir='\${datadir}/icons'
+ fi
+ if test -z "$kde_sounddir"; then
+ kde_sounddir='\${datadir}/sounds'
+ fi
+ if test -z "$kde_datadir"; then
+ kde_datadir='\${datadir}/apps'
+ fi
+ if test -z "$kde_locale"; then
+ kde_locale='\${datadir}/locale'
+ fi
+ if test -z "$kde_cgidir"; then
+ kde_cgidir='\${exec_prefix}/cgi-bin'
+ fi
+ if test -z "$kde_confdir"; then
+ kde_confdir='\${datadir}/config'
+ fi
+ if test -z "$kde_kcfgdir"; then
+ kde_kcfgdir='\${datadir}/config.kcfg'
+ fi
+ if test -z "$kde_mimedir"; then
+ kde_mimedir='\${datadir}/mimelnk'
+ fi
+ if test -z "$kde_toolbardir"; then
+ kde_toolbardir='\${datadir}/toolbar'
+ fi
+ if test -z "$kde_wallpaperdir"; then
+ kde_wallpaperdir='\${datadir}/wallpapers'
+ fi
+ if test -z "$kde_templatesdir"; then
+ kde_templatesdir='\${datadir}/templates'
+ fi
+ if test -z "$kde_bindir"; then
+ kde_bindir='\${exec_prefix}/bin'
+ fi
+ if test -z "$kde_servicesdir"; then
+ kde_servicesdir='\${datadir}/services'
+ fi
+ if test -z "$kde_servicetypesdir"; then
+ kde_servicetypesdir='\${datadir}/servicetypes'
+ fi
+ if test -z "$kde_moduledir"; then
+ if test "$kde_qtver" = "2"; then
+ kde_moduledir='\${libdir}/kde2'
+ else
+ kde_moduledir='\${libdir}/kde3'
+ fi
+ fi
+ if test -z "$kde_styledir"; then
+ kde_styledir='\${libdir}/kde3/plugins/styles'
+ fi
+ if test -z "$kde_widgetdir"; then
+ kde_widgetdir='\${libdir}/kde3/plugins/designer'
+ fi
+ if test -z "$xdg_appsdir"; then
+ xdg_appsdir='\${datadir}/applications/kde'
+ fi
+ if test -z "$xdg_menudir"; then
+ xdg_menudir='\${sysconfdir}/xdg/menus'
+ fi
+ if test -z "$xdg_directorydir"; then
+ xdg_directorydir='\${datadir}/desktop-directories'
+ fi
+
+ KDE_SET_PATHS(defaults)
+
+else
+
+ if test $kde_qtver = 1; then
+ AC_MSG_RESULT([compiling])
+ KDE_1_CHECK_PATHS
+ else
+ AC_MSG_ERROR([path checking not yet supported for KDE 2])
+ fi
+
+fi
+])
+
+AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS],
+[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
+ test -z "$kde_icondir" || test -z "$kde_sounddir" ||
+ test -z "$kde_datadir" || test -z "$kde_locale" ||
+ test -z "$kde_cgidir" || test -z "$kde_confdir" ||
+ test -z "$kde_kcfgdir" ||
+ test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
+ test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
+ test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
+ test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
+ test -z "$kde_styledir" || test -z "kde_widgetdir" ||
+ test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" ||
+ test "x$kde_have_all_paths" != "xyes"; then
+ kde_have_all_paths=no
+ fi
+])
+
+AC_DEFUN([KDE_MISSING_PROG_ERROR],
+[
+ AC_MSG_ERROR([The important program $1 was not found!
+Please check whether you installed KDE correctly.
+])
+])
+
+AC_DEFUN([KDE_MISSING_ARTS_ERROR],
+[
+ AC_MSG_ERROR([The important program $1 was not found!
+Please check whether you installed aRts correctly or use
+--without-arts to compile without aRts support (this will remove functionality).
+])
+])
+
+AC_DEFUN([KDE_SET_DEFAULT_BINDIRS],
+[
+ kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
+ test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
+ if test -n "$KDEDIRS"; then
+ kde_save_IFS=$IFS
+ IFS=:
+ for dir in $KDEDIRS; do
+ kde_default_bindirs="$dir/bin $kde_default_bindirs "
+ done
+ IFS=$kde_save_IFS
+ fi
+])
+
+AC_DEFUN([KDE_SUBST_PROGRAMS],
+[
+ AC_ARG_WITH(arts,
+ AC_HELP_STRING([--without-arts],[build without aRts [default=no]]),
+ [build_arts=$withval],
+ [build_arts=yes]
+ )
+ AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
+ if test "$build_arts" = "no"; then
+ AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts])
+ fi
+
+ KDE_SET_DEFAULT_BINDIRS
+ kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs"
+ KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
+ KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
+ if test "$build_arts" '!=' "no"; then
+ KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)])
+ KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)])
+ fi
+ KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
+
+ kde32ornewer=1
+ kde33ornewer=1
+ if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then
+ kde32ornewer=
+ kde33ornewer=
+ else
+ if test "$kde_qtver" = "3"; then
+ if test "$kde_qtsubver" -le 1; then
+ kde32ornewer=
+ fi
+ if test "$kde_qtsubver" -le 2; then
+ kde33ornewer=
+ fi
+ if test "$KDECONFIG" != "compiled"; then
+ if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then
+ kde33ornewer=
+ fi
+ fi
+ fi
+ fi
+
+ if test -n "$kde32ornewer"; then
+ KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)])
+ KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)])
+ fi
+ if test -n "$kde33ornewer"; then
+ KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)])
+ AC_SUBST(MAKEKDEWIDGETS)
+ fi
+ KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""])
+
+ if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then
+ kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
+ test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
+ AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
+ if test "$KDE_XSL_STYLESHEET" = "NO"; then
+ KDE_XSL_STYLESHEET=""
+ else
+ KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
+ fi
+ fi
+
+ DCOP_DEPENDENCIES='$(DCOPIDL)'
+ if test -n "$kde32ornewer"; then
+ KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)'
+ DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)'
+ AC_SUBST(KCONFIG_COMPILER)
+ AC_SUBST(KCFG_DEPENDENCIES)
+ AC_SUBST(DCOPIDLNG)
+ fi
+ AC_SUBST(DCOPIDL)
+ AC_SUBST(DCOPIDL2CPP)
+ AC_SUBST(DCOP_DEPENDENCIES)
+ AC_SUBST(MCOPIDL)
+ AC_SUBST(ARTSCCONFIG)
+ AC_SUBST(MEINPROC)
+ AC_SUBST(KDE_XSL_STYLESHEET)
+ AC_SUBST(XMLLINT)
+])dnl
+
+AC_DEFUN([AC_CREATE_KFSSTND],
+[
+AC_REQUIRE([AC_CHECK_RPATH])
+
+AC_MSG_CHECKING([for KDE paths])
+kde_result=""
+kde_cached_paths=yes
+AC_CACHE_VAL(kde_cv_all_paths,
+[
+ KDE_SET_DEFAULT_PATHS($1)
+ kde_cached_paths=no
+])
+eval "$kde_cv_all_paths"
+KDE_CHECK_PATHS_FOR_COMPLETENESS
+if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
+ # wrong values were cached, may be, we can set better ones
+ kde_result=
+ kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
+ kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir=
+ kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
+ kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
+ kde_have_all_paths=
+ kde_styledir=
+ kde_widgetdir=
+ xdg_appsdir = xdg_menudir= xdg_directorydir=
+ KDE_SET_DEFAULT_PATHS($1)
+ eval "$kde_cv_all_paths"
+ KDE_CHECK_PATHS_FOR_COMPLETENESS
+ kde_result="$kde_result (cache overridden)"
+fi
+if test "$kde_have_all_paths" = "no"; then
+ AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
+Since it had compiled and linked before, it must be a strange problem on your system.
+Look at config.log for details. If you are not able to fix this, look at
+http://www.kde.org/faq/installation.html or any www.kde.org mirror.
+(If you're using an egcs version on Linux, you may update binutils!)
+])
+else
+ rm -f conftest*
+ AC_MSG_RESULT($kde_result)
+fi
+
+bindir=$kde_bindir
+
+KDE_SUBST_PROGRAMS
+
+])
+
+AC_DEFUN([AC_SUBST_KFSSTND],
+[
+AC_SUBST(kde_htmldir)
+AC_SUBST(kde_appsdir)
+AC_SUBST(kde_icondir)
+AC_SUBST(kde_sounddir)
+AC_SUBST(kde_datadir)
+AC_SUBST(kde_locale)
+AC_SUBST(kde_confdir)
+AC_SUBST(kde_kcfgdir)
+AC_SUBST(kde_mimedir)
+AC_SUBST(kde_wallpaperdir)
+AC_SUBST(kde_bindir)
+dnl X Desktop Group standards
+AC_SUBST(xdg_appsdir)
+AC_SUBST(xdg_menudir)
+AC_SUBST(xdg_directorydir)
+dnl for KDE 2
+AC_SUBST(kde_templatesdir)
+AC_SUBST(kde_servicesdir)
+AC_SUBST(kde_servicetypesdir)
+AC_SUBST(kde_moduledir)
+AC_SUBST(kdeinitdir, '$(kde_moduledir)')
+AC_SUBST(kde_styledir)
+AC_SUBST(kde_widgetdir)
+if test "$kde_qtver" = 1; then
+ kde_minidir="$kde_icondir/mini"
+else
+# for KDE 1 - this breaks KDE2 apps using minidir, but
+# that's the plan ;-/
+ kde_minidir="/dev/null"
+fi
+dnl AC_SUBST(kde_minidir)
+dnl AC_SUBST(kde_cgidir)
+dnl AC_SUBST(kde_toolbardir)
+])
+
+AC_DEFUN([KDE_MISC_TESTS],
+[
+ dnl Checks for libraries.
+ AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD
+ AC_SUBST(LIBUTIL)
+ AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD
+ AC_SUBST(LIBCOMPAT)
+ kde_have_crypt=
+ AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
+ AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
+ AC_MSG_WARN([you have no crypt in either libcrypt or libc.
+You should install libcrypt from another source or configure with PAM
+support])
+ kde_have_crypt=no
+ ]))
+ AC_SUBST(LIBCRYPT)
+ if test $kde_have_crypt = yes; then
+ AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
+ fi
+ AC_CHECK_SOCKLEN_T
+ AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
+ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+ AC_CHECK_LIB(dnet_stub, dnet_ntoa,
+ [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
+ fi
+ AC_CHECK_FUNC(inet_ntoa)
+ if test $ac_cv_func_inet_ntoa = no; then
+ AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
+ fi
+ AC_CHECK_FUNC(connect)
+ if test $ac_cv_func_connect = no; then
+ AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
+ $X_EXTRA_LIBS)
+ fi
+
+ AC_CHECK_FUNC(remove)
+ if test $ac_cv_func_remove = no; then
+ AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
+ fi
+
+ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+ AC_CHECK_FUNC(shmat, ,
+ AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
+
+ # more headers that need to be explicitly included on darwin
+ AC_CHECK_HEADERS(sys/types.h stdint.h)
+
+ # sys/bitypes.h is needed for uint32_t and friends on Tru64
+ AC_CHECK_HEADERS(sys/bitypes.h)
+
+ # darwin requires a poll emulation library
+ AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll")
+
+ # for some image handling on Mac OS X
+ AC_CHECK_HEADERS(Carbon/Carbon.h)
+
+ # CoreAudio framework
+ AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [
+ AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API])
+ FRAMEWORK_COREAUDIO="-Wl,-framework,CoreAudio"
+ ])
+
+ AC_CHECK_RES_INIT
+ AC_SUBST(LIB_POLL)
+ AC_SUBST(FRAMEWORK_COREAUDIO)
+ LIBSOCKET="$X_EXTRA_LIBS"
+ AC_SUBST(LIBSOCKET)
+ AC_SUBST(X_EXTRA_LIBS)
+ AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
+ AC_SUBST(LIBUCB)
+
+ case $host in dnl this *is* LynxOS specific
+ *-*-lynxos* )
+ AC_MSG_CHECKING([LynxOS header file wrappers])
+ [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
+ AC_MSG_RESULT(disabled)
+ AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
+ ;;
+ esac
+
+ KDE_CHECK_TYPES
+ KDE_CHECK_LIBDL
+ KDE_CHECK_STRLCPY
+ KDE_CHECK_PIE_SUPPORT
+
+# darwin needs this to initialize the environment
+AC_CHECK_HEADERS(crt_externs.h)
+AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
+
+AH_VERBATIM(_DARWIN_ENVIRON,
+[
+#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
+# include <sys/time.h>
+# include <crt_externs.h>
+# define environ (*_NSGetEnviron())
+#endif
+])
+
+AH_VERBATIM(_AIX_STRINGS_H_BZERO,
+[
+/*
+ * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
+ * that defines bzero.
+ */
+
+#if defined(_AIX)
+#include <strings.h>
+#endif
+])
+
+AC_CHECK_FUNCS([vsnprintf snprintf])
+
+AH_VERBATIM(_TRU64,[
+/*
+ * On HP-UX, the declaration of vsnprintf() is needed every time !
+ */
+
+#if !defined(HAVE_VSNPRINTF) || defined(hpux)
+#if __STDC__
+#include <stdarg.h>
+#include <stdlib.h>
+#else
+#include <varargs.h>
+#endif
+#ifdef __cplusplus
+extern "C"
+#endif
+int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
+#ifdef __cplusplus
+extern "C"
+#endif
+int snprintf(char *str, size_t n, char const *fmt, ...);
+#endif
+])
+
+])
+
+dnl ------------------------------------------------------------------------
+dnl Find the header files and libraries for X-Windows. Extended the
+dnl macro AC_PATH_X
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([K_PATH_X],
+[
+AC_REQUIRE([KDE_MISC_TESTS])dnl
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+AC_ARG_ENABLE(
+ embedded,
+ AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]),
+ kde_use_qt_emb=$enableval,
+ kde_use_qt_emb=no
+)
+
+AC_ARG_ENABLE(
+ qtopia,
+ AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]),
+ kde_use_qt_emb_palm=$enableval,
+ kde_use_qt_emb_palm=no
+)
+
+AC_ARG_ENABLE(
+ mac,
+ AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]),
+ kde_use_qt_mac=$enableval,
+ kde_use_qt_mac=no
+)
+
+# used to disable x11-specific stuff on special platforms
+AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
+
+if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then
+
+AC_MSG_CHECKING(for X)
+
+AC_CACHE_VAL(kde_cv_have_x,
+[# One or both of the vars are not set, and there is no cached value.
+if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
+ kde_x_includes=NO
+else
+ kde_x_includes=$x_includes
+fi
+if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
+ kde_x_libraries=NO
+else
+ kde_x_libraries=$x_libraries
+fi
+
+# below we use the standard autoconf calls
+ac_x_libraries=$kde_x_libraries
+ac_x_includes=$kde_x_includes
+
+KDE_PATH_X_DIRECT
+dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
+dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
+dnl location. The correct location is /usr/lib32 or an undefined value
+dnl (the linker is smart enough to pick the correct default library).
+dnl Things work just fine if you use just AC_PATH_X_DIRECT.
+dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to
+dnl /usr/openwin/include, which doesn't work. /usr/include does work, so
+dnl x_includes should be left alone.
+case "$host" in
+mips-sgi-irix6*)
+ ;;
+*-*-solaris*)
+ ;;
+*)
+ _AC_PATH_X_XMKMF
+ if test -z "$ac_x_includes"; then
+ ac_x_includes="."
+ fi
+ if test -z "$ac_x_libraries"; then
+ ac_x_libraries="/usr/lib${kdelibsuff}"
+ fi
+esac
+#from now on we use our own again
+
+# when the user already gave --x-includes, we ignore
+# what the standard autoconf macros told us.
+if test "$kde_x_includes" = NO; then
+ kde_x_includes=$ac_x_includes
+fi
+
+# for --x-libraries too
+if test "$kde_x_libraries" = NO; then
+ kde_x_libraries=$ac_x_libraries
+fi
+
+if test "$kde_x_includes" = NO; then
+ AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
+fi
+
+if test "$kde_x_libraries" = NO; then
+ AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
+fi
+
+# Record where we found X for the cache.
+kde_cv_have_x="have_x=yes \
+ kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
+])dnl
+
+eval "$kde_cv_have_x"
+
+if test "$have_x" != yes; then
+ AC_MSG_RESULT($have_x)
+ no_x=yes
+else
+ AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
+fi
+
+if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
+ X_INCLUDES=""
+ x_includes="."; dnl better than nothing :-
+ else
+ x_includes=$kde_x_includes
+ X_INCLUDES="-I$x_includes"
+fi
+
+if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE || test "$kde_x_libraries" = "/usr/lib"; then
+ X_LDFLAGS=""
+ x_libraries="/usr/lib"; dnl better than nothing :-
+ else
+ x_libraries=$kde_x_libraries
+ X_LDFLAGS="-L$x_libraries"
+fi
+all_includes="$X_INCLUDES"
+all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS"
+
+# Check for libraries that X11R6 Xt/Xaw programs need.
+ac_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+# check for ICE first), but we must link in the order -lSM -lICE or
+# we get undefined symbols. So assume we have SM if we have ICE.
+# These have to be linked with before -lX11, unlike the other
+# libraries we check for below, so use a different variable.
+# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
+AC_CHECK_LIB(ICE, IceConnectionNumber,
+ [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
+LDFLAGS="$ac_save_LDFLAGS"
+
+LIB_X11='-lX11 $(LIBSOCKET)'
+
+AC_MSG_CHECKING(for libXext)
+AC_CACHE_VAL(kde_cv_have_libXext,
+[
+kde_ldflags_safe="$LDFLAGS"
+kde_libs_safe="$LIBS"
+
+LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
+LIBS="-lXext -lX11 $LIBSOCKET"
+
+AC_TRY_LINK([
+#include <stdio.h>
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+],
+[
+printf("hello Xext\n");
+],
+kde_cv_have_libXext=yes,
+kde_cv_have_libXext=no
+)
+
+LDFLAGS=$kde_ldflags_safe
+LIBS=$kde_libs_safe
+])
+
+AC_MSG_RESULT($kde_cv_have_libXext)
+
+if test "$kde_cv_have_libXext" = "no"; then
+ AC_MSG_ERROR([We need a working libXext to proceed. Since configure
+can't find it itself, we stop here assuming that make wouldn't find
+them either.])
+fi
+
+LIB_XEXT="-lXext"
+QTE_NORTTI=""
+
+elif test "$kde_use_qt_emb" = "yes"; then
+ dnl We're using QT Embedded
+ CPPFLAGS=-DQWS
+ CXXFLAGS="$CXXFLAGS -fno-rtti"
+ QTE_NORTTI="-fno-rtti -DQWS"
+ X_PRE_LIBS=""
+ LIB_X11=""
+ LIB_XEXT=""
+ LIB_XRENDER=""
+ LIBSM=""
+ X_INCLUDES=""
+ X_LDFLAGS=""
+ x_includes=""
+ x_libraries=""
+elif test "$kde_use_qt_mac" = "yes"; then
+ dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to
+ dnl be included to get the information) --Sam
+ CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp"
+ CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp"
+ X_PRE_LIBS=""
+ LIB_X11=""
+ LIB_XEXT=""
+ LIB_XRENDER=""
+ LIBSM=""
+ X_INCLUDES=""
+ X_LDFLAGS=""
+ x_includes=""
+ x_libraries=""
+fi
+AC_SUBST(X_PRE_LIBS)
+AC_SUBST(LIB_X11)
+AC_SUBST(LIB_XRENDER)
+AC_SUBST(LIBSM)
+AC_SUBST(X_INCLUDES)
+AC_SUBST(X_LDFLAGS)
+AC_SUBST(x_includes)
+AC_SUBST(x_libraries)
+AC_SUBST(QTE_NORTTI)
+AC_SUBST(LIB_XEXT)
+
+])
+
+AC_DEFUN([KDE_PRINT_QT_PROGRAM],
+[
+AC_REQUIRE([KDE_USE_QT])
+cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qglobal.h>
+#include <qapplication.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
+#if QT_VERSION < 210
+#error 1
+#endif
+EOF
+fi
+fi
+
+if test "$kde_qtver" = "3"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qcursor.h>
+#include <qstylefactory.h>
+#include <private/qucomextra_p.h>
+EOF
+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();
+ Q_UNUSED(t);
+EOF
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+ QString s;
+ s.setLatin1("Elvis is alive", 14);
+EOF
+fi
+fi
+if test "$kde_qtver" = "3"; then
+cat >> conftest.$ac_ext <<EOF
+ (void)QStyleFactory::create(QString::null);
+ QCursor c(Qt::WhatsThisCursor);
+EOF
+fi
+cat >> conftest.$ac_ext <<EOF
+ return 0;
+}
+EOF
+])
+
+AC_DEFUN([KDE_USE_QT],
+[
+if test -z "$1"; then
+ # Current default Qt version: 3.3
+ kde_qtver=3
+ kde_qtsubver=3
+else
+ kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
+ # following is the check if subversion isnt found in passed argument
+ if test "$kde_qtsubver" = "$1"; then
+ kde_qtsubver=1
+ fi
+ kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
+ if test "$kde_qtver" = "1"; then
+ kde_qtsubver=42
+ 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
+ fi
+ if test "$kde_qtver" = "3"; then
+ if test $kde_qtsubver -gt 0; then
+ if test $kde_qtsubver -gt 1; then
+ if test $kde_qtsubver -gt 2; then
+ kde_qt_minversion=">= Qt 3.3 and < 4.0"
+ else
+ kde_qt_minversion=">= Qt 3.2 and < 4.0"
+ fi
+ else
+ kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0"
+ fi
+ else
+ kde_qt_minversion=">= Qt 3.0 and < 4.0"
+ fi
+ fi
+ if test "$kde_qtver" = "1"; then
+ kde_qt_minversion=">= 1.42 and < 2.0"
+ fi
+else
+ kde_qt_minversion="$2"
+fi
+
+if test -z "$3"; then
+ if test $kde_qtver = 3; then
+ if test $kde_qtsubver -gt 0; then
+ kde_qt_verstring="QT_VERSION >= 0x03@VER@00 && QT_VERSION < 0x040000"
+ qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'`
+ kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"`
+ else
+ kde_qt_verstring="QT_VERSION >= 300 && QT_VERSION < 0x040000"
+ fi
+ fi
+ 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
+ fi
+ if test $kde_qtver = 1; then
+ kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
+ fi
+else
+ kde_qt_verstring="$3"
+fi
+
+if test $kde_qtver = 4; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
+fi
+if test $kde_qtver = 3; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3 /usr/lib${kdelibsuff}/qt-3.3"
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+ if test "$PKG_CONFIG" != "no" ; then
+ if $PKG_CONFIG --exists qt-mt ; then
+ kde_qt_dirs="$kde_qt_dirs `$PKG_CONFIG --variable=prefix qt-mt`"
+ fi
+ fi
+fi
+if test $kde_qtver = 2; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
+fi
+if test $kde_qtver = 1; then
+ 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"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
+else
+LIBS="$LIBQT $LIBSOCKET"
+fi
+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])
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+dnl ------------------------------------------------------------------------
+dnl Add configure flag to enable linking to MT version of Qt library.
+dnl ------------------------------------------------------------------------
+
+AC_ARG_ENABLE(
+ mt,
+ AC_HELP_STRING([--disable-mt],[link to non-threaded Qt (deprecated)]),
+ kde_use_qt_mt=$enableval,
+ [
+ if test $kde_qtver = 3; then
+ kde_use_qt_mt=yes
+ else
+ kde_use_qt_mt=no
+ fi
+ ]
+)
+
+USING_QT_MT=""
+
+dnl ------------------------------------------------------------------------
+dnl If we not get --disable-qt-mt then adjust some vars for the host.
+dnl ------------------------------------------------------------------------
+
+KDE_MT_LDFLAGS=
+KDE_MT_LIBS=
+if test "x$kde_use_qt_mt" = "xyes"; then
+ KDE_CHECK_THREADING
+ if test "x$kde_use_threading" = "xyes"; then
+ CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS"
+ KDE_MT_LDFLAGS="$USE_THREADS"
+ KDE_MT_LIBS="$LIBPTHREAD"
+ else
+ kde_use_qt_mt=no
+ fi
+fi
+AC_SUBST(KDE_MT_LDFLAGS)
+AC_SUBST(KDE_MT_LIBS)
+
+kde_qt_was_given=yes
+
+dnl ------------------------------------------------------------------------
+dnl If we haven't been told how to link to Qt, we work it out for ourselves.
+dnl ------------------------------------------------------------------------
+if test -z "$LIBQT_GLOB"; then
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ LIBQT_GLOB="libqte.*"
+ else
+ LIBQT_GLOB="libqt.*"
+ fi
+fi
+
+dnl ------------------------------------------------------------
+dnl If we got --enable-embedded then adjust the Qt library name.
+dnl ------------------------------------------------------------
+if test "x$kde_use_qt_emb" = "xyes"; then
+ qtlib="qte"
+else
+ qtlib="qt"
+fi
+
+kde_int_qt="-l$qtlib"
+
+if test -z "$LIBQPE"; then
+dnl ------------------------------------------------------------
+dnl If we got --enable-palmtop then add -lqpe to the link line
+dnl ------------------------------------------------------------
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ if test "x$kde_use_qt_emb_palm" = "xyes"; then
+ LIB_QPE="-lqpe"
+ else
+ LIB_QPE=""
+ fi
+ else
+ LIB_QPE=""
+ fi
+fi
+
+dnl ------------------------------------------------------------------------
+dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
+dnl ------------------------------------------------------------------------
+
+if test "x$kde_use_qt_mt" = "xyes"; then
+ LIBQT="-l$qtlib-mt"
+ kde_int_qt="-l$qtlib-mt"
+ LIBQT_GLOB="lib$qtlib-mt.*"
+ USING_QT_MT="using -mt"
+else
+ LIBQT="-l$qtlib"
+fi
+
+if test $kde_qtver != 1; then
+
+ AC_REQUIRE([AC_FIND_PNG])
+ AC_REQUIRE([AC_FIND_JPEG])
+ LIBQT="$LIBQT $LIBPNG $LIBJPEG"
+fi
+
+if test $kde_qtver = 3; then
+ AC_REQUIRE([KDE_CHECK_LIBDL])
+ LIBQT="$LIBQT $LIBDL"
+fi
+
+AC_MSG_CHECKING([for Qt])
+
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
+fi
+ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
+qt_libraries=""
+qt_includes=""
+AC_ARG_WITH(qt-dir,
+ AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]),
+ [ ac_qt_includes="$withval"/include
+ ac_qt_libraries="$withval"/lib${kdelibsuff}
+ ac_qt_bindir="$withval"/bin
+ ])
+
+AC_ARG_WITH(qt-includes,
+ AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]),
+ [
+ ac_qt_includes="$withval"
+ ])
+
+kde_qt_libs_given=no
+
+AC_ARG_WITH(qt-libraries,
+ AC_HELP_STRING([--with-qt-libraries=DIR],[where the Qt library is installed.]),
+ [ ac_qt_libraries="$withval"
+ kde_qt_libs_given=yes
+ ])
+
+AC_CACHE_VAL(ac_cv_have_qt,
+[#try to guess Qt locations
+
+qt_incdirs=""
+for dir in $kde_qt_dirs; do
+ qt_incdirs="$qt_incdirs $dir/include $dir"
+done
+if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+fi
+if test "$PKG_CONFIG" != "no" ; then
+ if $PKG_CONFIG --exists qt-mt ; then
+ qt_incdirs="$qt_incdirs `$PKG_CONFIG --variable=includedir qt-mt`"
+ fi
+fi
+qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 /usr/include/qt3 $x_includes"
+if test ! "$ac_qt_includes" = "NO"; then
+ qt_incdirs="$ac_qt_includes $qt_incdirs"
+fi
+
+if test "$kde_qtver" != "1"; then
+ kde_qt_header=qstyle.h
+else
+ kde_qt_header=qglobal.h
+fi
+
+AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
+ac_qt_includes="$qt_incdir"
+
+qt_libdirs=""
+for dir in $kde_qt_dirs; do
+ qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir/lib $dir"
+done
+if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+fi
+if test "$PKG_CONFIG" != "no" ; then
+ if $PKG_CONFIG --exists qt-mt ; then
+ qt_libdirs="$qt_incdirs `$PKG_CONFIG --variable=libdir qt-mt`"
+ fi
+fi
+qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
+if test ! "$ac_qt_libraries" = "NO"; then
+ qt_libdir=$ac_qt_libraries
+else
+ qt_libdirs="$ac_qt_libraries $qt_libdirs"
+ # if the Qt was given, the chance is too big that libqt.* doesn't exist
+ qt_libdir=NONE
+ for dir in $qt_libdirs; do
+ try="ls -1 $dir/${LIBQT_GLOB}"
+ if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
+ done
+fi
+for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
+ if test -e "$a"; then
+ LIBQT="$LIBQT ${kde_int_qt}_incremental"
+ break
+ fi
+done
+
+ac_qt_libraries="$qt_libdir"
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
+LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ rm -f conftest*
+else
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat conftest.$ac_ext >&AC_FD_CC
+ ac_qt_libraries="NO"
+fi
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+AC_LANG_RESTORE
+if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
+ ac_cv_have_qt="have_qt=no"
+ ac_qt_notfound=""
+ missing_qt_mt=""
+ if test "$ac_qt_includes" = NO; then
+ if test "$ac_qt_libraries" = NO; then
+ ac_qt_notfound="(headers and libraries)";
+ else
+ ac_qt_notfound="(headers)";
+ fi
+ else
+ if test "x$kde_use_qt_mt" = "xyes"; then
+ missing_qt_mt="
+Make sure that you have compiled Qt with thread support!"
+ ac_qt_notfound="(library $qtlib-mt)";
+ else
+ ac_qt_notfound="(library $qtlib)";
+ fi
+ fi
+
+ AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
+For more details about this problem, look at the end of config.log.$missing_qt_mt])
+else
+ have_qt="yes"
+fi
+])
+
+eval "$ac_cv_have_qt"
+
+if test "$have_qt" != yes; then
+ AC_MSG_RESULT([$have_qt]);
+else
+ ac_cv_have_qt="have_qt=yes \
+ ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
+ AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
+
+ qt_libraries="$ac_qt_libraries"
+ qt_includes="$ac_qt_includes"
+fi
+
+if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then
+ KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
+fi
+
+AC_SUBST(qt_libraries)
+AC_SUBST(qt_includes)
+
+if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
+ QT_INCLUDES=""
+else
+ QT_INCLUDES="-I$qt_includes"
+ all_includes="$QT_INCLUDES $all_includes"
+fi
+
+if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
+ QT_LDFLAGS=""
+else
+ QT_LDFLAGS="-L$qt_libraries"
+ all_libraries="$QT_LDFLAGS $all_libraries"
+fi
+test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
+
+AC_SUBST(QT_INCLUDES)
+AC_SUBST(QT_LDFLAGS)
+AC_PATH_QT_MOC_UIC
+
+KDE_CHECK_QT_JPEG
+
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
+else
+LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)'
+fi
+test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
+for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
+ if test -e "$a"; then
+ LIB_QT="$LIB_QT ${kde_int_qt}_incremental"
+ break
+ fi
+done
+
+AC_SUBST(LIB_QT)
+AC_SUBST(LIB_QPE)
+
+AC_SUBST(kde_qtver)
+])
+
+AC_DEFUN([AC_PATH_QT],
+[
+AC_PATH_QT_1_3
+])
+
+AC_DEFUN([KDE_CHECK_UIC_PLUGINS],
+[
+AC_REQUIRE([AC_PATH_QT_MOC_UIC])
+
+if test x$ac_uic_supports_libpath = xyes; then
+
+AC_MSG_CHECKING([if UIC has KDE plugins available])
+AC_CACHE_VAL(kde_cv_uic_plugins,
+[
+cat > actest.ui << EOF
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>NewConnectionDialog</class>
+<widget class="QDialog">
+ <widget class="KLineEdit">
+ <property name="name">
+ <cstring>testInput</cstring>
+ </property>
+ </widget>
+</widget>
+</UI>
+EOF
+
+
+
+kde_cv_uic_plugins=no
+kde_line="$UIC_PATH -L $kde_widgetdir"
+if test x$ac_uic_supports_nounload = xyes; then
+ kde_line="$kde_line -nounload"
+fi
+kde_line="$kde_line -impl actest.h actest.ui > actest.cpp"
+if AC_TRY_EVAL(kde_line); then
+ # if you're trying to debug this check and think it's incorrect,
+ # better check your installation. The check _is_ correct - your
+ # installation is not.
+ if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then
+ kde_cv_uic_plugins=yes
+ fi
+fi
+rm -f actest.ui actest.cpp
+])
+
+AC_MSG_RESULT([$kde_cv_uic_plugins])
+if test "$kde_cv_uic_plugins" != yes; then
+ AC_MSG_ERROR([
+you need to install kdelibs first.
+
+If you did install kdelibs, then the Qt version that is picked up by
+this configure is not the same version you used to compile kdelibs.
+The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the
+_same Qt version_, compiled with the _same compiler_ and the same Qt
+configuration settings.
+])
+fi
+fi
+])
+
+AC_DEFUN([KDE_CHECK_FINAL],
+[
+ AC_ARG_ENABLE(final,
+ AC_HELP_STRING([--enable-final],
+ [build size optimized apps (experimental - needs lots of memory)]),
+ kde_use_final=$enableval, kde_use_final=no)
+
+ if test "x$kde_use_final" = "xyes"; then
+ KDE_USE_FINAL_TRUE=""
+ KDE_USE_FINAL_FALSE="#"
+ else
+ KDE_USE_FINAL_TRUE="#"
+ KDE_USE_FINAL_FALSE=""
+ fi
+ AC_SUBST(KDE_USE_FINAL_TRUE)
+ AC_SUBST(KDE_USE_FINAL_FALSE)
+])
+
+AC_DEFUN([KDE_CHECK_CLOSURE],
+[
+ AC_ARG_ENABLE(closure,
+ AC_HELP_STRING([--enable-closure],[delay template instantiation]),
+ kde_use_closure=$enableval, kde_use_closure=no)
+
+ KDE_NO_UNDEFINED=""
+ if test "x$kde_use_closure" = "xyes"; then
+ KDE_USE_CLOSURE_TRUE=""
+ KDE_USE_CLOSURE_FALSE="#"
+# CXXFLAGS="$CXXFLAGS $REPO"
+ else
+ KDE_USE_CLOSURE_TRUE="#"
+ KDE_USE_CLOSURE_FALSE=""
+ KDE_NO_UNDEFINED=""
+ case $host in
+ *-*-linux-gnu)
+ KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined],
+ [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined],
+ [KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"],
+ [KDE_NO_UNDEFINED=""])],
+ [KDE_NO_UNDEFINED=""])
+ ;;
+ esac
+ fi
+ AC_SUBST(KDE_USE_CLOSURE_TRUE)
+ AC_SUBST(KDE_USE_CLOSURE_FALSE)
+ AC_SUBST(KDE_NO_UNDEFINED)
+])
+
+dnl Check if the linker supports --enable-new-dtags and --as-needed
+AC_DEFUN([KDE_CHECK_NEW_LDFLAGS],
+[
+ AC_ARG_ENABLE(new_ldflags,
+ AC_HELP_STRING([--enable-new-ldflags],
+ [enable the new linker flags]),
+ kde_use_new_ldflags=$enableval,
+ kde_use_new_ldflags=no)
+
+ LDFLAGS_AS_NEEDED=""
+ LDFLAGS_NEW_DTAGS=""
+ if test "x$kde_use_new_ldflags" = "xyes"; then
+ LDFLAGS_NEW_DTAGS=""
+ KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags],
+ [LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],)
+
+ KDE_CHECK_COMPILER_FLAG([Wl,--as-needed],
+ [LDFLAGS_AS_NEEDED="-Wl,--as-needed"],)
+ fi
+ AC_SUBST(LDFLAGS_AS_NEEDED)
+ AC_SUBST(LDFLAGS_NEW_DTAGS)
+])
+
+AC_DEFUN([KDE_CHECK_NMCHECK],
+[
+ AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]),
+ kde_use_nmcheck=$enableval, kde_use_nmcheck=no)
+
+ if test "$kde_use_nmcheck" = "yes"; then
+ KDE_USE_NMCHECK_TRUE=""
+ KDE_USE_NMCHECK_FALSE="#"
+ else
+ KDE_USE_NMCHECK_TRUE="#"
+ KDE_USE_NMCHECK_FALSE=""
+ fi
+ AC_SUBST(KDE_USE_NMCHECK_TRUE)
+ AC_SUBST(KDE_USE_NMCHECK_FALSE)
+])
+
+AC_DEFUN([KDE_EXPAND_MAKEVAR], [
+savex=$exec_prefix
+test "x$exec_prefix" = xNONE && exec_prefix=$prefix
+tmp=$$2
+while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done
+exec_prefix=$savex
+])
+
+dnl ------------------------------------------------------------------------
+dnl Now, the same with KDE
+dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
+dnl and $(kde_includes) will be the kdehdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_BASE_PATH_KDE],
+[
+AC_REQUIRE([KDE_CHECK_STL])
+AC_REQUIRE([AC_PATH_QT])dnl
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+AC_CHECK_RPATH
+AC_MSG_CHECKING([for KDE])
+
+if test "${prefix}" != NONE; then
+ kde_includes=${includedir}
+ KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir)
+
+ kde_libraries=${libdir}
+ KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir)
+
+else
+ ac_kde_includes=
+ ac_kde_libraries=
+ kde_libraries=""
+ kde_includes=""
+fi
+
+AC_CACHE_VAL(ac_cv_have_kde,
+[#try to guess kde locations
+
+if test "$kde_qtver" = 1; then
+ kde_check_header="ksock.h"
+ kde_check_lib="libkdecore.la"
+else
+ kde_check_header="ksharedptr.h"
+ kde_check_lib="libkio.la"
+fi
+
+if test -z "$1"; then
+
+kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
+test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
+kde_incdirs="$ac_kde_includes $kde_incdirs"
+AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
+ac_kde_includes="$kde_incdir"
+
+if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
+ AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE headers installed. This will fail.
+So, check this please and use another prefix!])
+fi
+
+kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
+test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs"
+kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
+AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
+ac_kde_libraries="$kde_libdir"
+
+kde_widgetdir=NO
+dnl this might be somewhere else
+AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir)
+
+if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
+AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE libraries installed. This will fail.
+So, check this please and use another prefix!])
+fi
+
+if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then
+AC_MSG_ERROR([
+I can't find the designer plugins. These are required and should have been installed
+by kdelibs])
+fi
+
+if test -n "$kde_widgetdir"; then
+ kde_widgetdir="$kde_widgetdir/kde3/plugins/designer"
+fi
+
+
+if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then
+ ac_cv_have_kde="have_kde=no"
+else
+ ac_cv_have_kde="have_kde=yes \
+ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+fi
+
+else dnl test -z $1, e.g. from kdelibs
+
+ ac_cv_have_kde="have_kde=no"
+
+fi
+])dnl
+
+eval "$ac_cv_have_kde"
+
+if test "$have_kde" != "yes"; then
+ if test "${prefix}" = NONE; then
+ ac_kde_prefix="$ac_default_prefix"
+ else
+ ac_kde_prefix="$prefix"
+ fi
+ if test "$exec_prefix" = NONE; then
+ ac_kde_exec_prefix="$ac_kde_prefix"
+ AC_MSG_RESULT([will be installed in $ac_kde_prefix])
+ else
+ ac_kde_exec_prefix="$exec_prefix"
+ AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
+ fi
+
+ kde_libraries="${libdir}"
+ kde_includes="${includedir}"
+
+else
+ ac_cv_have_kde="have_kde=yes \
+ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+ AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
+
+ kde_libraries="$ac_kde_libraries"
+ kde_includes="$ac_kde_includes"
+fi
+AC_SUBST(kde_libraries)
+AC_SUBST(kde_includes)
+
+if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then
+ KDE_INCLUDES=""
+else
+ KDE_INCLUDES="-I$kde_includes"
+ all_includes="$KDE_INCLUDES $all_includes"
+fi
+
+KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION"
+
+KDE_LDFLAGS="-L$kde_libraries"
+if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then
+ all_libraries="$KDE_LDFLAGS $all_libraries"
+fi
+
+AC_SUBST(KDE_LDFLAGS)
+AC_SUBST(KDE_INCLUDES)
+
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+all_libraries="$all_libraries $USER_LDFLAGS"
+all_includes="$all_includes $USER_INCLUDES"
+AC_SUBST(all_includes)
+AC_SUBST(all_libraries)
+
+if test -z "$1"; then
+KDE_CHECK_UIC_PLUGINS
+fi
+
+ac_kde_libraries="$kde_libdir"
+
+AC_SUBST(AUTODIRS)
+
+
+])
+
+AC_DEFUN([KDE_CHECK_EXTRA_LIBS],
+[
+AC_MSG_CHECKING(for extra includes)
+AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]),
+ kde_use_extra_includes="$withval",
+ kde_use_extra_includes=NONE
+)
+kde_extra_includes=
+if test -n "$kde_use_extra_includes" && \
+ test "$kde_use_extra_includes" != "NONE"; then
+
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $kde_use_extra_includes; do
+ kde_extra_includes="$kde_extra_includes $dir"
+ USER_INCLUDES="$USER_INCLUDES -I$dir"
+ done
+ IFS=$ac_save_ifs
+ kde_use_extra_includes="added"
+else
+ kde_use_extra_includes="no"
+fi
+AC_SUBST(USER_INCLUDES)
+
+AC_MSG_RESULT($kde_use_extra_includes)
+
+kde_extra_libs=
+AC_MSG_CHECKING(for extra libs)
+AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]),
+ kde_use_extra_libs=$withval,
+ kde_use_extra_libs=NONE
+)
+if test -n "$kde_use_extra_libs" && \
+ test "$kde_use_extra_libs" != "NONE"; then
+
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $kde_use_extra_libs; do
+ kde_extra_libs="$kde_extra_libs $dir"
+ KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
+ USER_LDFLAGS="$USER_LDFLAGS -L$dir"
+ done
+ IFS=$ac_save_ifs
+ kde_use_extra_libs="added"
+else
+ kde_use_extra_libs="no"
+fi
+
+AC_SUBST(USER_LDFLAGS)
+
+AC_MSG_RESULT($kde_use_extra_libs)
+
+])
+
+AC_DEFUN([KDE_1_CHECK_PATH_HEADERS],
+[
+ AC_MSG_CHECKING([for KDE headers installed])
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+cat > conftest.$ac_ext <<EOF
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+#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");
+ printf("kde_styledir=\\"/tmp/dummy\\"\n");
+ printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
+ printf("xdg_appsdir=\\"/tmp/dummy\\"\n");
+ printf("xdg_menudir=\\"/tmp/dummy\\"\n");
+ printf("xdg_directorydir=\\"/tmp/dummy\\"\n");
+ printf("kde_kcfgdir=\\"/tmp/dummy\\"\n");
+ return 0;
+ }
+EOF
+
+ ac_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$all_includes $CPPFLAGS"
+ if AC_TRY_EVAL(ac_compile); then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_ERROR([your system is not able to compile a small KDE application!
+Check, if you installed the KDE header files correctly.
+For more details about this problem, look at the end of config.log.])
+ fi
+ CPPFLAGS=$ac_save_CPPFLAGS
+
+ AC_LANG_RESTORE
+])
+
+AC_DEFUN([KDE_CHECK_KDEQTADDON],
+[
+AC_MSG_CHECKING(for kde-qt-addon)
+AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
+[
+ kde_ldflags_safe="$LDFLAGS"
+ kde_libs_safe="$LIBS"
+ kde_cxxflags_safe="$CXXFLAGS"
+
+ LIBS="-lkde-qt-addon $LIBQT $LIBS"
+ CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
+ LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
+
+ AC_TRY_LINK([
+ #include <qdom.h>
+ ],
+ [
+ QDomDocument doc;
+ ],
+ kde_cv_have_kdeqtaddon=yes,
+ kde_cv_have_kdeqtaddon=no
+ )
+
+ LDFLAGS=$kde_ldflags_safe
+ LIBS=$kde_libs_safe
+ CXXFLAGS=$kde_cxxflags_safe
+])
+
+AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
+
+if test "$kde_cv_have_kdeqtaddon" = "no"; then
+ AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
+It is a separate package (and CVS module) named kde-qt-addon.])
+fi
+])
+
+AC_DEFUN([KDE_CREATE_LIBS_ALIASES],
+[
+ AC_REQUIRE([KDE_MISC_TESTS])
+ AC_REQUIRE([KDE_CHECK_LIBDL])
+ AC_REQUIRE([K_PATH_X])
+
+if test $kde_qtver = 3; then
+ case $host in
+ *cygwin*) lib_kded="-lkdeinit_kded" ;;
+ *) lib_kded="" ;;
+ esac
+ AC_SUBST(LIB_KDED, $lib_kded)
+ AC_SUBST(LIB_KDECORE, "-lkdecore")
+ AC_SUBST(LIB_KDEUI, "-lkdeui")
+ AC_SUBST(LIB_KIO, "-lkio")
+ AC_SUBST(LIB_KJS, "-lkjs")
+ AC_SUBST(LIB_SMB, "-lsmb")
+ AC_SUBST(LIB_KAB, "-lkab")
+ AC_SUBST(LIB_KABC, "-lkabc")
+ AC_SUBST(LIB_KHTML, "-lkhtml")
+ AC_SUBST(LIB_KSPELL, "-lkspell")
+ AC_SUBST(LIB_KPARTS, "-lkparts")
+ AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
+ AC_SUBST(LIB_KUTILS, "-lkutils")
+ AC_SUBST(LIB_KDEPIM, "-lkdepim")
+ AC_SUBST(LIB_KIMPROXY, "-lkimproxy")
+ AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff")
+ AC_SUBST(LIB_KDNSSD, "-lkdnssd")
+ AC_SUBST(LIB_KUNITTEST, "-lkunittest")
+# these are for backward compatibility
+ AC_SUBST(LIB_KSYCOCA, "-lkio")
+ AC_SUBST(LIB_KFILE, "-lkio")
+elif test $kde_qtver = 2; then
+ AC_SUBST(LIB_KDECORE, "-lkdecore")
+ AC_SUBST(LIB_KDEUI, "-lkdeui")
+ AC_SUBST(LIB_KIO, "-lkio")
+ AC_SUBST(LIB_KSYCOCA, "-lksycoca")
+ AC_SUBST(LIB_SMB, "-lsmb")
+ AC_SUBST(LIB_KFILE, "-lkfile")
+ AC_SUBST(LIB_KAB, "-lkab")
+ AC_SUBST(LIB_KHTML, "-lkhtml")
+ AC_SUBST(LIB_KSPELL, "-lkspell")
+ AC_SUBST(LIB_KPARTS, "-lkparts")
+ AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
+else
+ AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)")
+ AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)")
+ AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)")
+ AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)")
+ AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)")
+fi
+])
+
+AC_DEFUN([AC_PATH_KDE],
+[
+ AC_BASE_PATH_KDE
+ AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]),
+ [
+ if test "$enableval" = "no";
+ then ac_use_path_checking="default"
+ else ac_use_path_checking=""
+ fi
+ ],
+ [
+ if test "$kde_qtver" = 1;
+ then ac_use_path_checking=""
+ else ac_use_path_checking="default"
+ fi
+ ]
+ )
+
+ AC_CREATE_KFSSTND($ac_use_path_checking)
+
+ AC_SUBST_KFSSTND
+ KDE_CREATE_LIBS_ALIASES
+])
+
+dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found])
+AC_DEFUN([KDE_CHECK_FUNC_EXT],
+[
+AC_MSG_CHECKING(for $1)
+AC_CACHE_VAL(kde_cv_func_$1,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+save_CXXFLAGS="$CXXFLAGS"
+kde_safe_LIBS="$LIBS"
+LIBS="$LIBS $X_EXTRA_LIBS"
+if test "$GXX" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+AC_TRY_COMPILE([
+$2
+],
+[
+$3
+],
+kde_cv_func_$1=yes,
+kde_cv_func_$1=no)
+CXXFLAGS="$save_CXXFLAGS"
+LIBS="$kde_safe_LIBS"
+AC_LANG_RESTORE
+])
+
+AC_MSG_RESULT($kde_cv_func_$1)
+
+AC_MSG_CHECKING([if $1 needs custom prototype])
+AC_CACHE_VAL(kde_cv_proto_$1,
+[
+if test "x$kde_cv_func_$1" = xyes; then
+ kde_cv_proto_$1=no
+else
+ case "$1" in
+ setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
+ kde_cv_proto_$1="yes - in libkdefakes"
+ ;;
+ *)
+ kde_cv_proto_$1=unknown
+ ;;
+ esac
+fi
+
+if test "x$kde_cv_proto_$1" = xunknown; then
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ kde_safe_libs=$LIBS
+ LIBS="$LIBS $X_EXTRA_LIBS"
+ AC_TRY_LINK([
+$2
+
+extern "C" $4;
+],
+[
+$3
+],
+[ kde_cv_func_$1=yes
+ kde_cv_proto_$1=yes ],
+ [kde_cv_proto_$1="$1 unavailable"]
+)
+LIBS=$kde_safe_libs
+AC_LANG_RESTORE
+fi
+])
+AC_MSG_RESULT($kde_cv_proto_$1)
+
+if test "x$kde_cv_func_$1" = xyes; then
+ AC_DEFINE(HAVE_$5, 1, [Define if you have $1])
+ $6
+fi
+if test "x$kde_cv_proto_$1" = xno; then
+ AC_DEFINE(HAVE_$5_PROTO, 1,
+ [Define if you have the $1 prototype])
+fi
+
+AH_VERBATIM([_HAVE_$5_PROTO],
+[
+#if !defined(HAVE_$5_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+$4;
+#ifdef __cplusplus
+}
+#endif
+#endif
+])
+])
+
+AC_DEFUN([AC_CHECK_SETENV],
+[
+ KDE_CHECK_FUNC_EXT(setenv, [
+#include <stdlib.h>
+],
+ [setenv("VAR", "VALUE", 1);],
+ [int setenv (const char *, const char *, int)],
+ [SETENV])
+])
+
+AC_DEFUN([AC_CHECK_UNSETENV],
+[
+ KDE_CHECK_FUNC_EXT(unsetenv, [
+#include <stdlib.h>
+],
+ [unsetenv("VAR");],
+ [void unsetenv (const char *)],
+ [UNSETENV])
+])
+
+AC_DEFUN([AC_CHECK_GETDOMAINNAME],
+[
+ KDE_CHECK_FUNC_EXT(getdomainname, [
+#include <stdlib.h>
+#include <unistd.h>
+#include <netdb.h>
+],
+ [
+char buffer[200];
+getdomainname(buffer, 200);
+],
+ [#include <sys/types.h>
+ int getdomainname (char *, size_t)],
+ [GETDOMAINNAME])
+])
+
+AC_DEFUN([AC_CHECK_GETHOSTNAME],
+[
+ KDE_CHECK_FUNC_EXT(gethostname, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+char buffer[200];
+gethostname(buffer, 200);
+],
+ [int gethostname (char *, unsigned int)],
+ [GETHOSTNAME])
+])
+
+AC_DEFUN([AC_CHECK_USLEEP],
+[
+ KDE_CHECK_FUNC_EXT(usleep, [
+#include <unistd.h>
+],
+ [
+usleep(200);
+],
+ [int usleep (unsigned int)],
+ [USLEEP])
+])
+
+
+AC_DEFUN([AC_CHECK_RANDOM],
+[
+ KDE_CHECK_FUNC_EXT(random, [
+#include <stdlib.h>
+],
+ [
+random();
+],
+ [long int random(void)],
+ [RANDOM])
+
+ KDE_CHECK_FUNC_EXT(srandom, [
+#include <stdlib.h>
+],
+ [
+srandom(27);
+],
+ [void srandom(unsigned int)],
+ [SRANDOM])
+
+])
+
+AC_DEFUN([AC_CHECK_INITGROUPS],
+[
+ KDE_CHECK_FUNC_EXT(initgroups, [
+#include <sys/types.h>
+#include <unistd.h>
+#include <grp.h>
+],
+ [
+char buffer[200];
+initgroups(buffer, 27);
+],
+ [int initgroups(const char *, gid_t)],
+ [INITGROUPS])
+])
+
+AC_DEFUN([AC_CHECK_MKSTEMPS],
+[
+ KDE_CHECK_FUNC_EXT(mkstemps, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+mkstemps("/tmp/aaaXXXXXX", 6);
+],
+ [int mkstemps(char *, int)],
+ [MKSTEMPS])
+])
+
+AC_DEFUN([AC_CHECK_MKSTEMP],
+[
+ KDE_CHECK_FUNC_EXT(mkstemp, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+mkstemp("/tmp/aaaXXXXXX");
+],
+ [int mkstemp(char *)],
+ [MKSTEMP])
+])
+
+AC_DEFUN([AC_CHECK_MKDTEMP],
+[
+ KDE_CHECK_FUNC_EXT(mkdtemp, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+mkdtemp("/tmp/aaaXXXXXX");
+],
+ [char *mkdtemp(char *)],
+ [MKDTEMP])
+])
+
+
+AC_DEFUN([AC_CHECK_RES_INIT],
+[
+ AC_MSG_CHECKING([if res_init needs -lresolv])
+ kde_libs_safe="$LIBS"
+ LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
+ AC_TRY_LINK(
+ [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+ ],
+ [
+ res_init();
+ ],
+ [
+ LIBRESOLV="-lresolv"
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
+ ],
+ [ AC_MSG_RESULT(no) ]
+ )
+ LIBS=$kde_libs_safe
+ AC_SUBST(LIBRESOLV)
+
+ KDE_CHECK_FUNC_EXT(res_init,
+ [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+ ],
+ [res_init()],
+ [int res_init(void)],
+ [RES_INIT])
+])
+
+AC_DEFUN([AC_CHECK_STRLCPY],
+[
+ KDE_CHECK_FUNC_EXT(strlcpy, [
+#include <string.h>
+],
+[ char buf[20];
+ strlcpy(buf, "KDE function test", sizeof(buf));
+],
+ [unsigned long strlcpy(char*, const char*, unsigned long)],
+ [STRLCPY])
+])
+
+AC_DEFUN([AC_CHECK_STRLCAT],
+[
+ KDE_CHECK_FUNC_EXT(strlcat, [
+#include <string.h>
+],
+[ char buf[20];
+ buf[0]='\0';
+ strlcat(buf, "KDE function test", sizeof(buf));
+],
+ [unsigned long strlcat(char*, const char*, unsigned long)],
+ [STRLCAT])
+])
+
+AC_DEFUN([AC_CHECK_RES_QUERY],
+[
+ KDE_CHECK_FUNC_EXT(res_query, [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+#include <netdb.h>
+],
+[
+res_query(NULL, 0, 0, NULL, 0);
+],
+ [int res_query(const char *, int, int, unsigned char *, int)],
+ [RES_QUERY])
+])
+
+AC_DEFUN([AC_CHECK_DN_SKIPNAME],
+[
+ KDE_CHECK_FUNC_EXT(dn_skipname, [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+],
+[
+dn_skipname (NULL, NULL);
+],
+ [int dn_skipname (unsigned char *, unsigned char *)],
+ [DN_SKIPNAME])
+])
+
+
+AC_DEFUN([AC_FIND_GIF],
+ [AC_MSG_CHECKING([for giflib])
+AC_CACHE_VAL(ac_cv_lib_gif,
+[ac_save_LIBS="$LIBS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
+else
+LIBS="$all_libraries -lgif"
+fi
+AC_TRY_LINK(dnl
+[
+#ifdef __cplusplus
+extern "C" {
+#endif
+int GifLastError(void);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+],
+ [return GifLastError();],
+ eval "ac_cv_lib_gif=yes",
+ eval "ac_cv_lib_gif=no")
+LIBS="$ac_save_LIBS"
+])dnl
+if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
+else
+ AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
+fi
+])
+
+AC_DEFUN([KDE_FIND_JPEG_HELPER],
+[
+AC_MSG_CHECKING([for libjpeg$2])
+AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
+[
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(
+[
+#ifdef __cplusplus
+extern "C" {
+#endif
+void jpeg_CreateDecompress();
+#ifdef __cplusplus
+}
+#endif
+],
+[jpeg_CreateDecompress();],
+ eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
+ eval "ac_cv_lib_jpeg_$1=no")
+LIBS="$ac_save_LIBS"
+CFLAGS="$ac_save_CFLAGS"
+])
+
+if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
+ LIBJPEG="$ac_cv_lib_jpeg_$1"
+ AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
+else
+ AC_MSG_RESULT(no)
+ $3
+fi
+
+])
+
+AC_DEFUN([AC_FIND_JPEG],
+[
+dnl first look for libraries
+KDE_FIND_JPEG_HELPER(6b, 6b,
+ KDE_FIND_JPEG_HELPER(normal, [],
+ [
+ LIBJPEG=
+ ]
+ )
+)
+
+dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
+dnl requires system dependent includes loaded before it)
+jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes"
+AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
+test "x$jpeg_incdir" = xNO && jpeg_incdir=
+
+dnl if headers _and_ libraries are missing, this is no error, and we
+dnl continue with a warning (the user will get no jpeg support in khtml)
+dnl if only one is missing, it means a configuration error, but we still
+dnl only warn
+if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
+ AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
+else
+ if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
+ AC_MSG_WARN([
+There is an installation error in jpeg support. You seem to have only one
+of either the headers _or_ the libraries installed. You may need to either
+provide correct --with-extra-... options, or the development package of
+libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
+Disabling JPEG support.
+])
+ else
+ AC_MSG_WARN([libjpeg not found. disable JPEG support.])
+ fi
+ jpeg_incdir=
+ LIBJPEG=
+fi
+
+AC_SUBST(LIBJPEG)
+AH_VERBATIM(_AC_CHECK_JPEG,
+[/*
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
+ * headers and I'm too lazy to write a configure test as long as only
+ * unixware is related
+ */
+#ifdef _UNIXWARE
+#define HAVE_BOOLEAN
+#endif
+])
+])
+
+AC_DEFUN([KDE_CHECK_QT_JPEG],
+[
+if test -n "$LIBJPEG"; then
+AC_MSG_CHECKING([if Qt needs $LIBJPEG])
+AC_CACHE_VAL(kde_cv_qt_jpeg,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS $LIBQT"
+LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
+ac_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(
+[#include <qapplication.h>],
+ [
+ int argc;
+ char** argv;
+ QApplication app(argc, argv);],
+ eval "kde_cv_qt_jpeg=no",
+ eval "kde_cv_qt_jpeg=yes")
+LIBS="$ac_save_LIBS"
+CXXFLAGS="$ac_save_CXXFLAGS"
+AC_LANG_RESTORE
+fi
+])
+
+if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
+ AC_MSG_RESULT(yes)
+ LIBJPEG_QT='$(LIBJPEG)'
+else
+ AC_MSG_RESULT(no)
+ LIBJPEG_QT=
+fi
+
+])
+
+AC_DEFUN([AC_FIND_ZLIB],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for libz])
+AC_CACHE_VAL(ac_cv_lib_z,
+[
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(dnl
+[
+#include<zlib.h>
+#include<string.h>
+],
+[
+ char buf[42];
+ gzFile f = (gzFile) 0;
+ /* this would segfault.. but we only link, don't run */
+ (void) gzgets(f, buf, sizeof(buf));
+
+ return (strcmp(zlibVersion(), ZLIB_VERSION) == 0);
+],
+ eval "ac_cv_lib_z='-lz'",
+ eval "ac_cv_lib_z=no")
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if test ! "$ac_cv_lib_z" = no; then
+ AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
+ LIBZ="$ac_cv_lib_z"
+ AC_MSG_RESULT($ac_cv_lib_z)
+else
+ AC_MSG_ERROR(not found.
+ Possibly configure picks up an outdated version
+ installed by XFree86. Remove it from your system.
+
+ Check your installation and look into config.log)
+ LIBZ=""
+fi
+AC_SUBST(LIBZ)
+])
+
+AC_DEFUN([KDE_TRY_TIFFLIB],
+[
+AC_MSG_CHECKING([for libtiff $1])
+
+AC_CACHE_VAL(kde_cv_libtiff_$1,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_LIBS="$LIBS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
+else
+LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
+fi
+kde_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+[
+#include<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([KDE_FIND_LIBEXR],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_CACHE_VAL(ac_cv_libexr,
+[
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+
+ AC_MSG_CHECKING([for OpenEXR libraries])
+
+ if test "$PKG_CONFIG" = "no" ; then
+ AC_MSG_RESULT(no)
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ if ! $PKG_CONFIG --exists OpenEXR ; then
+ AC_MSG_RESULT(no)
+ EXRSTATUS=no
+ else
+ if ! $PKG_CONFIG --atleast-version="1.1.1" OpenEXR ; then
+ AC_MSG_RESULT(no)
+ EXRSTATUS=old
+ else
+ kde_save_LIBS="$LIBS"
+ LIBS="$LIBS $all_libraries $USER_LDFLAGS `pkg-config --libs OpenEXR` $LIBZ"
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ kde_save_CXXFLAGS="$CXXFLAGS"
+ EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR`
+ CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS"
+
+ AC_TRY_LINK(dnl
+ [
+ #include <ImfRgbaFile.h>
+ ],
+ [
+ using namespace Imf;
+ RgbaInputFile file ("dummy");
+ return 0;
+ ],
+ eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'",
+ eval "ac_cv_libexr=no"
+ )
+ LIBS="$kde_save_LIBS"
+ CXXFLAGS="$kde_save_CXXFLAGS"
+ AC_LANG_RESTORE
+ ])dnl
+ if eval "test ! \"`echo $ac_cv_libexr`\" = no"; then
+ AC_DEFINE_UNQUOTED(HAVE_EXR, 1, [Define if you have OpenEXR])
+ LIB_EXR="$ac_cv_libexr"
+ AC_MSG_RESULT($ac_cv_libexr)
+ else
+ AC_MSG_RESULT(no)
+ LIB_EXR=""
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST(LIB_EXR)
+ AC_SUBST(EXR_FLAGS)
+])
+
+
+
+AC_DEFUN([AC_FIND_PNG],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_MSG_CHECKING([for libpng])
+AC_CACHE_VAL(ac_cv_lib_png,
+[
+kde_save_LIBS="$LIBS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
+else
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
+fi
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+ [
+ #include<png.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_FIND_JASPER],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_JPEG])
+AC_MSG_CHECKING([for jasper])
+AC_CACHE_VAL(ac_cv_jasper,
+[
+kde_save_LIBS="$LIBS"
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+ [
+ #include<jasper/jasper.h>
+ ],
+ [
+ return( jas_init() );
+ ],
+ eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'",
+ eval "ac_cv_jasper=no"
+)
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then
+ AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper])
+ LIB_JASPER="$ac_cv_jasper"
+ AC_MSG_RESULT($ac_cv_jasper)
+else
+ AC_MSG_RESULT(no)
+ LIB_JASPER=""
+fi
+AC_SUBST(LIB_JASPER)
+])
+
+AC_DEFUN([AC_CHECK_BOOL],
+[
+ AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
+])
+
+AC_DEFUN([AC_CHECK_GNU_EXTENSIONS],
+[
+AC_MSG_CHECKING(if you need GNU extensions)
+AC_CACHE_VAL(ac_cv_gnu_extensions,
+[
+cat > conftest.c << EOF
+#include <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_MSG_CHECKING([whether $CXX supports -$1])
+kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
+AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
+[
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -$1"
+ AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], [])
+ CXXFLAGS="$save_CXXFLAGS"
+ AC_LANG_RESTORE
+])
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ :
+ $2
+else
+ AC_MSG_RESULT(no)
+ :
+ $3
+fi
+])
+
+AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG],
+[
+AC_MSG_CHECKING([whether $CC supports -$1])
+kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
+AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache,
+[
+ AC_LANG_SAVE
+ AC_LANG_C
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -$1"
+ AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], [])
+ CFLAGS="$save_CFLAGS"
+ AC_LANG_RESTORE
+])
+if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ :
+ $2
+else
+ AC_MSG_RESULT(no)
+ :
+ $3
+fi
+])
+
+
+dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
+dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
+dnl it's all white-space separated
+AC_DEFUN([AC_REMOVE_FORBIDDEN],
+[ __val=$$1
+ __forbid=" $2 "
+ if test -n "$__val"; then
+ __new=""
+ ac_save_IFS=$IFS
+ IFS=" "
+ for i in $__val; do
+ case "$__forbid" in
+ *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
+ *) # Careful to not add spaces, where there were none, because otherwise
+ # libtool gets confused, if we change e.g. CXX
+ if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
+ esac
+ done
+ IFS=$ac_save_IFS
+ $1=$__new
+ fi
+])
+
+
+AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER],
+[
+ AC_MSG_CHECKING([whether $CC is blacklisted])
+
+ dnl In theory we have tu run this test against $CC and $CXX
+ dnl in C and in C++ mode, because its perfectly legal for
+ dnl the user to mix compiler versions, since C has a defined
+ dnl ABI.
+ dnl
+ dnl For now, we assume the user is not on crack.
+
+ AC_TRY_COMPILE([
+#ifdef __GNUC__
+#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0
+choke me
+#endif
+#endif
+], ,
+ kde_bad_compiler=no,
+ kde_bad_compiler=yes
+)
+
+ AC_MSG_RESULT($kde_bad_compiler)
+
+if test "$kde_bad_compiler" = "yes"; then
+ AC_MSG_ERROR([
+
+This particular compiler version is blacklisted because it
+is known to miscompile KDE. Please use a newer version, or
+if that is not yet available, choose an older version.
+
+Please do not report a bug or bother us reporting this
+configure error. We know about it, and we introduced
+it by intention to avoid untraceable bugs or crashes in KDE.
+
+])
+fi
+
+])
+
+
+AC_DEFUN([KDE_CHECK_FOR_OPT_NOINLINE_MATCH],
+[
+ AC_CACHE_CHECK([whether system headers can cope with -O2 -fno-inline],
+ kde_cv_opt_noinline_match,
+ [
+ kde_cv_opt_noinline_match=irrelevant
+ dnl if we don't use both -O2 and -fno-inline, this check is moot
+ if echo "$CFLAGS" | grep -e -O2 >/dev/null 2>/dev/null \
+ && echo "$CFLAGS" | grep -e -fno-inline >/dev/null 2>/dev/null ; then
+
+ ac_cflags_save="$CFLAGS"
+ CFLAGS="$CFLAGS -D_USE_GNU"
+
+ AC_TRY_LINK([
+ #include <string.h>
+], [ const char *pt, *et;
+ et = __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p ( ";," ) && ((size_t)(const void *)(( ";," )+ 1) - (size_t)(const void *)( ";," ) == 1) ? ((__a0 =((__const char *) ( ";," ))[0], __a0 == '\0') ? ((void) ( pt ),((void *)0) ) : ((__a1 = ((__const char *) ( ";," ))[1], __a1== '\0') ? (__extension__ (__builtin_constant_p ( __a0 ) && ( __a0 ) == '\0' ? (char *) __rawmemchr ( pt , __a0) : strchr( pt , __a0 ))) : ((__a2 = ((__const char *) ( ";," ))[2], __a2 == '\0') ? __strpbrk_c2 ( pt , __a0, __a1) :(((__const char *) ( ";," ))[3] == '\0' ? __strpbrk_c3 ( pt ,__a0, __a1, __a2): strpbrk ( pt , ";," ))))) : strpbrk ( pt , ";," )); }) ;
+],
+ kde_cv_opt_noinline_match=yes,
+ kde_cv_opt_noinline_match=no
+ )
+
+ CFLAGS="$ac_cflags_save"
+ fi
+ ])
+])
+
+
+dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
+AC_DEFUN([AC_VALIDIFY_CXXFLAGS],
+[dnl
+if test "x$kde_use_qt_emb" != "xyes"; then
+ AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
+ AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
+else
+ AC_REMOVE_FORBIDDEN(CXX, [-rpath])
+ AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath])
+fi
+])
+
+AC_DEFUN([AC_CHECK_COMPILERS],
+[
+ AC_ARG_ENABLE(debug,
+ AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]),
+ [
+ case $enableval in
+ yes)
+ kde_use_debug_code="yes"
+ kde_use_debug_define=no
+ ;;
+ full)
+ kde_use_debug_code="full"
+ kde_use_debug_define=no
+ ;;
+ *)
+ kde_use_debug_code="no"
+ kde_use_debug_define=yes
+ ;;
+ esac
+ ],
+ [kde_use_debug_code="no"
+ kde_use_debug_define=no
+ ])
+
+ dnl Just for configure --help
+ AC_ARG_ENABLE(dummyoption,
+ AC_HELP_STRING([--disable-debug],
+ [disables debug output and debug symbols [default=no]]),
+ [],[])
+
+ AC_ARG_ENABLE(strict,
+ AC_HELP_STRING([--enable-strict],
+ [compiles with strict compiler options (may not work!)]),
+ [
+ if test $enableval = "no"; then
+ kde_use_strict_options="no"
+ else
+ kde_use_strict_options="yes"
+ fi
+ ], [kde_use_strict_options="no"])
+
+ AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]),
+ [
+ if test $enableval = "no"; then
+ kde_use_warnings="no"
+ else
+ kde_use_warnings="yes"
+ fi
+ ], [kde_use_warnings="yes"])
+
+ dnl enable warnings for debug build
+ if test "$kde_use_debug_code" != "no"; then
+ kde_use_warnings=yes
+ fi
+
+ AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]),
+ [kde_use_profiling=$enableval],
+ [kde_use_profiling="no"]
+ )
+
+ dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
+ CFLAGS=" $CFLAGS"
+
+ AC_PROG_CC
+
+ AC_PROG_CPP
+
+ if test "$GCC" = "yes"; then
+ if test "$kde_use_debug_code" != "no"; then
+ if test $kde_use_debug_code = "full"; then
+ CFLAGS="-g3 -fno-inline $CFLAGS"
+ else
+ CFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CFLAGS"
+ fi
+ else
+ CFLAGS="-O2 $CFLAGS"
+ fi
+ fi
+
+ if test "$kde_use_debug_define" = "yes"; then
+ CFLAGS="-DNDEBUG $CFLAGS"
+ fi
+
+
+ case "$host" in
+ *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";;
+ *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";;
+ esac
+
+ if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
+ LDFLAGS=""
+ fi
+
+ CXXFLAGS=" $CXXFLAGS"
+
+ AC_PROG_CXX
+
+ KDE_CHECK_FOR_BAD_COMPILER
+
+ if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
+ if test "$kde_use_debug_code" != "no"; then
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS"
+ else
+ if test "$kde_use_debug_code" = "full"; then
+ CXXFLAGS="-g3 -fno-inline $CXXFLAGS"
+ else
+ CXXFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CXXFLAGS"
+ fi
+ fi
+ KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"])
+
+ dnl convenience compiler flags
+ KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""])
+ AC_SUBST(WOVERLOADED_VIRTUAL)
+ else
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="+K3 $CXXFLAGS"
+ else
+ CXXFLAGS="-O2 $CXXFLAGS"
+ fi
+ fi
+ fi
+
+ if test "$kde_use_debug_define" = "yes"; then
+ CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS"
+ fi
+
+ if test "$kde_use_profiling" = "yes"; then
+ KDE_CHECK_COMPILER_FLAG(pg,
+ [
+ CFLAGS="-pg $CFLAGS"
+ CXXFLAGS="-pg $CXXFLAGS"
+ ])
+ fi
+
+ if test "$kde_use_warnings" = "yes"; then
+ if test "$GCC" = "yes"; then
+ CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
+ case $host in
+ *-*-linux-gnu)
+ CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
+ CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts $CXXFLAGS"
+ KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"])
+ KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
+ ;;
+ esac
+ KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
+ KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
+ dnl ### FIXME: revert for KDE 4
+ KDE_CHECK_COMPILER_FLAG(Wno-non-virtual-dtor,[CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"])
+ fi
+ fi
+
+ if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then
+ CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
+ fi
+
+ AC_ARG_ENABLE(pch,
+ AC_HELP_STRING([--enable-pch],
+ [enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]),
+ [ kde_use_pch=$enableval ],[ kde_use_pch=no ])
+
+ HAVE_GCC_VISIBILITY=0
+ AC_SUBST([HAVE_GCC_VISIBILITY])
+
+ if test "$GXX" = "yes"; then
+ gcc_no_reorder_blocks=NO
+ KDE_CHECK_COMPILER_FLAG(fno-reorder-blocks,[gcc_no_reorder_blocks=YES])
+ if test $kde_use_debug_code != "no" && \
+ test $kde_use_debug_code != "full" && \
+ test "YES" = "$gcc_no_reorder_blocks" ; then
+ CXXFLAGS="$CXXFLAGS -fno-reorder-blocks"
+ CFLAGS="$CFLAGS -fno-reorder-blocks"
+ fi
+ KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
+ KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
+ KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"])
+ KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= )
+ ENABLE_PERMISSIVE_FLAG="-fpermissive"
+
+ if test "$kde_use_pch" = "yes"; then
+ AC_MSG_CHECKING(whether gcc supports precompiling c header files)
+ echo >conftest.h
+ if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then
+ kde_gcc_supports_pch=yes
+ AC_MSG_RESULT(yes)
+ else
+ kde_gcc_supports_pch=no
+ AC_MSG_RESULT(no)
+ fi
+ if test "$kde_gcc_supports_pch" = "yes"; then
+ AC_MSG_CHECKING(whether gcc supports precompiling c++ header files)
+ if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then
+ kde_gcc_supports_pch=yes
+ AC_MSG_RESULT(yes)
+ else
+ kde_gcc_supports_pch=no
+ AC_MSG_RESULT(no)
+ fi
+ fi
+ rm -f conftest.h conftest.h.gch
+ fi
+
+ KDE_CHECK_FOR_OPT_NOINLINE_MATCH
+ if test "x$kde_cv_opt_noinline_match" = "xno" ; then
+ CFLAGS="`echo "$CFLAGS" | sed "s/ -fno-inline//"`"
+ fi
+ fi
+ AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
+ if test "$CXX" = "KCC"; then
+ dnl unfortunately we currently cannot disable exception support in KCC
+ dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
+ dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
+ dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= )
+
+ if test "$kde_use_pch" = "yes"; then
+ dnl TODO: support --pch-dir!
+ KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
+ dnl the below works (but the dir must exist), but it's
+ dnl useless for a whole package.
+ dnl The are precompiled headers for each source file, so when compiling
+ dnl from scratch, it doesn't make a difference, and they take up
+ dnl around ~5Mb _per_ sourcefile.
+ dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp,
+ dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"])
+ fi
+ dnl this flag controls inlining. by default KCC inlines in optimisation mode
+ dnl all implementations that are defined inside the class {} declaration.
+ dnl because of templates-compatibility with broken gcc compilers, this
+ dnl can cause excessive inlining. This flag limits it to a sane level
+ KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"])
+ KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"])
+ KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"])
+ KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"])
+ dnl Some source files are shared between multiple executables
+ dnl (or libraries) and some of those need template instantiations.
+ dnl In that case KCC needs to compile those sources with
+ dnl --one_instantiation_per_object. To make it easy for us we compile
+ dnl _all_ objects with that flag (--one_per is a shorthand).
+ KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"])
+ fi
+ AC_SUBST(USE_EXCEPTIONS)
+ dnl obsolete macro - provided to keep things going
+ USE_RTTI=
+ AC_SUBST(USE_RTTI)
+
+ case "$host" in
+ *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;;
+ *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";;
+ *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";;
+ *-*-solaris*)
+ if test "$GXX" = yes; then
+ libstdcpp=`$CXX -print-file-name=libstdc++.so`
+ if test ! -f $libstdcpp; then
+ AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so])
+ fi
+ fi
+ ;;
+ esac
+
+ AC_VALIDIFY_CXXFLAGS
+
+ AC_PROG_CXXCPP
+
+ if test "$GCC" = yes; then
+ NOOPT_CFLAGS=-O0
+ fi
+ KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0])
+
+ AC_ARG_ENABLE(coverage,
+ AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [
+ if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then
+ ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
+ ac_coverage_linker="-lgcc"
+ elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then
+ ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
+ ac_coverage_linker=""
+ else
+ AC_MSG_ERROR([coverage with your compiler is not supported])
+ fi
+ CFLAGS="$CFLAGS $ac_coverage_compiler"
+ CXXFLAGS="$CXXFLAGS $ac_coverage_compiler"
+ LDFLAGS="$LDFLAGS $ac_coverage_linker"
+ ])
+
+ AC_SUBST(NOOPT_CXXFLAGS)
+ AC_SUBST(NOOPT_CFLAGS)
+ AC_SUBST(ENABLE_PERMISSIVE_FLAG)
+
+ KDE_CHECK_NEW_LDFLAGS
+ KDE_CHECK_FINAL
+ KDE_CHECK_CLOSURE
+ KDE_CHECK_NMCHECK
+
+ ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
+])
+
+AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG],
+ [
+ AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ safe_CXXFLAGS=$CXXFLAGS
+ safe_LDFLAGS=$LDFLAGS
+ CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0"
+ LDFLAGS="$LDFLAGS -shared -fPIC"
+
+ AC_TRY_LINK(
+ [
+ /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
+ #include <string>
+ int some_function( void ) __attribute__ ((visibility("default")));
+ int some_function( void )
+ {
+ std::string s("blafasel");
+ return 0;
+ }
+ ], [/* elvis is alive */],
+ kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes)
+
+ CXXFLAGS=$safe_CXXFLAGS
+ LDFLAGS=$safe_LDFLAGS
+ AC_LANG_RESTORE
+ ]
+ )
+
+ if test x$kde_cv_val_gcc_visibility_bug = xno; then
+ CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
+ fi
+ ]
+)
+
+AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY],
+[
+ AC_BEFORE([AC_PATH_QT_1_3], [KDE_ENABLE_HIDDEN_VISIBILITY])
+
+ AC_MSG_CHECKING([grepping for visibility push/pop in headers])
+
+ if test "x$GXX" = "xyes"; then
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_EGREP_CPP(
+ [GCC visibility push],
+ [ #include <exception>
+ ],
+ [
+ AC_MSG_RESULT(yes)
+ kde_stdc_visibility_patched=yes ],
+ [
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for
+ visibility support. Disabling -fvisibility=hidden])
+
+ kde_stdc_visibility_patched=no ])
+
+ AC_LANG_RESTORE
+
+ kde_have_gcc_visibility=no
+ KDE_CHECK_COMPILER_FLAG(fvisibility=hidden,
+ [
+ kde_have_gcc_visibility=yes
+ dnl the whole toolchain is just a mess, gcc is just too buggy
+ dnl to handle STL with visibility enabled. Lets reconsider
+ dnl when gcc 4.2 is out or when things get fixed in the compiler.
+ dnl Contact mueller@kde.org for details.
+ AC_ARG_ENABLE(gcc-hidden-visibility,
+ AC_HELP_STRING([--enable-gcc-hidden-visibility],[toolchain hidden visibility [default=no]]),
+ [kde_have_gcc_visibility=$enableval],
+ [kde_have_gcc_visibility=no])
+
+ AC_CACHE_CHECK([if Qt is patched for -fvisibility], kde_cv_val_qt_gcc_visibility_patched,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ safe_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $all_includes"
+
+ AC_TRY_COMPILE(
+ [
+#include <qglobal.h>
+#if Q_EXPORT - 0 != 0
+/* if this compiles, then Q_EXPORT is undefined */
+/* if Q_EXPORT is nonempty, this will break compilation */
+#endif
+ ], [/* elvis is alive */],
+ kde_cv_val_qt_gcc_visibility_patched=no, kde_cv_val_qt_gcc_visibility_patched=yes)
+
+ CXXFLAGS=$safe_CXXFLAGS
+ AC_LANG_RESTORE
+ ]
+ )
+
+ if test x$kde_have_gcc_visibility = "xyes" && test x$kde_stdc_visibility_patched = "xyes" && test x$kde_cv_val_qt_gcc_visibility_patched = "xyes"; then
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ KDE_CHECK_VISIBILITY_GCC_BUG
+ HAVE_GCC_VISIBILITY=1
+ AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported])
+ fi
+ ])
+ fi
+])
+
+AC_DEFUN([KDE_ADD_DEPENDENCIES],
+[
+ [A]M_DEPENDENCIES(CC)
+ [A]M_DEPENDENCIES(CXX)
+])
+
+dnl just a wrapper to clean up configure.in
+AC_DEFUN([KDE_PROG_LIBTOOL],
+[
+AC_REQUIRE([AC_CHECK_COMPILERS])
+AC_REQUIRE([AC_ENABLE_SHARED])
+AC_REQUIRE([AC_ENABLE_STATIC])
+
+AC_REQUIRE([AC_LIBTOOL_DLOPEN])
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+AC_OBJEXT
+AC_EXEEXT
+
+AM_PROG_LIBTOOL
+AC_LIBTOOL_CXX
+
+LIBTOOL_SHELL="/bin/sh ./libtool"
+# LIBTOOL="$LIBTOOL --silent"
+KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
+AC_SUBST(KDE_PLUGIN)
+
+# This hack ensures that libtool creates shared libs for kunittest plugins. By default check_LTLIBRARIES makes static libs.
+KDE_CHECK_PLUGIN="\$(KDE_PLUGIN) -rpath \$(libdir)"
+AC_SUBST(KDE_CHECK_PLUGIN)
+
+# we patch configure quite some so we better keep that consistent for incremental runs
+AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure')
+])
+
+AC_DEFUN([KDE_CHECK_LIB64],
+[
+ AC_ARG_ENABLE(libsuffix,
+ AC_HELP_STRING([--enable-libsuffix],
+ [/lib directory suffix (64,32,none,auto[=default])]),
+ kdelibsuff=$enableval, kdelibsuff="auto")
+
+ if test "$kdelibsuff" = "auto"; then
+
+cat > conftest.c << EOF
+#include <stdio.h>
+int main() {
+ return 0;
+}
+EOF
+ kdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out |sed -ne '/libc.so/{
+ s,.*/lib\([[^\/]]*\)/.*,\1,
+ p
+}'`
+ rm -rf conftest.*
+ fi
+
+ if test "$kdelibsuff" = "no" || test "$kdelibsuff" = "none"; then
+ kdelibsuff=
+ fi
+ if test -z "$kdelibsuff"; then
+ AC_MSG_RESULT([not using lib directory suffix])
+ AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories)
+ else
+ if test "$libdir" = '${exec_prefix}/lib'; then
+ libdir="$libdir${kdelibsuff}"
+ AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms
+ fi
+ AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories)
+ AC_MSG_RESULT([using lib directory suffix $kdelibsuff])
+ fi
+])
+
+AC_DEFUN([KDE_CHECK_TYPES],
+[ AC_CHECK_SIZEOF(int, 4)dnl
+ AC_CHECK_SIZEOF(short)dnl
+ AC_CHECK_SIZEOF(long, 4)dnl
+ AC_CHECK_SIZEOF(char *, 4)dnl
+])dnl
+
+dnl Not used - kept for compat only?
+AC_DEFUN([KDE_DO_IT_ALL],
+[
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+AM_INIT_AUTOMAKE($1, $2)
+AM_DISABLE_LIBRARIES
+AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+AC_CHECK_COMPILERS
+KDE_PROG_LIBTOOL
+AM_KDE_WITH_NLS
+AC_PATH_KDE
+])
+
+AC_DEFUN([AC_CHECK_RPATH],
+[
+AC_MSG_CHECKING(for rpath)
+AC_ARG_ENABLE(rpath,
+ AC_HELP_STRING([--disable-rpath],[do not use the rpath feature of ld]),
+ USE_RPATH=$enableval, USE_RPATH=yes)
+
+if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
+
+ KDE_RPATH="-R \$(libdir)"
+
+ if test "$kde_libraries" != "$libdir"; then
+ KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)"
+ fi
+
+ if test -n "$qt_libraries"; then
+ KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
+ fi
+ dnl $x_libraries is set to /usr/lib in case
+ if test -n "$X_LDFLAGS"; then
+ X_RPATH="-R \$(x_libraries)"
+ KDE_RPATH="$KDE_RPATH $X_RPATH"
+ fi
+ if test -n "$KDE_EXTRA_RPATH"; then
+ KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
+ fi
+fi
+AC_SUBST(KDE_EXTRA_RPATH)
+AC_SUBST(KDE_RPATH)
+AC_SUBST(X_RPATH)
+AC_MSG_RESULT($USE_RPATH)
+])
+
+dnl Check for the type of the third argument of getsockname
+AC_DEFUN([AC_CHECK_SOCKLEN_T],
+[
+ AC_MSG_CHECKING(for socklen_t)
+ AC_CACHE_VAL(kde_cv_socklen_t,
+ [
+ AC_LANG_PUSH(C++)
+ kde_cv_socklen_t=no
+ AC_TRY_COMPILE([
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ socklen_t len;
+ getpeername(0,0,&len);
+ ],
+ [
+ kde_cv_socklen_t=yes
+ kde_cv_socklen_t_equiv=socklen_t
+ ])
+ AC_LANG_POP(C++)
+ ])
+ AC_MSG_RESULT($kde_cv_socklen_t)
+ if test $kde_cv_socklen_t = no; then
+ AC_MSG_CHECKING([for socklen_t equivalent for socket functions])
+ AC_CACHE_VAL(kde_cv_socklen_t_equiv,
+ [
+ kde_cv_socklen_t_equiv=int
+ AC_LANG_PUSH(C++)
+ for t in int size_t unsigned long "unsigned long"; do
+ AC_TRY_COMPILE([
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ $t len;
+ getpeername(0,0,&len);
+ ],
+ [
+ kde_cv_socklen_t_equiv="$t"
+ break
+ ])
+ done
+ AC_LANG_POP(C++)
+ ])
+ AC_MSG_RESULT($kde_cv_socklen_t_equiv)
+ fi
+ AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv,
+ [type to use in place of socklen_t if not defined])
+ AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv,
+ [type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)])
+])
+
+dnl This is a merge of some macros out of the gettext aclocal.m4
+dnl since we don't need anything, I took the things we need
+dnl the copyright for them is:
+dnl >
+dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+dnl This Makefile.in is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+dnl >
+dnl for this file it is relicensed under LGPL
+
+AC_DEFUN([AM_KDE_WITH_NLS],
+ [
+ dnl If we use NLS figure out what method
+
+ AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
+ [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+ if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
+ AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
+ GMSGFMT=":"
+ fi
+ MSGFMT=$GMSGFMT
+ AC_SUBST(GMSGFMT)
+ AC_SUBST(MSGFMT)
+
+ AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+
+ dnl Test whether we really found GNU xgettext.
+ if test "$XGETTEXT" != ":"; then
+ dnl If it is no GNU xgettext we define it as : so that the
+ dnl Makefiles still can work.
+ if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+ : ;
+ else
+ AC_MSG_RESULT(
+ [found xgettext programs is not GNU xgettext; ignore it])
+ XGETTEXT=":"
+ fi
+ fi
+ AC_SUBST(XGETTEXT)
+
+ ])
+
+# Search path for a program which passes the given test.
+# Ulrich Drepper <drepper@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@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@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([limits.h locale.h nl_types.h string.h values.h alloca.h])
+ AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \
+__argz_count __argz_stringify __argz_next])
+
+ AC_MSG_CHECKING(for stpcpy)
+ AC_CACHE_VAL(kde_cv_func_stpcpy,
+ [
+ kde_safe_cxxflags=$CXXFLAGS
+ CXXFLAGS="-Werror"
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([
+ #include <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,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]),
+ xpm_test=$withval, xpm_test="yes")
+ if test "x$xpm_test" = xno; then
+ ac_cv_have_xpm=no
+ else
+ AC_MSG_CHECKING(for XPM)
+ AC_CACHE_VAL(ac_cv_have_xpm,
+ [
+ ac_save_ldflags="$LDFLAGS"
+ ac_save_cflags="$CFLAGS"
+ if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+ LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
+ else
+ LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET"
+ fi
+ CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
+ test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
+ AC_TRY_LINK([#include <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,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]),
+ dpms_test=$withval, dpms_test="yes")
+ if test "x$dpms_test" = xno; then
+ ac_cv_have_dpms=no
+ else
+ AC_MSG_CHECKING(for DPMS)
+ dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
+ dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
+ AC_CACHE_VAL(ac_cv_have_dpms,
+ [
+ if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then
+ AC_MSG_RESULT(no)
+ ac_cv_have_dpms="no"
+ else
+ ac_save_ldflags="$LDFLAGS"
+ ac_save_cflags="$CFLAGS"
+ ac_save_libs="$LIBS"
+ LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries"
+ LIBS="-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", [
+ LIBS="-lXdpms $LIBS"
+ 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"
+ fi
+ ])dnl
+
+ if test "$ac_cv_have_dpms" = no; then
+ AC_MSG_RESULT(no)
+ DPMS_LDFLAGS=""
+ DPMSINC=""
+ $2
+ else
+ AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
+ if test "$ac_cv_have_dpms" = "-lXdpms"; then
+ DPMS_LIB="-lXdpms"
+ fi
+ if test "$DPMS_LDFLAGS" = ""; then
+ DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
+ else
+ DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
+ fi
+ if test "$DPMS_INCLUDE" = ""; then
+ DPMSINC=""
+ else
+ DPMSINC="-I$DPMS_INCLUDE"
+ fi
+ AC_MSG_RESULT(yes)
+ $1
+ fi
+ fi
+ ac_save_cflags="$CFLAGS"
+ CFLAGS="$CFLAGS $X_INCLUDES"
+ test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+ AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO,
+ [Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h>])
+ AC_CHECK_DECL(DPMSCapable,
+ AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),,
+ [#include <X11/Xlib.h>
+ #include <X11/extensions/dpms.h>])
+ AH_TEMPLATE(HAVE_DPMSINFO_PROTO,
+ [Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h>])
+ AC_CHECK_DECL(DPMSInfo,
+ AC_DEFINE(HAVE_DPMSINFO_PROTO),,
+ [#include <X11/Xlib.h>
+ #include <X11/extensions/dpms.h>])
+ CFLAGS="$ac_save_cflags"
+ AC_SUBST(DPMSINC)
+ AC_SUBST(DPMSLIB)
+])
+
+AC_DEFUN([AC_HAVE_GL],
+ [AC_REQUIRE_CPP()dnl
+ AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$GL_LDFLAGS" && GL_LDFLAGS=
+ test -z "$GL_INCLUDE" && GL_INCLUDE=
+
+ AC_ARG_WITH(gl,AC_HELP_STRING([--without-gl],[disable 3D GL modes]),
+ gl_test=$withval, gl_test="yes")
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ # GL and Qt Embedded is a no-go for now.
+ ac_cv_have_gl=no
+ elif test "x$gl_test" = xno; then
+ ac_cv_have_gl=no
+ else
+ AC_MSG_CHECKING(for GL)
+ AC_CACHE_VAL(ac_cv_have_gl,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_ldflags=$LDFLAGS
+ ac_save_cxxflags=$CXXFLAGS
+ ac_save_libs=$LIBS
+ LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries"
+ LIBS="$LIBS -lGL -lGLU"
+ test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LIBS="$LIBS -lX11"
+ LIBS="$LIBS $LIB_XEXT -lm $LIBSOCKET"
+ CXXFLAGS="$CFLAGS $X_INCLUDES"
+ test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
+ AC_TRY_LINK([#include <GL/gl.h>
+#include <GL/glu.h>
+], [],
+ ac_cv_have_gl="yes", ac_cv_have_gl="no")
+ AC_LANG_RESTORE
+ LDFLAGS=$ac_save_ldflags
+ CXXFLAGS=$ac_save_cxxflags
+ LIBS=$ac_save_libs
+ ])dnl
+
+ if test "$ac_cv_have_gl" = "no"; then
+ AC_MSG_RESULT(no)
+ GL_LDFLAGS=""
+ GLINC=""
+ $2
+ else
+ AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
+ if test "$GL_LDFLAGS" = ""; then
+ GLLIB='-lGLU -lGL $(LIB_X11)'
+ else
+ GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
+ fi
+ if test "$GL_INCLUDE" = ""; then
+ GLINC=""
+ else
+ GLINC="-I$GL_INCLUDE"
+ fi
+ AC_MSG_RESULT($ac_cv_have_gl)
+ $1
+ fi
+ fi
+ AC_SUBST(GLINC)
+ AC_SUBST(GLLIB)
+])
+
+
+ dnl shadow password and PAM magic - maintained by ossi@kde.org
+
+AC_DEFUN([KDE_PAM], [
+ AC_REQUIRE([KDE_CHECK_LIBDL])
+
+ want_pam=
+ AC_ARG_WITH(pam,
+ AC_HELP_STRING([--with-pam[=ARG]],[enable support for PAM: ARG=[yes|no|service name]]),
+ [ if test "x$withval" = "xyes"; then
+ want_pam=yes
+ pam_service=kde
+ elif test "x$withval" = "xno"; then
+ want_pam=no
+ else
+ want_pam=yes
+ pam_service=$withval
+ fi
+ ], [ pam_service=kde ])
+
+ use_pam=
+ PAMLIBS=
+ if test "x$want_pam" != xno; then
+ AC_CHECK_LIB(pam, pam_start, [
+ AC_CHECK_HEADER(security/pam_appl.h,
+ [ pam_header=security/pam_appl.h ],
+ [ AC_CHECK_HEADER(pam/pam_appl.h,
+ [ pam_header=pam/pam_appl.h ],
+ [
+ AC_MSG_WARN([PAM detected, but no headers found!
+Make sure you have the necessary development packages installed.])
+ ]
+ )
+ ]
+ )
+ ], , $LIBDL)
+ if test -z "$pam_header"; then
+ if test "x$want_pam" = xyes; then
+ AC_MSG_ERROR([--with-pam was specified, but cannot compile with PAM!])
+ fi
+ else
+ AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)])
+ PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL"
+ use_pam=yes
+
+ dnl darwin claims to be something special
+ if test "$pam_header" = "pam/pam_appl.h"; then
+ AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your PAM headers are in pam/ instead of security/])
+ fi
+
+ dnl test whether struct pam_message is const (Linux) or not (Sun)
+ AC_MSG_CHECKING(for const pam_message)
+ AC_EGREP_HEADER([struct pam_message], $pam_header,
+ [ AC_EGREP_HEADER([const struct pam_message], $pam_header,
+ [AC_MSG_RESULT([const: Linux-type PAM])],
+ [AC_MSG_RESULT([nonconst: Sun-type PAM])
+ AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
+ )],
+ [AC_MSG_RESULT([not found - assume const, Linux-type PAM])])
+ fi
+ fi
+
+ AC_SUBST(PAMLIBS)
+])
+
+dnl DEF_PAM_SERVICE(arg name, full name, define name)
+AC_DEFUN([DEF_PAM_SERVICE], [
+ AC_ARG_WITH($1-pam,
+ AC_HELP_STRING([--with-$1-pam=[val]],[override PAM service from --with-pam for $2]),
+ [ if test "x$use_pam" = xyes; then
+ $3_PAM_SERVICE=$withval
+ else
+ AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected.
+You may want to enforce it by using --with-pam.])
+ fi
+ ],
+ [ if test "x$use_pam" = xyes; then
+ $3_PAM_SERVICE="$pam_service"
+ fi
+ ])
+ if test -n "$$3_PAM_SERVICE"; then
+ AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE])
+ AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2])
+ fi
+ AC_SUBST($3_PAM_SERVICE)
+])
+
+AC_DEFUN([KDE_SHADOWPASSWD], [
+ AC_REQUIRE([KDE_PAM])
+
+ AC_CHECK_LIB(shadow, getspent,
+ [ LIBSHADOW="-lshadow"
+ ac_use_shadow=yes
+ ],
+ [ dnl for UnixWare
+ AC_CHECK_LIB(gen, getspent,
+ [ LIBGEN="-lgen"
+ ac_use_shadow=yes
+ ],
+ [ AC_CHECK_FUNC(getspent,
+ [ ac_use_shadow=yes ],
+ [ ac_use_shadow=no ])
+ ])
+ ])
+ AC_SUBST(LIBSHADOW)
+ AC_SUBST(LIBGEN)
+
+ AC_MSG_CHECKING([for shadow passwords])
+
+ AC_ARG_WITH(shadow,
+ AC_HELP_STRING([--with-shadow],[If you want shadow password support]),
+ [ if test "x$withval" != "xno"; then
+ use_shadow=yes
+ else
+ use_shadow=no
+ fi
+ ], [
+ use_shadow="$ac_use_shadow"
+ ])
+
+ if test "x$use_shadow" = xyes; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords])
+ else
+ AC_MSG_RESULT(no)
+ LIBSHADOW=
+ LIBGEN=
+ fi
+
+ dnl finally make the relevant binaries setuid root, if we have shadow passwds.
+ dnl this still applies, if we could use it indirectly through pam.
+ if test "x$use_shadow" = xyes ||
+ ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then
+ case $host in
+ *-*-freebsd* | *-*-netbsd* | *-*-openbsd*)
+ SETUIDFLAGS="-m 4755 -o root";;
+ *)
+ SETUIDFLAGS="-m 4755";;
+ esac
+ fi
+ AC_SUBST(SETUIDFLAGS)
+
+])
+
+AC_DEFUN([KDE_PASSWDLIBS], [
+ AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT
+ AC_REQUIRE([KDE_PAM])
+ AC_REQUIRE([KDE_SHADOWPASSWD])
+
+ if test "x$use_pam" = "xyes"; then
+ PASSWDLIBS="$PAMLIBS"
+ else
+ PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN"
+ fi
+
+ dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but
+ dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires
+ dnl root to read, so kcheckpass needs to be root (even when using pam, since pam
+ dnl may need to read /etc/master.passwd).
+ case $host in
+ *-*-freebsd*)
+ SETUIDFLAGS="-m 4755 -o root"
+ ;;
+ *)
+ ;;
+ esac
+
+ AC_SUBST(PASSWDLIBS)
+])
+
+AC_DEFUN([KDE_CHECK_LIBDL],
+[
+AC_CHECK_LIB(dl, dlopen, [
+LIBDL="-ldl"
+ac_cv_have_dlfcn=yes
+])
+
+AC_CHECK_LIB(dld, shl_unload, [
+LIBDL="-ldld"
+ac_cv_have_shload=yes
+])
+
+AC_SUBST(LIBDL)
+])
+
+AC_DEFUN([KDE_CHECK_DLOPEN],
+[
+KDE_CHECK_LIBDL
+AC_CHECK_HEADERS(dlfcn.h dl.h)
+if test "$ac_cv_header_dlfcn_h" = "no"; then
+ ac_cv_have_dlfcn=no
+fi
+
+if test "$ac_cv_header_dl_h" = "no"; then
+ ac_cv_have_shload=no
+fi
+
+dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
+dnl (MM)
+AC_ARG_ENABLE(dlopen,
+AC_HELP_STRING([--disable-dlopen],[link statically [default=no]]),
+enable_dlopen=$enableval,
+enable_dlopen=yes)
+
+# override the user's opinion, if we know it better ;)
+if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
+ enable_dlopen=no
+fi
+
+if test "$ac_cv_have_dlfcn" = "yes"; then
+ AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
+fi
+
+if test "$ac_cv_have_shload" = "yes"; then
+ AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
+fi
+
+if test "$enable_dlopen" = no ; then
+ test -n "$1" && eval $1
+else
+ test -n "$2" && eval $2
+fi
+
+])
+
+AC_DEFUN([KDE_CHECK_DYNAMIC_LOADING],
+[
+KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
+KDE_PROG_LIBTOOL
+AC_MSG_CHECKING([dynamic loading])
+eval "`egrep '^build_libtool_libs=' libtool`"
+if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
+ dynamic_loading=yes
+ AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
+else
+ dynamic_loading=no
+fi
+AC_MSG_RESULT($dynamic_loading)
+if test "$dynamic_loading" = "yes"; then
+ $1
+else
+ $2
+fi
+])
+
+AC_DEFUN([KDE_ADD_INCLUDES],
+[
+if test -z "$1"; then
+ test_include="Pix.h"
+else
+ test_include="$1"
+fi
+
+AC_MSG_CHECKING([for libg++ ($test_include)])
+
+AC_CACHE_VAL(kde_cv_libgpp_includes,
+[
+kde_cv_libgpp_includes=no
+
+ for ac_dir in \
+ \
+ /usr/include/g++ \
+ /usr/include \
+ /usr/unsupported/include \
+ /opt/include \
+ $extra_include \
+ ; \
+ do
+ if test -r "$ac_dir/$test_include"; then
+ kde_cv_libgpp_includes=$ac_dir
+ break
+ fi
+ done
+])
+
+AC_MSG_RESULT($kde_cv_libgpp_includes)
+if test "$kde_cv_libgpp_includes" != "no"; then
+ all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
+fi
+])
+])
+
+AC_DEFUN([KDE_CHECK_LIBPTHREAD],
+[
+ dnl This code is here specifically to handle the
+ dnl various flavors of threading library on FreeBSD
+ dnl 4-, 5-, and 6-, and the (weird) rules around it.
+ dnl There may be an environment PTHREAD_LIBS that
+ dnl specifies what to use; otherwise, search for it.
+ dnl -pthread is special cased and unsets LIBPTHREAD
+ dnl below if found.
+ LIBPTHREAD=""
+
+ if test -n "$PTHREAD_LIBS"; then
+ if test "x$PTHREAD_LIBS" = "x-pthread" ; then
+ LIBPTHREAD="PTHREAD"
+ else
+ PTHREAD_LIBS_save="$PTHREAD_LIBS"
+ PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'`
+ AC_MSG_CHECKING([for pthread_create in $PTHREAD_LIBS])
+ KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [
+ LIBPTHREAD="$PTHREAD_LIBS_save"])
+ PTHREAD_LIBS="$PTHREAD_LIBS_save"
+ fi
+ fi
+
+ dnl Is this test really needed, in the face of the Tru64 test below?
+ if test -z "$LIBPTHREAD"; then
+ AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"])
+ fi
+
+ dnl This is a special Tru64 check, see BR 76171 issue #18.
+ if test -z "$LIBPTHREAD" ; then
+ AC_MSG_CHECKING([for pthread_create in -lpthread])
+ kde_safe_libs=$LIBS
+ LIBS="$LIBS -lpthread"
+ AC_TRY_LINK([#include <pthread.h>],[(void)pthread_create(0,0,0,0);],[
+ AC_MSG_RESULT(yes)
+ LIBPTHREAD="-lpthread"],[
+ AC_MSG_RESULT(no)])
+ LIBS=$kde_safe_libs
+ fi
+
+ dnl Un-special-case for FreeBSD.
+ if test "x$LIBPTHREAD" = "xPTHREAD" ; then
+ LIBPTHREAD=""
+ fi
+
+ AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN([KDE_CHECK_PTHREAD_OPTION],
+[
+ USE_THREADS=""
+ if test -z "$LIBPTHREAD"; then
+ KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-D_THREAD_SAFE -pthread"])
+ fi
+
+ AH_VERBATIM(__svr_define, [
+#if defined(__SVR4) && !defined(__svr4__)
+#define __svr4__ 1
+#endif
+])
+ case $host_os in
+ solaris*)
+ KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
+ CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4"
+ ;;
+ freebsd*)
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS"
+ ;;
+ aix*)
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
+ LIBPTHREAD="$LIBPTHREAD -lc_r"
+ ;;
+ linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="$CXXFLAGS --thread_safe"
+ NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe"
+ fi
+ ;;
+ *)
+ ;;
+ esac
+ AC_SUBST(USE_THREADS)
+ AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN([KDE_CHECK_THREADING],
+[
+ AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+ AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
+ dnl default is yes if libpthread is found and no if no libpthread is available
+ if test -z "$LIBPTHREAD"; then
+ if test -z "$USE_THREADS"; then
+ kde_check_threading_default=no
+ else
+ kde_check_threading_default=yes
+ fi
+ else
+ kde_check_threading_default=yes
+ fi
+ AC_ARG_ENABLE(threading,AC_HELP_STRING([--disable-threading],[disables threading even if libpthread found]),
+ kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
+ if test "x$kde_use_threading" = "xyes"; then
+ AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
+ fi
+])
+
+AC_DEFUN([KDE_TRY_LINK_PYTHON],
+[
+if test "$kde_python_link_found" = no; then
+
+if test "$1" = normal; then
+ AC_MSG_CHECKING(if a Python application links)
+else
+ AC_MSG_CHECKING(if Python depends on $2)
+fi
+
+AC_CACHE_VAL(kde_cv_try_link_python_$1,
+[
+kde_save_cflags="$CFLAGS"
+CFLAGS="$CFLAGS $PYTHONINC"
+kde_save_libs="$LIBS"
+LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
+kde_save_ldflags="$LDFLAGS"
+LDFLAGS="$LDFLAGS $PYTHONLIB"
+
+AC_TRY_LINK(
+[
+#include <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
+
+fi
+
+])
+
+AC_DEFUN([KDE_CHECK_PYTHON_DIR],
+[
+AC_MSG_CHECKING([for Python directory])
+
+AC_CACHE_VAL(kde_cv_pythondir,
+[
+ if test -z "$PYTHONDIR"; then
+ kde_cv_pythondir=/usr/local
+ else
+ kde_cv_pythondir="$PYTHONDIR"
+ fi
+])
+
+AC_ARG_WITH(pythondir,
+AC_HELP_STRING([--with-pythondir=pythondir],[use python installed in pythondir]),
+[
+ ac_python_dir=$withval
+], ac_python_dir=$kde_cv_pythondir
+)
+
+AC_MSG_RESULT($ac_python_dir)
+])
+
+AC_DEFUN([KDE_CHECK_PYTHON_INTERN],
+[
+AC_REQUIRE([KDE_CHECK_LIBDL])
+AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+AC_REQUIRE([KDE_CHECK_PYTHON_DIR])
+
+if test -z "$1"; then
+ version="1.5"
+else
+ version="$1"
+fi
+
+AC_MSG_CHECKING([for Python$version])
+
+python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
+AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
+if test ! -r $python_incdir/Python.h; then
+ AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
+ python_incdir=$python_incdir/python$version
+ if test ! -r $python_incdir/Python.h; then
+ python_incdir=no
+ fi
+fi
+
+PYTHONINC=-I$python_incdir
+
+python_libdirs="$ac_python_dir/lib$kdelibsuff /usr/lib$kdelibsuff /usr/local /usr/lib$kdelibsuff $kde_extra_libs"
+AC_FIND_FILE(libpython$version.so, $python_libdirs, python_libdir)
+if test ! -r $python_libdir/libpython$version.so; then
+ AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
+ if test ! -r $python_libdir/libpython$version.a; then
+ AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
+ python_libdir=$python_libdir/python$version/config
+ if test ! -r $python_libdir/libpython$version.a; then
+ python_libdir=no
+ fi
+ fi
+fi
+
+PYTHONLIB=-L$python_libdir
+kde_orig_LIBPYTHON=$LIBPYTHON
+if test -z "$LIBPYTHON"; then
+ LIBPYTHON=-lpython$version
+fi
+
+AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
+python_moddir=$python_moddir/python$version
+if test ! -r $python_moddir/copy.py; then
+ python_moddir=no
+fi
+
+PYTHONMODDIR=$python_moddir
+
+AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
+
+if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then
+ LIBPYTHON=$kde_orig_LIBPYTHON
+ test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB=""
+ test "x$PYTHONINC" = "x-Ino" && PYTHONINC=""
+ $2
+else
+ dnl Note: this test is very weak
+ kde_python_link_found=no
+ KDE_TRY_LINK_PYTHON(normal)
+ KDE_TRY_LINK_PYTHON(m, -lm)
+ KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD)
+ KDE_TRY_LINK_PYTHON(tcl, -ltcl)
+ KDE_TRY_LINK_PYTHON(db2, -ldb2)
+ KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil])
+ KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil])
+ KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm])
+ KDE_TRY_LINK_PYTHON(pthread_and_panel_curses, [$LIBPTHREAD $LIBDL -lm -lpanel -lcurses])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [],
+ [AC_MSG_WARN([it seems, Python depends on another library.
+ Please set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this
+ and contact the authors to let them know about this problem])
+ ])
+
+ LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
+ AC_SUBST(PYTHONINC)
+ AC_SUBST(PYTHONLIB)
+ AC_SUBST(LIBPYTHON)
+ AC_SUBST(PYTHONMODDIR)
+ AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python])
+fi
+
+])
+
+
+AC_DEFUN([KDE_CHECK_PYTHON],
+[
+ KDE_CHECK_PYTHON_INTERN("2.5",
+ [KDE_CHECK_PYTHON_INTERN("2.4",
+ [KDE_CHECK_PYTHON_INTERN("2.3",
+ [KDE_CHECK_PYTHON_INTERN("2.2",
+ [KDE_CHECK_PYTHON_INTERN("2.1",
+ [KDE_CHECK_PYTHON_INTERN("2.0",
+ [KDE_CHECK_PYTHON_INTERN($1, $2) ])
+ ])
+ ])
+ ])
+ ])
+ ])
+])
+
+AC_DEFUN([KDE_CHECK_STL],
+[
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
+
+ AC_MSG_CHECKING([if C++ programs can be compiled])
+ AC_CACHE_VAL(kde_cv_stl_works,
+ [
+ AC_TRY_COMPILE([
+#include <string>
+using namespace std;
+],[
+ string astring="Hallo Welt.";
+ astring.erase(0, 6); // now astring is "Welt"
+ return 0;
+], kde_cv_stl_works=yes,
+ kde_cv_stl_works=no)
+])
+
+ AC_MSG_RESULT($kde_cv_stl_works)
+
+ if test "$kde_cv_stl_works" = "yes"; then
+ # back compatible
+ AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI])
+ else
+ AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs.
+Check config.log for details - if you're using a Linux distribution you might miss
+a package named similar to libstdc++-dev.])
+ fi
+
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ AC_LANG_RESTORE
+])
+
+AC_DEFUN([AC_FIND_QIMGIO],
+ [AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for qimgio])
+AC_CACHE_VAL(ac_cv_lib_qimgio,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_save_LIBS="$LIBS"
+ac_save_CXXFLAGS="$CXXFLAGS"
+LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT"
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+AC_TRY_RUN(dnl
+[
+#include <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([AM_DISABLE_LIBRARIES],
+[
+ AC_PROVIDE([AM_ENABLE_STATIC])
+ AC_PROVIDE([AM_ENABLE_SHARED])
+ enable_static=no
+ enable_shared=yes
+])
+
+
+AC_DEFUN([AC_CHECK_UTMP_FILE],
+[
+ AC_MSG_CHECKING([for utmp file])
+
+ AC_CACHE_VAL(kde_cv_utmp_file,
+ [
+ kde_cv_utmp_file=no
+
+ for ac_file in \
+ \
+ /var/run/utmp \
+ /var/adm/utmp \
+ /etc/utmp \
+ ; \
+ do
+ if test -r "$ac_file"; then
+ kde_cv_utmp_file=$ac_file
+ break
+ fi
+ done
+ ])
+
+ if test "$kde_cv_utmp_file" != "no"; then
+ AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
+ $1
+ AC_MSG_RESULT($kde_cv_utmp_file)
+ else
+ $2
+ AC_MSG_RESULT([non found])
+ fi
+])
+
+
+AC_DEFUN([KDE_CREATE_SUBDIRSLIST],
+[
+
+DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
+TOPSUBDIRS=""
+
+if test ! -s $srcdir/subdirs; then
+ dnl Note: Makefile.common creates subdirs, so this is just a fallback
+ files=`cd $srcdir && ls -1`
+ dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
+ for i in $dirs; do
+ echo $i >> $srcdir/subdirs
+ done
+fi
+
+ac_topsubdirs=
+if test -s $srcdir/inst-apps; then
+ ac_topsubdirs="`cat $srcdir/inst-apps`"
+elif test -s $srcdir/subdirs; then
+ ac_topsubdirs="`cat $srcdir/subdirs`"
+fi
+
+for i in $ac_topsubdirs; do
+ AC_MSG_CHECKING([if $i should be compiled])
+ if test -d $srcdir/$i; then
+ install_it="yes"
+ for j in $DO_NOT_COMPILE; do
+ if test $i = $j; then
+ install_it="no"
+ fi
+ done
+ else
+ install_it="no"
+ fi
+ AC_MSG_RESULT($install_it)
+ vari=`echo $i | sed -e 's,[[-+.@]],_,g'`
+ if test $install_it = "yes"; then
+ TOPSUBDIRS="$TOPSUBDIRS $i"
+ eval "$vari""_SUBDIR_included=yes"
+ else
+ eval "$vari""_SUBDIR_included=no"
+ fi
+done
+
+AC_SUBST(TOPSUBDIRS)
+])
+
+AC_DEFUN([KDE_CHECK_NAMESPACES],
+[
+AC_MSG_CHECKING(whether C++ compiler supports namespaces)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_TRY_COMPILE([
+],
+[
+namespace Foo {
+ extern int i;
+ namespace Bar {
+ extern int i;
+ }
+}
+
+int Foo::i = 0;
+int Foo::Bar::i = 1;
+],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_NAMESPACES)
+], [
+AC_MSG_RESULT(no)
+])
+AC_LANG_RESTORE
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_CHECK_S_ISSOCK],
+[
+AC_MSG_CHECKING(for S_ISSOCK)
+AC_CACHE_VAL(ac_cv_have_s_issock,
+[
+AC_TRY_LINK(
+[
+#include <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_MSG_RESULT($ac_cv_have_s_issock)
+if test "$ac_cv_have_s_issock" = "yes"; then
+ AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.])
+fi
+
+AH_VERBATIM(_ISSOCK,
+[
+#ifndef HAVE_S_ISSOCK
+#define HAVE_S_ISSOCK
+#define S_ISSOCK(mode) (1==0)
+#endif
+])
+
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_CHECK_KDEMAXPATHLEN],
+[
+AC_MSG_CHECKING(for MAXPATHLEN)
+AC_CACHE_VAL(ac_cv_maxpathlen,
+[
+cat > conftest.$ac_ext <<EOF
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+#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] )
+])
+
+AC_DEFUN([KDE_CHECK_HEADER],
+[
+ kde_safe_cppflags=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $all_includes"
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_CHECK_HEADER([$1], [$2], [$3], [$4])
+ AC_LANG_RESTORE
+ CPPFLAGS=$kde_safe_cppflags
+])
+
+AC_DEFUN([KDE_CHECK_HEADERS],
+[
+ AH_CHECK_HEADERS([$1])
+ AC_LANG_SAVE
+ kde_safe_cppflags=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $all_includes"
+ AC_LANG_CPLUSPLUS
+ AC_CHECK_HEADERS([$1], [$2], [$3], [$4])
+ CPPFLAGS=$kde_safe_cppflags
+ AC_LANG_RESTORE
+])
+
+AC_DEFUN([KDE_FAST_CONFIGURE],
+[
+ dnl makes configure fast (needs perl)
+ AC_ARG_ENABLE(fast-perl, AC_HELP_STRING([--disable-fast-perl],[disable fast Makefile generation (needs perl)]),
+ with_fast_perl=$enableval, with_fast_perl=yes)
+])
+
+AC_DEFUN([KDE_CONF_FILES],
+[
+ val=
+ if test -f $srcdir/configure.files ; then
+ val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
+ fi
+ CONF_FILES=
+ if test -n "$val" ; then
+ for i in $val ; do
+ CONF_FILES="$CONF_FILES $i"
+ done
+ fi
+ AC_SUBST(CONF_FILES)
+])dnl
+
+dnl This sets the prefix, for arts and kdelibs
+dnl Do NOT use in any other module.
+dnl It only looks at --prefix, KDEDIR and falls back to /usr/local/kde
+AC_DEFUN([KDE_SET_PREFIX_CORE],
+[
+ unset CDPATH
+ dnl make $KDEDIR the default for the installation
+ AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+
+ if test "x$prefix" = "xNONE"; then
+ prefix=$ac_default_prefix
+ ac_configure_args="$ac_configure_args --prefix=$prefix"
+ fi
+ # And delete superfluous '/' to make compares easier
+ prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ kde_libs_htmldir=$prefix/share/doc/HTML/
+ exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+
+ kde_libs_prefix='$(prefix)'
+ kde_libs_htmldir='$(kde_htmldir)'
+ AC_SUBST(kde_libs_prefix)
+ AC_SUBST(kde_libs_htmldir)
+ KDE_FAST_CONFIGURE
+ KDE_CONF_FILES
+])
+
+
+AC_DEFUN([KDE_SET_PREFIX],
+[
+ unset CDPATH
+ dnl We can't give real code to that macro, only a value.
+ dnl It only matters for --help, since we set the prefix in this function anyway.
+ AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix})
+
+ KDE_SET_DEFAULT_BINDIRS
+ if test "x$prefix" = "xNONE"; then
+ dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it
+ KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
+ else
+ dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH
+ kde_save_PATH="$PATH"
+ PATH="$exec_prefix/bin:$prefix/bin:$PATH"
+ KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
+ PATH="$kde_save_PATH"
+ fi
+
+ kde_libs_prefix=`$KDECONFIG --prefix`
+ if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
+ AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
+ This means it has been moved since you installed it.
+ This won't work. Please recompile kdelibs for the new prefix.
+ ])
+ fi
+ kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
+
+ AC_MSG_CHECKING([where to install])
+ if test "x$prefix" = "xNONE"; then
+ prefix=$kde_libs_prefix
+ AC_MSG_RESULT([$prefix (as returned by kde-config)])
+ else
+ dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different
+ given_prefix=$prefix
+ AC_MSG_RESULT([$prefix (as requested)])
+ fi
+
+ # And delete superfluous '/' to make compares easier
+ prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+
+ AC_SUBST(KDECONFIG)
+ AC_SUBST(kde_libs_prefix)
+ AC_SUBST(kde_libs_htmldir)
+
+ KDE_FAST_CONFIGURE
+ KDE_CONF_FILES
+])
+
+pushdef([AC_PROG_INSTALL],
+[
+ dnl our own version, testing for a -p flag
+ popdef([AC_PROG_INSTALL])
+ dnl as AC_PROG_INSTALL works as it works we first have
+ dnl to save if the user didn't specify INSTALL, as the
+ dnl autoconf one overwrites INSTALL and we have no chance to find
+ dnl out afterwards
+ test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
+ test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
+ test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
+ AC_PROG_INSTALL
+
+ if test -z "$kde_save_INSTALL_given" ; then
+ # OK, user hasn't given any INSTALL, autoconf found one for us
+ # now we test, if it supports the -p flag
+ AC_MSG_CHECKING(for -p flag to install)
+ rm -f confinst.$$.* > /dev/null 2>&1
+ echo "Testtest" > confinst.$$.orig
+ ac_res=no
+ if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
+ if test -f confinst.$$.new ; then
+ # OK, -p seems to do no harm to install
+ INSTALL="${INSTALL} -p"
+ ac_res=yes
+ fi
+ fi
+ rm -f confinst.$$.*
+ AC_MSG_RESULT($ac_res)
+ fi
+ dnl the following tries to resolve some signs and wonders coming up
+ dnl with different autoconf/automake versions
+ dnl e.g.:
+ dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s
+ dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS)
+ dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s
+ dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has
+ dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the
+ dnl install-@DIR@PROGRAMS targets to explicitly use that flag
+ dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as
+ dnl INSTALL_SCRIPT, which breaks with automake <= 1.4
+ dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure
+ dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from
+ dnl automake (due to broken Makefile.am or whatever) to install programs,
+ dnl and so does not see the -s flag in automake > 1.4
+ dnl to clean up that mess we:
+ dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG
+ dnl which cleans KDE's program with automake > 1.4;
+ dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems
+ dnl with automake<=1.4
+ dnl note that dues to this sometimes two '-s' flags are used (if KDE
+ dnl properly uses install-@DIR@PROGRAMS, but I don't care
+ dnl
+ dnl And to all this comes, that I even can't write in comments variable
+ dnl names used by automake, because it is so stupid to think I wanted to
+ dnl _use_ them, therefor I have written A_M_... instead of AM_
+ dnl hmm, I wanted to say something ... ahh yes: Arghhh.
+
+ if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
+ INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
+ fi
+ if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
+ INSTALL_SCRIPT='${INSTALL}'
+ fi
+])dnl
+
+AC_DEFUN([KDE_LANG_CPLUSPLUS],
+[AC_LANG_CPLUSPLUS
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
+pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS])
+])
+
+pushdef([AC_LANG_CPLUSPLUS],
+[popdef([AC_LANG_CPLUSPLUS])
+KDE_LANG_CPLUSPLUS
+])
+
+AC_DEFUN([KDE_CHECK_LONG_LONG],
+[
+AC_MSG_CHECKING(for long long)
+AC_CACHE_VAL(kde_cv_c_long_long,
+[
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_LINK([], [
+ long long foo = 0;
+ foo = foo+1;
+ ],
+ kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
+ AC_LANG_RESTORE
+])
+AC_MSG_RESULT($kde_cv_c_long_long)
+if test "$kde_cv_c_long_long" = yes; then
+ AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype])
+fi
+])
+
+AC_DEFUN([KDE_CHECK_LIB],
+[
+ kde_save_LDFLAGS="$LDFLAGS"
+ dnl AC_CHECK_LIB modifies LIBS, so save it here
+ kde_save_LIBS="$LIBS"
+ LDFLAGS="$LDFLAGS $all_libraries"
+ case $host_os in
+ aix*) LDFLAGS="-brtl $LDFLAGS"
+ test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS"
+ ;;
+ esac
+ AC_CHECK_LIB($1, $2, $3, $4, $5)
+ LDFLAGS="$kde_save_LDFLAGS"
+ LIBS="$kde_save_LIBS"
+])
+
+AC_DEFUN([KDE_JAVA_PREFIX],
+[
+ dir=`dirname "$1"`
+ base=`basename "$1"`
+ list=`ls -1 $dir 2> /dev/null`
+ for entry in $list; do
+ if test -d $dir/$entry/bin; then
+ case $entry in
+ $base)
+ javadirs="$javadirs $dir/$entry/bin"
+ ;;
+ esac
+ elif test -d $dir/$entry/jre/bin; then
+ case $entry in
+ $base)
+ javadirs="$javadirs $dir/$entry/jre/bin"
+ ;;
+ esac
+ fi
+ done
+])
+
+dnl KDE_CHEC_JAVA_DIR(onlyjre)
+AC_DEFUN([KDE_CHECK_JAVA_DIR],
+[
+
+AC_ARG_WITH(java,
+AC_HELP_STRING([--with-java=javadir],[use java installed in javadir, --without-java disables]),
+[ ac_java_dir=$withval
+], ac_java_dir=""
+)
+
+AC_MSG_CHECKING([for Java])
+
+dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH
+if test "x$ac_java_dir" = "xno"; then
+ kde_java_bindir=no
+ kde_java_includedir=no
+ kde_java_libjvmdir=no
+ kde_java_libgcjdir=no
+ kde_java_libhpidir=no
+else
+ if test "x$ac_java_dir" = "x"; then
+
+
+ dnl No option set -> collect list of candidate paths
+ if test -n "$JAVA_HOME"; then
+ KDE_JAVA_PREFIX($JAVA_HOME)
+ fi
+ KDE_JAVA_PREFIX(/usr/j2se)
+ KDE_JAVA_PREFIX(/usr/lib/j2se)
+ KDE_JAVA_PREFIX(/usr/j*dk*)
+ KDE_JAVA_PREFIX(/usr/lib/j*dk*)
+ KDE_JAVA_PREFIX(/opt/j*sdk*)
+ KDE_JAVA_PREFIX(/usr/lib/java*)
+ KDE_JAVA_PREFIX(/usr/java*)
+ KDE_JAVA_PREFIX(/usr/java/j*dk*)
+ KDE_JAVA_PREFIX(/usr/java/j*re*)
+ KDE_JAVA_PREFIX(/usr/lib/SunJava2*)
+ KDE_JAVA_PREFIX(/usr/lib/SunJava*)
+ KDE_JAVA_PREFIX(/usr/lib/IBMJava2*)
+ KDE_JAVA_PREFIX(/usr/lib/IBMJava*)
+ KDE_JAVA_PREFIX(/opt/java*)
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ for dir in $PATH; do
+ if test -d "$dir"; then
+ javadirs="$javadirs $dir"
+ fi
+ done
+ IFS=$kde_save_IFS
+ jredirs=
+
+ dnl Now javadirs contains a list of paths that exist, all ending with bin/
+ for dir in $javadirs; do
+ dnl Check for the java executable
+ if test -x "$dir/java"; then
+ sane_path=$(cd $dir; /bin/pwd)
+ dnl And also check for a libjvm.so somewhere under there
+ dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big.
+ if test "$sane_path" != "/usr/bin"; then
+ libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
+ if test ! -f $libjvmdir/libjvm.so; then continue; fi
+ jredirs="$jredirs $dir"
+ fi
+ fi
+ done
+
+ dnl Now jredirs contains a reduced list, of paths where both java and ../**/libjvm.so was found
+ JAVAC=
+ JAVA=
+ kde_java_bindir=no
+ for dir in $jredirs; do
+ JAVA="$dir/java"
+ kde_java_bindir=$dir
+ if test -x "$dir/javac"; then
+ JAVAC="$dir/javac"
+ break
+ fi
+ done
+
+ if test -n "$JAVAC"; then
+ dnl this substitution might not work - well, we test for jni.h below
+ kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'`
+ else
+ kde_java_includedir=no
+ fi
+ else
+ dnl config option set
+ kde_java_bindir=$ac_java_dir/bin
+ if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then
+ kde_java_includedir=no
+ else
+ kde_java_includedir=$ac_java_dir/include
+ fi
+ fi
+fi
+
+dnl At this point kde_java_bindir and kde_java_includedir are either set or "no"
+if test "x$kde_java_bindir" != "xno"; then
+
+ dnl Look for libjvm.so
+ kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
+ dnl Look for libgcj.so
+ kde_java_libgcjdir=`find $kde_java_bindir/.. -name libgcj.so | sed 's,libgcj.so,,'|head -n 1`
+ dnl Look for libhpi.so and avoid green threads
+ kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1`
+
+ dnl Now check everything's fine under there
+ dnl the include dir is our flag for having the JDK
+ if test -d "$kde_java_includedir"; then
+ if test ! -x "$kde_java_bindir/javac"; then
+ AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.])
+ fi
+ if test ! -x "$kde_java_bindir/javah"; then
+ AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
+ fi
+ if test ! -x "$kde_java_bindir/jar"; then
+ AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
+ fi
+ if test ! -r "$kde_java_includedir/jni.h"; then
+ AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.])
+ fi
+
+ jni_includes="-I$kde_java_includedir"
+ dnl Strange thing, jni.h requires jni_md.h which is under genunix here..
+ dnl and under linux here..
+
+ dnl not needed for gcj
+
+ if test "x$kde_java_libgcjdir" = "x"; then
+ test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux"
+ test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris"
+ test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix"
+ fi
+
+ else
+ JAVAC=
+ jni_includes=
+ fi
+
+ if test "x$kde_java_libgcjdir" = "x"; then
+ if test ! -r "$kde_java_libjvmdir/libjvm.so"; then
+ AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.])
+ fi
+ else
+ if test ! -r "$kde_java_libgcjdir/libgcj.so"; then
+ AC_MSG_ERROR([libgcj.so not found under $kde_java_libgcjdir. Use --without-java.])
+ fi
+ fi
+
+ if test ! -x "$kde_java_bindir/java"; then
+ AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
+ fi
+
+ dnl not needed for gcj compile
+
+ if test "x$kde_java_libgcjdir" = "x"; then
+ if test ! -r "$kde_java_libhpidir/libhpi.so"; then
+ AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.])
+ fi
+ fi
+
+ if test -n "$jni_includes"; then
+ dnl Check for JNI version
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_cxxflags_safe="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $all_includes $jni_includes"
+
+ AC_TRY_COMPILE([
+ #include <jni.h>
+ ],
+ [
+ #ifndef JNI_VERSION_1_2
+ Syntax Error
+ #endif
+ ],[ kde_jni_works=yes ],
+ [ kde_jni_works=no ])
+
+ if test $kde_jni_works = no; then
+ AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h.
+ You need to have Java Development Kit (JDK) version 1.2.
+
+ Use --with-java to specify another location.
+ Use --without-java to configure without java support.
+ Or download a newer JDK and try again.
+ See e.g. http://java.sun.com/products/jdk/1.2 ])
+ fi
+
+ CXXFLAGS="$ac_cxxflags_safe"
+ AC_LANG_RESTORE
+
+ dnl All tests ok, inform and subst the variables
+
+ JAVAC=$kde_java_bindir/javac
+ JAVAH=$kde_java_bindir/javah
+ JAR=$kde_java_bindir/jar
+ AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
+ if test "x$kde_java_libgcjdir" = "x"; then
+ JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi"
+ else
+ JVMLIBS="-L$kde_java_libgcjdir -lgcj"
+ fi
+ AC_MSG_RESULT([java JDK in $kde_java_bindir])
+
+ else
+ AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
+ AC_MSG_RESULT([java JRE in $kde_java_bindir])
+ fi
+elif test -d "/Library/Java/Home"; then
+ kde_java_bindir="/Library/Java/Home/bin"
+ jni_includes="-I/Library/Java/Home/include"
+
+ JAVAC=$kde_java_bindir/javac
+ JAVAH=$kde_java_bindir/javah
+ JAR=$kde_java_bindir/jar
+ JVMLIBS="-Wl,-framework,JavaVM"
+
+ AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
+ AC_MSG_RESULT([Apple Java Framework])
+else
+ AC_MSG_RESULT([none found])
+fi
+
+AC_SUBST(JAVAC)
+AC_SUBST(JAVAH)
+AC_SUBST(JAR)
+AC_SUBST(JVMLIBS)
+AC_SUBST(jni_includes)
+
+# for backward compat
+kde_cv_java_includedir=$kde_java_includedir
+kde_cv_java_bindir=$kde_java_bindir
+])
+
+dnl this is a redefinition of autoconf 2.5x's AC_FOREACH.
+dnl When the argument list becomes big, as in KDE for AC_OUTPUT in
+dnl big packages, m4_foreach is dog-slow. So use our own version of
+dnl it. (matz@kde.org)
+m4_define([mm_foreach],
+[m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])])
+m4_define([mm_car], [[$1]])
+m4_define([mm_car2], [[$@]])
+m4_define([_mm_foreach],
+[m4_if(m4_quote($2), [], [],
+ [m4_define([$1], mm_car($2))$3[]_mm_foreach([$1],
+ mm_car2(m4_shift($2)),
+ [$3])])])
+m4_define([AC_FOREACH],
+[mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])])
+
+AC_DEFUN([KDE_NEED_FLEX],
+[
+kde_libs_safe=$LIBS
+LIBS="$LIBS $USER_LDFLAGS"
+AM_PROG_LEX
+LIBS=$kde_libs_safe
+if test -z "$LEXLIB"; then
+ AC_MSG_ERROR([You need to have flex installed.])
+fi
+AC_SUBST(LEXLIB)
+])
+
+AC_DEFUN([AC_PATH_QTOPIA],
+[
+ dnl TODO: use AC_CACHE_VAL
+
+ if test -z "$1"; then
+ qtopia_minver_maj=1
+ qtopia_minver_min=5
+ qtopia_minver_pat=0
+ else
+ qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"`
+ qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"`
+ qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"`
+ fi
+
+ qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat"
+ qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat"
+
+ AC_REQUIRE([AC_PATH_QT])
+
+ AC_MSG_CHECKING([for Qtopia])
+
+ LIB_QTOPIA="-lqpe"
+ AC_SUBST(LIB_QTOPIA)
+
+ kde_qtopia_dirs="$QPEDIR /opt/Qtopia"
+
+ ac_qtopia_incdir=NO
+
+ AC_ARG_WITH(qtopia-dir,
+ AC_HELP_STRING([--with-qtopia-dir=DIR],[where the root of Qtopia is installed]),
+ [ ac_qtopia_incdir="$withval"/include] )
+
+ qtopia_incdirs=""
+ for dir in $kde_qtopia_dirs; do
+ qtopia_incdirs="$qtopia_incdirs $dir/include"
+ done
+
+ if test ! "$ac_qtopia_incdir" = "NO"; then
+ qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs"
+ fi
+
+ qtopia_incdir=""
+ AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir)
+ ac_qtopia_incdir="$qtopia_incdir"
+
+ if test -z "$qtopia_incdir"; then
+ AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.])
+ fi
+
+ qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`;
+ qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`;
+ qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`;
+
+ qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat"
+ qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat"
+ if test "$qtopia_ver" -lt "$qtopia_minver"; then
+ AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr
+is required.])
+ fi
+
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ ac_cxxflags_safe="$CXXFLAGS"
+ ac_ldflags_safe="$LDFLAGS"
+ ac_libs_safe="$LIBS"
+
+ CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes"
+ LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
+ LIBS="$LIBS $LIB_QTOPIA $LIBQT"
+
+ cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qpe/qpeapplication.h>
+#include <qpe/version.h>
+
+int main( int argc, char **argv )
+{
+ QPEApplication app( argc, argv );
+ return 0;
+}
+EOF
+
+ if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ rm -f conftest*
+ else
+ rm -f conftest*
+ AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at
+the end of config.log])
+ fi
+
+ CXXFLAGS="$ac_cxxflags_safe"
+ LDFLAGS="$ac_ldflags_safe"
+ LIBS="$ac_libs_safe"
+
+ AC_LANG_RESTORE
+
+ QTOPIA_INCLUDES="-I$qtopia_incdir"
+ AC_SUBST(QTOPIA_INCLUDES)
+
+ AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir])
+])
+
+
+AC_DEFUN([KDE_INIT_DOXYGEN],
+[
+AC_MSG_CHECKING([for Qt docs])
+kde_qtdir=
+if test "${with_qt_dir+set}" = set; then
+ kde_qtdir="$with_qt_dir"
+fi
+
+AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR)
+AC_MSG_RESULT($QTDOCDIR)
+
+AC_SUBST(QTDOCDIR)
+
+KDE_FIND_PATH(dot, DOT, [], [])
+if test -n "$DOT"; then
+ KDE_HAVE_DOT="YES"
+else
+ KDE_HAVE_DOT="NO"
+fi
+AC_SUBST(KDE_HAVE_DOT)
+KDE_FIND_PATH(doxygen, DOXYGEN, [], [])
+AC_SUBST(DOXYGEN)
+
+DOXYGEN_PROJECT_NAME="$1"
+DOXYGEN_PROJECT_NUMBER="$2"
+AC_SUBST(DOXYGEN_PROJECT_NAME)
+AC_SUBST(DOXYGEN_PROJECT_NUMBER)
+
+KDE_HAS_DOXYGEN=no
+if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then
+ KDE_HAS_DOXYGEN=yes
+fi
+AC_SUBST(KDE_HAS_DOXYGEN)
+
+])
+
+
+AC_DEFUN([AC_FIND_BZIP2],
+[
+AC_MSG_CHECKING([for bzDecompress in libbz2])
+AC_CACHE_VAL(ac_cv_lib_bzip2,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET"
+kde_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(dnl
+[
+#define BZ_NO_STDIO
+#include<bzlib.h>
+],
+ [ bz_stream s; (void) bzDecompress(&s); ],
+ eval "ac_cv_lib_bzip2='-lbz2'",
+ eval "ac_cv_lib_bzip2=no")
+LIBS="$kde_save_LIBS"
+CXXFLAGS="$kde_save_CXXFLAGS"
+AC_LANG_RESTORE
+])dnl
+AC_MSG_RESULT($ac_cv_lib_bzip2)
+
+if test ! "$ac_cv_lib_bzip2" = no; then
+ BZIP2DIR=bzip2
+
+ LIBBZ2="$ac_cv_lib_bzip2"
+ AC_SUBST(LIBBZ2)
+
+else
+
+ cxx_shared_flag=
+ ld_shared_flag=
+ KDE_CHECK_COMPILER_FLAG(shared, [
+ ld_shared_flag="-shared"
+ ])
+ KDE_CHECK_COMPILER_FLAG(fPIC, [
+ cxx_shared_flag="-fPIC"
+ ])
+
+ AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2])
+ AC_CACHE_VAL(ac_cv_lib_bzip2_prefix,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ kde_save_LIBS="$LIBS"
+ LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET"
+ kde_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES"
+
+ AC_TRY_LINK(dnl
+ [
+ #define BZ_NO_STDIO
+ #include<bzlib.h>
+ ],
+ [ bz_stream s; (void) BZ2_bzDecompress(&s); ],
+ eval "ac_cv_lib_bzip2_prefix='-lbz2'",
+ eval "ac_cv_lib_bzip2_prefix=no")
+ LIBS="$kde_save_LIBS"
+ CXXFLAGS="$kde_save_CXXFLAGS"
+ AC_LANG_RESTORE
+ ])dnl
+
+ AC_MSG_RESULT($ac_cv_lib_bzip2_prefix)
+
+ if test ! "$ac_cv_lib_bzip2_prefix" = no; then
+ BZIP2DIR=bzip2
+
+ LIBBZ2="$ac_cv_lib_bzip2_prefix"
+ AC_SUBST(LIBBZ2)
+
+ AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix])
+ dnl else, we just ignore this
+ fi
+
+fi
+AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR")
+])
+
+dnl ------------------------------------------------------------------------
+dnl Try to find the SSL headers and libraries.
+dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed)
+dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([KDE_CHECK_SSL],
+[
+LIBSSL="-lssl -lcrypto"
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+ac_ssl_includes=NO ac_ssl_libraries=NO
+ssl_libraries=""
+ssl_includes=""
+AC_ARG_WITH(ssl-dir,
+ AC_HELP_STRING([--with-ssl-dir=DIR],[where the root of OpenSSL is installed]),
+ [ ac_ssl_includes="$withval"/include
+ ac_ssl_libraries="$withval"/lib$kdelibsuff
+ ])
+
+want_ssl=yes
+AC_ARG_WITH(ssl,
+ AC_HELP_STRING([--without-ssl],[disable SSL checks]),
+ [want_ssl=$withval])
+
+if test $want_ssl = yes; then
+
+AC_MSG_CHECKING(for OpenSSL)
+
+AC_CACHE_VAL(ac_cv_have_ssl,
+[#try to guess OpenSSL locations
+
+ ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes"
+ ssl_incdirs="$ac_ssl_includes $ssl_incdirs"
+ AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir)
+ ac_ssl_includes="$ssl_incdir"
+
+ ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs"
+ if test ! "$ac_ssl_libraries" = "NO"; then
+ ssl_libdirs="$ac_ssl_libraries $ssl_libdirs"
+ fi
+
+ test=NONE
+ ssl_libdir=NONE
+ for dir in $ssl_libdirs; do
+ try="ls -1 $dir/libssl*"
+ if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
+ done
+
+ ac_ssl_libraries="$ssl_libdir"
+
+ ac_ldflags_safe="$LDFLAGS"
+ ac_libs_safe="$LIBS"
+
+ LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries"
+ LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref"
+
+ AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();,
+ ac_ssl_rsaref="yes"
+ ,
+ ac_ssl_rsaref="no"
+ )
+
+ LDFLAGS="$ac_ldflags_safe"
+ LIBS="$ac_libs_safe"
+
+ if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then
+ have_ssl=no
+ else
+ have_ssl=yes;
+ fi
+
+ ])
+
+ eval "$ac_cv_have_ssl"
+
+ AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes])
+
+ AC_MSG_CHECKING([whether OpenSSL uses rsaref])
+ AC_MSG_RESULT($ac_ssl_rsaref)
+
+ AC_MSG_CHECKING([for easter eggs])
+ AC_MSG_RESULT([none found])
+
+else
+ have_ssl=no
+fi
+
+if test "$have_ssl" = yes; then
+ AC_MSG_CHECKING(for OpenSSL version)
+ dnl Check for SSL version
+ AC_CACHE_VAL(ac_cv_ssl_version,
+ [
+
+ cat >conftest.$ac_ext <<EOF
+#include <openssl/opensslv.h>
+#include <stdio.h>
+ int main() {
+
+#ifndef OPENSSL_VERSION_NUMBER
+ printf("ssl_version=\\"error\\"\n");
+#else
+ if (OPENSSL_VERSION_NUMBER < 0x00906000)
+ printf("ssl_version=\\"old\\"\n");
+ else
+ printf("ssl_version=\\"ok\\"\n");
+#endif
+ return (0);
+ }
+EOF
+
+ ac_save_CPPFLAGS=$CPPFLAGS
+ if test "$ac_ssl_includes" != "/usr/include"; then
+ CPPFLAGS="$CPPFLAGS -I$ac_ssl_includes"
+ fi
+
+ if AC_TRY_EVAL(ac_link); then
+
+ if eval `./conftest 2>&5`; then
+ if test $ssl_version = error; then
+ AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !])
+ else
+ if test $ssl_version = old; then
+ AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.])
+ have_ssl=no
+ fi
+ fi
+ ac_cv_ssl_version="ssl_version=$ssl_version"
+ else
+ AC_MSG_ERROR([Your system couldn't run a small SSL test program.
+ Check config.log, and if you can't figure it out, send a mail to
+ David Faure <faure@kde.org>, attaching your config.log])
+ fi
+
+ else
+ AC_MSG_ERROR([Your system couldn't link a small SSL test program.
+ Check config.log, and if you can't figure it out, send a mail to
+ David Faure <faure@kde.org>, attaching your config.log])
+ fi
+ CPPFLAGS=$ac_save_CPPFLAGS
+
+ ])
+
+ eval "$ac_cv_ssl_version"
+ AC_MSG_RESULT($ssl_version)
+fi
+
+if test "$have_ssl" != yes; then
+ LIBSSL="";
+else
+ AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL])
+ ac_cv_have_ssl="have_ssl=yes \
+ ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref"
+
+
+ ssl_libraries="$ac_ssl_libraries"
+ ssl_includes="$ac_ssl_includes"
+
+ if test "$ac_ssl_rsaref" = yes; then
+ LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref"
+ fi
+
+ if test $ssl_version = "old"; then
+ AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6])
+ fi
+fi
+
+SSL_INCLUDES=
+
+if test "$ssl_includes" = "/usr/include"; then
+ if test -f /usr/kerberos/include/krb5.h; then
+ SSL_INCLUDES="-I/usr/kerberos/include"
+ fi
+elif test "$ssl_includes" != "/usr/local/include" && test -n "$ssl_includes"; then
+ SSL_INCLUDES="-I$ssl_includes"
+fi
+
+if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries" || test "$ssl_libraries" = "NONE"; then
+ SSL_LDFLAGS=""
+else
+ SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries"
+fi
+
+AC_SUBST(SSL_INCLUDES)
+AC_SUBST(SSL_LDFLAGS)
+AC_SUBST(LIBSSL)
+])
+
+AC_DEFUN([KDE_CHECK_STRLCPY],
+[
+ AC_REQUIRE([AC_CHECK_STRLCAT])
+ AC_REQUIRE([AC_CHECK_STRLCPY])
+ AC_CHECK_SIZEOF(size_t)
+ AC_CHECK_SIZEOF(unsigned long)
+
+ AC_MSG_CHECKING([sizeof size_t == sizeof unsigned long])
+ AC_TRY_COMPILE(,[
+ #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG
+ choke me
+ #endif
+ ],AC_MSG_RESULT([yes]),[
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([
+ Apparently on your system our assumption sizeof size_t == sizeof unsigned long
+ does not apply. Please mail kde-devel@kde.org with a description of your system!
+ ])
+ ])
+])
+
+AC_DEFUN([KDE_CHECK_BINUTILS],
+[
+ AC_MSG_CHECKING([if ld supports unversioned version maps])
+
+ kde_save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
+ echo "{ local: extern \"C++\" { foo }; };" > conftest.map
+ AC_TRY_LINK([int foo;],
+[
+#ifdef __INTEL_COMPILER
+icc apparently does not support libtools version-info and version-script
+at the same time. Dunno where the bug is, but until somebody figured out,
+better disable the optional version scripts.
+#endif
+
+ foo = 42;
+], kde_supports_versionmaps=yes, kde_supports_versionmaps=no)
+ LDFLAGS="$kde_save_LDFLAGS"
+ rm -f conftest.map
+ AM_CONDITIONAL(include_VERSION_SCRIPT,
+ [test "$kde_supports_versionmaps" = "yes" && test "$kde_use_debug_code" = "no"])
+
+ AC_MSG_RESULT($kde_supports_versionmaps)
+])
+
+AC_DEFUN([AM_PROG_OBJC],[
+AC_CHECK_PROGS(OBJC, gcc, gcc)
+test -z "$OBJC" && AC_MSG_ERROR([no acceptable objective-c gcc found in \$PATH])
+if test "x${OBJCFLAGS-unset}" = xunset; then
+ OBJCFLAGS="-g -O2"
+fi
+AC_SUBST(OBJCFLAGS)
+_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(OBJC)])
+])
+
+AC_DEFUN([KDE_CHECK_PERL],
+[
+ KDE_FIND_PATH(perl, PERL, [$bindir $exec_prefix/bin $prefix/bin], [
+ AC_MSG_ERROR([No Perl found in your $PATH.
+We need perl to generate some code.])
+ ])
+ AC_SUBST(PERL)
+])
+
+AC_DEFUN([KDE_CHECK_LARGEFILE],
+[
+AC_SYS_LARGEFILE
+if test "$ac_cv_sys_file_offset_bits" != no; then
+ CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
+fi
+
+if test "x$ac_cv_sys_large_files" != "xno"; then
+ CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1"
+fi
+
+])
+
+dnl A small extension to PKG_CHECK_MODULES (defined in pkg.m4.in)
+dnl which allows to search for libs that get installed into the KDE prefix.
+dnl
+dnl Syntax: KDE_PKG_CHECK_MODULES(KSTUFF, libkexif >= 0.2 glib = 1.3.4, action-if, action-not)
+dnl defines KSTUFF_LIBS, KSTUFF_CFLAGS, see pkg-config man page
+dnl also defines KSTUFF_PKG_ERRORS on error
+AC_DEFUN([KDE_PKG_CHECK_MODULES], [
+
+ PKG_CONFIG_PATH="$prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH"
+ if test "$prefix" != "$kde_libs_prefix"; then
+ PKG_CONFIG_PATH="$kde_libs_prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH"
+ fi
+ export PKG_CONFIG_PATH
+ PKG_CHECK_MODULES([$1],[$2],[$3],[$4])
+])
+
+
+dnl Check for PIE support in the compiler and linker
+AC_DEFUN([KDE_CHECK_PIE_SUPPORT],
+[
+ AC_CACHE_CHECK([for PIE support], kde_cv_val_pie_support,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ safe_CXXFLAGS=$CXXFLAGS
+ safe_LDFLAGS=$LDFLAGS
+ CXXFLAGS="$CXXFLAGS -fPIE"
+ LDFLAGS="$LDFLAGS -pie"
+
+ AC_TRY_LINK([int foo;], [], [kde_cv_val_pie_support=yes], [kde_cv_val_pie_support=no])
+
+ CXXFLAGS=$safe_CXXFLAGS
+ LDFLAGS=$safe_LDFLAGS
+ AC_LANG_RESTORE
+ ])
+
+ AC_MSG_CHECKING(if enabling -pie/fPIE support)
+
+ AC_ARG_ENABLE(pie,
+ AC_HELP_STRING([--enable-pie],[platform supports PIE linking [default=detect]]),
+ [kde_has_pie_support=$enableval],
+ [kde_has_pie_support=detect])
+
+ if test "$kde_has_pie_support" = "detect"; then
+ kde_has_pie_support=$kde_cv_val_pie_support
+ fi
+
+ AC_MSG_RESULT([$kde_has_pie_support])
+
+ KDE_USE_FPIE=""
+ KDE_USE_PIE=""
+
+ AC_SUBST([KDE_USE_FPIE])
+ AC_SUBST([KDE_USE_PIE])
+
+ if test "$kde_has_pie_support" = "yes"; then
+ KDE_USE_FPIE="-fPIE"
+ KDE_USE_PIE="-pie"
+ fi
+])
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001
+## Free Software Foundation, Inc.
+## Originally by Gordon Matzigkeit <gord@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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+##
+## As a special exception to the GNU General Public License, if you
+## distribute this file as part of a program that contains a
+## configuration script generated by Autoconf, you may include it under
+## the same distribution terms that you use for the rest of that program.
+
+# serial 47 AC_PROG_LIBTOOL
+
+
+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+# -----------------------------------------------------------
+# If this macro is not defined by Autoconf, define it here.
+m4_ifdef([AC_PROVIDE_IFELSE],
+ [],
+ [m4_define([AC_PROVIDE_IFELSE],
+ [m4_ifdef([AC_PROVIDE_$1],
+ [$2], [$3])])])
+
+
+# AC_PROG_LIBTOOL
+# ---------------
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+ AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [AC_LIBTOOL_CXX],
+ [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+ ])])
+dnl And a similar setup for Fortran 77 support
+ AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [AC_LIBTOOL_F77],
+ [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+ AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [ifdef([AC_PROG_GCJ],
+ [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+ ifdef([A][M_PROG_GCJ],
+ [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+ ifdef([LT_AC_PROG_GCJ],
+ [define([LT_AC_PROG_GCJ],
+ defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+])])# AC_PROG_LIBTOOL
+
+
+# _AC_PROG_LIBTOOL
+# ----------------
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])# _AC_PROG_LIBTOOL
+
+
+# AC_LIBTOOL_SETUP
+# ----------------
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+AC_LIBTOOL_SYS_MAX_CMD_LEN
+AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+AC_LIBTOOL_OBJDIR
+
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+_LT_AC_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+
+# Same as above, but do not quote variable references.
+[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+AC_CHECK_TOOL(AR, ar, false)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ ;;
+ *)
+ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ AC_PATH_MAGIC
+ fi
+ ;;
+esac
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE([libtool-lock],
+ [AC_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+AC_ARG_WITH([pic],
+ [AC_HELP_STRING([--with-pic],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [pic_mode="$withval"],
+ [pic_mode=default])
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+AC_LIBTOOL_LANG_C_CONFIG
+_LT_AC_TAGCONFIG
+])# AC_LIBTOOL_SETUP
+
+
+# _LT_AC_SYS_COMPILER
+# -------------------
+AC_DEFUN([_LT_AC_SYS_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_AC_SYS_COMPILER
+
+
+# _LT_AC_SYS_LIBPATH_AIX
+# ----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
+[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_AC_SYS_LIBPATH_AIX
+
+
+# _LT_AC_SHELL_INIT(ARG)
+# ----------------------
+AC_DEFUN([_LT_AC_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+ [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_AC_SHELL_INIT
+
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[_LT_AC_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X[$]1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+[$]*
+EOF
+ exit 0
+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 -z "$ECHO"; then
+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.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$echo" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ echo='print -r'
+ elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+ else
+ # Try using printf.
+ echo='printf %s\n'
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
+ fi
+ fi
+ fi
+ fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+])])# _LT_AC_PROG_ECHO_BACKSLASH
+
+
+# _LT_AC_LOCK
+# -----------
+AC_DEFUN([_LT_AC_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AC_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ LINUX_64_MODE="32"
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ LINUX_64_MODE="64"
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+ ])
+esac
+
+need_locks="$enable_libtool_lock"
+
+])# _LT_AC_LOCK
+
+
+# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_SED])
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s conftest.err; then
+ $2=yes
+ fi
+ fi
+ $rm conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ ifelse([$5], , :, [$5])
+else
+ ifelse([$6], , :, [$6])
+fi
+])# AC_LIBTOOL_COMPILER_OPTION
+
+
+# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
+[AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ else
+ $2=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ ifelse([$4], , :, [$4])
+else
+ ifelse([$5], , :, [$5])
+fi
+])# AC_LIBTOOL_LINKER_OPTION
+
+
+# AC_LIBTOOL_SYS_MAX_CMD_LEN
+# --------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
+[# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ testring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ *)
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \
+ = "XX$testring") >/dev/null 2>&1 &&
+ new_result=`expr "X$testring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ testring=$testring$testring
+ done
+ testring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+
+
+# _LT_AC_CHECK_DLFCN
+# --------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)dnl
+])# _LT_AC_CHECK_DLFCN
+
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}]
+EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_unknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_AC_TRY_DLOPEN_SELF
+
+
+# AC_LIBTOOL_DLOPEN_SELF
+# -------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ LDFLAGS="$LDFLAGS $link_static_flag"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+])# AC_LIBTOOL_DLOPEN_SELF
+
+
+# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+# ---------------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler
+AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+ # that will create temporary files in the current directory regardless of
+ # the output directory. Thus, making CWD read-only will cause this test
+ # to fail, enabling locking or at least warning the user not to do parallel
+ # builds.
+ chmod -w .
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s out/conftest.err; then
+ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w .
+ $rm conftest* out/*
+ rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+])
+])# AC_LIBTOOL_PROG_CC_C_O
+
+
+# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
+# -----------------------------------------
+# Check to see if we can do hard links to lock some files if needed
+AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
+[AC_REQUIRE([_LT_AC_LOCK])dnl
+
+hard_links="nottested"
+if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+
+
+# AC_LIBTOOL_OBJDIR
+# -----------------
+AC_DEFUN([AC_LIBTOOL_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+])# AC_LIBTOOL_OBJDIR
+
+
+# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
+# ----------------------------------------------
+# Check hardcoding attributes.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_AC_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
+ test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \
+ test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_AC_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+
+
+# AC_LIBTOOL_SYS_LIB_STRIP
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
+[striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+])# AC_LIBTOOL_SYS_LIB_STRIP
+
+
+# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
+[AC_MSG_CHECKING([dynamic linker characteristics])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi4*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext='$(test .$module = .yes && echo .so || echo .dylib)'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd*)
+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ *) # from 3.2 on
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case "$host_cpu" in
+ ia64*)
+ shrext='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ libsuff=
+ if test "x$LINUX_64_MODE" = x64; then
+ # Some platforms are per default 64-bit, so there's no /lib64
+ if test -d /lib64 -a ! -h /lib64; then
+ libsuff=64
+ fi
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+sco3.2v5*)
+ version_type=osf
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+
+
+# _LT_AC_TAGCONFIG
+# ----------------
+AC_DEFUN([_LT_AC_TAGCONFIG],
+[AC_ARG_WITH([tags],
+ [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
+ [include additional configurations @<:@automatic@:>@])],
+ [tagnames="$withval"])
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+ if test ! -f "${ofile}"; then
+ AC_MSG_WARN([output file `$ofile' does not exist])
+ fi
+
+ if test -z "$LTCC"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+ if test -z "$LTCC"; then
+ AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+ else
+ AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+ fi
+ fi
+
+ # Extract list of available tagged configurations in $ofile.
+ # Note that this assumes the entire list is on one line.
+ available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for tagname in $tagnames; do
+ IFS="$lt_save_ifs"
+ # Check whether tagname contains only valid characters
+ case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
+ "") ;;
+ *) AC_MSG_ERROR([invalid tag name: $tagname])
+ ;;
+ esac
+
+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+ then
+ AC_MSG_ERROR([tag name \"$tagname\" already exists])
+ fi
+
+ # Update the list of available tags.
+ if test -n "$tagname"; then
+ echo appending configuration tag \"$tagname\" to $ofile
+
+ case $tagname in
+ CXX)
+ if test -n "$CXX" && test "X$CXX" != "Xno"; then
+ AC_LIBTOOL_LANG_CXX_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ F77)
+ if test -n "$F77" && test "X$F77" != "Xno"; then
+ AC_LIBTOOL_LANG_F77_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ GCJ)
+ if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+ AC_LIBTOOL_LANG_GCJ_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ RC)
+ AC_LIBTOOL_LANG_RC_CONFIG
+ ;;
+
+ *)
+ AC_MSG_ERROR([Unsupported tag name: $tagname])
+ ;;
+ esac
+
+ # Append the new tag name to the list of available tags.
+ if test -n "$tagname" ; then
+ available_tags="$available_tags $tagname"
+ fi
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ # Now substitute the updated list of available tags.
+ if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+ mv "${ofile}T" "$ofile"
+ chmod +x "$ofile"
+ else
+ rm -f "${ofile}T"
+ AC_MSG_ERROR([unable to update list of available tagged configurations.])
+ fi
+fi
+])# _LT_AC_TAGCONFIG
+
+
+# AC_LIBTOOL_DLOPEN
+# -----------------
+# enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN],
+ [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_DLOPEN
+
+
+# AC_LIBTOOL_WIN32_DLL
+# --------------------
+# declare package support for building win32 dll's
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_WIN32_DLL
+
+
+# AC_ENABLE_SHARED([DEFAULT])
+# ---------------------------
+# implement the --enable-shared flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([shared],
+ [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
+])# AC_ENABLE_SHARED
+
+
+# AC_DISABLE_SHARED
+# -----------------
+#- set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)
+])# AC_DISABLE_SHARED
+
+
+# AC_ENABLE_STATIC([DEFAULT])
+# ---------------------------
+# implement the --enable-static flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([static],
+ [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]AC_ENABLE_STATIC_DEFAULT)
+])# AC_ENABLE_STATIC
+
+
+# AC_DISABLE_STATIC
+# -----------------
+# set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)
+])# AC_DISABLE_STATIC
+
+
+# AC_ENABLE_FAST_INSTALL([DEFAULT])
+# ---------------------------------
+# implement the --enable-fast-install flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([fast-install],
+ [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
+])# AC_ENABLE_FAST_INSTALL
+
+
+# AC_DISABLE_FAST_INSTALL
+# -----------------------
+# set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)
+])# AC_DISABLE_FAST_INSTALL
+
+
+# AC_LIBTOOL_PICMODE([MODE])
+# --------------------------
+# implement the --with-pic flag
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)
+])# AC_LIBTOOL_PICMODE
+
+
+# AC_PROG_EGREP
+# -------------
+# This is predefined starting with Autoconf 2.54, so this conditional
+# definition can be removed once we require Autoconf 2.54 or later.
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+ [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+ then ac_cv_prog_egrep='grep -E'
+ else ac_cv_prog_egrep='egrep'
+ fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])])
+
+
+# AC_PATH_TOOL_PREFIX
+# -------------------
+# find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="ifelse([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<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@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+])# AC_PATH_TOOL_PREFIX
+
+
+# AC_PATH_MAGIC
+# -------------
+# find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# AC_PATH_MAGIC
+
+
+# AC_PROG_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+ [AC_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_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_PROG_LD
+
+
+# AC_PROG_LD_GNU
+# --------------
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+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.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# AC_PROG_LD_GNU
+
+
+# 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
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+])# AC_PROG_LD_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 dependent 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 extended 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* | aix5*)
+ 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*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+mingw* | pw32*)
+ # win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='win32_libid'
+ ;;
+
+darwin* | rhapsody*)
+ # this will be overwritten by pass_all, but leave it in just in case
+ lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System`
+ ;;
+ *) # Darwin 1.3 on
+ lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
+ ;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | kfreebsd*-gnu)
+ 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*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case "$host_cpu" in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ irix5* | nonstopux*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
+ ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ case $host_cpu in
+ alpha* | hppa* | i*86 | ia64* | m68* | mips* | powerpc* | sparc* | s390* | sh* | x86_64* )
+ lt_cv_deplibs_check_method=pass_all ;;
+ # the debian people say, arm and glibc 2.3.1 works for them with pass_all
+ arm* )
+ lt_cv_deplibs_check_method=pass_all ;;
+ *)
+ # glibc up to 2.1.1 does not perform some relocations on ARM
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+nto-qnx*)
+ lt_cv_deplibs_check_method=unknown
+ ;;
+
+openbsd*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
+ else
+ lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sco3.2v5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+])# AC_DEPLIBS_CHECK_METHOD
+
+
+# AC_PROG_NM
+# ----------
+# find the pathname to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/${ac_tool_prefix}nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+])# AC_PROG_NM
+
+
+# AC_CHECK_LIBM
+# -------------
+# check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+])# AC_CHECK_LIBM
+
+
+# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl convenience library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL
+# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
+# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will
+# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
+# '${top_srcdir}/' (note the single quotes!). If your package is not
+# flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ case $enable_ltdl_convenience in
+ no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+ "") enable_ltdl_convenience=yes
+ ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+ esac
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_CONVENIENCE
+
+
+# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl installable library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-install to the configure arguments. Note that LIBLTDL
+# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
+# DIRECTORY is not provided and an installed libltdl is not found, it is
+# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/'
+# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
+# quotes!). If your package is not flat and you're not using automake,
+# define top_builddir and top_srcdir appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ AC_CHECK_LIB(ltdl, lt_dlinit,
+ [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+ [if test x"$enable_ltdl_install" = xno; then
+ AC_MSG_WARN([libltdl not installed, but installation disabled])
+ else
+ enable_ltdl_install=yes
+ fi
+ ])
+ if test x"$enable_ltdl_install" = x"yes"; then
+ ac_configure_args="$ac_configure_args --enable-ltdl-install"
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ else
+ ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+ LIBLTDL="-lltdl"
+ LTDLINCL=
+ fi
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_INSTALLABLE
+
+
+# AC_LIBTOOL_CXX
+# --------------
+# enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX],
+[AC_REQUIRE([_LT_AC_LANG_CXX])
+])# AC_LIBTOOL_CXX
+
+
+# _LT_AC_LANG_CXX
+# ---------------
+AC_DEFUN([_LT_AC_LANG_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([AC_PROG_CXXCPP])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
+])# _LT_AC_LANG_CXX
+
+
+# AC_LIBTOOL_F77
+# --------------
+# enable support for Fortran 77 libraries
+AC_DEFUN([AC_LIBTOOL_F77],
+[AC_REQUIRE([_LT_AC_LANG_F77])
+])# AC_LIBTOOL_F77
+
+
+# _LT_AC_LANG_F77
+# ---------------
+AC_DEFUN([_LT_AC_LANG_F77],
+[AC_REQUIRE([AC_PROG_F77])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
+])# _LT_AC_LANG_F77
+
+
+# AC_LIBTOOL_GCJ
+# --------------
+# enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],
+[AC_REQUIRE([_LT_AC_LANG_GCJ])
+])# AC_LIBTOOL_GCJ
+
+
+# _LT_AC_LANG_GCJ
+# ---------------
+AC_DEFUN([_LT_AC_LANG_GCJ],
+[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+ [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+ [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+ [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+ [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
+])# _LT_AC_LANG_GCJ
+
+
+# AC_LIBTOOL_RC
+# --------------
+# enable support for Windows resource files
+AC_DEFUN([AC_LIBTOOL_RC],
+[AC_REQUIRE([LT_AC_PROG_RC])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
+])# AC_LIBTOOL_RC
+
+
+# AC_LIBTOOL_LANG_C_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
+AC_DEFUN([_LT_AC_LANG_C_CONFIG],
+[lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+_LT_AC_SYS_COMPILER
+
+#
+# Check for any special shared library compilation flags.
+#
+_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)=
+if test "$GCC" = no; then
+ case $host_os in
+ sco3.2v5*)
+ _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf'
+ ;;
+ esac
+fi
+if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then
+ AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries])
+ if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then :
+ else
+ AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure])
+ _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no
+ fi
+fi
+
+
+#
+# Check to make sure the static flag actually works.
+#
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works],
+ _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+ $_LT_AC_TAGVAR(lt_prog_compiler_static, $1),
+ [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF($1)
+
+# Report which librarie types wil actually be built
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+aix4*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[012])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ output_verbose_link_cmd='echo'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_C_CONFIG
+
+
+# AC_LIBTOOL_LANG_CXX_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
+AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
+[AC_LANG_PUSH(C++)
+AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([AC_PROG_CXXCPP])
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Dependencies to place before and after the object being linked:
+_LT_AC_TAGVAR(predep_objects, $1)=
+_LT_AC_TAGVAR(postdep_objects, $1)=
+_LT_AC_TAGVAR(predeps, $1)=
+_LT_AC_TAGVAR(postdeps, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+
+# Source file extension for C++ test sources.
+ac_ext=cc
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+ unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+ unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+else
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+fi
+
+if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ AC_PROG_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+ grep 'no-whole-archive' > /dev/null; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # KDE requires run time linking. Make it the default.
+ aix_use_runtimelinking=yes
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_AC_TAGVAR(archive_cmds, $1)=''
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ else
+ # We have old collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='-qmkshrobj ${wl}-G'
+ else
+ shared_flag='-qmkshrobj'
+ fi
+ fi
+ fi
+
+ # Let the compiler handle the export list.
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # -bexpall does not export symbols beginning with underscore (_)
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds it's shared libraries.
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=no
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ darwin* | rhapsody*)
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[012])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring'
+ fi
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ freebsd[12]*)
+ # C++ shared libraries reported to be fairly broken before switch to ELF
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ freebsd-elf*)
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+ freebsd* | kfreebsd*-gnu)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+ gnu*)
+ ;;
+ hpux9*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case "$host_cpu" in
+ hppa*64*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC)
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC)
+ # SGI C++
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+ fi
+ fi
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+ linux*)
+ case $cc_basename in
+ KCC)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc)
+ # Intel C++
+ with_gnu_ld=yes
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ cxx)
+ # Compaq C++
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ esac
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+ osf3*)
+ case $cc_basename in
+ KCC)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+
+ ;;
+ RCC)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ osf4* | osf5*)
+ case $cc_basename in
+ KCC)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
+ ;;
+ RCC)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~
+ $rm $lib.exp'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ sco*)
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ case $cc_basename in
+ CC)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The C++ compiler is used as linker so we must use $wl
+ # flag to pass the commands to the underlying system
+ # linker.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | grep -v '^2\.7' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ fi
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ fi
+ ;;
+ esac
+ ;;
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+esac
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$GXX"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+AC_LIBTOOL_POSTDEP_PREDEP($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+])# AC_LIBTOOL_LANG_CXX_CONFIG
+
+# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
+# ------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
+int a;
+void foo (void) { a = 0; }
+EOF
+],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+EOF
+],[$1],[F77],[cat > conftest.$ac_ext <<EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+EOF
+],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); 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
+
+ # The `*' in the case matches for architectures that use `case' in
+ # $output_verbose_cmd can trigger glob expansion during the loop
+ # eval without this substitution.
+ output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
+
+ for p in `eval $output_verbose_link_cmd`; 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 "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
+ _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext|*.$libext)
+ # 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 "$_LT_AC_TAGVAR(predep_objects, $1)"; then
+ _LT_AC_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
+ _LT_AC_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$rm -f confest.$objext
+
+case " $_LT_AC_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+])# AC_LIBTOOL_POSTDEP_PREDEP
+
+# AC_LIBTOOL_LANG_F77_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
+AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
+[AC_REQUIRE([AC_PROG_F77])
+AC_LANG_PUSH(Fortran 77)
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code=" program t\n end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+aix4*)
+ test "$enable_shared" = yes && enable_static=no
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$G77"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_F77_CONFIG
+
+
+# AC_LIBTOOL_LANG_GCJ_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
+AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_GCJ_CONFIG
+
+
+# AC_LIBTOOL_LANG_RC_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the Windows resource compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
+AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_RC_CONFIG
+
+
+# AC_LIBTOOL_CONFIG([TAGNAME])
+# ----------------------------
+# If TAGNAME is not passed, then create an initial libtool script
+# with a default configuration from the untagged config vars. Otherwise
+# add code to config.status for appending the configuration named by
+# TAGNAME from the matching tagged config vars.
+AC_DEFUN([AC_LIBTOOL_CONFIG],
+[# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ _LT_AC_TAGVAR(compiler, $1) \
+ _LT_AC_TAGVAR(CC, $1) \
+ _LT_AC_TAGVAR(LD, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
+ _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
+ _LT_AC_TAGVAR(old_archive_cmds, $1) \
+ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
+ _LT_AC_TAGVAR(predep_objects, $1) \
+ _LT_AC_TAGVAR(postdep_objects, $1) \
+ _LT_AC_TAGVAR(predeps, $1) \
+ _LT_AC_TAGVAR(postdeps, $1) \
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+ _LT_AC_TAGVAR(archive_cmds, $1) \
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
+ _LT_AC_TAGVAR(postinstall_cmds, $1) \
+ _LT_AC_TAGVAR(postuninstall_cmds, $1) \
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
+ _LT_AC_TAGVAR(allow_undefined_flag, $1) \
+ _LT_AC_TAGVAR(no_undefined_flag, $1) \
+ _LT_AC_TAGVAR(export_symbols_cmds, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
+ _LT_AC_TAGVAR(hardcode_automatic, $1) \
+ _LT_AC_TAGVAR(module_cmds, $1) \
+ _LT_AC_TAGVAR(module_expsym_cmds, $1) \
+ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+ _LT_AC_TAGVAR(exclude_expsyms, $1) \
+ _LT_AC_TAGVAR(include_expsyms, $1); do
+
+ case $var in
+ _LT_AC_TAGVAR(old_archive_cmds, $1) | \
+ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
+ _LT_AC_TAGVAR(archive_cmds, $1) | \
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
+ _LT_AC_TAGVAR(module_cmds, $1) | \
+ _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
+ _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\[$]0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
+ ;;
+ esac
+
+ifelse([$1], [],
+ [cfgfile="${ofile}T"
+ trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+ $rm -f "$cfgfile"
+ AC_MSG_NOTICE([creating $ofile])],
+ [cfgfile="$ofile"])
+
+ cat <<__EOF__ >> "$cfgfile"
+ifelse([$1], [],
+[#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord@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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG],
+[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# A language-specific compiler.
+CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+
+# Is the compiler the GNU C compiler?
+with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext='$shrext'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+
+# Must we lock files when doing compilation ?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
+archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
+module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+
+# Symbols that must always be exported.
+include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+
+ifelse([$1],[],
+[# ### END LIBTOOL CONFIG],
+[# ### END LIBTOOL TAG CONFIG: $tagname])
+
+__EOF__
+
+ifelse([$1],[], [
+ case $host_os in
+ aix3*)
+ cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+EOF
+ ;;
+ esac
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" || \
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+])
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ test -f Makefile && make "$ltmain"
+fi
+])# AC_LIBTOOL_CONFIG
+
+
+# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+ AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Transform the above into a raw symbol and a C symbol.
+symxfrm='\1 \2\3 \3'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*) # Its linker distinguishes data from code symbols
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris* | sysv5*)
+ symcode='[[BDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGISTW]]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Write the raw and C identifiers.
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<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
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if grep ' nm_test_var$' "$nlist" >/dev/null; then
+ if grep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+ cat <<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/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+ cat <<\EOF >> conftest.$ac_ext
+ {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+
+# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
+# ---------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
+[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+ ifelse([$1],[CXX],[
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | os2* | pw32*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix4* | aix5*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68)
+ # Green Hills C++ Compiler
+ # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | kfreebsd*-gnu)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+ if test "$host_cpu" != ia64; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux*)
+ case $cc_basename in
+ KCC)
+ # KAI C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ icpc)
+ # Intel C++
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ cxx)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd*)
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC)
+ # Rational C++ 2.4.1
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx)
+ # Digital/Compaq C++
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ sco*)
+ case $cc_basename in
+ CC)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.x
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc)
+ # Lucid
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC)
+ # NonStop-UX NCC 3.20
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ unixware*)
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ newsos6)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ linux*)
+ case $CC in
+ icc* | ecc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ ccc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ esac
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ sco3.2v5*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn'
+ ;;
+
+ solaris*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sunos4*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ uts4*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
+ _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
+ [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+case "$host_os" in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+])
+
+
+# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
+# ------------------------------------
+# See if the linker supports building shared libraries.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
+[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ifelse([$1],[CXX],[
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix4* | aix5*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw*)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ *)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+],[
+ runpath_var=
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)=
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=no
+ _LT_AC_TAGVAR(module_cmds, $1)=
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)=
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_AC_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<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
+ fi
+ ;;
+
+ amigaos*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+
+ # Samuel A. Falvo II <kc5tja@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't use
+ # them.
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=no
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<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 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sunos4*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then
+ runpath_var=LD_RUN_PATH
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$link_static_flag"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ fi
+
+ # KDE requires run time linking. Make it the default.
+ aix_use_runtimelinking=yes
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_AC_TAGVAR(archive_cmds, $1)=''
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ else
+ # We have old collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='-qmkshrobj ${wl}-G'
+ else
+ shared_flag='-qmkshrobj'
+ fi
+ fi
+ fi
+
+ # Let the compiler handle the export list.
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # -bexpall does not export symbols beginning with underscore (_)
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds it's shared libraries.
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ # see comment about different semantics on the GNU ld section
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ bsdi4*)
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=no
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $compiler_flags $libobjs `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ darwin* | rhapsody*)
+ if test "$GXX" = yes ; then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[012])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring'
+ fi
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ dgux*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ freebsd1*)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | kfreebsd*-gnu)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $compiler_flags $libobjs $deplibs'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $libobjs $deplibs~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10* | hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $libobjs $deplibs'
+ ;;
+ esac
+ else
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ openbsd*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $compiler_flags $libobjs $deplibs$output_objdir/$libname.def'
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ sco3.2v5*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ;;
+
+ solaris*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs~$rm $lib.exp'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *) # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+ esac
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $compiler_flags $libobjs $deplibs'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4.2uw2*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ hardcode_runpath_var=yes
+ runpath_var=LD_RUN_PATH
+ ;;
+
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text'
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ fi
+ runpath_var='LD_RUN_PATH'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv5*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+ # $CC -shared without GNU ld will not create a library from C++
+ # object files and a static libstdc++, better avoid it by now
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+ ;;
+
+ uts4*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_AC_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+ then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+ ;;
+ esac
+ fi
+ ;;
+esac
+])# AC_LIBTOOL_PROG_LD_SHLIBS
+
+
+# _LT_AC_FILE_LTDLL_C
+# -------------------
+# Be careful that the start marker always follows a newline.
+AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <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 */
+])# _LT_AC_FILE_LTDLL_C
+
+
+# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
+# ---------------------------------
+AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)
+])
+
+AC_DEFUN([LT_AC_PROG_RC],
+[AC_CHECK_TOOL(RC, windres, no)
+])
+
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+AC_DEFUN([LT_AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && break
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_MSG_RESULT([$SED])
+])
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..87ce185
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,881 @@
+# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(AC_AUTOCONF_VERSION, [2.63],,
+[m4_warning([this file was generated for autoconf 2.63.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.10.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.10.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 13
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([acinclude.m4])
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..d9f1478
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+# Prepare a new checked-out source tree for configuration
+
+make -f admin/Makefile.common cvs
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 0000000..d260eb3
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,310 @@
+/* config.h.in. Generated from configure.in by autoheader. */
+
+/* Define to the name of the file that communication with gdb should be logged
+ to; undefine it for no logging */
+#undef GDB_TRANSCRIPT
+
+/* Define to 1 if you have the <Carbon/Carbon.h> header file. */
+#undef HAVE_CARBON_CARBON_H
+
+/* Define if you have the CoreAudio API */
+#undef HAVE_COREAUDIO
+
+/* Define to 1 if you have the <crt_externs.h> header file. */
+#undef HAVE_CRT_EXTERNS_H
+
+/* Defines if your system has the crypt function */
+#undef HAVE_CRYPT
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the <fnmatch.h> header file. */
+#undef HAVE_FNMATCH_H
+
+/* Define if you have openpty */
+#undef HAVE_FUNC_OPENPTY
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define if you have libjpeg */
+#undef HAVE_LIBJPEG
+
+/* Define if you have libpng */
+#undef HAVE_LIBPNG
+
+/* Define if you have a working libpthread (will enable threaded code) */
+#undef HAVE_LIBPTHREAD
+
+/* Define to 1 if you have the <libutil.h> header file. */
+#undef HAVE_LIBUTIL_H
+
+/* Define if you have libz */
+#undef HAVE_LIBZ
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mkfifo' function. */
+#undef HAVE_MKFIFO
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define if your system needs _NSGetEnviron to set up the environment */
+#undef HAVE_NSGETENVIRON
+
+/* Define if placement new works */
+#undef HAVE_PLACEMENT_NEW
+
+/* Define to 1 if you have the <pty.h> header file. */
+#undef HAVE_PTY_H
+
+/* Define to 1 if you have the `putenv' function. */
+#undef HAVE_PUTENV
+
+/* Define if you have res_init */
+#undef HAVE_RES_INIT
+
+/* Define if you have the res_init prototype */
+#undef HAVE_RES_INIT_PROTO
+
+/* Define to 1 if you have the `setpgid' function. */
+#undef HAVE_SETPGID
+
+/* Define if you have a STL implementation by SGI */
+#undef HAVE_SGI_STL
+
+/* Define to 1 if you have the `snprintf' function. */
+#undef HAVE_SNPRINTF
+
+/* Define to 1 if you have the `socket' function. */
+#undef HAVE_SOCKET
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define if you have strlcat */
+#undef HAVE_STRLCAT
+
+/* Define if you have the strlcat prototype */
+#undef HAVE_STRLCAT_PROTO
+
+/* Define if you have strlcpy */
+#undef HAVE_STRLCPY
+
+/* Define if you have the strlcpy prototype */
+#undef HAVE_STRLCPY_PROTO
+
+/* Define to 1 if you have the <sysent.h> header file. */
+#undef HAVE_SYSENT_H
+
+/* Define to 1 if you have the <sys/bitypes.h> header file. */
+#undef HAVE_SYS_BITYPES_H
+
+/* Define to 1 if you have the <sys/cdefs.h> header file. */
+#undef HAVE_SYS_CDEFS_H
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the <util.h> header file. */
+#undef HAVE_UTIL_H
+
+/* Define to 1 if you have the `vsnprintf' function. */
+#undef HAVE_VSNPRINTF
+
+/* Suffix for lib directories */
+#undef KDELIBSUFF
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define how to invoke ps */
+#undef PS_COMMAND
+
+/* The size of `char *', as computed by sizeof. */
+#undef SIZEOF_CHAR_P
+
+/* The size of `int', as computed by sizeof. */
+#undef SIZEOF_INT
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `short', as computed by sizeof. */
+#undef SIZEOF_SHORT
+
+/* The size of `size_t', as computed by sizeof. */
+#undef SIZEOF_SIZE_T
+
+/* The size of `unsigned long', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_LONG
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Version number of package */
+#undef VERSION
+
+/* Define if you want to see voluminous trace output */
+#undef WANT_TRACE_OUTPUT
+
+/* Defined if compiling without arts */
+#undef WITHOUT_ARTS
+
+/*
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
+ * headers and I'm too lazy to write a configure test as long as only
+ * unixware is related
+ */
+#ifdef _UNIXWARE
+#define HAVE_BOOLEAN
+#endif
+
+
+
+/*
+ * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
+ * that defines bzero.
+ */
+
+#if defined(_AIX)
+#include <strings.h>
+#endif
+
+
+
+#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
+# include <sys/time.h>
+# include <crt_externs.h>
+# define environ (*_NSGetEnviron())
+#endif
+
+
+
+#if !defined(HAVE_RES_INIT_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+int res_init(void);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
+
+#if !defined(HAVE_STRLCAT_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+unsigned long strlcat(char*, const char*, unsigned long);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
+
+#if !defined(HAVE_STRLCPY_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+unsigned long strlcpy(char*, const char*, unsigned long);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
+
+/*
+ * On HP-UX, the declaration of vsnprintf() is needed every time !
+ */
+
+#if !defined(HAVE_VSNPRINTF) || defined(hpux)
+#if __STDC__
+#include <stdarg.h>
+#include <stdlib.h>
+#else
+#include <varargs.h>
+#endif
+#ifdef __cplusplus
+extern "C"
+#endif
+int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
+#ifdef __cplusplus
+extern "C"
+#endif
+int snprintf(char *str, size_t n, char const *fmt, ...);
+#endif
+
+
+
+#if defined(__SVR4) && !defined(__svr4__)
+#define __svr4__ 1
+#endif
+
+
+/* type to use in place of socklen_t if not defined */
+#undef kde_socklen_t
+
+/* type to use in place of socklen_t if not defined (deprecated, use
+ kde_socklen_t) */
+#undef ksize_t
diff --git a/configure b/configure
new file mode 100755
index 0000000..63b14b3
--- /dev/null
+++ b/configure
@@ -0,0 +1,36413 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.63.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell bug-autoconf@gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
+ ;;
+esac
+
+echo=${ECHO-echo}
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit 0
+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 -z "$ECHO"; then
+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.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$echo" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ echo='print -r'
+ elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+ else
+ # Try using printf.
+ echo='printf %s\n'
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ echo="$CONFIG_SHELL $0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$CONFIG_SHELL $0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "$0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
+ fi
+ fi
+ fi
+ fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+ ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+tagnames=${tagnames+${tagnames},}CXX
+
+tagnames=${tagnames+${tagnames},}F77
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="acinclude.m4"
+ac_default_prefix=${KDEDIR:-the kde prefix}
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+HAVE_PS_COMMAND_FALSE
+HAVE_PS_COMMAND_TRUE
+PS_COMMAND
+BUILDTESTPROGS_FALSE
+BUILDTESTPROGS_TRUE
+TOPSUBDIRS
+LIB_KFM
+LIB_KFILE
+LIB_KSYCOCA
+LIB_KUNITTEST
+LIB_KDNSSD
+LIB_KNEWSTUFF
+LIB_KIMPROXY
+LIB_KDEPIM
+LIB_KUTILS
+LIB_KDEPRINT
+LIB_KPARTS
+LIB_KSPELL
+LIB_KHTML
+LIB_KABC
+LIB_KAB
+LIB_SMB
+LIB_KJS
+LIB_KIO
+LIB_KDEUI
+LIB_KDECORE
+LIB_KDED
+kde_widgetdir
+kde_styledir
+kdeinitdir
+kde_moduledir
+kde_servicetypesdir
+kde_servicesdir
+kde_templatesdir
+xdg_directorydir
+xdg_menudir
+xdg_appsdir
+kde_bindir
+kde_wallpaperdir
+kde_mimedir
+kde_kcfgdir
+kde_confdir
+kde_locale
+kde_datadir
+kde_sounddir
+kde_icondir
+kde_appsdir
+kde_htmldir
+XMLLINT
+KDE_XSL_STYLESHEET
+MEINPROC
+ARTSCCONFIG
+MCOPIDL
+DCOP_DEPENDENCIES
+DCOPIDL2CPP
+DCOPIDL
+DCOPIDLNG
+KCFG_DEPENDENCIES
+KCONFIG_COMPILER
+MAKEKDEWIDGETS
+include_ARTS_FALSE
+include_ARTS_TRUE
+AUTODIRS
+all_libraries
+all_includes
+KDE_INCLUDES
+KDE_LDFLAGS
+kde_includes
+kde_libraries
+X_RPATH
+KDE_RPATH
+KDE_EXTRA_RPATH
+kde_qtver
+LIB_QPE
+LIB_QT
+UIC_TR
+UIC
+MOC
+PERL
+QT_LDFLAGS
+QT_INCLUDES
+qt_includes
+qt_libraries
+LIBJPEG
+LIBPNG
+LIBZ
+USER_LDFLAGS
+USER_INCLUDES
+KDE_MT_LIBS
+KDE_MT_LDFLAGS
+USE_THREADS
+LIBPTHREAD
+PKG_CONFIG
+LIB_XEXT
+QTE_NORTTI
+x_libraries
+x_includes
+X_LDFLAGS
+X_INCLUDES
+LIBSM
+LIB_XRENDER
+LIB_X11
+X_PRE_LIBS
+XMKMF
+include_x11_FALSE
+include_x11_TRUE
+KDE_USE_PIE
+KDE_USE_FPIE
+LIBDL
+LIBUCB
+X_EXTRA_LIBS
+LIBSOCKET
+FRAMEWORK_COREAUDIO
+LIB_POLL
+LIBRESOLV
+LIBCRYPT
+LIBCOMPAT
+LIBUTIL
+XGETTEXT
+GMSGFMT
+MSGFMT
+KDE_CHECK_PLUGIN
+KDE_PLUGIN
+LIBTOOL
+ac_ct_F77
+FFLAGS
+F77
+RANLIB
+AR
+ECHO
+LN_S
+EGREP
+GREP
+KDE_USE_NMCHECK_FALSE
+KDE_USE_NMCHECK_TRUE
+KDE_NO_UNDEFINED
+KDE_USE_CLOSURE_FALSE
+KDE_USE_CLOSURE_TRUE
+KDE_USE_FINAL_FALSE
+KDE_USE_FINAL_TRUE
+LDFLAGS_NEW_DTAGS
+LDFLAGS_AS_NEEDED
+ENABLE_PERMISSIVE_FLAG
+NOOPT_CFLAGS
+NOOPT_CXXFLAGS
+CXXCPP
+USE_RTTI
+USE_EXCEPTIONS
+unsermake_enable_pch_FALSE
+unsermake_enable_pch_TRUE
+HAVE_GCC_VISIBILITY
+WOVERLOADED_VIRTUAL
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+CONF_FILES
+kde_libs_htmldir
+kde_libs_prefix
+KDECONFIG
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_os
+target_vendor
+target_cpu
+target
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_fast_perl
+enable_debug
+enable_dummyoption
+enable_strict
+enable_warnings
+enable_profile
+enable_dependency_tracking
+enable_pch
+enable_coverage
+enable_new_ldflags
+enable_final
+enable_closure
+enable_nmcheck
+enable_shared
+enable_static
+enable_libsuffix
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+with_pic
+with_tags
+enable_pie
+enable_embedded
+enable_qtopia
+enable_mac
+enable_mt
+enable_threading
+with_extra_includes
+with_extra_libs
+with_qt_dir
+with_qt_includes
+with_qt_libraries
+enable_rpath
+enable_path_check
+with_arts
+enable_lots_a_trace
+enable_testprogs
+with_transcript
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+CXX
+CXXFLAGS
+CCC
+CXXCPP
+F77
+FFLAGS
+XMKMF'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+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=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$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 ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=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 ;;
+
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# 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 the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+ --target=TARGET configure for building compilers for TARGET [HOST]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --disable-fast-perl disable fast Makefile generation (needs perl)
+ --enable-debug=ARG enables debug symbols (yes|no|full) default=no
+ --disable-debug disables debug output and debug symbols default=no
+ --enable-strict compiles with strict compiler options (may not
+ work!)
+ --disable-warnings disables compilation with -Wall and similar
+ --enable-profile creates profiling infos default=no
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-pch enables precompiled header support (currently only
+ KCC or gcc >=3.4+unsermake) default=no
+ --enable-coverage use gcc coverage testing
+ --enable-new-ldflags enable the new linker flags
+ --enable-final build size optimized apps (experimental - needs lots
+ of memory)
+ --enable-closure delay template instantiation
+ --enable-nmcheck enable automatic namespace cleanness check
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-static[=PKGS] build static libraries [default=no]
+ --enable-libsuffix /lib directory suffix (64,32,none,auto=default)
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-pie platform supports PIE linking default=detect
+ --enable-embedded link to Qt-embedded, don't use X
+ --enable-qtopia link to Qt-embedded, link to the Qtopia Environment
+ --enable-mac link to Qt/Mac (don't use X)
+ --disable-mt link to non-threaded Qt (deprecated)
+ --disable-threading disables threading even if libpthread found
+ --disable-rpath do not use the rpath feature of ld
+ --disable-path-check don't try to find out, where to install
+ --enable-lots-a-trace generate lots of trace output default=no
+ --enable-testprogs compile test programs default=no
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-tags[=TAGS] include additional configurations [automatic]
+ --with-extra-includes=DIR
+ adds non standard include paths
+ --with-extra-libs=DIR adds non standard library paths
+ --with-qt-dir=DIR where the root of Qt is installed
+ --with-qt-includes=DIR where the Qt includes are.
+ --with-qt-libraries=DIR where the Qt library is installed.
+ --without-arts build without aRts default=no
+ --with-transcript=file log communication with gdb default=not logged
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+ CXXCPP C++ preprocessor
+ F77 Fortran 77 compiler command
+ FFLAGS Fortran 77 compiler flags
+ XMKMF Path to xmkmf, Makefile generator for X Window System
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.63
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.63. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test -r "$ac_site_file"; then
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_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
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in admin \"$srcdir\"/admin" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in admin \"$srcdir\"/admin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+
+unset CDPATH
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
+if test "${ac_cv_target+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$target_alias" = x; then
+ ac_cv_target=$ac_cv_host
+else
+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
+case $ac_cv_target in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
+$as_echo "$as_me: error: invalid value of canonical target" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+target=$ac_cv_target
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_target
+shift
+target_cpu=$1
+target_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+target_os=$*
+IFS=$ac_save_IFS
+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
+
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
+ test "$program_prefix$program_suffix$program_transform_name" = \
+ NONENONEs,x,x, &&
+ program_prefix=${target_alias}-
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+
+am__api_version='1.10'
+
+
+
+ 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
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /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
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+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. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+ 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
+ { $as_echo "$as_me:$LINENO: checking for -p flag to install" >&5
+$as_echo_n "checking for -p flag to install... " >&6; }
+ 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.$$.*
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&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
+
+{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+$as_echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+done
+IFS=$as_save_IFS
+
+fi
+
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ test -d ./--version && rmdir ./--version
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=kdbg
+ VERSION=2.2.2
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+ unset CDPATH
+
+
+
+ kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
+ test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
+ if test -n "$KDEDIRS"; then
+ kde_save_IFS=$IFS
+ IFS=:
+ for dir in $KDEDIRS; do
+ kde_default_bindirs="$dir/bin $kde_default_bindirs "
+ done
+ IFS=$kde_save_IFS
+ fi
+
+ if test "x$prefix" = "xNONE"; then
+
+ { $as_echo "$as_me:$LINENO: checking for kde-config" >&5
+$as_echo_n "checking for kde-config... " >&6; }
+ if test -n "$KDECONFIG"; then
+ kde_cv_path="$KDECONFIG";
+ else
+ kde_cache=`echo kde-config | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z "prepend"; then dirs="$kde_default_bindirs $dirs"
+ else dirs="$dirs $kde_default_bindirs"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/kde-config"; then
+ if test -n ""
+ then
+ evalstr="$dir/kde-config 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/kde-config"
+ break
+ fi
+ else
+ kde_cv_path="$dir/kde-config"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: error: The important program kde-config was not found!
+Please check whether you installed KDE correctly.
+" >&5
+$as_echo "$as_me: error: The important program kde-config was not found!
+Please check whether you installed KDE correctly.
+" >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ KDECONFIG=$kde_cv_path
+
+ fi
+
+ else
+ kde_save_PATH="$PATH"
+ PATH="$exec_prefix/bin:$prefix/bin:$PATH"
+
+ { $as_echo "$as_me:$LINENO: checking for kde-config" >&5
+$as_echo_n "checking for kde-config... " >&6; }
+ if test -n "$KDECONFIG"; then
+ kde_cv_path="$KDECONFIG";
+ else
+ kde_cache=`echo kde-config | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z "prepend"; then dirs="$kde_default_bindirs $dirs"
+ else dirs="$dirs $kde_default_bindirs"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/kde-config"; then
+ if test -n ""
+ then
+ evalstr="$dir/kde-config 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/kde-config"
+ break
+ fi
+ else
+ kde_cv_path="$dir/kde-config"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: error: The important program kde-config was not found!
+Please check whether you installed KDE correctly.
+" >&5
+$as_echo "$as_me: error: The important program kde-config was not found!
+Please check whether you installed KDE correctly.
+" >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ KDECONFIG=$kde_cv_path
+
+ fi
+
+ PATH="$kde_save_PATH"
+ fi
+
+ kde_libs_prefix=`$KDECONFIG --prefix`
+ if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
+ { { $as_echo "$as_me:$LINENO: 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.
+ " >&5
+$as_echo "$as_me: 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.
+ " >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
+
+ { $as_echo "$as_me:$LINENO: checking where to install" >&5
+$as_echo_n "checking where to install... " >&6; }
+ if test "x$prefix" = "xNONE"; then
+ prefix=$kde_libs_prefix
+ { $as_echo "$as_me:$LINENO: result: $prefix (as returned by kde-config)" >&5
+$as_echo "$prefix (as returned by kde-config)" >&6; }
+ else
+ given_prefix=$prefix
+ { $as_echo "$as_me:$LINENO: result: $prefix (as requested)" >&5
+$as_echo "$prefix (as requested)" >&6; }
+ fi
+
+ # And delete superfluous '/' to make compares easier
+ prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+
+
+
+
+
+
+ # Check whether --enable-fast-perl was given.
+if test "${enable_fast_perl+set}" = set; then
+ enableval=$enable_fast_perl; with_fast_perl=$enableval
+else
+ with_fast_perl=yes
+fi
+
+
+
+ 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_config_headers="$ac_config_headers config.h"
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+
+
+{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+
+
+ # Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then
+ enableval=$enable_debug;
+ case $enableval in
+ yes)
+ kde_use_debug_code="yes"
+ kde_use_debug_define=no
+ ;;
+ full)
+ kde_use_debug_code="full"
+ kde_use_debug_define=no
+ ;;
+ *)
+ kde_use_debug_code="no"
+ kde_use_debug_define=yes
+ ;;
+ esac
+
+else
+ kde_use_debug_code="no"
+ kde_use_debug_define=no
+
+fi
+
+
+ # Check whether --enable-dummyoption was given.
+if test "${enable_dummyoption+set}" = set; then
+ enableval=$enable_dummyoption;
+fi
+
+
+ # Check whether --enable-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-warnings was given.
+if test "${enable_warnings+set}" = set; then
+ enableval=$enable_warnings;
+ if test $enableval = "no"; then
+ kde_use_warnings="no"
+ else
+ kde_use_warnings="yes"
+ fi
+
+else
+ kde_use_warnings="yes"
+fi
+
+
+ if test "$kde_use_debug_code" != "no"; then
+ kde_use_warnings=yes
+ fi
+
+ # Check whether --enable-profile was given.
+if test "${enable_profile+set}" = set; then
+ enableval=$enable_profile; kde_use_profiling=$enableval
+else
+ kde_use_profiling="no"
+
+fi
+
+
+ CFLAGS=" $CFLAGS"
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ 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
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_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 $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+if test -z "$ac_file"; then
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ if test "$GCC" = "yes"; then
+ if test "$kde_use_debug_code" != "no"; then
+ if test $kde_use_debug_code = "full"; then
+ CFLAGS="-g3 -fno-inline $CFLAGS"
+ else
+ CFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CFLAGS"
+ fi
+ else
+ CFLAGS="-O2 $CFLAGS"
+ fi
+ fi
+
+ if test "$kde_use_debug_define" = "yes"; then
+ CFLAGS="-DNDEBUG $CFLAGS"
+ fi
+
+
+ case "$host" in
+ *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";;
+ *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";;
+ esac
+
+ if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
+ LDFLAGS=""
+ fi
+
+ CXXFLAGS=" $CXXFLAGS"
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX" am_compiler_list=
+
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether $CC is blacklisted" >&5
+$as_echo_n "checking whether $CC is blacklisted... " >&6; }
+
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#ifdef __GNUC__
+#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0
+choke me
+#endif
+#endif
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ kde_bad_compiler=no
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_bad_compiler=yes
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ { $as_echo "$as_me:$LINENO: result: $kde_bad_compiler" >&5
+$as_echo "$kde_bad_compiler" >&6; }
+
+if test "$kde_bad_compiler" = "yes"; then
+ { { $as_echo "$as_me:$LINENO: error:
+
+This particular compiler version is blacklisted because it
+is known to miscompile KDE. Please use a newer version, or
+if that is not yet available, choose an older version.
+
+Please do not report a bug or bother us reporting this
+configure error. We know about it, and we introduced
+it by intention to avoid untraceable bugs or crashes in KDE.
+
+" >&5
+$as_echo "$as_me: error:
+
+This particular compiler version is blacklisted because it
+is known to miscompile KDE. Please use a newer version, or
+if that is not yet available, choose an older version.
+
+Please do not report a bug or bother us reporting this
+configure error. We know about it, and we introduced
+it by intention to avoid untraceable bugs or crashes in KDE.
+
+" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+ if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
+ if test "$kde_use_debug_code" != "no"; then
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS"
+ else
+ if test "$kde_use_debug_code" = "full"; then
+ CXXFLAGS="-g3 -fno-inline $CXXFLAGS"
+ else
+ CXXFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CXXFLAGS"
+ fi
+ fi
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -fno-builtin" >&5
+$as_echo_n "checking whether $CXX supports -fno-builtin... " >&6; }
+kde_cache=`echo fno-builtin | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fno-builtin"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="-fno-builtin $CXXFLAGS"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -Woverloaded-virtual" >&5
+$as_echo_n "checking whether $CXX supports -Woverloaded-virtual... " >&6; }
+kde_cache=`echo Woverloaded-virtual | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Woverloaded-virtual"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ WOVERLOADED_VIRTUAL="-Woverloaded-virtual"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+ WOVERLOADED_VRITUAL=""
+fi
+
+
+ else
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="+K3 $CXXFLAGS"
+ else
+ CXXFLAGS="-O2 $CXXFLAGS"
+ fi
+ fi
+ fi
+
+ if test "$kde_use_debug_define" = "yes"; then
+ CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS"
+ fi
+
+ if test "$kde_use_profiling" = "yes"; then
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -pg" >&5
+$as_echo_n "checking whether $CXX supports -pg... " >&6; }
+kde_cache=`echo pg | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -pg"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+
+ CFLAGS="-pg $CFLAGS"
+ CXXFLAGS="-pg $CXXFLAGS"
+
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+ fi
+
+ if test "$kde_use_warnings" = "yes"; then
+ if test "$GCC" = "yes"; then
+ CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
+ case $host in
+ *-*-linux-gnu)
+ CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
+ CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts $CXXFLAGS"
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -Wmissing-format-attribute" >&5
+$as_echo_n "checking whether $CXX supports -Wmissing-format-attribute... " >&6; }
+kde_cache=`echo Wmissing-format-attribute | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wmissing-format-attribute"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CC supports -Wmissing-format-attribute" >&5
+$as_echo_n "checking whether $CC supports -Wmissing-format-attribute... " >&6; }
+kde_cache=`echo Wmissing-format-attribute | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cc_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Wmissing-format-attribute"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cc_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CFLAGS="$save_CFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+ ;;
+ esac
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -Wundef" >&5
+$as_echo_n "checking whether $CXX supports -Wundef... " >&6; }
+kde_cache=`echo Wundef | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wundef"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="-Wundef $CXXFLAGS"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -Wno-long-long" >&5
+$as_echo_n "checking whether $CXX supports -Wno-long-long... " >&6; }
+kde_cache=`echo Wno-long-long | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wno-long-long"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="-Wno-long-long $CXXFLAGS"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -Wno-non-virtual-dtor" >&5
+$as_echo_n "checking whether $CXX supports -Wno-non-virtual-dtor... " >&6; }
+kde_cache=`echo Wno-non-virtual-dtor | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+ fi
+ fi
+
+ if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then
+ CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
+ fi
+
+ # Check whether --enable-pch was given.
+if test "${enable_pch+set}" = set; then
+ enableval=$enable_pch; kde_use_pch=$enableval
+else
+ kde_use_pch=no
+fi
+
+
+ HAVE_GCC_VISIBILITY=0
+
+
+ if test "$GXX" = "yes"; then
+ gcc_no_reorder_blocks=NO
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -fno-reorder-blocks" >&5
+$as_echo_n "checking whether $CXX supports -fno-reorder-blocks... " >&6; }
+kde_cache=`echo fno-reorder-blocks | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fno-reorder-blocks"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ gcc_no_reorder_blocks=YES
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+ if test $kde_use_debug_code != "no" && \
+ test $kde_use_debug_code != "full" && \
+ test "YES" = "$gcc_no_reorder_blocks" ; then
+ CXXFLAGS="$CXXFLAGS -fno-reorder-blocks"
+ CFLAGS="$CFLAGS -fno-reorder-blocks"
+ fi
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -fno-exceptions" >&5
+$as_echo_n "checking whether $CXX supports -fno-exceptions... " >&6; }
+kde_cache=`echo fno-exceptions | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fno-exceptions"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS -fno-exceptions"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -fno-check-new" >&5
+$as_echo_n "checking whether $CXX supports -fno-check-new... " >&6; }
+kde_cache=`echo fno-check-new | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fno-check-new"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS -fno-check-new"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -fno-common" >&5
+$as_echo_n "checking whether $CXX supports -fno-common... " >&6; }
+kde_cache=`echo fno-common | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fno-common"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS -fno-common"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -fexceptions" >&5
+$as_echo_n "checking whether $CXX supports -fexceptions... " >&6; }
+kde_cache=`echo fexceptions | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fexceptions"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ USE_EXCEPTIONS="-fexceptions"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+ USE_EXCEPTIONS=
+fi
+
+ ENABLE_PERMISSIVE_FLAG="-fpermissive"
+
+ if test "$kde_use_pch" = "yes"; then
+ { $as_echo "$as_me:$LINENO: checking whether gcc supports precompiling c header files" >&5
+$as_echo_n "checking whether gcc supports precompiling c header files... " >&6; }
+ echo >conftest.h
+ if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then
+ kde_gcc_supports_pch=yes
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ kde_gcc_supports_pch=no
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ if test "$kde_gcc_supports_pch" = "yes"; then
+ { $as_echo "$as_me:$LINENO: checking whether gcc supports precompiling c++ header files" >&5
+$as_echo_n "checking whether gcc supports precompiling c++ header files... " >&6; }
+ if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then
+ kde_gcc_supports_pch=yes
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ kde_gcc_supports_pch=no
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ fi
+ rm -f conftest.h conftest.h.gch
+ fi
+
+
+ { $as_echo "$as_me:$LINENO: checking whether system headers can cope with -O2 -fno-inline" >&5
+$as_echo_n "checking whether system headers can cope with -O2 -fno-inline... " >&6; }
+if test "${kde_cv_opt_noinline_match+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_opt_noinline_match=irrelevant
+ if echo "$CFLAGS" | grep -e -O2 >/dev/null 2>/dev/null \
+ && echo "$CFLAGS" | grep -e -fno-inline >/dev/null 2>/dev/null ; then
+
+ ac_cflags_save="$CFLAGS"
+ CFLAGS="$CFLAGS -D_USE_GNU"
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <string.h>
+
+int
+main ()
+{
+ const char *pt, *et;
+ et = __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p ( ";," ) && ((size_t)(const void *)(( ";," )+ 1) - (size_t)(const void *)( ";," ) == 1) ? ((__a0 =((__const char *) ( ";," ))[0], __a0 == '\0') ? ((void) ( pt ),((void *)0) ) : ((__a1 = ((__const char *) ( ";," ))[1], __a1== '\0') ? (__extension__ (__builtin_constant_p ( __a0 ) && ( __a0 ) == '\0' ? (char *) __rawmemchr ( pt , __a0) : strchr( pt , __a0 ))) : ((__a2 = ((__const char *) ( ";," ))[2], __a2 == '\0') ? __strpbrk_c2 ( pt , __a0, __a1) :(((__const char *) ( ";," ))[3] == '\0' ? __strpbrk_c3 ( pt ,__a0, __a1, __a2): strpbrk ( pt , ";," ))))) : strpbrk ( pt , ";," )); }) ;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ kde_cv_opt_noinline_match=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_cv_opt_noinline_match=no
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+ CFLAGS="$ac_cflags_save"
+ fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $kde_cv_opt_noinline_match" >&5
+$as_echo "$kde_cv_opt_noinline_match" >&6; }
+
+ if test "x$kde_cv_opt_noinline_match" = "xno" ; then
+ CFLAGS="`echo "$CFLAGS" | sed "s/ -fno-inline//"`"
+ fi
+ fi
+ if test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes"; then
+ unsermake_enable_pch_TRUE=
+ unsermake_enable_pch_FALSE='#'
+else
+ unsermake_enable_pch_TRUE='#'
+ unsermake_enable_pch_FALSE=
+fi
+
+ if test "$CXX" = "KCC"; then
+
+ if test "$kde_use_pch" = "yes"; then
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports --pch" >&5
+$as_echo_n "checking whether $CXX supports --pch... " >&6; }
+kde_cache=`echo -pch | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS --pch"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS --pch"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+ fi
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports --inline_keyword_space_time=6" >&5
+$as_echo_n "checking whether $CXX supports --inline_keyword_space_time=6... " >&6; }
+kde_cache=`echo -inline_keyword_space_time=6 | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports --inline_auto_space_time=2" >&5
+$as_echo_n "checking whether $CXX supports --inline_auto_space_time=2... " >&6; }
+kde_cache=`echo -inline_auto_space_time=2 | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports --inline_implicit_space_time=2.0" >&5
+$as_echo_n "checking whether $CXX supports --inline_implicit_space_time=2.0... " >&6; }
+kde_cache=`echo -inline_implicit_space_time=2.0 | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports --inline_generated_space_time=2.0" >&5
+$as_echo_n "checking whether $CXX supports --inline_generated_space_time=2.0... " >&6; }
+kde_cache=`echo -inline_generated_space_time=2.0 | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports --one_per" >&5
+$as_echo_n "checking whether $CXX supports --one_per... " >&6; }
+kde_cache=`echo -one_per | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS --one_per"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ CXXFLAGS="$CXXFLAGS --one_per"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+ fi
+
+ USE_RTTI=
+
+
+ case "$host" in
+ *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;;
+ *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";;
+ *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";;
+ *-*-solaris*)
+ if test "$GXX" = yes; then
+ libstdcpp=`$CXX -print-file-name=libstdc++.so`
+ if test ! -f $libstdcpp; then
+ { { $as_echo "$as_me:$LINENO: 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" >&5
+$as_echo "$as_me: 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" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+ ;;
+ esac
+
+ if test "x$kde_use_qt_emb" != "xyes"; then
+ __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 "*) { $as_echo "$as_me:$LINENO: WARNING: found forbidden $i in CXX, removing it" >&5
+$as_echo "$as_me: WARNING: found forbidden $i in CXX, removing it" >&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 "*) { $as_echo "$as_me:$LINENO: WARNING: found forbidden $i in CXXFLAGS, removing it" >&5
+$as_echo "$as_me: WARNING: found forbidden $i in CXXFLAGS, removing it" >&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
+
+else
+ __val=$CXX
+ __forbid=" -rpath "
+ if test -n "$__val"; then
+ __new=""
+ ac_save_IFS=$IFS
+ IFS=" "
+ for i in $__val; do
+ case "$__forbid" in
+ *" $i "*) { $as_echo "$as_me:$LINENO: WARNING: found forbidden $i in CXX, removing it" >&5
+$as_echo "$as_me: WARNING: found forbidden $i in CXX, removing it" >&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=" -rpath "
+ if test -n "$__val"; then
+ __new=""
+ ac_save_IFS=$IFS
+ IFS=" "
+ for i in $__val; do
+ case "$__forbid" in
+ *" $i "*) { $as_echo "$as_me:$LINENO: WARNING: found forbidden $i in CXXFLAGS, removing it" >&5
+$as_echo "$as_me: WARNING: found forbidden $i in CXXFLAGS, removing it" >&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
+
+fi
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+ if test "${ac_cv_prog_CXXCPP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CXXCPP needs to be expanded
+ for CXXCPP in "$CXX -E" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+ CXXCPP=$ac_cv_prog_CXXCPP
+else
+ ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ if test "$GCC" = yes; then
+ NOOPT_CFLAGS=-O0
+ fi
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -O0" >&5
+$as_echo_n "checking whether $CXX supports -O0... " >&6; }
+kde_cache=`echo O0 | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -O0"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ NOOPT_CXXFLAGS=-O0
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+ # Check whether --enable-coverage was given.
+if test "${enable_coverage+set}" = set; then
+ enableval=$enable_coverage;
+ if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then
+ ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
+ ac_coverage_linker="-lgcc"
+ elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then
+ ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
+ ac_coverage_linker=""
+ else
+ { { $as_echo "$as_me:$LINENO: error: coverage with your compiler is not supported" >&5
+$as_echo "$as_me: error: coverage with your compiler is not supported" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ CFLAGS="$CFLAGS $ac_coverage_compiler"
+ CXXFLAGS="$CXXFLAGS $ac_coverage_compiler"
+ LDFLAGS="$LDFLAGS $ac_coverage_linker"
+
+fi
+
+
+
+
+
+
+
+ # Check whether --enable-new_ldflags was given.
+if test "${enable_new_ldflags+set}" = set; then
+ enableval=$enable_new_ldflags; kde_use_new_ldflags=$enableval
+else
+ kde_use_new_ldflags=no
+fi
+
+
+ LDFLAGS_AS_NEEDED=""
+ LDFLAGS_NEW_DTAGS=""
+ if test "x$kde_use_new_ldflags" = "xyes"; then
+ LDFLAGS_NEW_DTAGS=""
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -Wl,--enable-new-dtags" >&5
+$as_echo_n "checking whether $CXX supports -Wl,--enable-new-dtags... " >&6; }
+kde_cache=`echo Wl,--enable-new-dtags | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wl,--enable-new-dtags"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -Wl,--as-needed" >&5
+$as_echo_n "checking whether $CXX supports -Wl,--as-needed... " >&6; }
+kde_cache=`echo Wl,--as-needed | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wl,--as-needed"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ LDFLAGS_AS_NEEDED="-Wl,--as-needed"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+ fi
+
+
+
+
+ # Check whether --enable-final was given.
+if test "${enable_final+set}" = set; then
+ enableval=$enable_final; kde_use_final=$enableval
+else
+ kde_use_final=no
+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 was given.
+if test "${enable_closure+set}" = set; then
+ enableval=$enable_closure; kde_use_closure=$enableval
+else
+ kde_use_closure=no
+fi
+
+
+ KDE_NO_UNDEFINED=""
+ if test "x$kde_use_closure" = "xyes"; then
+ KDE_USE_CLOSURE_TRUE=""
+ KDE_USE_CLOSURE_FALSE="#"
+# CXXFLAGS="$CXXFLAGS $REPO"
+ else
+ KDE_USE_CLOSURE_TRUE="#"
+ KDE_USE_CLOSURE_FALSE=""
+ KDE_NO_UNDEFINED=""
+ case $host in
+ *-*-linux-gnu)
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -Wl,--no-undefined" >&5
+$as_echo_n "checking whether $CXX supports -Wl,--no-undefined... " >&6; }
+kde_cache=`echo Wl,--no-undefined | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wl,--no-undefined"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -Wl,--allow-shlib-undefined" >&5
+$as_echo_n "checking whether $CXX supports -Wl,--allow-shlib-undefined... " >&6; }
+kde_cache=`echo Wl,--allow-shlib-undefined | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wl,--allow-shlib-undefined"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+ KDE_NO_UNDEFINED=""
+fi
+
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+ KDE_NO_UNDEFINED=""
+fi
+
+ ;;
+ esac
+ fi
+
+
+
+
+
+ # Check whether --enable-nmcheck was given.
+if test "${enable_nmcheck+set}" = set; then
+ enableval=$enable_nmcheck; kde_use_nmcheck=$enableval
+else
+ kde_use_nmcheck=no
+fi
+
+
+ if test "$kde_use_nmcheck" = "yes"; then
+ KDE_USE_NMCHECK_TRUE=""
+ KDE_USE_NMCHECK_FALSE="#"
+ else
+ KDE_USE_NMCHECK_TRUE="#"
+ KDE_USE_NMCHECK_FALSE=""
+ fi
+
+
+
+
+
+
+# Check whether --enable-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.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_shared=yes
+fi
+
+
+# Check whether --enable-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.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_static=no
+fi
+
+
+
+
+
+ # Check whether --enable-libsuffix was given.
+if test "${enable_libsuffix+set}" = set; then
+ enableval=$enable_libsuffix; kdelibsuff=$enableval
+else
+ kdelibsuff="auto"
+fi
+
+
+ if test "$kdelibsuff" = "auto"; then
+
+cat > conftest.c << EOF
+#include <stdio.h>
+int main() {
+ return 0;
+}
+EOF
+ kdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out |sed -ne '/libc.so/{
+ s,.*/lib\([^\/]*\)/.*,\1,
+ p
+}'`
+ rm -rf conftest.*
+ fi
+
+ if test "$kdelibsuff" = "no" || test "$kdelibsuff" = "none"; then
+ kdelibsuff=
+ fi
+ if test -z "$kdelibsuff"; then
+ { $as_echo "$as_me:$LINENO: result: not using lib directory suffix" >&5
+$as_echo "not using lib directory suffix" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define KDELIBSUFF ""
+_ACEOF
+
+ else
+ if test "$libdir" = '${exec_prefix}/lib'; then
+ libdir="$libdir${kdelibsuff}"
+ libdir="$libdir"
+ fi
+
+cat >>confdefs.h <<_ACEOF
+#define KDELIBSUFF "${kdelibsuff}"
+_ACEOF
+
+ { $as_echo "$as_me:$LINENO: result: using lib directory suffix $kdelibsuff" >&5
+$as_echo "using lib directory suffix $kdelibsuff" >&6; }
+ fi
+
+# Check whether --enable-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.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_fast_install=yes
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${lt_cv_path_SED+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && break
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+
+fi
+
+SED=$lt_cv_path_SED
+{ $as_echo "$as_me:$LINENO: result: $SED" >&5
+$as_echo "$SED" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+
+# Check whether --with-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.
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_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
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+
+{ $as_echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+$as_echo_n "checking for BSD-compatible nm... " >&6; }
+if test "${lt_cv_path_NM+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/${ac_tool_prefix}nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+NM="$lt_cv_path_NM"
+
+{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+{ $as_echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
+$as_echo_n "checking how to recognise dependent libraries... " >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+ $as_echo_n "(cached) " >&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 extended 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* | aix5*)
+ 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*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+mingw* | pw32*)
+ # win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='win32_libid'
+ ;;
+
+darwin* | rhapsody*)
+ # this will be overwritten by pass_all, but leave it in just in case
+ lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System`
+ ;;
+ *) # Darwin 1.3 on
+ lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
+ ;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | kfreebsd*-gnu)
+ 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*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case "$host_cpu" in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ irix5* | nonstopux*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
+ ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ case $host_cpu in
+ alpha* | hppa* | i*86 | ia64* | m68* | mips* | powerpc* | sparc* | s390* | sh* | x86_64* )
+ lt_cv_deplibs_check_method=pass_all ;;
+ # the debian people say, arm and glibc 2.3.1 works for them with pass_all
+ arm* )
+ lt_cv_deplibs_check_method=pass_all ;;
+ *)
+ # glibc up to 2.1.1 does not perform some relocations on ARM
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+nto-qnx*)
+ lt_cv_deplibs_check_method=unknown
+ ;;
+
+openbsd*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
+ else
+ lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sco3.2v5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line 8643 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ LINUX_64_MODE="32"
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ LINUX_64_MODE="64"
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ lt_cv_cc_needs_belf=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_cc_needs_belf=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&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
+
+need_locks="$enable_libtool_lock"
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_F77+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$F77"; then
+ ac_cv_prog_F77="$F77" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+F77=$ac_cv_prog_F77
+if test -n "$F77"; then
+ { $as_echo "$as_me:$LINENO: result: $F77" >&5
+$as_echo "$F77" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$F77" && break
+ done
+fi
+if test -z "$F77"; then
+ ac_ct_F77=$F77
+ for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_F77"; then
+ ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_F77="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_F77=$ac_cv_prog_ac_ct_F77
+if test -n "$ac_ct_F77"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+$as_echo "$ac_ct_F77" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_F77" && break
+done
+
+ if test "x$ac_ct_F77" = x; then
+ F77=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ F77=$ac_ct_F77
+ fi
+fi
+
+
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+rm -f a.out
+
+# If we don't use `.F' as extension, the preprocessor is not run on the
+# input file. (Note that this only needs to work for GNU compilers.)
+ac_save_ext=$ac_ext
+ac_ext=F
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; }
+if test "${ac_cv_f77_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+ program main
+#ifndef __GNUC__
+ choke me
+#endif
+
+ end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_f77_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+$as_echo "$ac_cv_f77_compiler_gnu" >&6; }
+ac_ext=$ac_save_ext
+ac_test_FFLAGS=${FFLAGS+set}
+ac_save_FFLAGS=$FFLAGS
+FFLAGS=
+{ $as_echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+$as_echo_n "checking whether $F77 accepts -g... " >&6; }
+if test "${ac_cv_prog_f77_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ FFLAGS=-g
+cat >conftest.$ac_ext <<_ACEOF
+ program main
+
+ end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_f77_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_prog_f77_g=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+$as_echo "$ac_cv_prog_f77_g" >&6; }
+if test "$ac_test_FFLAGS" = set; then
+ FFLAGS=$ac_save_FFLAGS
+elif test $ac_cv_prog_f77_g = yes; then
+ if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+ FFLAGS="-g -O2"
+ else
+ FFLAGS="-g"
+ fi
+else
+ if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+ FFLAGS="-O2"
+ else
+ FFLAGS=
+ fi
+fi
+
+if test $ac_compiler_gnu = yes; then
+ G77=yes
+else
+ G77=
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ testring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ *)
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while (test "X"`$CONFIG_SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \
+ = "XX$testring") >/dev/null 2>&1 &&
+ new_result=`expr "X$testring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ testring=$testring$testring
+ done
+ testring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ ;;
+ esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: none" >&5
+$as_echo "none" >&6; }
+fi
+
+
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Transform the above into a raw symbol and a C symbol.
+symxfrm='\1 \2\3 \3'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*) # Its linker distinguishes data from code symbols
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris* | sysv5*)
+ symcode='[BDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGISTW]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Write the raw and C identifiers.
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<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
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if grep ' nm_test_var$' "$nlist" >/dev/null; then
+ if grep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+ cat <<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/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+ cat <<\EOF >> conftest.$ac_ext
+ {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:$LINENO: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if test "${lt_cv_objdir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:$LINENO: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ ;;
+ *)
+ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ 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@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:$LINENO: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ 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@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ else
+ MAGIC_CMD=:
+ fi
+fi
+
+ fi
+ ;;
+esac
+
+enable_dlopen=yes
+enable_win32_dll=no
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then
+ withval=$with_pic; pic_mode="$withval"
+else
+ pic_mode=default
+fi
+
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+#
+# Check for any special shared library compilation flags.
+#
+lt_prog_cc_shlib=
+if test "$GCC" = no; then
+ case $host_os in
+ sco3.2v5*)
+ lt_prog_cc_shlib='-belf'
+ ;;
+ esac
+fi
+if test -n "$lt_prog_cc_shlib"; then
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&5
+$as_echo "$as_me: WARNING: \`$CC' requires \`$lt_prog_cc_shlib' to build shared libraries" >&2;}
+ if echo "$old_CC $old_CFLAGS " | grep "[ ]$lt_prog_cc_shlib[ ]" >/dev/null; then :
+ else
+ { $as_echo "$as_me:$LINENO: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5
+$as_echo "$as_me: WARNING: add \`$lt_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;}
+ lt_cv_prog_cc_can_build_shared=no
+ fi
+fi
+
+
+#
+# Check to make sure the static flag actually works.
+#
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_prog_compiler_static works" >&5
+$as_echo_n "checking if $compiler static flag $lt_prog_compiler_static works... " >&6; }
+if test "${lt_prog_compiler_static_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_prog_compiler_static"
+ printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ else
+ lt_prog_compiler_static_works=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+$as_echo "$lt_prog_compiler_static_works" >&6; }
+
+if test x"$lt_prog_compiler_static_works" = xyes; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:10396: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:10400: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s conftest.err; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
+
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ linux*)
+ case $CC in
+ icc* | ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ esac
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ sco3.2v5*)
+ lt_prog_compiler_pic='-Kpic'
+ lt_prog_compiler_static='-dn'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ esac
+ fi
+
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_prog_compiler_pic_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:10629: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:10633: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s conftest.err; then
+ lt_prog_compiler_pic_works=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+$as_echo "$lt_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_prog_compiler_pic_works" = xyes; then
+ case $lt_prog_compiler_pic in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+case "$host_os" in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+ # that will create temporary files in the current directory regardless of
+ # the output directory. Thus, making CWD read-only will cause this test
+ # to fail, enabling locking or at least warning the user not to do parallel
+ # builds.
+ chmod -w .
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:10696: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:10700: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s out/conftest.err; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w .
+ $rm conftest* out/*
+ rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&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
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ runpath_var=
+ allow_undefined_flag=
+ enable_shared_with_static_runtimes=no
+ archive_cmds=
+ archive_expsym_cmds=
+ old_archive_From_new_cmds=
+ old_archive_from_expsyms_cmds=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ thread_safe_flag_spec=
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld=
+ hardcode_libdir_separator=
+ hardcode_direct=no
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ link_all_deplibs=unknown
+ hardcode_automatic=no
+ module_cmds=
+ module_expsym_cmds=
+ 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 extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ 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=
+
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ 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* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ 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
+ 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
+
+ # Samuel A. Falvo II <kc5tja@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't use
+ # them.
+ ld_shlibs=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ allow_undefined_flag=no
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ 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 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $compiler_flags $libobjs $deplibs ${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 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $compiler_flags $libobjs $deplibs ${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'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ 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 "$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*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ fi
+
+ # KDE requires run time linking. Make it the default.
+ aix_use_runtimelinking=yes
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.012|aix4.012.*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ 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
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='-qmkshrobj ${wl}-G'
+ else
+ shared_flag='-qmkshrobj'
+ fi
+ fi
+ fi
+
+ # Let the compiler handle the export list.
+ always_export_symbols=no
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_cmds="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
+ archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ 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 $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' ${wl}-bernotok'
+ 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=' '
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds it's shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ 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
+ ;;
+
+ bsdi4*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=no
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $compiler_flags $libobjs `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ 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"`'
+ enable_shared_with_static_runtimes=yes
+ ;;
+
+ darwin* | rhapsody*)
+ if test "$GXX" = yes ; then
+ archive_cmds_need_lc=no
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ allow_undefined_flag='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.012)
+ allow_undefined_flag='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ allow_undefined_flag='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ archive_cmds='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ else
+ archive_cmds='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring'
+ fi
+ module_cmds='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ whole_archive_flag_spec='-all_load $convenience'
+ link_all_deplibs=yes
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ 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* | kfreebsd*-gnu)
+ archive_cmds='$CC -shared -o $lib $compiler_flags $libobjs $deplibs'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $libobjs $deplibs~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ 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'
+ fi
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ hpux10* | hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ ;;
+ *)
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $libobjs $deplibs'
+ ;;
+ esac
+ else
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+ ;;
+ *)
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld='+b $libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ ia64*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ 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 $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ openbsd*)
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ 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 $compiler_flags $libobjs $deplibs$output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ 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 ${output_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 "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ 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 ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+
+ sco3.2v5*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='${wl}-Bexport'
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ;;
+
+ solaris*)
+ no_undefined_flag=' -z text'
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs~$rm $lib.exp'
+ else
+ 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'
+ fi
+ 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*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $compiler_flags $libobjs $deplibs'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ 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
+ ;;
+
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+ no_undefined_flag='${wl}-z ${wl}text'
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ else
+ archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ fi
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ 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
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+ fi
+
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
+
+ if test "$enable_shared" = yes && test "$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.
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc=no
+ else
+ archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi4*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext='$(test .$module = .yes && echo .so || echo .dylib)'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd*)
+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.01* | freebsdelf3.01*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ *) # from 3.2 on
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case "$host_cpu" in
+ ia64*)
+ shrext='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ libsuff=
+ if test "x$LINUX_64_MODE" = x64; then
+ # Some platforms are per default 64-bit, so there's no /lib64
+ if test -d /lib64 -a ! -h /lib64; then
+ libsuff=64
+ fi
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+sco3.2v5*)
+ version_type=osf
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+ test -n "$runpath_var " || \
+ test "X$hardcode_automatic"="Xyes" ; 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 "$_LT_AC_TAGVAR(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
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&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"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+ ;;
+ *)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
+if test "${ac_cv_func_shl_load+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shl_load (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shl_load
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+/* 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
+#endif
+
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_shl_load=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
+if test "x$ac_cv_func_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_shl_load=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
+if test "${ac_cv_func_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define dlopen innocuous_dlopen
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlopen (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef dlopen
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+/* 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
+#endif
+
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
+if test "x$ac_cv_func_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_svld_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_svld_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_dld_link=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_dld_link=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+#line 12818 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}
+EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ LDFLAGS="$LDFLAGS $link_static_flag"
+ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+#line 12916 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}
+EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+# Report which librarie types wil actually be built
+{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&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*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+ if test "$GCC" = yes; then
+ archive_cmds_need_lc=no
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ allow_undefined_flag='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.012)
+ allow_undefined_flag='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ allow_undefined_flag='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ output_verbose_link_cmd='echo'
+ archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ module_cmds='$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ whole_archive_flag_spec='-all_load $convenience'
+ link_all_deplibs=yes
+ else
+ ld_shlibs=no
+ fi
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler \
+ CC \
+ LD \
+ lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
+ lt_prog_compiler_static \
+ lt_prog_compiler_no_builtin_flag \
+ export_dynamic_flag_spec \
+ thread_safe_flag_spec \
+ whole_archive_flag_spec \
+ enable_shared_with_static_runtimes \
+ old_archive_cmds \
+ old_archive_from_new_cmds \
+ predep_objects \
+ postdep_objects \
+ predeps \
+ postdeps \
+ compiler_lib_search_path \
+ archive_cmds \
+ archive_expsym_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ old_archive_from_expsyms_cmds \
+ allow_undefined_flag \
+ no_undefined_flag \
+ export_symbols_cmds \
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+ hardcode_automatic \
+ module_cmds \
+ module_expsym_cmds \
+ lt_cv_prog_compiler_c_o \
+ exclude_expsyms \
+ include_expsyms; do
+
+ case $var in
+ old_archive_cmds | \
+ old_archive_from_new_cmds | \
+ archive_cmds | \
+ archive_expsym_cmds | \
+ module_cmds | \
+ module_expsym_cmds | \
+ old_archive_from_expsyms_cmds | \
+ export_symbols_cmds | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+ ;;
+ esac
+
+cfgfile="${ofile}T"
+ trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+ $rm -f "$cfgfile"
+ { $as_echo "$as_me:$LINENO: creating $ofile" >&5
+$as_echo "$as_me: creating $ofile" >&6;}
+
+ cat <<__EOF__ >> "$cfgfile"
+#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord@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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# A language-specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext='$shrext'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Must we lock files when doing compilation ?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$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=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to yes if using DIR/libNAME${shared_ext} 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
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic
+
+# 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=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$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=$lt_export_symbols_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# ### END LIBTOOL CONFIG
+
+__EOF__
+
+
+ case $host_os in
+ aix3*)
+ cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+EOF
+ ;;
+ esac
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" || \
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ test -f Makefile && make "$ltmain"
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+# Check whether --with-tags was given.
+if test "${with_tags+set}" = set; then
+ withval=$with_tags; tagnames="$withval"
+fi
+
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+ if test ! -f "${ofile}"; then
+ { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
+$as_echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
+ fi
+
+ if test -z "$LTCC"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+ if test -z "$LTCC"; then
+ { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
+$as_echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
+ else
+ { $as_echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
+$as_echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
+ fi
+ fi
+
+ # Extract list of available tagged configurations in $ofile.
+ # Note that this assumes the entire list is on one line.
+ available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for tagname in $tagnames; do
+ IFS="$lt_save_ifs"
+ # Check whether tagname contains only valid characters
+ case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
+ "") ;;
+ *) { { $as_echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
+$as_echo "$as_me: error: invalid tag name: $tagname" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+ then
+ { { $as_echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
+$as_echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ # Update the list of available tags.
+ if test -n "$tagname"; then
+ echo appending configuration tag \"$tagname\" to $ofile
+
+ case $tagname in
+ CXX)
+ if test -n "$CXX" && test "X$CXX" != "Xno"; then
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+
+
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_flag_spec_ld_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_automatic_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
+
+# Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+# Source file extension for C++ test sources.
+ac_ext=cc
+
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+ unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+ unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+compiler_CXX=$CC
+cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+ lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+else
+ lt_prog_compiler_no_builtin_flag_CXX=
+fi
+
+if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+
+# Check whether --with-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.
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_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
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ archive_cmds_CXX='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+ grep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_CXX=
+ 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_CXX='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+ld_shlibs_CXX=yes
+case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # KDE requires run time linking. Make it the default.
+ aix_use_runtimelinking=yes
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_CXX=''
+ hardcode_direct_CXX=yes
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.012|aix4.012.*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct_CXX=yes
+ else
+ # We have old collect2
+ hardcode_direct_CXX=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_CXX=yes
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_libdir_separator_CXX=
+ fi
+ esac
+ shared_flag='-shared'
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='-qmkshrobj ${wl}-G'
+ else
+ shared_flag='-qmkshrobj'
+ fi
+ fi
+ fi
+
+ # Let the compiler handle the export list.
+ always_export_symbols_CXX=no
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_CXX='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ archive_cmds_CXX="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
+ archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_CXX="-z nodefs"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_CXX=' ${wl}-bernotok'
+ allow_undefined_flag_CXX=' ${wl}-berok'
+ # -bexpall does not export symbols beginning with underscore (_)
+ always_export_symbols_CXX=yes
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_CXX=' '
+ archive_cmds_need_lc_CXX=yes
+ # This is similar to how AIX traditionally builds it's shared libraries.
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ allow_undefined_flag_CXX=no
+ always_export_symbols_CXX=no
+ enable_shared_with_static_runtimes_CXX=yes
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
+ darwin* | rhapsody*)
+ if test "$GXX" = yes; then
+ archive_cmds_need_lc_CXX=no
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag_CXX='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ allow_undefined_flag_CXX='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.012)
+ allow_undefined_flag_CXX='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ allow_undefined_flag_CXX='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ else
+ archive_cmds_CXX='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring'
+ fi
+ module_cmds_CXX='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ hardcode_direct_CXX=no
+ hardcode_automatic_CXX=yes
+ hardcode_shlibpath_var_CXX=unsupported
+ whole_archive_flag_spec_CXX='-all_load $convenience'
+ link_all_deplibs_CXX=yes
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ ghcx)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+ freebsd12*)
+ # C++ shared libraries reported to be fairly broken before switch to ELF
+ ld_shlibs_CXX=no
+ ;;
+ freebsd-elf*)
+ archive_cmds_need_lc_CXX=no
+ ;;
+ freebsd* | kfreebsd*-gnu)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ ld_shlibs_CXX=yes
+ ;;
+ gnu*)
+ ;;
+ hpux9*)
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC)
+ archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
+ hardcode_libdir_separator_CXX=:
+ ;;
+ ia64*)
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ ;;
+ esac
+ fi
+ case "$host_cpu" in
+ hppa*64*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ ;;
+ ia64*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ *)
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC)
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ archive_cmds_CXX='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC)
+ # SGI C++
+ archive_cmds_CXX='$CC -shared -all -multigot $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ archive_cmds_CXX='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+ else
+ archive_cmds_CXX='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+ ;;
+ esac
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ ;;
+ 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_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
+ archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc)
+ # Intel C++
+ with_gnu_ld=yes
+ archive_cmds_need_lc_CXX=no
+ archive_cmds_CXX='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ cxx)
+ # Compaq C++
+ archive_cmds_CXX='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ esac
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ m88k*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+ osf3*)
+ case $cc_basename in
+ KCC)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+
+ ;;
+ RCC)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx)
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+ osf4* | osf5*)
+ case $cc_basename in
+ KCC)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
+ ;;
+ RCC)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx)
+ allow_undefined_flag_CXX=' -expect_unresolved \*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+ archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~
+ $rm $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+ psos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ sco*)
+ archive_cmds_need_lc_CXX=no
+ case $cc_basename in
+ CC)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ lcc)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
+ archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_shlibpath_var_CXX=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_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ link_all_deplibs_CXX=yes
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[LR]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx)
+ # Green Hills C++ Compiler
+ archive_cmds_CXX='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if $CC --version | grep -v '^2\.7' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ fi
+ ;;
+ esac
+ ;;
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+ archive_cmds_need_lc_CXX=no
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+GCC_CXX="$GXX"
+LD_CXX="$LD"
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+
+cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+EOF
+
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; 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
+
+ # The `*' in the case matches for architectures that use `case' in
+ # $output_verbose_cmd can trigger glob expansion during the loop
+ # eval without this substitution.
+ output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
+
+ for p in `eval $output_verbose_link_cmd`; 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_CXX"; then
+ compiler_lib_search_path_CXX="${prev}${p}"
+ else
+ compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$postdeps_CXX"; then
+ postdeps_CXX="${prev}${p}"
+ else
+ postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext|*.$libext)
+ # 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_CXX"; then
+ predep_objects_CXX="$p"
+ else
+ predep_objects_CXX="$predep_objects_CXX $p"
+ fi
+ else
+ if test -z "$postdep_objects_CXX"; then
+ postdep_objects_CXX="$p"
+ else
+ postdep_objects_CXX="$postdep_objects_CXX $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$rm -f confest.$objext
+
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+
+lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ fi
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | os2* | pw32*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic_CXX='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ lt_prog_compiler_pic_CXX=
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic_CXX=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ esac
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix4* | aix5*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ else
+ lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68)
+ # Green Hills C++ Compiler
+ # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++)
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ ghcx)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | kfreebsd*-gnu)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+ if test "$host_cpu" != ia64; then
+ lt_prog_compiler_pic_CXX='+Z'
+ fi
+ ;;
+ aCC)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux*)
+ case $cc_basename in
+ KCC)
+ # KAI C++ Compiler
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ icpc)
+ # Intel C++
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ cxx)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx)
+ lt_prog_compiler_pic_CXX='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd*)
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC)
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ ;;
+ RCC)
+ # Rational C++ 2.4.1
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ cxx)
+ # Digital/Compaq C++
+ lt_prog_compiler_wl_CXX='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ sco*)
+ case $cc_basename in
+ CC)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ gcx)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.x
+ lt_prog_compiler_pic_CXX='-pic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ lcc)
+ # Lucid
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC)
+ # NonStop-UX NCC 3.20
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ unixware*)
+ ;;
+ vxworks*)
+ ;;
+ *)
+ lt_prog_compiler_can_build_shared_CXX=no
+ ;;
+ esac
+ fi
+
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_prog_compiler_pic_works_CXX=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:15085: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:15089: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s conftest.err; then
+ lt_prog_compiler_pic_works_CXX=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_works_CXX" >&6; }
+
+if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+ case $lt_prog_compiler_pic_CXX in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+ esac
+else
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_can_build_shared_CXX=no
+fi
+
+fi
+case "$host_os" in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_CXX=
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
+esac
+
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+ # that will create temporary files in the current directory regardless of
+ # the output directory. Thus, making CWD read-only will cause this test
+ # to fail, enabling locking or at least warning the user not to do parallel
+ # builds.
+ chmod -w .
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:15152: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:15156: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s out/conftest.err; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w .
+ $rm conftest* out/*
+ rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&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
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix4* | aix5*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ export_symbols_cmds_CXX="$ltdll_cmds"
+ ;;
+ cygwin* | mingw*)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_CXX=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds_CXX 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.
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_CXX
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+ allow_undefined_flag_CXX=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc_CXX=no
+ else
+ archive_cmds_need_lc_CXX=yes
+ fi
+ allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+$as_echo "$archive_cmds_need_lc_CXX" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi4*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext='$(test .$module = .yes && echo .so || echo .dylib)'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd*)
+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.01* | freebsdelf3.01*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ *) # from 3.2 on
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case "$host_cpu" in
+ ia64*)
+ shrext='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ libsuff=
+ if test "x$LINUX_64_MODE" = x64; then
+ # Some platforms are per default 64-bit, so there's no /lib64
+ if test -d /lib64 -a ! -h /lib64; then
+ libsuff=64
+ fi
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+sco3.2v5*)
+ version_type=osf
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" || \
+ test -n "$runpath_var CXX" || \
+ test "X$hardcode_automatic_CXX"="Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct_CXX" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+ test "$hardcode_minus_L_CXX" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_CXX=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_CXX=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_CXX=unsupported
+fi
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
+
+if test "$hardcode_action_CXX" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&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"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+ ;;
+ *)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
+if test "${ac_cv_func_shl_load+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shl_load (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shl_load
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+/* 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
+#endif
+
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_shl_load=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
+if test "x$ac_cv_func_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_shl_load=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
+if test "${ac_cv_func_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define dlopen innocuous_dlopen
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlopen (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef dlopen
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+/* 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
+#endif
+
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
+if test "x$ac_cv_func_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_svld_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_svld_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_dld_link=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_dld_link=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+#line 16483 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}
+EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ LDFLAGS="$LDFLAGS $link_static_flag"
+ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+#line 16581 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}
+EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler_CXX \
+ CC_CXX \
+ LD_CXX \
+ lt_prog_compiler_wl_CXX \
+ lt_prog_compiler_pic_CXX \
+ lt_prog_compiler_static_CXX \
+ lt_prog_compiler_no_builtin_flag_CXX \
+ export_dynamic_flag_spec_CXX \
+ thread_safe_flag_spec_CXX \
+ whole_archive_flag_spec_CXX \
+ enable_shared_with_static_runtimes_CXX \
+ old_archive_cmds_CXX \
+ old_archive_from_new_cmds_CXX \
+ predep_objects_CXX \
+ postdep_objects_CXX \
+ predeps_CXX \
+ postdeps_CXX \
+ compiler_lib_search_path_CXX \
+ archive_cmds_CXX \
+ archive_expsym_cmds_CXX \
+ postinstall_cmds_CXX \
+ postuninstall_cmds_CXX \
+ old_archive_from_expsyms_cmds_CXX \
+ allow_undefined_flag_CXX \
+ no_undefined_flag_CXX \
+ export_symbols_cmds_CXX \
+ hardcode_libdir_flag_spec_CXX \
+ hardcode_libdir_flag_spec_ld_CXX \
+ hardcode_libdir_separator_CXX \
+ hardcode_automatic_CXX \
+ module_cmds_CXX \
+ module_expsym_cmds_CXX \
+ lt_cv_prog_compiler_c_o_CXX \
+ exclude_expsyms_CXX \
+ include_expsyms_CXX; do
+
+ case $var in
+ old_archive_cmds_CXX | \
+ old_archive_from_new_cmds_CXX | \
+ archive_cmds_CXX | \
+ archive_expsym_cmds_CXX | \
+ module_cmds_CXX | \
+ module_expsym_cmds_CXX | \
+ old_archive_from_expsyms_cmds_CXX | \
+ export_symbols_cmds_CXX | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+ ;;
+ esac
+
+cfgfile="$ofile"
+
+ cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# A language-specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_CXX
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext='$shrext'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Must we lock files when doing compilation ?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_CXX
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_CXX
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_CXX
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_CXX
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# 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_CXX
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_CXX"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ test -f Makefile && make "$ltmain"
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+
+ else
+ tagname=""
+ fi
+ ;;
+
+ F77)
+ if test -n "$F77" && test "X$F77" != "Xno"; then
+
+ac_ext=f
+ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+
+
+archive_cmds_need_lc_F77=no
+allow_undefined_flag_F77=
+always_export_symbols_F77=no
+archive_expsym_cmds_F77=
+export_dynamic_flag_spec_F77=
+hardcode_direct_F77=no
+hardcode_libdir_flag_spec_F77=
+hardcode_libdir_flag_spec_ld_F77=
+hardcode_libdir_separator_F77=
+hardcode_minus_L_F77=no
+hardcode_automatic_F77=no
+module_cmds_F77=
+module_expsym_cmds_F77=
+link_all_deplibs_F77=unknown
+old_archive_cmds_F77=$old_archive_cmds
+no_undefined_flag_F77=
+whole_archive_flag_spec_F77=
+enable_shared_with_static_runtimes_F77=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+objext_F77=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code=" program t\n end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+compiler_F77=$CC
+cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+
+{ $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&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
+{ $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+{ $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+test "$ld_shlibs_F77" = no && can_build_shared=no
+
+GCC_F77="$G77"
+LD_F77="$LD"
+
+lt_prog_compiler_wl_F77=
+lt_prog_compiler_pic_F77=
+lt_prog_compiler_static_F77=
+
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_static_F77='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_F77='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
+ ;;
+
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic_F77='-fno-common'
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared_F77=no
+ enable_shared=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic_F77=-Kconform_pic
+ fi
+ ;;
+
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_F77='-fPIC'
+ ;;
+ esac
+ ;;
+
+ *)
+ lt_prog_compiler_pic_F77='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_F77='-Bstatic'
+ else
+ lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_F77='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static_F77='-non_shared'
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ linux*)
+ case $CC in
+ icc* | ecc*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-static'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static_F77='-non_shared'
+ ;;
+ esac
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static_F77='-non_shared'
+ ;;
+
+ sco3.2v5*)
+ lt_prog_compiler_pic_F77='-Kpic'
+ lt_prog_compiler_static_F77='-dn'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl_F77='-Qoption ld '
+ lt_prog_compiler_pic_F77='-PIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ lt_prog_compiler_wl_F77='-Wl,'
+ lt_prog_compiler_pic_F77='-KPIC'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic_F77='-Kconform_pic'
+ lt_prog_compiler_static_F77='-Bstatic'
+ fi
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic_F77='-pic'
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared_F77=no
+ ;;
+ esac
+ fi
+
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+$as_echo "$lt_prog_compiler_pic_F77" >&6; }
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_F77"; then
+
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; }
+if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_prog_compiler_pic_works_F77=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_F77"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:17404: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:17408: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s conftest.err; then
+ lt_prog_compiler_pic_works_F77=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+$as_echo "$lt_prog_compiler_pic_works_F77" >&6; }
+
+if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
+ case $lt_prog_compiler_pic_F77 in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
+ esac
+else
+ lt_prog_compiler_pic_F77=
+ lt_prog_compiler_can_build_shared_F77=no
+fi
+
+fi
+case "$host_os" in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_F77=
+ ;;
+ *)
+ lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
+ ;;
+esac
+
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_F77=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+ # that will create temporary files in the current directory regardless of
+ # the output directory. Thus, making CWD read-only will cause this test
+ # to fail, enabling locking or at least warning the user not to do parallel
+ # builds.
+ chmod -w .
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:17471: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:17475: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s out/conftest.err; then
+ lt_cv_prog_compiler_c_o_F77=yes
+ fi
+ fi
+ chmod u+w .
+ $rm conftest* out/*
+ rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; }
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&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
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ runpath_var=
+ allow_undefined_flag_F77=
+ enable_shared_with_static_runtimes_F77=no
+ archive_cmds_F77=
+ archive_expsym_cmds_F77=
+ old_archive_From_new_cmds_F77=
+ old_archive_from_expsyms_cmds_F77=
+ export_dynamic_flag_spec_F77=
+ whole_archive_flag_spec_F77=
+ thread_safe_flag_spec_F77=
+ hardcode_libdir_flag_spec_F77=
+ hardcode_libdir_flag_spec_ld_F77=
+ hardcode_libdir_separator_F77=
+ hardcode_direct_F77=no
+ hardcode_minus_L_F77=no
+ hardcode_shlibpath_var_F77=unsupported
+ link_all_deplibs_F77=unknown
+ hardcode_automatic_F77=no
+ module_cmds_F77=
+ module_expsym_cmds_F77=
+ always_export_symbols_F77=no
+ export_symbols_cmds_F77='$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_F77=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ ld_shlibs_F77=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs_F77=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
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds_F77='$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_F77='-L$libdir'
+ hardcode_minus_L_F77=yes
+
+ # Samuel A. Falvo II <kc5tja@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't use
+ # them.
+ ld_shlibs_F77=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_F77=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_F77='$CC -nostart $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ allow_undefined_flag_F77=no
+ always_export_symbols_F77=no
+ enable_shared_with_static_runtimes_F77=yes
+ export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ archive_cmds_F77='$CC -shared $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds_F77='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_F77='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs_F77=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 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds_F77='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_F77='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+
+ sunos4*)
+ archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds_F77='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_F77='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs_F77" = yes; then
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_F77='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_F77=
+ fi
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag_F77=unsupported
+ always_export_symbols_F77=yes
+ archive_expsym_cmds_F77='$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_F77=yes
+ if test "$GCC" = yes && test -z "$link_static_flag"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct_F77=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ fi
+
+ # KDE requires run time linking. Make it the default.
+ aix_use_runtimelinking=yes
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_F77=''
+ hardcode_direct_F77=yes
+ hardcode_libdir_separator_F77=':'
+ link_all_deplibs_F77=yes
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.012|aix4.012.*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct_F77=yes
+ else
+ # We have old collect2
+ hardcode_direct_F77=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_F77=yes
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_libdir_separator_F77=
+ fi
+ esac
+ shared_flag='-shared'
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='-qmkshrobj ${wl}-G'
+ else
+ shared_flag='-qmkshrobj'
+ fi
+ fi
+ fi
+
+ # Let the compiler handle the export list.
+ always_export_symbols_F77=no
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_F77='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+ program main
+
+ end
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_cmds_F77="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
+ archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_F77="-z nodefs"
+ archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+ program main
+
+ end
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_f77_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_F77=' ${wl}-bernotok'
+ allow_undefined_flag_F77=' ${wl}-berok'
+ # -bexpall does not export symbols beginning with underscore (_)
+ always_export_symbols_F77=yes
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_F77=' '
+ archive_cmds_need_lc_F77=yes
+ # This is similar to how AIX traditionally builds it's shared libraries.
+ archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds_F77='$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_F77='-L$libdir'
+ hardcode_minus_L_F77=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs_F77=no
+ ;;
+
+ bsdi4*)
+ export_dynamic_flag_spec_F77=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec_F77=' '
+ allow_undefined_flag_F77=no
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds_F77='$CC -o $lib $compiler_flags $libobjs `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_From_new_cmds_F77='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ enable_shared_with_static_runtimes_F77=yes
+ ;;
+
+ darwin* | rhapsody*)
+ if test "$GXX" = yes ; then
+ archive_cmds_need_lc_F77=no
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag_F77='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ allow_undefined_flag_F77='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.012)
+ allow_undefined_flag_F77='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ allow_undefined_flag_F77='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ archive_cmds_F77='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ else
+ archive_cmds_F77='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring'
+ fi
+ module_cmds_F77='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ hardcode_direct_F77=no
+ hardcode_automatic_F77=yes
+ hardcode_shlibpath_var_F77=unsupported
+ whole_archive_flag_spec_F77='-all_load $convenience'
+ link_all_deplibs_F77=yes
+ else
+ ld_shlibs_F77=no
+ fi
+ ;;
+
+ dgux*)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ freebsd1*)
+ ld_shlibs_F77=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_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_F77=yes
+ hardcode_minus_L_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | kfreebsd*-gnu)
+ archive_cmds_F77='$CC -shared -o $lib $compiler_flags $libobjs $deplibs'
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $libobjs $deplibs~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+ hardcode_direct_F77=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_F77=yes
+ export_dynamic_flag_spec_F77='${wl}-E'
+ ;;
+
+ hpux10* | hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ ;;
+ *)
+ archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $libobjs $deplibs'
+ ;;
+ esac
+ else
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ archive_cmds_F77='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+ ;;
+ *)
+ archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld_F77='+b $libdir'
+ hardcode_libdir_separator_F77=:
+ hardcode_direct_F77=no
+ hardcode_shlibpath_var_F77=no
+ ;;
+ ia64*)
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_direct_F77=no
+ hardcode_shlibpath_var_F77=no
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_F77=yes
+ ;;
+ *)
+ hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+ hardcode_direct_F77=yes
+ export_dynamic_flag_spec_F77='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_F77=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds_F77='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
+ fi
+ hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+ link_all_deplibs_F77=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ newsos6)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_F77=yes
+ hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ openbsd*)
+ hardcode_direct_F77=yes
+ hardcode_shlibpath_var_F77=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds_F77='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_F77='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ ;;
+ *)
+ archive_cmds_F77='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_minus_L_F77=yes
+ allow_undefined_flag_F77=unsupported
+ archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $compiler_flags $libobjs $deplibs$output_objdir/$libname.def'
+ old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_F77='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag_F77=' -expect_unresolved \*'
+ archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_F77=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_F77='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag_F77=' -expect_unresolved \*'
+ archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec_F77='-rpath $libdir'
+ fi
+ hardcode_libdir_separator_F77=:
+ ;;
+
+ sco3.2v5*)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var_F77=no
+ export_dynamic_flag_spec_F77='${wl}-Bexport'
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ;;
+
+ solaris*)
+ no_undefined_flag_F77=' -z text'
+ if test "$GCC" = yes; then
+ archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs~$rm $lib.exp'
+ else
+ archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ fi
+ hardcode_libdir_flag_spec_F77='-R$libdir'
+ hardcode_shlibpath_var_F77=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *) # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
+ esac
+ link_all_deplibs_F77=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $compiler_flags $libobjs $deplibs'
+ else
+ archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_direct_F77=yes
+ hardcode_minus_L_F77=yes
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_F77=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds_F77='$CC -r -o $output$reload_objs'
+ hardcode_direct_F77=no
+ ;;
+ motorola)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var_F77=no
+ export_dynamic_flag_spec_F77='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var_F77=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs_F77=yes
+ fi
+ ;;
+
+ sysv4.2uw2*)
+ archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_F77=yes
+ hardcode_minus_L_F77=no
+ hardcode_shlibpath_var_F77=no
+ hardcode_runpath_var=yes
+ runpath_var=LD_RUN_PATH
+ ;;
+
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+ no_undefined_flag_F77='${wl}-z ${wl}text'
+ if test "$GCC" = yes; then
+ archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ else
+ archive_cmds_F77='$CC -G ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ fi
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ sysv5*)
+ no_undefined_flag_F77=' -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_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds_F77='$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_F77=
+ hardcode_shlibpath_var_F77=no
+ runpath_var='LD_RUN_PATH'
+ ;;
+
+ uts4*)
+ archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_F77='-L$libdir'
+ hardcode_shlibpath_var_F77=no
+ ;;
+
+ *)
+ ld_shlibs_F77=no
+ ;;
+ esac
+ fi
+
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+$as_echo "$ld_shlibs_F77" >&6; }
+test "$ld_shlibs_F77" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_F77" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_F77=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds_F77 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.
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_F77
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_F77
+ allow_undefined_flag_F77=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc_F77=no
+ else
+ archive_cmds_need_lc_F77=yes
+ fi
+ allow_undefined_flag_F77=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+$as_echo "$archive_cmds_need_lc_F77" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi4*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext='$(test .$module = .yes && echo .so || echo .dylib)'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd*)
+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.01* | freebsdelf3.01*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ *) # from 3.2 on
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case "$host_cpu" in
+ ia64*)
+ shrext='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ libsuff=
+ if test "x$LINUX_64_MODE" = x64; then
+ # Some platforms are per default 64-bit, so there's no /lib64
+ if test -d /lib64 -a ! -h /lib64; then
+ libsuff=64
+ fi
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+sco3.2v5*)
+ version_type=osf
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_F77=
+if test -n "$hardcode_libdir_flag_spec_F77" || \
+ test -n "$runpath_var F77" || \
+ test "X$hardcode_automatic_F77"="Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct_F77" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
+ test "$hardcode_minus_L_F77" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_F77=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_F77=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_F77=unsupported
+fi
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+$as_echo "$hardcode_action_F77" >&6; }
+
+if test "$hardcode_action_F77" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&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"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+ ;;
+ *)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler_F77 \
+ CC_F77 \
+ LD_F77 \
+ lt_prog_compiler_wl_F77 \
+ lt_prog_compiler_pic_F77 \
+ lt_prog_compiler_static_F77 \
+ lt_prog_compiler_no_builtin_flag_F77 \
+ export_dynamic_flag_spec_F77 \
+ thread_safe_flag_spec_F77 \
+ whole_archive_flag_spec_F77 \
+ enable_shared_with_static_runtimes_F77 \
+ old_archive_cmds_F77 \
+ old_archive_from_new_cmds_F77 \
+ predep_objects_F77 \
+ postdep_objects_F77 \
+ predeps_F77 \
+ postdeps_F77 \
+ compiler_lib_search_path_F77 \
+ archive_cmds_F77 \
+ archive_expsym_cmds_F77 \
+ postinstall_cmds_F77 \
+ postuninstall_cmds_F77 \
+ old_archive_from_expsyms_cmds_F77 \
+ allow_undefined_flag_F77 \
+ no_undefined_flag_F77 \
+ export_symbols_cmds_F77 \
+ hardcode_libdir_flag_spec_F77 \
+ hardcode_libdir_flag_spec_ld_F77 \
+ hardcode_libdir_separator_F77 \
+ hardcode_automatic_F77 \
+ module_cmds_F77 \
+ module_expsym_cmds_F77 \
+ lt_cv_prog_compiler_c_o_F77 \
+ exclude_expsyms_F77 \
+ include_expsyms_F77; do
+
+ case $var in
+ old_archive_cmds_F77 | \
+ old_archive_from_new_cmds_F77 | \
+ archive_cmds_F77 | \
+ archive_expsym_cmds_F77 | \
+ module_cmds_F77 | \
+ module_expsym_cmds_F77 | \
+ old_archive_from_expsyms_cmds_F77 | \
+ export_symbols_cmds_F77 | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+ ;;
+ esac
+
+cfgfile="$ofile"
+
+ cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_F77
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# A language-specific compiler.
+CC=$lt_compiler_F77
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_F77
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_F77
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_F77
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext='$shrext'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_F77
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
+
+# Must we lock files when doing compilation ?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_F77
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_F77
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_F77
+archive_expsym_cmds=$lt_archive_expsym_cmds_F77
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_F77
+module_expsym_cmds=$lt_module_expsym_cmds_F77
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_F77
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_F77
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_F77
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_F77
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_F77
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_F77
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_F77
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_F77
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_F77
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_F77
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_F77
+
+# 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_F77
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_F77"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_F77
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_F77
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_F77
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_F77
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ test -f Makefile && make "$ltmain"
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+ else
+ tagname=""
+ fi
+ ;;
+
+ GCJ)
+ if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+objext_GCJ=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+compiler_GCJ=$CC
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+archive_cmds_need_lc_GCJ=no
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+
+lt_prog_compiler_no_builtin_flag_GCJ=
+
+if test "$GCC" = yes; then
+ lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
+
+
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:19447: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:19451: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s conftest.err; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+lt_prog_compiler_wl_GCJ=
+lt_prog_compiler_pic_GCJ=
+lt_prog_compiler_static_GCJ=
+
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_static_GCJ='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
+ ;;
+
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic_GCJ='-fno-common'
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared_GCJ=no
+ enable_shared=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic_GCJ=-Kconform_pic
+ fi
+ ;;
+
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_GCJ='-fPIC'
+ ;;
+ esac
+ ;;
+
+ *)
+ lt_prog_compiler_pic_GCJ='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ else
+ lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_GCJ='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static_GCJ='-non_shared'
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+ linux*)
+ case $CC in
+ icc* | ecc*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-static'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static_GCJ='-non_shared'
+ ;;
+ esac
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static_GCJ='-non_shared'
+ ;;
+
+ sco3.2v5*)
+ lt_prog_compiler_pic_GCJ='-Kpic'
+ lt_prog_compiler_static_GCJ='-dn'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl_GCJ='-Qoption ld '
+ lt_prog_compiler_pic_GCJ='-PIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_pic_GCJ='-KPIC'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic_GCJ='-Kconform_pic'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ fi
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic_GCJ='-pic'
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared_GCJ=no
+ ;;
+ esac
+ fi
+
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+$as_echo "$lt_prog_compiler_pic_GCJ" >&6; }
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_GCJ"; then
+
+{ $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; }
+if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_prog_compiler_pic_works_GCJ=no
+ ac_outfile=conftest.$ac_objext
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:19680: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:19684: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s conftest.err; then
+ lt_prog_compiler_pic_works_GCJ=yes
+ fi
+ fi
+ $rm conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+$as_echo "$lt_prog_compiler_pic_works_GCJ" >&6; }
+
+if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
+ case $lt_prog_compiler_pic_GCJ in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
+ esac
+else
+ lt_prog_compiler_pic_GCJ=
+ lt_prog_compiler_can_build_shared_GCJ=no
+fi
+
+fi
+case "$host_os" in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_GCJ=
+ ;;
+ *)
+ lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
+ ;;
+esac
+
+{ $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_GCJ=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+ # that will create temporary files in the current directory regardless of
+ # the output directory. Thus, making CWD read-only will cause this test
+ # to fail, enabling locking or at least warning the user not to do parallel
+ # builds.
+ chmod -w .
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:19747: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:19751: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s out/conftest.err; then
+ lt_cv_prog_compiler_c_o_GCJ=yes
+ fi
+ fi
+ chmod u+w .
+ $rm conftest* out/*
+ rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; }
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&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
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ runpath_var=
+ allow_undefined_flag_GCJ=
+ enable_shared_with_static_runtimes_GCJ=no
+ archive_cmds_GCJ=
+ archive_expsym_cmds_GCJ=
+ old_archive_From_new_cmds_GCJ=
+ old_archive_from_expsyms_cmds_GCJ=
+ export_dynamic_flag_spec_GCJ=
+ whole_archive_flag_spec_GCJ=
+ thread_safe_flag_spec_GCJ=
+ hardcode_libdir_flag_spec_GCJ=
+ hardcode_libdir_flag_spec_ld_GCJ=
+ hardcode_libdir_separator_GCJ=
+ hardcode_direct_GCJ=no
+ hardcode_minus_L_GCJ=no
+ hardcode_shlibpath_var_GCJ=unsupported
+ link_all_deplibs_GCJ=unknown
+ hardcode_automatic_GCJ=no
+ module_cmds_GCJ=
+ module_expsym_cmds_GCJ=
+ always_export_symbols_GCJ=no
+ export_symbols_cmds_GCJ='$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_GCJ=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ ld_shlibs_GCJ=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs_GCJ=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
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds_GCJ='$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_GCJ='-L$libdir'
+ hardcode_minus_L_GCJ=yes
+
+ # Samuel A. Falvo II <kc5tja@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't use
+ # them.
+ ld_shlibs_GCJ=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_GCJ=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_GCJ='$CC -nostart $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ allow_undefined_flag_GCJ=no
+ always_export_symbols_GCJ=no
+ enable_shared_with_static_runtimes_GCJ=yes
+ export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ archive_cmds_GCJ='$CC -shared $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds_GCJ='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_GCJ='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs_GCJ=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 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds_GCJ='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_GCJ='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+
+ sunos4*)
+ archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds_GCJ='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_GCJ='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs_GCJ" = yes; then
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_GCJ=
+ fi
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag_GCJ=unsupported
+ always_export_symbols_GCJ=yes
+ archive_expsym_cmds_GCJ='$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_GCJ=yes
+ if test "$GCC" = yes && test -z "$link_static_flag"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct_GCJ=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ fi
+
+ # KDE requires run time linking. Make it the default.
+ aix_use_runtimelinking=yes
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_GCJ=''
+ hardcode_direct_GCJ=yes
+ hardcode_libdir_separator_GCJ=':'
+ link_all_deplibs_GCJ=yes
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.012|aix4.012.*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct_GCJ=yes
+ else
+ # We have old collect2
+ hardcode_direct_GCJ=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_GCJ=yes
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_libdir_separator_GCJ=
+ fi
+ esac
+ shared_flag='-shared'
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='-qmkshrobj ${wl}-G'
+ else
+ shared_flag='-qmkshrobj'
+ fi
+ fi
+ fi
+
+ # Let the compiler handle the export list.
+ always_export_symbols_GCJ=no
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_GCJ='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_cmds_GCJ="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
+ archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_GCJ="-z nodefs"
+ archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_GCJ=' ${wl}-bernotok'
+ allow_undefined_flag_GCJ=' ${wl}-berok'
+ # -bexpall does not export symbols beginning with underscore (_)
+ always_export_symbols_GCJ=yes
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_GCJ=' '
+ archive_cmds_need_lc_GCJ=yes
+ # This is similar to how AIX traditionally builds it's shared libraries.
+ archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ archive_cmds_GCJ='$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_GCJ='-L$libdir'
+ hardcode_minus_L_GCJ=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs_GCJ=no
+ ;;
+
+ bsdi4*)
+ export_dynamic_flag_spec_GCJ=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec_GCJ=' '
+ allow_undefined_flag_GCJ=no
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds_GCJ='$CC -o $lib $compiler_flags $libobjs `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_From_new_cmds_GCJ='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ enable_shared_with_static_runtimes_GCJ=yes
+ ;;
+
+ darwin* | rhapsody*)
+ if test "$GXX" = yes ; then
+ archive_cmds_need_lc_GCJ=no
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag_GCJ='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ allow_undefined_flag_GCJ='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.012)
+ allow_undefined_flag_GCJ='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ allow_undefined_flag_GCJ='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ archive_cmds_GCJ='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ else
+ archive_cmds_GCJ='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring'
+ fi
+ module_cmds_GCJ='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ hardcode_direct_GCJ=no
+ hardcode_automatic_GCJ=yes
+ hardcode_shlibpath_var_GCJ=unsupported
+ whole_archive_flag_spec_GCJ='-all_load $convenience'
+ link_all_deplibs_GCJ=yes
+ else
+ ld_shlibs_GCJ=no
+ fi
+ ;;
+
+ dgux*)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ freebsd1*)
+ ld_shlibs_GCJ=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_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_GCJ=yes
+ hardcode_minus_L_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | kfreebsd*-gnu)
+ archive_cmds_GCJ='$CC -shared -o $lib $compiler_flags $libobjs $deplibs'
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $libobjs $deplibs~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+ hardcode_direct_GCJ=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_GCJ=yes
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+ ;;
+
+ hpux10* | hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ ;;
+ *)
+ archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $libobjs $deplibs'
+ ;;
+ esac
+ else
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ archive_cmds_GCJ='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+ ;;
+ *)
+ archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
+ hardcode_libdir_separator_GCJ=:
+ hardcode_direct_GCJ=no
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+ ia64*)
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_direct_GCJ=no
+ hardcode_shlibpath_var_GCJ=no
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_GCJ=yes
+ ;;
+ *)
+ hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+ hardcode_direct_GCJ=yes
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L_GCJ=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds_GCJ='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
+ fi
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+ link_all_deplibs_GCJ=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ newsos6)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_GCJ=yes
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ openbsd*)
+ hardcode_direct_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_GCJ='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ ;;
+ *)
+ archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_minus_L_GCJ=yes
+ allow_undefined_flag_GCJ=unsupported
+ archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $compiler_flags $libobjs $deplibs$output_objdir/$libname.def'
+ old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag_GCJ=' -expect_unresolved \*'
+ archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_GCJ=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag_GCJ=' -expect_unresolved \*'
+ archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
+ fi
+ hardcode_libdir_separator_GCJ=:
+ ;;
+
+ sco3.2v5*)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var_GCJ=no
+ export_dynamic_flag_spec_GCJ='${wl}-Bexport'
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ;;
+
+ solaris*)
+ no_undefined_flag_GCJ=' -z text'
+ if test "$GCC" = yes; then
+ archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs~$rm $lib.exp'
+ else
+ archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ fi
+ hardcode_libdir_flag_spec_GCJ='-R$libdir'
+ hardcode_shlibpath_var_GCJ=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *) # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
+ esac
+ link_all_deplibs_GCJ=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $compiler_flags $libobjs $deplibs'
+ else
+ archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_direct_GCJ=yes
+ hardcode_minus_L_GCJ=yes
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_GCJ=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds_GCJ='$CC -r -o $output$reload_objs'
+ hardcode_direct_GCJ=no
+ ;;
+ motorola)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var_GCJ=no
+ export_dynamic_flag_spec_GCJ='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var_GCJ=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs_GCJ=yes
+ fi
+ ;;
+
+ sysv4.2uw2*)
+ archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct_GCJ=yes
+ hardcode_minus_L_GCJ=no
+ hardcode_shlibpath_var_GCJ=no
+ hardcode_runpath_var=yes
+ runpath_var=LD_RUN_PATH
+ ;;
+
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+ no_undefined_flag_GCJ='${wl}-z ${wl}text'
+ if test "$GCC" = yes; then
+ archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ else
+ archive_cmds_GCJ='$CC -G ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ fi
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ sysv5*)
+ no_undefined_flag_GCJ=' -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_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds_GCJ='$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_GCJ=
+ hardcode_shlibpath_var_GCJ=no
+ runpath_var='LD_RUN_PATH'
+ ;;
+
+ uts4*)
+ archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ hardcode_shlibpath_var_GCJ=no
+ ;;
+
+ *)
+ ld_shlibs_GCJ=no
+ ;;
+ esac
+ fi
+
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+$as_echo "$ld_shlibs_GCJ" >&6; }
+test "$ld_shlibs_GCJ" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_GCJ" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_GCJ=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds_GCJ 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.
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_GCJ
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
+ allow_undefined_flag_GCJ=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc_GCJ=no
+ else
+ archive_cmds_need_lc_GCJ=yes
+ fi
+ allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+$as_echo "$archive_cmds_need_lc_GCJ" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+{ $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi4*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/./-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext='$(test .$module = .yes && echo .so || echo .dylib)'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd*)
+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.01* | freebsdelf3.01*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ *) # from 3.2 on
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case "$host_cpu" in
+ ia64*)
+ shrext='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ libsuff=
+ if test "x$LINUX_64_MODE" = x64; then
+ # Some platforms are per default 64-bit, so there's no /lib64
+ if test -d /lib64 -a ! -h /lib64; then
+ libsuff=64
+ fi
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+sco3.2v5*)
+ version_type=osf
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+{ $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_GCJ=
+if test -n "$hardcode_libdir_flag_spec_GCJ" || \
+ test -n "$runpath_var GCJ" || \
+ test "X$hardcode_automatic_GCJ"="Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct_GCJ" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
+ test "$hardcode_minus_L_GCJ" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_GCJ=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_GCJ=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_GCJ=unsupported
+fi
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+$as_echo "$hardcode_action_GCJ" >&6; }
+
+if test "$hardcode_action_GCJ" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&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"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+ ;;
+ *)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
+if test "${ac_cv_func_shl_load+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shl_load (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shl_load
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+/* 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
+#endif
+
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_shl_load=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
+if test "x$ac_cv_func_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_shl_load=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
+if test "${ac_cv_func_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define dlopen innocuous_dlopen
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlopen (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef dlopen
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+/* 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
+#endif
+
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
+if test "x$ac_cv_func_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_svld_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_svld_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_dld_link=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_dld_link=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+#line 21869 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}
+EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_unknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ LDFLAGS="$LDFLAGS $link_static_flag"
+ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+#line 21967 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}
+EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_unknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler_GCJ \
+ CC_GCJ \
+ LD_GCJ \
+ lt_prog_compiler_wl_GCJ \
+ lt_prog_compiler_pic_GCJ \
+ lt_prog_compiler_static_GCJ \
+ lt_prog_compiler_no_builtin_flag_GCJ \
+ export_dynamic_flag_spec_GCJ \
+ thread_safe_flag_spec_GCJ \
+ whole_archive_flag_spec_GCJ \
+ enable_shared_with_static_runtimes_GCJ \
+ old_archive_cmds_GCJ \
+ old_archive_from_new_cmds_GCJ \
+ predep_objects_GCJ \
+ postdep_objects_GCJ \
+ predeps_GCJ \
+ postdeps_GCJ \
+ compiler_lib_search_path_GCJ \
+ archive_cmds_GCJ \
+ archive_expsym_cmds_GCJ \
+ postinstall_cmds_GCJ \
+ postuninstall_cmds_GCJ \
+ old_archive_from_expsyms_cmds_GCJ \
+ allow_undefined_flag_GCJ \
+ no_undefined_flag_GCJ \
+ export_symbols_cmds_GCJ \
+ hardcode_libdir_flag_spec_GCJ \
+ hardcode_libdir_flag_spec_ld_GCJ \
+ hardcode_libdir_separator_GCJ \
+ hardcode_automatic_GCJ \
+ module_cmds_GCJ \
+ module_expsym_cmds_GCJ \
+ lt_cv_prog_compiler_c_o_GCJ \
+ exclude_expsyms_GCJ \
+ include_expsyms_GCJ; do
+
+ case $var in
+ old_archive_cmds_GCJ | \
+ old_archive_from_new_cmds_GCJ | \
+ archive_cmds_GCJ | \
+ archive_expsym_cmds_GCJ | \
+ module_cmds_GCJ | \
+ module_expsym_cmds_GCJ | \
+ old_archive_from_expsyms_cmds_GCJ | \
+ export_symbols_cmds_GCJ | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+ ;;
+ esac
+
+cfgfile="$ofile"
+
+ cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_GCJ
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# A language-specific compiler.
+CC=$lt_compiler_GCJ
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_GCJ
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_GCJ
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_GCJ
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext='$shrext'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_GCJ
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
+
+# Must we lock files when doing compilation ?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_GCJ
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_GCJ
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_GCJ
+archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_GCJ
+module_expsym_cmds=$lt_module_expsym_cmds_GCJ
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_GCJ
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_GCJ
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_GCJ
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_GCJ
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_GCJ
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_GCJ
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_GCJ
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_GCJ
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_GCJ
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_GCJ
+
+# 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_GCJ
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_GCJ"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_GCJ
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_GCJ
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_GCJ
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_GCJ
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ test -f Makefile && make "$ltmain"
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+ else
+ tagname=""
+ fi
+ ;;
+
+ RC)
+
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+objext_RC=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+compiler_RC=$CC
+lt_cv_prog_compiler_c_o_RC=yes
+
+# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ compiler_RC \
+ CC_RC \
+ LD_RC \
+ lt_prog_compiler_wl_RC \
+ lt_prog_compiler_pic_RC \
+ lt_prog_compiler_static_RC \
+ lt_prog_compiler_no_builtin_flag_RC \
+ export_dynamic_flag_spec_RC \
+ thread_safe_flag_spec_RC \
+ whole_archive_flag_spec_RC \
+ enable_shared_with_static_runtimes_RC \
+ old_archive_cmds_RC \
+ old_archive_from_new_cmds_RC \
+ predep_objects_RC \
+ postdep_objects_RC \
+ predeps_RC \
+ postdeps_RC \
+ compiler_lib_search_path_RC \
+ archive_cmds_RC \
+ archive_expsym_cmds_RC \
+ postinstall_cmds_RC \
+ postuninstall_cmds_RC \
+ old_archive_from_expsyms_cmds_RC \
+ allow_undefined_flag_RC \
+ no_undefined_flag_RC \
+ export_symbols_cmds_RC \
+ hardcode_libdir_flag_spec_RC \
+ hardcode_libdir_flag_spec_ld_RC \
+ hardcode_libdir_separator_RC \
+ hardcode_automatic_RC \
+ module_cmds_RC \
+ module_expsym_cmds_RC \
+ lt_cv_prog_compiler_c_o_RC \
+ exclude_expsyms_RC \
+ include_expsyms_RC; do
+
+ case $var in
+ old_archive_cmds_RC | \
+ old_archive_from_new_cmds_RC | \
+ archive_cmds_RC | \
+ archive_expsym_cmds_RC | \
+ module_cmds_RC | \
+ module_expsym_cmds_RC | \
+ old_archive_from_expsyms_cmds_RC | \
+ export_symbols_cmds_RC | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\$0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+ ;;
+ esac
+
+cfgfile="$ofile"
+
+ cat <<__EOF__ >> "$cfgfile"
+# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_RC
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# A language-specific compiler.
+CC=$lt_compiler_RC
+
+# Is the compiler the GNU C compiler?
+with_gcc=$GCC_RC
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_LD_RC
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_RC
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext='$shrext'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_RC
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
+
+# Must we lock files when doing compilation ?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_RC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_old_archive_cmds_RC
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_archive_cmds_RC
+archive_expsym_cmds=$lt_archive_expsym_cmds_RC
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_module_cmds_RC
+module_expsym_cmds=$lt_module_expsym_cmds_RC
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_predep_objects_RC
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_postdep_objects_RC
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_predeps_RC
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_postdeps_RC
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_RC
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_RC
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_RC
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_RC
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct_RC
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L_RC
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$hardcode_automatic_RC
+
+# 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_RC
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path_RC"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols_RC
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_RC
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_RC
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_RC
+
+# ### END LIBTOOL TAG CONFIG: $tagname
+
+__EOF__
+
+
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ test -f Makefile && make "$ltmain"
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+ ;;
+
+ *)
+ { { $as_echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
+$as_echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ # Append the new tag name to the list of available tags.
+ if test -n "$tagname" ; then
+ available_tags="$available_tags $tagname"
+ fi
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ # Now substitute the updated list of available tags.
+ if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+ mv "${ofile}T" "$ofile"
+ chmod +x "$ofile"
+ else
+ rm -f "${ofile}T"
+ { { $as_echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
+$as_echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent'
+
+# Prevent multiple expansion
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+LIBTOOL_SHELL="/bin/sh ./libtool"
+# LIBTOOL="$LIBTOOL --silent"
+KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
+
+
+# This hack ensures that libtool creates shared libs for kunittest plugins. By default check_LTLIBRARIES makes static libs.
+KDE_CHECK_PLUGIN="\$(KDE_PLUGIN) -rpath \$(libdir)"
+
+
+# we patch configure quite some so we better keep that consistent for incremental runs
+AUTOCONF='$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure'
+
+
+
+
+
+ # Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MSGFMT+set}" = set; then
+ $as_echo_n "(cached) " >&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
+ { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_GMSGFMT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $GMSGFMT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_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
+ { $as_echo "$as_me:$LINENO: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+ if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
+ { $as_echo "$as_me:$LINENO: result: found msgfmt program is not GNU msgfmt; ignore it" >&5
+$as_echo "found msgfmt program is not GNU msgfmt; ignore it" >&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
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_XGETTEXT+set}" = set; then
+ $as_echo_n "(cached) " >&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
+ { $as_echo "$as_me:$LINENO: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "$XGETTEXT" != ":"; then
+ if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+ : ;
+ else
+ { $as_echo "$as_me:$LINENO: result: found xgettext programs is not GNU xgettext; ignore it" >&5
+$as_echo "found xgettext programs is not GNU xgettext; ignore it" >&6; }
+ XGETTEXT=":"
+ fi
+ fi
+
+
+
+
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
+
+ { $as_echo "$as_me:$LINENO: checking if C++ programs can be compiled" >&5
+$as_echo_n "checking if C++ programs can be compiled... " >&6; }
+ if test "${kde_cv_stl_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <string>
+using namespace std;
+
+int
+main ()
+{
+
+ string astring="Hallo Welt.";
+ astring.erase(0, 6); // now astring is "Welt"
+ return 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ kde_cv_stl_works=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_cv_stl_works=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+
+
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_stl_works" >&5
+$as_echo "$kde_cv_stl_works" >&6; }
+
+ if test "$kde_cv_stl_works" = "yes"; then
+ # back compatible
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SGI_STL 1
+_ACEOF
+
+ else
+ { { $as_echo "$as_me:$LINENO: error: Your Installation isn't able to compile simple C++ programs.
+Check config.log for details - if you're using a Linux distribution you might miss
+a package named similar to libstdc++-dev." >&5
+$as_echo "$as_me: error: Your Installation isn't able to compile simple C++ programs.
+Check config.log for details - if you're using a Linux distribution you might miss
+a package named similar to libstdc++-dev." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for strlcat" >&5
+$as_echo_n "checking for strlcat... " >&6; }
+if test "${kde_cv_func_strlcat+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+save_CXXFLAGS="$CXXFLAGS"
+kde_safe_LIBS="$LIBS"
+LIBS="$LIBS $X_EXTRA_LIBS"
+if test "$GXX" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+#include <string.h>
+
+
+int
+main ()
+{
+
+ char buf[20];
+ buf[0]='\0';
+ strlcat(buf, "KDE function test", sizeof(buf));
+
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ kde_cv_func_strlcat=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_cv_func_strlcat=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CXXFLAGS="$save_CXXFLAGS"
+LIBS="$kde_safe_LIBS"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: result: $kde_cv_func_strlcat" >&5
+$as_echo "$kde_cv_func_strlcat" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking if strlcat needs custom prototype" >&5
+$as_echo_n "checking if strlcat needs custom prototype... " >&6; }
+if test "${kde_cv_proto_strlcat+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+if test "x$kde_cv_func_strlcat" = xyes; then
+ kde_cv_proto_strlcat=no
+else
+ case "strlcat" in
+ setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
+ kde_cv_proto_strlcat="yes - in libkdefakes"
+ ;;
+ *)
+ kde_cv_proto_strlcat=unknown
+ ;;
+ esac
+fi
+
+if test "x$kde_cv_proto_strlcat" = xunknown; then
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ kde_safe_libs=$LIBS
+ LIBS="$LIBS $X_EXTRA_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+#include <string.h>
+
+
+extern "C" unsigned long strlcat(char*, const char*, unsigned long);
+
+int
+main ()
+{
+
+ char buf[20];
+ buf[0]='\0';
+ strlcat(buf, "KDE function test", sizeof(buf));
+
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ kde_cv_func_strlcat=yes
+ kde_cv_proto_strlcat=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_cv_proto_strlcat="strlcat unavailable"
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$kde_safe_libs
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $kde_cv_proto_strlcat" >&5
+$as_echo "$kde_cv_proto_strlcat" >&6; }
+
+if test "x$kde_cv_func_strlcat" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRLCAT 1
+_ACEOF
+
+
+fi
+if test "x$kde_cv_proto_strlcat" = xno; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRLCAT_PROTO 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for strlcpy" >&5
+$as_echo_n "checking for strlcpy... " >&6; }
+if test "${kde_cv_func_strlcpy+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+save_CXXFLAGS="$CXXFLAGS"
+kde_safe_LIBS="$LIBS"
+LIBS="$LIBS $X_EXTRA_LIBS"
+if test "$GXX" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+#include <string.h>
+
+
+int
+main ()
+{
+
+ char buf[20];
+ strlcpy(buf, "KDE function test", sizeof(buf));
+
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ kde_cv_func_strlcpy=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_cv_func_strlcpy=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CXXFLAGS="$save_CXXFLAGS"
+LIBS="$kde_safe_LIBS"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: result: $kde_cv_func_strlcpy" >&5
+$as_echo "$kde_cv_func_strlcpy" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking if strlcpy needs custom prototype" >&5
+$as_echo_n "checking if strlcpy needs custom prototype... " >&6; }
+if test "${kde_cv_proto_strlcpy+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+if test "x$kde_cv_func_strlcpy" = xyes; then
+ kde_cv_proto_strlcpy=no
+else
+ case "strlcpy" in
+ setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
+ kde_cv_proto_strlcpy="yes - in libkdefakes"
+ ;;
+ *)
+ kde_cv_proto_strlcpy=unknown
+ ;;
+ esac
+fi
+
+if test "x$kde_cv_proto_strlcpy" = xunknown; then
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ kde_safe_libs=$LIBS
+ LIBS="$LIBS $X_EXTRA_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+#include <string.h>
+
+
+extern "C" unsigned long strlcpy(char*, const char*, unsigned long);
+
+int
+main ()
+{
+
+ char buf[20];
+ strlcpy(buf, "KDE function test", sizeof(buf));
+
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ kde_cv_func_strlcpy=yes
+ kde_cv_proto_strlcpy=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_cv_proto_strlcpy="strlcpy unavailable"
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$kde_safe_libs
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $kde_cv_proto_strlcpy" >&5
+$as_echo "$kde_cv_proto_strlcpy" >&6; }
+
+if test "x$kde_cv_func_strlcpy" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRLCPY 1
+_ACEOF
+
+
+fi
+if test "x$kde_cv_proto_strlcpy" = xno; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRLCPY_PROTO 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for main in -lutil" >&5
+$as_echo_n "checking for main in -lutil... " >&6; }
+if test "${ac_cv_lib_util_main+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lutil $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+int
+main ()
+{
+return main ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_util_main=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_util_main=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_util_main" >&5
+$as_echo "$ac_cv_lib_util_main" >&6; }
+if test "x$ac_cv_lib_util_main" = x""yes; then
+ LIBUTIL="-lutil"
+fi
+
+ { $as_echo "$as_me:$LINENO: checking for main in -lcompat" >&5
+$as_echo_n "checking for main in -lcompat... " >&6; }
+if test "${ac_cv_lib_compat_main+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcompat $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+int
+main ()
+{
+return main ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_compat_main=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_compat_main=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_compat_main" >&5
+$as_echo "$ac_cv_lib_compat_main" >&6; }
+if test "x$ac_cv_lib_compat_main" = x""yes; then
+ LIBCOMPAT="-lcompat"
+fi
+
+ kde_have_crypt=
+ { $as_echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5
+$as_echo_n "checking for crypt in -lcrypt... " >&6; }
+if test "${ac_cv_lib_crypt_crypt+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcrypt $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char crypt ();
+int
+main ()
+{
+return crypt ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_crypt_crypt=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_crypt_crypt=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5
+$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
+if test "x$ac_cv_lib_crypt_crypt" = x""yes; then
+ LIBCRYPT="-lcrypt"; kde_have_crypt=yes
+else
+ { $as_echo "$as_me:$LINENO: checking for crypt in -lc" >&5
+$as_echo_n "checking for crypt in -lc... " >&6; }
+if test "${ac_cv_lib_c_crypt+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lc $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char crypt ();
+int
+main ()
+{
+return crypt ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_c_crypt=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_c_crypt=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_crypt" >&5
+$as_echo "$ac_cv_lib_c_crypt" >&6; }
+if test "x$ac_cv_lib_c_crypt" = x""yes; then
+ kde_have_crypt=yes
+else
+
+ { $as_echo "$as_me:$LINENO: WARNING: you have no crypt in either libcrypt or libc.
+You should install libcrypt from another source or configure with PAM
+support" >&5
+$as_echo "$as_me: WARNING: you have no crypt in either libcrypt or libc.
+You should install libcrypt from another source or configure with PAM
+support" >&2;}
+ kde_have_crypt=no
+
+fi
+
+fi
+
+
+ if test $kde_have_crypt = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_CRYPT 1
+_ACEOF
+
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking for socklen_t" >&5
+$as_echo_n "checking for socklen_t... " >&6; }
+ if test "${kde_cv_socklen_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ kde_cv_socklen_t=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
+
+int
+main ()
+{
+
+ socklen_t len;
+ getpeername(0,0,&len);
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+
+ kde_cv_socklen_t=yes
+ kde_cv_socklen_t_equiv=socklen_t
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_socklen_t" >&5
+$as_echo "$kde_cv_socklen_t" >&6; }
+ if test $kde_cv_socklen_t = no; then
+ { $as_echo "$as_me:$LINENO: checking for socklen_t equivalent for socket functions" >&5
+$as_echo_n "checking for socklen_t equivalent for socket functions... " >&6; }
+ if test "${kde_cv_socklen_t_equiv+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_socklen_t_equiv=int
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ for t in int size_t unsigned long "unsigned long"; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
+
+int
+main ()
+{
+
+ $t len;
+ getpeername(0,0,&len);
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+
+ kde_cv_socklen_t_equiv="$t"
+ break
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_socklen_t_equiv" >&5
+$as_echo "$kde_cv_socklen_t_equiv" >&6; }
+ fi
+
+cat >>confdefs.h <<_ACEOF
+#define kde_socklen_t $kde_cv_socklen_t_equiv
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define ksize_t $kde_cv_socklen_t_equiv
+_ACEOF
+
+
+ { $as_echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
+if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dnet_dnet_ntoa=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dnet_dnet_ntoa=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+fi
+
+ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+ { $as_echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
+if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet_stub $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dnet_stub_dnet_ntoa=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dnet_stub_dnet_ntoa=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+fi
+
+ fi
+ { $as_echo "$as_me:$LINENO: checking for inet_ntoa" >&5
+$as_echo_n "checking for inet_ntoa... " >&6; }
+if test "${ac_cv_func_inet_ntoa+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define inet_ntoa to an innocuous variant, in case <limits.h> declares inet_ntoa.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define inet_ntoa innocuous_inet_ntoa
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char inet_ntoa (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef inet_ntoa
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char inet_ntoa ();
+/* 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
+#endif
+
+int
+main ()
+{
+return inet_ntoa ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_inet_ntoa=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_inet_ntoa=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_inet_ntoa" >&5
+$as_echo "$ac_cv_func_inet_ntoa" >&6; }
+
+ if test $ac_cv_func_inet_ntoa = no; then
+ { $as_echo "$as_me:$LINENO: checking for inet_ntoa in -lnsl" >&5
+$as_echo_n "checking for inet_ntoa in -lnsl... " >&6; }
+if test "${ac_cv_lib_nsl_inet_ntoa+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char inet_ntoa ();
+int
+main ()
+{
+return inet_ntoa ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_nsl_inet_ntoa=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_nsl_inet_ntoa=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_inet_ntoa" >&5
+$as_echo "$ac_cv_lib_nsl_inet_ntoa" >&6; }
+if test "x$ac_cv_lib_nsl_inet_ntoa" = x""yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+fi
+
+ fi
+ { $as_echo "$as_me:$LINENO: checking for connect" >&5
+$as_echo_n "checking for connect... " >&6; }
+if test "${ac_cv_func_connect+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define connect to an innocuous variant, in case <limits.h> declares connect.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define connect innocuous_connect
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char connect (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef connect
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char connect ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_connect || defined __stub___connect
+choke me
+#endif
+
+int
+main ()
+{
+return connect ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_connect=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_connect=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
+$as_echo "$ac_cv_func_connect" >&6; }
+
+ if test $ac_cv_func_connect = no; then
+ { $as_echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
+$as_echo_n "checking for connect in -lsocket... " >&6; }
+if test "${ac_cv_lib_socket_connect+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char connect ();
+int
+main ()
+{
+return connect ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_socket_connect=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_socket_connect=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
+$as_echo "$ac_cv_lib_socket_connect" >&6; }
+if test "x$ac_cv_lib_socket_connect" = x""yes; then
+ X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+fi
+
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking for remove" >&5
+$as_echo_n "checking for remove... " >&6; }
+if test "${ac_cv_func_remove+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define remove to an innocuous variant, in case <limits.h> declares remove.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define remove innocuous_remove
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char remove (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef remove
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char remove ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_remove || defined __stub___remove
+choke me
+#endif
+
+int
+main ()
+{
+return remove ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_remove=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_remove=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
+$as_echo "$ac_cv_func_remove" >&6; }
+
+ if test $ac_cv_func_remove = no; then
+ { $as_echo "$as_me:$LINENO: checking for remove in -lposix" >&5
+$as_echo_n "checking for remove in -lposix... " >&6; }
+if test "${ac_cv_lib_posix_remove+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lposix $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char remove ();
+int
+main ()
+{
+return remove ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_posix_remove=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_posix_remove=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
+$as_echo "$ac_cv_lib_posix_remove" >&6; }
+if test "x$ac_cv_lib_posix_remove" = x""yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+fi
+
+ fi
+
+ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+ { $as_echo "$as_me:$LINENO: checking for shmat" >&5
+$as_echo_n "checking for shmat... " >&6; }
+if test "${ac_cv_func_shmat+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define shmat to an innocuous variant, in case <limits.h> declares shmat.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define shmat innocuous_shmat
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shmat (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shmat
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shmat ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_shmat || defined __stub___shmat
+choke me
+#endif
+
+int
+main ()
+{
+return shmat ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_shmat=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_shmat=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
+$as_echo "$ac_cv_func_shmat" >&6; }
+if test "x$ac_cv_func_shmat" = x""yes; then
+ :
+else
+ { $as_echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
+$as_echo_n "checking for shmat in -lipc... " >&6; }
+if test "${ac_cv_lib_ipc_shmat+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lipc $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shmat ();
+int
+main ()
+{
+return shmat ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_ipc_shmat=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_ipc_shmat=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
+$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
+if test "x$ac_cv_lib_ipc_shmat" = x""yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+fi
+
+fi
+
+
+ # more headers that need to be explicitly included on darwin
+
+
+for ac_header in sys/types.h stdint.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+ # sys/bitypes.h is needed for uint32_t and friends on Tru64
+
+for ac_header in sys/bitypes.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+ # darwin requires a poll emulation library
+ { $as_echo "$as_me:$LINENO: checking for poll in -lpoll" >&5
+$as_echo_n "checking for poll in -lpoll... " >&6; }
+if test "${ac_cv_lib_poll_poll+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpoll $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char poll ();
+int
+main ()
+{
+return poll ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_poll_poll=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_poll_poll=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_poll_poll" >&5
+$as_echo "$ac_cv_lib_poll_poll" >&6; }
+if test "x$ac_cv_lib_poll_poll" = x""yes; then
+ LIB_POLL="-lpoll"
+fi
+
+
+ # for some image handling on Mac OS X
+
+for ac_header in Carbon/Carbon.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+ # CoreAudio framework
+ if test "${ac_cv_header_CoreAudio_CoreAudio_h+set}" = set; then
+ { $as_echo "$as_me:$LINENO: checking for CoreAudio/CoreAudio.h" >&5
+$as_echo_n "checking for CoreAudio/CoreAudio.h... " >&6; }
+if test "${ac_cv_header_CoreAudio_CoreAudio_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_CoreAudio_CoreAudio_h" >&5
+$as_echo "$ac_cv_header_CoreAudio_CoreAudio_h" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking CoreAudio/CoreAudio.h usability" >&5
+$as_echo_n "checking CoreAudio/CoreAudio.h usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <CoreAudio/CoreAudio.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking CoreAudio/CoreAudio.h presence" >&5
+$as_echo_n "checking CoreAudio/CoreAudio.h presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <CoreAudio/CoreAudio.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: CoreAudio/CoreAudio.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: CoreAudio/CoreAudio.h: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for CoreAudio/CoreAudio.h" >&5
+$as_echo_n "checking for CoreAudio/CoreAudio.h... " >&6; }
+if test "${ac_cv_header_CoreAudio_CoreAudio_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_header_CoreAudio_CoreAudio_h=$ac_header_preproc
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_CoreAudio_CoreAudio_h" >&5
+$as_echo "$ac_cv_header_CoreAudio_CoreAudio_h" >&6; }
+
+fi
+if test "x$ac_cv_header_CoreAudio_CoreAudio_h" = x""yes; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_COREAUDIO 1
+_ACEOF
+
+ FRAMEWORK_COREAUDIO="-Wl,-framework,CoreAudio"
+
+fi
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if res_init needs -lresolv" >&5
+$as_echo_n "checking if res_init needs -lresolv... " >&6; }
+ kde_libs_safe="$LIBS"
+ LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+
+int
+main ()
+{
+
+ res_init();
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+ LIBRESOLV="-lresolv"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_RES_INIT 1
+_ACEOF
+
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$kde_libs_safe
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for res_init" >&5
+$as_echo_n "checking for res_init... " >&6; }
+if test "${kde_cv_func_res_init+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+save_CXXFLAGS="$CXXFLAGS"
+kde_safe_LIBS="$LIBS"
+LIBS="$LIBS $X_EXTRA_LIBS"
+if test "$GXX" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+
+
+int
+main ()
+{
+
+res_init()
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ kde_cv_func_res_init=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_cv_func_res_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CXXFLAGS="$save_CXXFLAGS"
+LIBS="$kde_safe_LIBS"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: result: $kde_cv_func_res_init" >&5
+$as_echo "$kde_cv_func_res_init" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking if res_init needs custom prototype" >&5
+$as_echo_n "checking if res_init needs custom prototype... " >&6; }
+if test "${kde_cv_proto_res_init+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+if test "x$kde_cv_func_res_init" = xyes; then
+ kde_cv_proto_res_init=no
+else
+ case "res_init" in
+ setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
+ kde_cv_proto_res_init="yes - in libkdefakes"
+ ;;
+ *)
+ kde_cv_proto_res_init=unknown
+ ;;
+ esac
+fi
+
+if test "x$kde_cv_proto_res_init" = xunknown; then
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ kde_safe_libs=$LIBS
+ LIBS="$LIBS $X_EXTRA_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+
+
+extern "C" int res_init(void);
+
+int
+main ()
+{
+
+res_init()
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ kde_cv_func_res_init=yes
+ kde_cv_proto_res_init=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_cv_proto_res_init="res_init unavailable"
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$kde_safe_libs
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $kde_cv_proto_res_init" >&5
+$as_echo "$kde_cv_proto_res_init" >&6; }
+
+if test "x$kde_cv_func_res_init" = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_RES_INIT 1
+_ACEOF
+
+
+fi
+if test "x$kde_cv_proto_res_init" = xno; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_RES_INIT_PROTO 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+ LIBSOCKET="$X_EXTRA_LIBS"
+
+
+ { $as_echo "$as_me:$LINENO: checking for killpg in -lucb" >&5
+$as_echo_n "checking for killpg in -lucb... " >&6; }
+if test "${ac_cv_lib_ucb_killpg+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lucb $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char killpg ();
+int
+main ()
+{
+return killpg ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_ucb_killpg=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_ucb_killpg=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ucb_killpg" >&5
+$as_echo "$ac_cv_lib_ucb_killpg" >&6; }
+if test "x$ac_cv_lib_ucb_killpg" = x""yes; then
+ LIBUCB="-lucb"
+fi
+
+
+ case $host in *-*-lynxos* )
+ { $as_echo "$as_me:$LINENO: checking LynxOS header file wrappers" >&5
+$as_echo_n "checking LynxOS header file wrappers... " >&6; }
+ CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"
+ { $as_echo "$as_me:$LINENO: result: disabled" >&5
+$as_echo "disabled" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
+$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
+if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_bsd_gethostbyname=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_bsd_gethostbyname=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
+$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
+if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then
+ LIBSOCKET="-lbsd"
+fi
+ ;;
+ esac
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of int" >&5
+$as_echo_n "checking size of int... " >&6; }
+if test "${ac_cv_sizeof_int+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (int))) >= 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (int))) < 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (int))) >= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_int=$ac_lo;;
+'') if test "$ac_cv_type_int" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_int=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (int)); }
+static unsigned long int ulongval () { return (long int) (sizeof (int)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (int))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (int))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (int))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_int=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_int" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_int=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
+$as_echo "$ac_cv_sizeof_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INT $ac_cv_sizeof_int
+_ACEOF
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of short" >&5
+$as_echo_n "checking size of short... " >&6; }
+if test "${ac_cv_sizeof_short+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (short))) >= 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (short))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (short))) < 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (short))) >= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (short))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_short=$ac_lo;;
+'') if test "$ac_cv_type_short" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (short)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_short=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (short)); }
+static unsigned long int ulongval () { return (long int) (sizeof (short)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (short))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (short))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (short))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_short=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_short" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (short)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_short=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
+$as_echo "$ac_cv_sizeof_short" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_SHORT $ac_cv_sizeof_short
+_ACEOF
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of long" >&5
+$as_echo_n "checking size of long... " >&6; }
+if test "${ac_cv_sizeof_long+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (long))) < 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_long=$ac_lo;;
+'') if test "$ac_cv_type_long" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_long=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (long)); }
+static unsigned long int ulongval () { return (long int) (sizeof (long)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (long))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (long))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (long))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_long=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_long" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_long=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
+$as_echo "$ac_cv_sizeof_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of char *" >&5
+$as_echo_n "checking size of char *... " >&6; }
+if test "${ac_cv_sizeof_char_p+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (char *))) >= 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (char *))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (char *))) < 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (char *))) >= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (char *))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_char_p=$ac_lo;;
+'') if test "$ac_cv_type_char_p" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (char *)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_char_p=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (char *)); }
+static unsigned long int ulongval () { return (long int) (sizeof (char *)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (char *))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (char *))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (char *))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_char_p=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_char_p" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (char *)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_char_p=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_char_p" >&5
+$as_echo "$ac_cv_sizeof_char_p" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_CHAR_P $ac_cv_sizeof_char_p
+_ACEOF
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+
+LIBDL="-ldl"
+ac_cv_have_dlfcn=yes
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for shl_unload in -ldld" >&5
+$as_echo_n "checking for shl_unload in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_unload+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_unload ();
+int
+main ()
+{
+return shl_unload ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_shl_unload=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_shl_unload=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_unload" >&5
+$as_echo "$ac_cv_lib_dld_shl_unload" >&6; }
+if test "x$ac_cv_lib_dld_shl_unload" = x""yes; then
+
+LIBDL="-ldld"
+ac_cv_have_shload=yes
+
+fi
+
+
+
+
+
+
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of size_t" >&5
+$as_echo_n "checking size of size_t... " >&6; }
+if test "${ac_cv_sizeof_size_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) >= 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) < 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) >= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_size_t=$ac_lo;;
+'') if test "$ac_cv_type_size_t" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (size_t)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_size_t=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (size_t)); }
+static unsigned long int ulongval () { return (long int) (sizeof (size_t)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (size_t))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (size_t))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (size_t))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_size_t=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_size_t" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (size_t)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_size_t=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5
+$as_echo "$ac_cv_sizeof_size_t" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
+_ACEOF
+
+
+ # The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of unsigned long" >&5
+$as_echo_n "checking size of unsigned long... " >&6; }
+if test "${ac_cv_sizeof_unsigned_long+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) >= 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) < 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) >= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_unsigned_long=$ac_lo;;
+'') if test "$ac_cv_type_unsigned_long" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_unsigned_long=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (unsigned long)); }
+static unsigned long int ulongval () { return (long int) (sizeof (unsigned long)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (unsigned long))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (unsigned long))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (unsigned long))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_unsigned_long=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_unsigned_long" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_unsigned_long=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long" >&5
+$as_echo "$ac_cv_sizeof_unsigned_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long
+_ACEOF
+
+
+
+ { $as_echo "$as_me:$LINENO: checking sizeof size_t == sizeof unsigned long" >&5
+$as_echo_n "checking sizeof size_t == sizeof unsigned long... " >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG
+ choke me
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:$LINENO: error:
+ Apparently on your system our assumption sizeof size_t == sizeof unsigned long
+ does not apply. Please mail kde-devel@kde.org with a description of your system!
+ " >&5
+$as_echo "$as_me: error:
+ Apparently on your system our assumption sizeof size_t == sizeof unsigned long
+ does not apply. Please mail kde-devel@kde.org with a description of your system!
+ " >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+ { $as_echo "$as_me:$LINENO: checking for PIE support" >&5
+$as_echo_n "checking for PIE support... " >&6; }
+if test "${kde_cv_val_pie_support+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ safe_CXXFLAGS=$CXXFLAGS
+ safe_LDFLAGS=$LDFLAGS
+ CXXFLAGS="$CXXFLAGS -fPIE"
+ LDFLAGS="$LDFLAGS -pie"
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+int foo;
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ kde_cv_val_pie_support=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_cv_val_pie_support=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+ CXXFLAGS=$safe_CXXFLAGS
+ LDFLAGS=$safe_LDFLAGS
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $kde_cv_val_pie_support" >&5
+$as_echo "$kde_cv_val_pie_support" >&6; }
+
+ { $as_echo "$as_me:$LINENO: checking if enabling -pie/fPIE support" >&5
+$as_echo_n "checking if enabling -pie/fPIE support... " >&6; }
+
+ # Check whether --enable-pie was given.
+if test "${enable_pie+set}" = set; then
+ enableval=$enable_pie; kde_has_pie_support=$enableval
+else
+ kde_has_pie_support=detect
+fi
+
+
+ if test "$kde_has_pie_support" = "detect"; then
+ kde_has_pie_support=$kde_cv_val_pie_support
+ fi
+
+ { $as_echo "$as_me:$LINENO: result: $kde_has_pie_support" >&5
+$as_echo "$kde_has_pie_support" >&6; }
+
+ KDE_USE_FPIE=""
+ KDE_USE_PIE=""
+
+
+
+
+ if test "$kde_has_pie_support" = "yes"; then
+ KDE_USE_FPIE="-fPIE"
+ KDE_USE_PIE="-pie"
+ fi
+
+
+# darwin needs this to initialize the environment
+
+for ac_header in crt_externs.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+{ $as_echo "$as_me:$LINENO: checking for _NSGetEnviron" >&5
+$as_echo_n "checking for _NSGetEnviron... " >&6; }
+if test "${ac_cv_func__NSGetEnviron+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define _NSGetEnviron to an innocuous variant, in case <limits.h> declares _NSGetEnviron.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define _NSGetEnviron innocuous__NSGetEnviron
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char _NSGetEnviron (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef _NSGetEnviron
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char _NSGetEnviron ();
+/* 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__NSGetEnviron || defined __stub____NSGetEnviron
+choke me
+#endif
+
+int
+main ()
+{
+return _NSGetEnviron ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func__NSGetEnviron=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func__NSGetEnviron=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func__NSGetEnviron" >&5
+$as_echo "$ac_cv_func__NSGetEnviron" >&6; }
+if test "x$ac_cv_func__NSGetEnviron" = x""yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_NSGETENVIRON 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+
+
+
+for ac_func in vsnprintf snprintf
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+
+
+
+# Check whether --enable-embedded was given.
+if test "${enable_embedded+set}" = set; then
+ enableval=$enable_embedded; kde_use_qt_emb=$enableval
+else
+ kde_use_qt_emb=no
+
+fi
+
+
+# Check whether --enable-qtopia was given.
+if test "${enable_qtopia+set}" = set; then
+ enableval=$enable_qtopia; kde_use_qt_emb_palm=$enableval
+else
+ kde_use_qt_emb_palm=no
+
+fi
+
+
+# Check whether --enable-mac was given.
+if test "${enable_mac+set}" = set; then
+ enableval=$enable_mac; kde_use_qt_mac=$enableval
+else
+ kde_use_qt_mac=no
+
+fi
+
+
+# used to disable x11-specific stuff on special platforms
+ if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then
+ include_x11_TRUE=
+ include_x11_FALSE='#'
+else
+ include_x11_TRUE='#'
+ include_x11_FALSE=
+fi
+
+
+if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then
+
+{ $as_echo "$as_me:$LINENO: checking for X" >&5
+$as_echo_n "checking for X... " >&6; }
+
+if test "${kde_cv_have_x+set}" = set; then
+ $as_echo_n "(cached) " >&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 <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$x_direct_test_include>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # 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.err conftest.$ac_ext
+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 <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <X11/Intrinsic.h>
+int
+main ()
+{
+${x_direct_test_function}(1)
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ LIBS="$ac_save_LIBS"
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ LIBS="$ac_save_LIBS"
+# First see if replacing the include by lib works.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \
+ /usr/X11/lib${kdelibsuff} \
+ /usr/X11R6/lib${kdelibsuff} \
+ /usr/X11R5/lib${kdelibsuff} \
+ /usr/X11R4/lib${kdelibsuff} \
+ \
+ /usr/lib${kdelibsuff}/X11 \
+ /usr/lib${kdelibsuff}/X11R6 \
+ /usr/lib${kdelibsuff}/X11R5 \
+ /usr/lib${kdelibsuff}/X11R4 \
+ \
+ /usr/local/X11/lib${kdelibsuff} \
+ /usr/local/X11R6/lib${kdelibsuff} \
+ /usr/local/X11R5/lib${kdelibsuff} \
+ /usr/local/X11R4/lib${kdelibsuff} \
+ \
+ /usr/local/lib${kdelibsuff}/X11 \
+ /usr/local/lib${kdelibsuff}/X11R6 \
+ /usr/local/lib${kdelibsuff}/X11R5 \
+ /usr/local/lib${kdelibsuff}/X11R4 \
+ \
+ /usr/X386/lib${kdelibsuff} \
+ /usr/x386/lib${kdelibsuff} \
+ /usr/XFree86/lib${kdelibsuff}/X11 \
+ \
+ /usr/lib${kdelibsuff} \
+ /usr/local/lib${kdelibsuff} \
+ /usr/unsupported/lib${kdelibsuff} \
+ /usr/athena/lib${kdelibsuff} \
+ /usr/local/x11r5/lib${kdelibsuff} \
+ /usr/lpp/Xamples/lib${kdelibsuff} \
+ /lib/usr/lib${kdelibsuff}/X11 \
+ \
+ /usr/openwin/lib${kdelibsuff} \
+ /usr/openwin/share/lib${kdelibsuff} \
+ ; \
+do
+ 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 -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi # $ac_x_libraries = NO
+
+case "$host" in
+mips-sgi-irix6*)
+ ;;
+*-*-solaris*)
+ ;;
+*)
+ rm -f -r conftest.dir
+if mkdir conftest.dir; then
+ cd conftest.dir
+ cat >Imakefile <<'_ACEOF'
+incroot:
+ @echo incroot='${INCROOT}'
+usrlibdir:
+ @echo usrlibdir='${USRLIBDIR}'
+libdir:
+ @echo libdir='${LIBDIR}'
+_ACEOF
+ if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
+ # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+ for ac_var in incroot usrlibdir libdir; do
+ eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
+ done
+ # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+ for ac_extension in a so sl dylib la dll; do
+ if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
+ test -f "$ac_im_libdir/libX11.$ac_extension"; then
+ ac_im_usrlibdir=$ac_im_libdir; break
+ fi
+ done
+ # Screen out bogus values from the imake configuration. They are
+ # bogus both because they are the default anyway, and because
+ # using them would break gcc on systems where it needs fixed includes.
+ case $ac_im_incroot in
+ /usr/include) ac_x_includes= ;;
+ *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+ esac
+ case $ac_im_usrlibdir in
+ /usr/lib | /usr/lib64 | /lib | /lib64) ;;
+ *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+ esac
+ fi
+ cd ..
+ rm -f -r conftest.dir
+fi
+
+ if test -z "$ac_x_includes"; then
+ ac_x_includes="."
+ fi
+ if test -z "$ac_x_libraries"; then
+ ac_x_libraries="/usr/lib${kdelibsuff}"
+ fi
+esac
+#from now on we use our own again
+
+# when the user already gave --x-includes, we ignore
+# what the standard autoconf macros told us.
+if test "$kde_x_includes" = NO; then
+ kde_x_includes=$ac_x_includes
+fi
+
+# for --x-libraries too
+if test "$kde_x_libraries" = NO; then
+ kde_x_libraries=$ac_x_libraries
+fi
+
+if test "$kde_x_includes" = NO; then
+ { { $as_echo "$as_me:$LINENO: error: Can't find X includes. Please check your installation and add the correct paths!" >&5
+$as_echo "$as_me: error: Can't find X includes. Please check your installation and add the correct paths!" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+if test "$kde_x_libraries" = NO; then
+ { { $as_echo "$as_me:$LINENO: error: Can't find X libraries. Please check your installation and add the correct paths!" >&5
+$as_echo "$as_me: error: Can't find X libraries. Please check your installation and add the correct paths!" >&2;}
+ { (exit 1); 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
+ { $as_echo "$as_me:$LINENO: result: $have_x" >&5
+$as_echo "$have_x" >&6; }
+ no_x=yes
+else
+ { $as_echo "$as_me:$LINENO: result: libraries $kde_x_libraries, headers $kde_x_includes" >&5
+$as_echo "libraries $kde_x_libraries, headers $kde_x_includes" >&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 || test "$kde_x_libraries" = "/usr/lib"; 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 $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS"
+
+# Check for libraries that X11R6 Xt/Xaw programs need.
+ac_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+# check for ICE first), but we must link in the order -lSM -lICE or
+# we get undefined symbols. So assume we have SM if we have ICE.
+# These have to be linked with before -lX11, unlike the other
+# libraries we check for below, so use a different variable.
+# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
+{ $as_echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
+$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
+if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char IceConnectionNumber ();
+int
+main ()
+{
+return IceConnectionNumber ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_ICE_IceConnectionNumber=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_ICE_IceConnectionNumber=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
+if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then
+ LIBSM="-lSM -lICE"
+fi
+
+LDFLAGS="$ac_save_LDFLAGS"
+
+LIB_X11='-lX11 $(LIBSOCKET)'
+
+{ $as_echo "$as_me:$LINENO: checking for libXext" >&5
+$as_echo_n "checking for libXext... " >&6; }
+if test "${kde_cv_have_libXext+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+kde_ldflags_safe="$LDFLAGS"
+kde_libs_safe="$LIBS"
+
+LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
+LIBS="-lXext -lX11 $LIBSOCKET"
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+
+int
+main ()
+{
+
+printf("hello Xext\n");
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ kde_cv_have_libXext=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ kde_cv_have_libXext=no
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+LDFLAGS=$kde_ldflags_safe
+LIBS=$kde_libs_safe
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: result: $kde_cv_have_libXext" >&5
+$as_echo "$kde_cv_have_libXext" >&6; }
+
+if test "$kde_cv_have_libXext" = "no"; then
+ { { $as_echo "$as_me:$LINENO: 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." >&5
+$as_echo "$as_me: 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." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+LIB_XEXT="-lXext"
+QTE_NORTTI=""
+
+elif test "$kde_use_qt_emb" = "yes"; then
+ CPPFLAGS=-DQWS
+ CXXFLAGS="$CXXFLAGS -fno-rtti"
+ QTE_NORTTI="-fno-rtti -DQWS"
+ X_PRE_LIBS=""
+ LIB_X11=""
+ LIB_XEXT=""
+ LIB_XRENDER=""
+ LIBSM=""
+ X_INCLUDES=""
+ X_LDFLAGS=""
+ x_includes=""
+ x_libraries=""
+elif test "$kde_use_qt_mac" = "yes"; then
+ CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp"
+ CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp"
+ X_PRE_LIBS=""
+ LIB_X11=""
+ LIB_XEXT=""
+ LIB_XRENDER=""
+ LIBSM=""
+ X_INCLUDES=""
+ X_LDFLAGS=""
+ x_includes=""
+ x_libraries=""
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -z ""; then
+ # Current default Qt version: 3.3
+ kde_qtver=3
+ kde_qtsubver=3
+else
+ kde_qtsubver=`echo "" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
+ # following is the check if subversion isnt found in passed argument
+ if test "$kde_qtsubver" = ""; then
+ kde_qtsubver=1
+ fi
+ kde_qtver=`echo "" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
+ if test "$kde_qtver" = "1"; then
+ kde_qtsubver=42
+ 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
+ fi
+ if test "$kde_qtver" = "3"; then
+ if test $kde_qtsubver -gt 0; then
+ if test $kde_qtsubver -gt 1; then
+ if test $kde_qtsubver -gt 2; then
+ kde_qt_minversion=">= Qt 3.3 and < 4.0"
+ else
+ kde_qt_minversion=">= Qt 3.2 and < 4.0"
+ fi
+ else
+ kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0"
+ fi
+ else
+ kde_qt_minversion=">= Qt 3.0 and < 4.0"
+ fi
+ fi
+ if test "$kde_qtver" = "1"; then
+ kde_qt_minversion=">= 1.42 and < 2.0"
+ fi
+else
+ kde_qt_minversion=""
+fi
+
+if test -z ""; then
+ if test $kde_qtver = 3; then
+ if test $kde_qtsubver -gt 0; then
+ kde_qt_verstring="QT_VERSION >= 0x03@VER@00 && QT_VERSION < 0x040000"
+ qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'`
+ kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"`
+ else
+ kde_qt_verstring="QT_VERSION >= 300 && QT_VERSION < 0x040000"
+ fi
+ fi
+ 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
+ fi
+ if test $kde_qtver = 1; then
+ kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
+ fi
+else
+ kde_qt_verstring=""
+fi
+
+if test $kde_qtver = 4; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
+fi
+if test $kde_qtver = 3; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3 /usr/lib${kdelibsuff}/qt-3.3"
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+ if test "$PKG_CONFIG" != "no" ; then
+ if $PKG_CONFIG --exists qt-mt ; then
+ kde_qt_dirs="$kde_qt_dirs `$PKG_CONFIG --variable=prefix qt-mt`"
+ fi
+ fi
+fi
+if test $kde_qtver = 2; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
+fi
+if test $kde_qtver = 1; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt"
+fi
+
+
+ LIBPTHREAD=""
+
+ if test -n "$PTHREAD_LIBS"; then
+ if test "x$PTHREAD_LIBS" = "x-pthread" ; then
+ LIBPTHREAD="PTHREAD"
+ else
+ PTHREAD_LIBS_save="$PTHREAD_LIBS"
+ PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'`
+ { $as_echo "$as_me:$LINENO: checking for pthread_create in $PTHREAD_LIBS" >&5
+$as_echo_n "checking for pthread_create in $PTHREAD_LIBS... " >&6; }
+
+ kde_save_LDFLAGS="$LDFLAGS"
+ kde_save_LIBS="$LIBS"
+ LDFLAGS="$LDFLAGS $all_libraries"
+ case $host_os in
+ aix*) LDFLAGS="-brtl $LDFLAGS"
+ test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS"
+ ;;
+ esac
+ as_ac_Lib=`$as_echo "ac_cv_lib_$PTHREAD_LIBS''_pthread_create" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for pthread_create in -l$PTHREAD_LIBS" >&5
+$as_echo_n "checking for pthread_create in -l$PTHREAD_LIBS... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$PTHREAD_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_create ();
+int
+main ()
+{
+return pthread_create ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_Lib=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ LIBPTHREAD="$PTHREAD_LIBS_save"
+fi
+
+ LDFLAGS="$kde_save_LDFLAGS"
+ LIBS="$kde_save_LIBS"
+
+ PTHREAD_LIBS="$PTHREAD_LIBS_save"
+ fi
+ fi
+
+ if test -z "$LIBPTHREAD"; then
+ { $as_echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
+$as_echo_n "checking for pthread_create in -lpthread... " >&6; }
+if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_create ();
+int
+main ()
+{
+return pthread_create ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_pthread_pthread_create=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_pthread_pthread_create=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
+$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; }
+if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then
+ LIBPTHREAD="-lpthread"
+fi
+
+ fi
+
+ if test -z "$LIBPTHREAD" ; then
+ { $as_echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
+$as_echo_n "checking for pthread_create in -lpthread... " >&6; }
+ kde_safe_libs=$LIBS
+ LIBS="$LIBS -lpthread"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <pthread.h>
+int
+main ()
+{
+(void)pthread_create(0,0,0,0);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ LIBPTHREAD="-lpthread"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$kde_safe_libs
+ fi
+
+ if test "x$LIBPTHREAD" = "xPTHREAD" ; then
+ LIBPTHREAD=""
+ fi
+
+
+
+
+ USE_THREADS=""
+ if test -z "$LIBPTHREAD"; then
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -pthread" >&5
+$as_echo_n "checking whether $CXX supports -pthread... " >&6; }
+kde_cache=`echo pthread | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -pthread"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ USE_THREADS="-D_THREAD_SAFE -pthread"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+ fi
+
+
+
+ case $host_os in
+ solaris*)
+
+{ $as_echo "$as_me:$LINENO: checking whether $CXX supports -mt" >&5
+$as_echo_n "checking whether $CXX supports -mt... " >&6; }
+kde_cache=`echo mt | sed 'y% .=/+-,%____p__%'`
+if { as_var=kde_cv_prog_cxx_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -mt"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_prog_cxx_$kde_cache=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS="$save_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ USE_THREADS="-mt"
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+
+fi
+
+ CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4"
+ ;;
+ freebsd*)
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS"
+ ;;
+ aix*)
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
+ LIBPTHREAD="$LIBPTHREAD -lc_r"
+ ;;
+ linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="$CXXFLAGS --thread_safe"
+ NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe"
+ fi
+ ;;
+ *)
+ ;;
+ esac
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for extra includes" >&5
+$as_echo_n "checking for extra includes... " >&6; }
+
+# Check whether --with-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
+
+
+{ $as_echo "$as_me:$LINENO: result: $kde_use_extra_includes" >&5
+$as_echo "$kde_use_extra_includes" >&6; }
+
+kde_extra_libs=
+{ $as_echo "$as_me:$LINENO: checking for extra libs" >&5
+$as_echo_n "checking for extra libs... " >&6; }
+
+# Check whether --with-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
+
+
+
+{ $as_echo "$as_me:$LINENO: result: $kde_use_extra_libs" >&5
+$as_echo "$kde_use_extra_libs" >&6; }
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for libz" >&5
+$as_echo_n "checking for libz... " >&6; }
+if test "${ac_cv_lib_z+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+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 <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include<zlib.h>
+#include<string.h>
+
+int
+main ()
+{
+
+ char buf[42];
+ gzFile f = (gzFile) 0;
+ /* this would segfault.. but we only link, don't run */
+ (void) gzgets(f, buf, sizeof(buf));
+
+ return (strcmp(zlibVersion(), ZLIB_VERSION) == 0);
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "ac_cv_lib_z='-lz'"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "ac_cv_lib_z=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+
+fi
+if test ! "$ac_cv_lib_z" = no; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBZ 1
+_ACEOF
+
+ LIBZ="$ac_cv_lib_z"
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z" >&5
+$as_echo "$ac_cv_lib_z" >&6; }
+else
+ { { $as_echo "$as_me:$LINENO: error: not found.
+ Possibly configure picks up an outdated version
+ installed by XFree86. Remove it from your system.
+
+ Check your installation and look into config.log" >&5
+$as_echo "$as_me: error: not found.
+ Possibly configure picks up an outdated version
+ installed by XFree86. Remove it from your system.
+
+ Check your installation and look into config.log" >&2;}
+ { (exit 1); exit 1; }; }
+ LIBZ=""
+fi
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for libpng" >&5
+$as_echo_n "checking for libpng... " >&6; }
+if test "${ac_cv_lib_png+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+kde_save_LIBS="$LIBS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
+else
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
+fi
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "ac_cv_lib_png='-lpng $LIBZ -lm'"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "ac_cv_lib_png=no"
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+
+fi
+if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBPNG 1
+_ACEOF
+
+ LIBPNG="$ac_cv_lib_png"
+
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_png" >&5
+$as_echo "$ac_cv_lib_png" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ LIBPNG=""
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for libjpeg6b" >&5
+$as_echo_n "checking for libjpeg6b... " >&6; }
+if test "${ac_cv_lib_jpeg_6b+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+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 <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+void jpeg_CreateDecompress();
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+jpeg_CreateDecompress();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "ac_cv_lib_jpeg_6b=-ljpeg6b"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "ac_cv_lib_jpeg_6b=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS="$ac_save_LIBS"
+CFLAGS="$ac_save_CFLAGS"
+
+fi
+
+
+if eval "test ! \"`echo $ac_cv_lib_jpeg_6b`\" = no"; then
+ LIBJPEG="$ac_cv_lib_jpeg_6b"
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_6b" >&5
+$as_echo "$ac_cv_lib_jpeg_6b" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for libjpeg" >&5
+$as_echo_n "checking for libjpeg... " >&6; }
+if test "${ac_cv_lib_jpeg_normal+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+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 <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+void jpeg_CreateDecompress();
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+jpeg_CreateDecompress();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "ac_cv_lib_jpeg_normal=-ljpeg"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "ac_cv_lib_jpeg_normal=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS="$ac_save_LIBS"
+CFLAGS="$ac_save_CFLAGS"
+
+fi
+
+
+if eval "test ! \"`echo $ac_cv_lib_jpeg_normal`\" = no"; then
+ LIBJPEG="$ac_cv_lib_jpeg_normal"
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_normal" >&5
+$as_echo "$ac_cv_lib_jpeg_normal" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+ LIBJPEG=
+
+
+fi
+
+
+
+fi
+
+
+
+jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes"
+
+jpeg_incdir=NO
+for i in $jpeg_incdirs;
+do
+ for j in jpeglib.h;
+ do
+ echo "configure: 30420: $i/$j" >&5
+ if test -r "$i/$j"; then
+ echo "taking that" >&5
+ 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 <<_ACEOF
+#define HAVE_LIBJPEG 1
+_ACEOF
+
+else
+ if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
+ { $as_echo "$as_me:$LINENO: 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.
+" >&5
+$as_echo "$as_me: 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.
+" >&2;}
+ else
+ { $as_echo "$as_me:$LINENO: WARNING: libjpeg not found. disable JPEG support." >&5
+$as_echo "$as_me: WARNING: libjpeg not found. disable JPEG support." >&2;}
+ fi
+ jpeg_incdir=
+ LIBJPEG=
+fi
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for perl" >&5
+$as_echo_n "checking for perl... " >&6; }
+ if test -n "$PERL"; then
+ kde_cv_path="$PERL";
+ else
+ kde_cache=`echo perl | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$bindir $exec_prefix/bin $prefix/bin $dirs"
+ else dirs="$dirs $bindir $exec_prefix/bin $prefix/bin"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/perl"; then
+ if test -n ""
+ then
+ evalstr="$dir/perl 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/perl"
+ break
+ fi
+ else
+ kde_cv_path="$dir/perl"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: error: No Perl found in your $PATH.
+We need perl to generate some code." >&5
+$as_echo "$as_me: error: No Perl found in your $PATH.
+We need perl to generate some code." >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ PERL=$kde_cv_path
+
+ fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --enable-mt was given.
+if test "${enable_mt+set}" = set; then
+ enableval=$enable_mt; kde_use_qt_mt=$enableval
+else
+
+ if test $kde_qtver = 3; then
+ kde_use_qt_mt=yes
+ else
+ kde_use_qt_mt=no
+ fi
+
+
+fi
+
+
+USING_QT_MT=""
+
+
+KDE_MT_LDFLAGS=
+KDE_MT_LIBS=
+if test "x$kde_use_qt_mt" = "xyes"; then
+
+
+
+ if test -z "$LIBPTHREAD"; then
+ if test -z "$USE_THREADS"; then
+ kde_check_threading_default=no
+ else
+ kde_check_threading_default=yes
+ fi
+ else
+ kde_check_threading_default=yes
+ fi
+ # Check whether --enable-threading was given.
+if test "${enable_threading+set}" = set; then
+ enableval=$enable_threading; kde_use_threading=$enableval
+else
+ kde_use_threading=$kde_check_threading_default
+fi
+
+ if test "x$kde_use_threading" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LIBPTHREAD 1
+_ACEOF
+
+ fi
+
+ if test "x$kde_use_threading" = "xyes"; then
+ CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS"
+ KDE_MT_LDFLAGS="$USE_THREADS"
+ KDE_MT_LIBS="$LIBPTHREAD"
+ else
+ kde_use_qt_mt=no
+ fi
+fi
+
+
+
+kde_qt_was_given=yes
+
+if test -z "$LIBQT_GLOB"; then
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ LIBQT_GLOB="libqte.*"
+ else
+ LIBQT_GLOB="libqt.*"
+ fi
+fi
+
+if test "x$kde_use_qt_emb" = "xyes"; then
+ qtlib="qte"
+else
+ qtlib="qt"
+fi
+
+kde_int_qt="-l$qtlib"
+
+if test -z "$LIBQPE"; then
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ if test "x$kde_use_qt_emb_palm" = "xyes"; then
+ LIB_QPE="-lqpe"
+ else
+ LIB_QPE=""
+ fi
+ else
+ LIB_QPE=""
+ fi
+fi
+
+
+if test "x$kde_use_qt_mt" = "xyes"; then
+ LIBQT="-l$qtlib-mt"
+ kde_int_qt="-l$qtlib-mt"
+ LIBQT_GLOB="lib$qtlib-mt.*"
+ USING_QT_MT="using -mt"
+else
+ LIBQT="-l$qtlib"
+fi
+
+if test $kde_qtver != 1; then
+
+
+
+ LIBQT="$LIBQT $LIBPNG $LIBJPEG"
+fi
+
+if test $kde_qtver = 3; then
+
+ LIBQT="$LIBQT $LIBDL"
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for Qt" >&5
+$as_echo_n "checking for Qt... " >&6; }
+
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
+fi
+ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
+qt_libraries=""
+qt_includes=""
+
+# Check whether --with-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${kdelibsuff}
+ ac_qt_bindir="$withval"/bin
+
+fi
+
+
+
+# Check whether --with-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 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 test "${ac_cv_have_qt+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ #try to guess Qt locations
+
+qt_incdirs=""
+for dir in $kde_qt_dirs; do
+ qt_incdirs="$qt_incdirs $dir/include $dir"
+done
+if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test "$PKG_CONFIG" != "no" ; then
+ if $PKG_CONFIG --exists qt-mt ; then
+ qt_incdirs="$qt_incdirs `$PKG_CONFIG --variable=includedir qt-mt`"
+ fi
+fi
+qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 /usr/include/qt3 $x_includes"
+if test ! "$ac_qt_includes" = "NO"; then
+ qt_incdirs="$ac_qt_includes $qt_incdirs"
+fi
+
+if test "$kde_qtver" != "1"; then
+ kde_qt_header=qstyle.h
+else
+ kde_qt_header=qglobal.h
+fi
+
+
+qt_incdir=NO
+for i in $qt_incdirs;
+do
+ for j in $kde_qt_header;
+ do
+ echo "configure: 30766: $i/$j" >&5
+ if test -r "$i/$j"; then
+ echo "taking that" >&5
+ 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${kdelibsuff} $dir/lib $dir"
+done
+if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test "$PKG_CONFIG" != "no" ; then
+ if $PKG_CONFIG --exists qt-mt ; then
+ qt_libdirs="$qt_incdirs `$PKG_CONFIG --variable=libdir qt-mt`"
+ fi
+fi
+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
+for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
+ if test -e "$a"; then
+ LIBQT="$LIBQT ${kde_int_qt}_incremental"
+ break
+ fi
+done
+
+ac_qt_libraries="$qt_libdir"
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+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 $KDE_MT_LDFLAGS"
+LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
+
+
+
+cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qglobal.h>
+#include <qapplication.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
+#if QT_VERSION < 210
+#error 1
+#endif
+EOF
+fi
+fi
+
+if test "$kde_qtver" = "3"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qcursor.h>
+#include <qstylefactory.h>
+#include <private/qucomextra_p.h>
+EOF
+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();
+ Q_UNUSED(t);
+EOF
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+ QString s;
+ s.setLatin1("Elvis is alive", 14);
+EOF
+fi
+fi
+if test "$kde_qtver" = "3"; then
+cat >> conftest.$ac_ext <<EOF
+ (void)QStyleFactory::create(QString::null);
+ QCursor c(Qt::WhatsThisCursor);
+EOF
+fi
+cat >> conftest.$ac_ext <<EOF
+ return 0;
+}
+EOF
+
+
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && 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
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
+ ac_cv_have_qt="have_qt=no"
+ ac_qt_notfound=""
+ missing_qt_mt=""
+ if test "$ac_qt_includes" = NO; then
+ if test "$ac_qt_libraries" = NO; then
+ ac_qt_notfound="(headers and libraries)";
+ else
+ ac_qt_notfound="(headers)";
+ fi
+ else
+ if test "x$kde_use_qt_mt" = "xyes"; then
+ missing_qt_mt="
+Make sure that you have compiled Qt with thread support!"
+ ac_qt_notfound="(library $qtlib-mt)";
+ else
+ ac_qt_notfound="(library $qtlib)";
+ fi
+ fi
+
+ { { $as_echo "$as_me:$LINENO: error: Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
+For more details about this problem, look at the end of config.log.$missing_qt_mt" >&5
+$as_echo "$as_me: error: Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
+For more details about this problem, look at the end of config.log.$missing_qt_mt" >&2;}
+ { (exit 1); exit 1; }; }
+else
+ have_qt="yes"
+fi
+
+fi
+
+
+eval "$ac_cv_have_qt"
+
+if test "$have_qt" != yes; then
+ { $as_echo "$as_me:$LINENO: result: $have_qt" >&5
+$as_echo "$have_qt" >&6; };
+else
+ ac_cv_have_qt="have_qt=yes \
+ ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
+ { $as_echo "$as_me:$LINENO: result: libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT" >&5
+$as_echo "libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT" >&6; }
+
+ qt_libraries="$ac_qt_libraries"
+ qt_includes="$ac_qt_includes"
+fi
+
+if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then
+
+
+{ $as_echo "$as_me:$LINENO: checking if Qt compiles without flags" >&5
+$as_echo_n "checking if Qt compiles without flags... " >&6; }
+if test "${kde_cv_qt_direct+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+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"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
+else
+LIBS="$LIBQT $LIBSOCKET"
+fi
+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>
+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
+#if QT_VERSION < 210
+#error 1
+#endif
+EOF
+fi
+fi
+
+if test "$kde_qtver" = "3"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qcursor.h>
+#include <qstylefactory.h>
+#include <private/qucomextra_p.h>
+EOF
+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();
+ Q_UNUSED(t);
+EOF
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+ QString s;
+ s.setLatin1("Elvis is alive", 14);
+EOF
+fi
+fi
+if test "$kde_qtver" = "3"; then
+cat >> conftest.$ac_ext <<EOF
+ (void)QStyleFactory::create(QString::null);
+ QCursor c(Qt::WhatsThisCursor);
+EOF
+fi
+cat >> conftest.$ac_ext <<EOF
+ return 0;
+}
+EOF
+
+
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && 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
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+fi
+
+
+if test "$kde_cv_qt_direct" = "yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ qt_libraries=
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&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="$QT_LDFLAGS $all_libraries"
+fi
+test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
+
+
+
+
+
+ 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
+
+
+ { $as_echo "$as_me:$LINENO: checking for moc" >&5
+$as_echo_n "checking for moc... " >&6; }
+ if test -n "$MOC"; then
+ kde_cv_path="$MOC";
+ else
+ kde_cache=`echo moc | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$qt_bindirs $dirs"
+ else dirs="$dirs $qt_bindirs"
+ fi
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: 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.
+" >&5
+$as_echo "$as_me: 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.
+" >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ MOC=$kde_cv_path
+
+ fi
+
+ if test -z "$UIC_NOT_NEEDED"; then
+
+ { $as_echo "$as_me:$LINENO: checking for uic" >&5
+$as_echo_n "checking for uic... " >&6; }
+ if test -n "$UIC_PATH"; then
+ kde_cv_path="$UIC_PATH";
+ else
+ kde_cache=`echo uic | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$qt_bindirs $dirs"
+ else dirs="$dirs $qt_bindirs"
+ fi
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+ UIC_PATH=""
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ UIC_PATH=$kde_cv_path
+
+ fi
+
+ if test -z "$UIC_PATH" ; then
+
+ { $as_echo "$as_me:$LINENO: 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.
+" >&5
+$as_echo "$as_me: 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.
+" >&2;}
+
+ exit 1
+ else
+ UIC=$UIC_PATH
+
+ if test $kde_qtver = 3; then
+
+ { $as_echo "$as_me:$LINENO: checking whether uic supports -L " >&5
+$as_echo_n "checking whether uic supports -L ... " >&6; }
+ kde_cache=`echo L | sed 'y% .=/+-%____p_%'`
+ if { as_var=kde_cv_prog_uic_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ cat >conftest.ui <<EOT
+ <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
+EOT
+ ac_uic_testrun="$UIC_PATH -L /nonexistent conftest.ui >/dev/null"
+ if { (eval echo "$as_me:$LINENO: \"$ac_uic_testrun\"") >&5
+ (eval $ac_uic_testrun) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ eval "kde_cv_prog_uic_$kde_cache=yes"
+ else
+ eval "kde_cv_prog_uic_$kde_cache=no"
+ fi
+ rm -f conftest*
+
+fi
+
+
+ if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ ac_uic_supports_libpath=yes
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+ ac_uic_supports_libpath=no
+ fi
+
+
+ { $as_echo "$as_me:$LINENO: checking whether uic supports -nounload " >&5
+$as_echo_n "checking whether uic supports -nounload ... " >&6; }
+ kde_cache=`echo nounload | sed 'y% .=/+-%____p_%'`
+ if { as_var=kde_cv_prog_uic_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ cat >conftest.ui <<EOT
+ <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
+EOT
+ ac_uic_testrun="$UIC_PATH -nounload conftest.ui >/dev/null"
+ if { (eval echo "$as_me:$LINENO: \"$ac_uic_testrun\"") >&5
+ (eval $ac_uic_testrun) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ eval "kde_cv_prog_uic_$kde_cache=yes"
+ else
+ eval "kde_cv_prog_uic_$kde_cache=no"
+ fi
+ rm -f conftest*
+
+fi
+
+
+ if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+ ac_uic_supports_nounload=yes
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ :
+ ac_uic_supports_nounload=no
+ fi
+
+
+ if test x$ac_uic_supports_libpath = xyes; then
+ UIC="$UIC -L \$(kde_widgetdir)"
+ fi
+ if test x$ac_uic_supports_nounload = xyes; then
+ UIC="$UIC -nounload"
+ fi
+ fi
+ fi
+ else
+ UIC="echo uic not available: "
+ fi
+
+
+
+
+ UIC_TR="i18n"
+ if test $kde_qtver = 3; then
+ UIC_TR="tr2i18n"
+ fi
+
+
+
+
+
+if test -n "$LIBJPEG"; then
+{ $as_echo "$as_me:$LINENO: checking if Qt needs $LIBJPEG" >&5
+$as_echo_n "checking if Qt needs $LIBJPEG... " >&6; }
+if test "${kde_cv_qt_jpeg+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS $LIBQT"
+LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
+ac_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <qapplication.h>
+int
+main ()
+{
+
+ int argc;
+ char** argv;
+ QApplication app(argc, argv);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "kde_cv_qt_jpeg=no"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "kde_cv_qt_jpeg=yes"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS="$ac_save_LIBS"
+CXXFLAGS="$ac_save_CXXFLAGS"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+
+fi
+
+
+if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ LIBJPEG_QT='$(LIBJPEG)'
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ LIBJPEG_QT=
+fi
+
+
+
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
+else
+LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)'
+fi
+test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
+for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
+ if test -e "$a"; then
+ LIB_QT="$LIB_QT ${kde_int_qt}_incremental"
+ break
+ fi
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for rpath" >&5
+$as_echo_n "checking for rpath... " >&6; }
+# Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then
+ enableval=$enable_rpath; USE_RPATH=$enableval
+else
+ USE_RPATH=yes
+fi
+
+
+if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
+
+ KDE_RPATH="-R \$(libdir)"
+
+ if test "$kde_libraries" != "$libdir"; then
+ KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)"
+ fi
+
+ if test -n "$qt_libraries"; then
+ KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
+ fi
+ if test -n "$X_LDFLAGS"; then
+ X_RPATH="-R \$(x_libraries)"
+ KDE_RPATH="$KDE_RPATH $X_RPATH"
+ fi
+ if test -n "$KDE_EXTRA_RPATH"; then
+ KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
+ fi
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: result: $USE_RPATH" >&5
+$as_echo "$USE_RPATH" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for KDE" >&5
+$as_echo_n "checking for KDE... " >&6; }
+
+if test "${prefix}" != NONE; then
+ kde_includes=${includedir}
+
+savex=$exec_prefix
+test "x$exec_prefix" = xNONE && exec_prefix=$prefix
+tmp=$includedir
+while ac_kde_includes=`eval echo "$tmp"`; test "x$ac_kde_includes" != "x$tmp"; do tmp=$ac_kde_includes; done
+exec_prefix=$savex
+
+
+ kde_libraries=${libdir}
+
+savex=$exec_prefix
+test "x$exec_prefix" = xNONE && exec_prefix=$prefix
+tmp=$libdir
+while ac_kde_libraries=`eval echo "$tmp"`; test "x$ac_kde_libraries" != "x$tmp"; do tmp=$ac_kde_libraries; done
+exec_prefix=$savex
+
+
+else
+ ac_kde_includes=
+ ac_kde_libraries=
+ kde_libraries=""
+ kde_includes=""
+fi
+
+if test "${ac_cv_have_kde+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ #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 ""; then
+
+kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
+test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
+kde_incdirs="$ac_kde_includes $kde_incdirs"
+
+kde_incdir=NO
+for i in $kde_incdirs;
+do
+ for j in $kde_check_header;
+ do
+ echo "configure: 31649: $i/$j" >&5
+ if test -r "$i/$j"; then
+ echo "taking that" >&5
+ kde_incdir=$i
+ break 2
+ fi
+ done
+done
+
+ac_kde_includes="$kde_incdir"
+
+if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
+ { { $as_echo "$as_me:$LINENO: error:
+in the prefix, you've chosen, are no KDE headers installed. This will fail.
+So, check this please and use another prefix!" >&5
+$as_echo "$as_me: error:
+in the prefix, you've chosen, are no KDE headers installed. This will fail.
+So, check this please and use another prefix!" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
+test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs"
+kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
+
+kde_libdir=NO
+for i in $kde_libdirs;
+do
+ for j in $kde_check_lib;
+ do
+ echo "configure: 31679: $i/$j" >&5
+ if test -r "$i/$j"; then
+ echo "taking that" >&5
+ kde_libdir=$i
+ break 2
+ fi
+ done
+done
+
+ac_kde_libraries="$kde_libdir"
+
+kde_widgetdir=NO
+
+kde_widgetdir=NO
+for i in $kde_libdirs;
+do
+ for j in "kde3/plugins/designer/kdewidgets.la";
+ do
+ echo "configure: 31697: $i/$j" >&5
+ if test -r "$i/$j"; then
+ echo "taking that" >&5
+ kde_widgetdir=$i
+ break 2
+ fi
+ done
+done
+
+
+if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
+{ { $as_echo "$as_me:$LINENO: error:
+in the prefix, you've chosen, are no KDE libraries installed. This will fail.
+So, check this please and use another prefix!" >&5
+$as_echo "$as_me: error:
+in the prefix, you've chosen, are no KDE libraries installed. This will fail.
+So, check this please and use another prefix!" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then
+{ { $as_echo "$as_me:$LINENO: error:
+I can't find the designer plugins. These are required and should have been installed
+by kdelibs" >&5
+$as_echo "$as_me: error:
+I can't find the designer plugins. These are required and should have been installed
+by kdelibs" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+if test -n "$kde_widgetdir"; then
+ kde_widgetdir="$kde_widgetdir/kde3/plugins/designer"
+fi
+
+
+if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then
+ ac_cv_have_kde="have_kde=no"
+else
+ ac_cv_have_kde="have_kde=yes \
+ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+fi
+
+else
+ ac_cv_have_kde="have_kde=no"
+
+fi
+
+fi
+
+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"
+ { $as_echo "$as_me:$LINENO: result: will be installed in $ac_kde_prefix" >&5
+$as_echo "will be installed in $ac_kde_prefix" >&6; }
+ else
+ ac_kde_exec_prefix="$exec_prefix"
+ { $as_echo "$as_me:$LINENO: result: will be installed in $ac_kde_prefix and $ac_kde_exec_prefix" >&5
+$as_echo "will be installed in $ac_kde_prefix and $ac_kde_exec_prefix" >&6; }
+ fi
+
+ kde_libraries="${libdir}"
+ kde_includes="${includedir}"
+
+else
+ ac_cv_have_kde="have_kde=yes \
+ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+ { $as_echo "$as_me:$LINENO: result: libraries $ac_kde_libraries, headers $ac_kde_includes" >&5
+$as_echo "libraries $ac_kde_libraries, headers $ac_kde_includes" >&6; }
+
+ kde_libraries="$ac_kde_libraries"
+ kde_includes="$ac_kde_includes"
+fi
+
+
+
+if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then
+ KDE_INCLUDES=""
+else
+ KDE_INCLUDES="-I$kde_includes"
+ all_includes="$KDE_INCLUDES $all_includes"
+fi
+
+KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION"
+
+KDE_LDFLAGS="-L$kde_libraries"
+if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then
+ all_libraries="$KDE_LDFLAGS $all_libraries"
+fi
+
+
+
+
+
+
+all_libraries="$all_libraries $USER_LDFLAGS"
+all_includes="$all_includes $USER_INCLUDES"
+
+
+
+if test -z ""; then
+
+
+
+if test x$ac_uic_supports_libpath = xyes; then
+
+{ $as_echo "$as_me:$LINENO: checking if UIC has KDE plugins available" >&5
+$as_echo_n "checking if UIC has KDE plugins available... " >&6; }
+if test "${kde_cv_uic_plugins+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+cat > actest.ui << EOF
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>NewConnectionDialog</class>
+<widget class="QDialog">
+ <widget class="KLineEdit">
+ <property name="name">
+ <cstring>testInput</cstring>
+ </property>
+ </widget>
+</widget>
+</UI>
+EOF
+
+
+
+kde_cv_uic_plugins=no
+kde_line="$UIC_PATH -L $kde_widgetdir"
+if test x$ac_uic_supports_nounload = xyes; then
+ kde_line="$kde_line -nounload"
+fi
+kde_line="$kde_line -impl actest.h actest.ui > actest.cpp"
+if { (eval echo "$as_me:$LINENO: \"$kde_line\"") >&5
+ (eval $kde_line) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # if you're trying to debug this check and think it's incorrect,
+ # better check your installation. The check _is_ correct - your
+ # installation is not.
+ if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then
+ kde_cv_uic_plugins=yes
+ fi
+fi
+rm -f actest.ui actest.cpp
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: result: $kde_cv_uic_plugins" >&5
+$as_echo "$kde_cv_uic_plugins" >&6; }
+if test "$kde_cv_uic_plugins" != yes; then
+ { { $as_echo "$as_me:$LINENO: error:
+you need to install kdelibs first.
+
+If you did install kdelibs, then the Qt version that is picked up by
+this configure is not the same version you used to compile kdelibs.
+The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the
+_same Qt version_, compiled with the _same compiler_ and the same Qt
+configuration settings.
+" >&5
+$as_echo "$as_me: error:
+you need to install kdelibs first.
+
+If you did install kdelibs, then the Qt version that is picked up by
+this configure is not the same version you used to compile kdelibs.
+The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the
+_same Qt version_, compiled with the _same compiler_ and the same Qt
+configuration settings.
+" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+fi
+
+fi
+
+ac_kde_libraries="$kde_libdir"
+
+
+
+
+
+ # Check whether --enable-path-check was given.
+if test "${enable_path_check+set}" = set; then
+ enableval=$enable_path_check;
+ if test "$enableval" = "no";
+ then ac_use_path_checking="default"
+ else ac_use_path_checking=""
+ fi
+
+else
+
+ if test "$kde_qtver" = 1;
+ then ac_use_path_checking=""
+ else ac_use_path_checking="default"
+ fi
+
+
+fi
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for KDE paths" >&5
+$as_echo_n "checking for KDE paths... " >&6; }
+kde_result=""
+kde_cached_paths=yes
+if test "${kde_cv_all_paths+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+
+if test "$ac_use_path_checking" = "default"; then
+
+ if test -z "$kde_htmldir"; then
+ kde_htmldir='\${datadir}/doc/HTML'
+ fi
+ if test -z "$kde_appsdir"; then
+ kde_appsdir='\${datadir}/applnk'
+ fi
+ if test -z "$kde_icondir"; then
+ kde_icondir='\${datadir}/icons'
+ fi
+ if test -z "$kde_sounddir"; then
+ kde_sounddir='\${datadir}/sounds'
+ fi
+ if test -z "$kde_datadir"; then
+ kde_datadir='\${datadir}/apps'
+ fi
+ if test -z "$kde_locale"; then
+ kde_locale='\${datadir}/locale'
+ fi
+ if test -z "$kde_cgidir"; then
+ kde_cgidir='\${exec_prefix}/cgi-bin'
+ fi
+ if test -z "$kde_confdir"; then
+ kde_confdir='\${datadir}/config'
+ fi
+ if test -z "$kde_kcfgdir"; then
+ kde_kcfgdir='\${datadir}/config.kcfg'
+ fi
+ if test -z "$kde_mimedir"; then
+ kde_mimedir='\${datadir}/mimelnk'
+ fi
+ if test -z "$kde_toolbardir"; then
+ kde_toolbardir='\${datadir}/toolbar'
+ fi
+ if test -z "$kde_wallpaperdir"; then
+ kde_wallpaperdir='\${datadir}/wallpapers'
+ fi
+ if test -z "$kde_templatesdir"; then
+ kde_templatesdir='\${datadir}/templates'
+ fi
+ if test -z "$kde_bindir"; then
+ kde_bindir='\${exec_prefix}/bin'
+ fi
+ if test -z "$kde_servicesdir"; then
+ kde_servicesdir='\${datadir}/services'
+ fi
+ if test -z "$kde_servicetypesdir"; then
+ kde_servicetypesdir='\${datadir}/servicetypes'
+ fi
+ if test -z "$kde_moduledir"; then
+ if test "$kde_qtver" = "2"; then
+ kde_moduledir='\${libdir}/kde2'
+ else
+ kde_moduledir='\${libdir}/kde3'
+ fi
+ fi
+ if test -z "$kde_styledir"; then
+ kde_styledir='\${libdir}/kde3/plugins/styles'
+ fi
+ if test -z "$kde_widgetdir"; then
+ kde_widgetdir='\${libdir}/kde3/plugins/designer'
+ fi
+ if test -z "$xdg_appsdir"; then
+ xdg_appsdir='\${datadir}/applications/kde'
+ fi
+ if test -z "$xdg_menudir"; then
+ xdg_menudir='\${sysconfdir}/xdg/menus'
+ fi
+ if test -z "$xdg_directorydir"; then
+ xdg_directorydir='\${datadir}/desktop-directories'
+ fi
+
+
+ kde_cv_all_paths="kde_have_all_paths=\"yes\" \
+ kde_htmldir=\"$kde_htmldir\" \
+ kde_appsdir=\"$kde_appsdir\" \
+ kde_icondir=\"$kde_icondir\" \
+ kde_sounddir=\"$kde_sounddir\" \
+ kde_datadir=\"$kde_datadir\" \
+ kde_locale=\"$kde_locale\" \
+ kde_cgidir=\"$kde_cgidir\" \
+ kde_confdir=\"$kde_confdir\" \
+ kde_kcfgdir=\"$kde_kcfgdir\" \
+ kde_mimedir=\"$kde_mimedir\" \
+ kde_toolbardir=\"$kde_toolbardir\" \
+ kde_wallpaperdir=\"$kde_wallpaperdir\" \
+ kde_templatesdir=\"$kde_templatesdir\" \
+ kde_bindir=\"$kde_bindir\" \
+ kde_servicesdir=\"$kde_servicesdir\" \
+ kde_servicetypesdir=\"$kde_servicetypesdir\" \
+ kde_moduledir=\"$kde_moduledir\" \
+ kde_styledir=\"$kde_styledir\" \
+ kde_widgetdir=\"$kde_widgetdir\" \
+ xdg_appsdir=\"$xdg_appsdir\" \
+ xdg_menudir=\"$xdg_menudir\" \
+ xdg_directorydir=\"$xdg_directorydir\" \
+ kde_result=defaults"
+
+
+else
+
+ if test $kde_qtver = 1; then
+ { $as_echo "$as_me:$LINENO: result: compiling" >&5
+$as_echo "compiling" >&6; }
+
+
+ { $as_echo "$as_me:$LINENO: checking for KDE headers installed" >&5
+$as_echo_n "checking for KDE headers installed... " >&6; }
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+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
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+#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");
+ printf("kde_styledir=\\"/tmp/dummy\\"\n");
+ printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
+ printf("xdg_appsdir=\\"/tmp/dummy\\"\n");
+ printf("xdg_menudir=\\"/tmp/dummy\\"\n");
+ printf("xdg_directorydir=\\"/tmp/dummy\\"\n");
+ printf("kde_kcfgdir=\\"/tmp/dummy\\"\n");
+ return 0;
+ }
+EOF
+
+ ac_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$all_includes $CPPFLAGS"
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { { $as_echo "$as_me:$LINENO: 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." >&5
+$as_echo "$as_me: 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." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ CPPFLAGS=$ac_save_CPPFLAGS
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+ 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
+
+{ $as_echo "$as_me:$LINENO: checking for KDE libraries installed" >&5
+$as_echo_n "checking for KDE libraries installed... " >&6; }
+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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { { $as_echo "$as_me:$LINENO: 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." >&5
+$as_echo "$as_me: 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." >&2;}
+ { (exit 1); exit 1; }; }
+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_cv_all_paths="kde_have_all_paths=\"yes\" \
+ kde_htmldir=\"$kde_htmldir\" \
+ kde_appsdir=\"$kde_appsdir\" \
+ kde_icondir=\"$kde_icondir\" \
+ kde_sounddir=\"$kde_sounddir\" \
+ kde_datadir=\"$kde_datadir\" \
+ kde_locale=\"$kde_locale\" \
+ kde_cgidir=\"$kde_cgidir\" \
+ kde_confdir=\"$kde_confdir\" \
+ kde_kcfgdir=\"$kde_kcfgdir\" \
+ kde_mimedir=\"$kde_mimedir\" \
+ kde_toolbardir=\"$kde_toolbardir\" \
+ kde_wallpaperdir=\"$kde_wallpaperdir\" \
+ kde_templatesdir=\"$kde_templatesdir\" \
+ kde_bindir=\"$kde_bindir\" \
+ kde_servicesdir=\"$kde_servicesdir\" \
+ kde_servicetypesdir=\"$kde_servicetypesdir\" \
+ kde_moduledir=\"$kde_moduledir\" \
+ kde_styledir=\"$kde_styledir\" \
+ kde_widgetdir=\"$kde_widgetdir\" \
+ xdg_appsdir=\"$xdg_appsdir\" \
+ xdg_menudir=\"$xdg_menudir\" \
+ xdg_directorydir=\"$xdg_directorydir\" \
+ kde_result=$kde_result"
+
+
+
+ else
+ { { $as_echo "$as_me:$LINENO: error: path checking not yet supported for KDE 2" >&5
+$as_echo "$as_me: error: path checking not yet supported for KDE 2" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+fi
+
+ kde_cached_paths=no
+
+fi
+
+eval "$kde_cv_all_paths"
+ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
+ test -z "$kde_icondir" || test -z "$kde_sounddir" ||
+ test -z "$kde_datadir" || test -z "$kde_locale" ||
+ test -z "$kde_cgidir" || test -z "$kde_confdir" ||
+ test -z "$kde_kcfgdir" ||
+ test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
+ test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
+ test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
+ test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
+ test -z "$kde_styledir" || test -z "kde_widgetdir" ||
+ test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" ||
+ test "x$kde_have_all_paths" != "xyes"; then
+ kde_have_all_paths=no
+ fi
+
+if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
+ # wrong values were cached, may be, we can set better ones
+ kde_result=
+ kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
+ kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir=
+ kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
+ kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
+ kde_have_all_paths=
+ kde_styledir=
+ kde_widgetdir=
+ xdg_appsdir = xdg_menudir= xdg_directorydir=
+
+if test "$ac_use_path_checking" = "default"; then
+
+ if test -z "$kde_htmldir"; then
+ kde_htmldir='\${datadir}/doc/HTML'
+ fi
+ if test -z "$kde_appsdir"; then
+ kde_appsdir='\${datadir}/applnk'
+ fi
+ if test -z "$kde_icondir"; then
+ kde_icondir='\${datadir}/icons'
+ fi
+ if test -z "$kde_sounddir"; then
+ kde_sounddir='\${datadir}/sounds'
+ fi
+ if test -z "$kde_datadir"; then
+ kde_datadir='\${datadir}/apps'
+ fi
+ if test -z "$kde_locale"; then
+ kde_locale='\${datadir}/locale'
+ fi
+ if test -z "$kde_cgidir"; then
+ kde_cgidir='\${exec_prefix}/cgi-bin'
+ fi
+ if test -z "$kde_confdir"; then
+ kde_confdir='\${datadir}/config'
+ fi
+ if test -z "$kde_kcfgdir"; then
+ kde_kcfgdir='\${datadir}/config.kcfg'
+ fi
+ if test -z "$kde_mimedir"; then
+ kde_mimedir='\${datadir}/mimelnk'
+ fi
+ if test -z "$kde_toolbardir"; then
+ kde_toolbardir='\${datadir}/toolbar'
+ fi
+ if test -z "$kde_wallpaperdir"; then
+ kde_wallpaperdir='\${datadir}/wallpapers'
+ fi
+ if test -z "$kde_templatesdir"; then
+ kde_templatesdir='\${datadir}/templates'
+ fi
+ if test -z "$kde_bindir"; then
+ kde_bindir='\${exec_prefix}/bin'
+ fi
+ if test -z "$kde_servicesdir"; then
+ kde_servicesdir='\${datadir}/services'
+ fi
+ if test -z "$kde_servicetypesdir"; then
+ kde_servicetypesdir='\${datadir}/servicetypes'
+ fi
+ if test -z "$kde_moduledir"; then
+ if test "$kde_qtver" = "2"; then
+ kde_moduledir='\${libdir}/kde2'
+ else
+ kde_moduledir='\${libdir}/kde3'
+ fi
+ fi
+ if test -z "$kde_styledir"; then
+ kde_styledir='\${libdir}/kde3/plugins/styles'
+ fi
+ if test -z "$kde_widgetdir"; then
+ kde_widgetdir='\${libdir}/kde3/plugins/designer'
+ fi
+ if test -z "$xdg_appsdir"; then
+ xdg_appsdir='\${datadir}/applications/kde'
+ fi
+ if test -z "$xdg_menudir"; then
+ xdg_menudir='\${sysconfdir}/xdg/menus'
+ fi
+ if test -z "$xdg_directorydir"; then
+ xdg_directorydir='\${datadir}/desktop-directories'
+ fi
+
+
+ kde_cv_all_paths="kde_have_all_paths=\"yes\" \
+ kde_htmldir=\"$kde_htmldir\" \
+ kde_appsdir=\"$kde_appsdir\" \
+ kde_icondir=\"$kde_icondir\" \
+ kde_sounddir=\"$kde_sounddir\" \
+ kde_datadir=\"$kde_datadir\" \
+ kde_locale=\"$kde_locale\" \
+ kde_cgidir=\"$kde_cgidir\" \
+ kde_confdir=\"$kde_confdir\" \
+ kde_kcfgdir=\"$kde_kcfgdir\" \
+ kde_mimedir=\"$kde_mimedir\" \
+ kde_toolbardir=\"$kde_toolbardir\" \
+ kde_wallpaperdir=\"$kde_wallpaperdir\" \
+ kde_templatesdir=\"$kde_templatesdir\" \
+ kde_bindir=\"$kde_bindir\" \
+ kde_servicesdir=\"$kde_servicesdir\" \
+ kde_servicetypesdir=\"$kde_servicetypesdir\" \
+ kde_moduledir=\"$kde_moduledir\" \
+ kde_styledir=\"$kde_styledir\" \
+ kde_widgetdir=\"$kde_widgetdir\" \
+ xdg_appsdir=\"$xdg_appsdir\" \
+ xdg_menudir=\"$xdg_menudir\" \
+ xdg_directorydir=\"$xdg_directorydir\" \
+ kde_result=defaults"
+
+
+else
+
+ if test $kde_qtver = 1; then
+ { $as_echo "$as_me:$LINENO: result: compiling" >&5
+$as_echo "compiling" >&6; }
+
+
+ { $as_echo "$as_me:$LINENO: checking for KDE headers installed" >&5
+$as_echo_n "checking for KDE headers installed... " >&6; }
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+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
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+#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");
+ printf("kde_styledir=\\"/tmp/dummy\\"\n");
+ printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
+ printf("xdg_appsdir=\\"/tmp/dummy\\"\n");
+ printf("xdg_menudir=\\"/tmp/dummy\\"\n");
+ printf("xdg_directorydir=\\"/tmp/dummy\\"\n");
+ printf("kde_kcfgdir=\\"/tmp/dummy\\"\n");
+ return 0;
+ }
+EOF
+
+ ac_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$all_includes $CPPFLAGS"
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { { $as_echo "$as_me:$LINENO: 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." >&5
+$as_echo "$as_me: 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." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ CPPFLAGS=$ac_save_CPPFLAGS
+
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+ 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
+
+{ $as_echo "$as_me:$LINENO: checking for KDE libraries installed" >&5
+$as_echo_n "checking for KDE libraries installed... " >&6; }
+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 { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { { $as_echo "$as_me:$LINENO: 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." >&5
+$as_echo "$as_me: 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." >&2;}
+ { (exit 1); exit 1; }; }
+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_cv_all_paths="kde_have_all_paths=\"yes\" \
+ kde_htmldir=\"$kde_htmldir\" \
+ kde_appsdir=\"$kde_appsdir\" \
+ kde_icondir=\"$kde_icondir\" \
+ kde_sounddir=\"$kde_sounddir\" \
+ kde_datadir=\"$kde_datadir\" \
+ kde_locale=\"$kde_locale\" \
+ kde_cgidir=\"$kde_cgidir\" \
+ kde_confdir=\"$kde_confdir\" \
+ kde_kcfgdir=\"$kde_kcfgdir\" \
+ kde_mimedir=\"$kde_mimedir\" \
+ kde_toolbardir=\"$kde_toolbardir\" \
+ kde_wallpaperdir=\"$kde_wallpaperdir\" \
+ kde_templatesdir=\"$kde_templatesdir\" \
+ kde_bindir=\"$kde_bindir\" \
+ kde_servicesdir=\"$kde_servicesdir\" \
+ kde_servicetypesdir=\"$kde_servicetypesdir\" \
+ kde_moduledir=\"$kde_moduledir\" \
+ kde_styledir=\"$kde_styledir\" \
+ kde_widgetdir=\"$kde_widgetdir\" \
+ xdg_appsdir=\"$xdg_appsdir\" \
+ xdg_menudir=\"$xdg_menudir\" \
+ xdg_directorydir=\"$xdg_directorydir\" \
+ kde_result=$kde_result"
+
+
+
+ else
+ { { $as_echo "$as_me:$LINENO: error: path checking not yet supported for KDE 2" >&5
+$as_echo "$as_me: error: path checking not yet supported for KDE 2" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+fi
+
+ eval "$kde_cv_all_paths"
+ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
+ test -z "$kde_icondir" || test -z "$kde_sounddir" ||
+ test -z "$kde_datadir" || test -z "$kde_locale" ||
+ test -z "$kde_cgidir" || test -z "$kde_confdir" ||
+ test -z "$kde_kcfgdir" ||
+ test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
+ test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
+ test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
+ test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
+ test -z "$kde_styledir" || test -z "kde_widgetdir" ||
+ test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" ||
+ test "x$kde_have_all_paths" != "xyes"; then
+ kde_have_all_paths=no
+ fi
+
+ kde_result="$kde_result (cache overridden)"
+fi
+if test "$kde_have_all_paths" = "no"; then
+ { { $as_echo "$as_me:$LINENO: 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!)
+" >&5
+$as_echo "$as_me: 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!)
+" >&2;}
+ { (exit 1); exit 1; }; }
+else
+ rm -f conftest*
+ { $as_echo "$as_me:$LINENO: result: $kde_result" >&5
+$as_echo "$kde_result" >&6; }
+fi
+
+bindir=$kde_bindir
+
+
+
+# Check whether --with-arts was given.
+if test "${with_arts+set}" = set; then
+ withval=$with_arts; build_arts=$withval
+else
+ build_arts=yes
+
+fi
+
+ if test "$build_arts" '!=' "no"; then
+ include_ARTS_TRUE=
+ include_ARTS_FALSE='#'
+else
+ include_ARTS_TRUE='#'
+ include_ARTS_FALSE=
+fi
+
+ if test "$build_arts" = "no"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define WITHOUT_ARTS 1
+_ACEOF
+
+ fi
+
+
+ kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
+ test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
+ if test -n "$KDEDIRS"; then
+ kde_save_IFS=$IFS
+ IFS=:
+ for dir in $KDEDIRS; do
+ kde_default_bindirs="$dir/bin $kde_default_bindirs "
+ done
+ IFS=$kde_save_IFS
+ fi
+
+ kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs"
+
+ { $as_echo "$as_me:$LINENO: checking for dcopidl" >&5
+$as_echo_n "checking for dcopidl... " >&6; }
+ if test -n "$DCOPIDL"; then
+ kde_cv_path="$DCOPIDL";
+ else
+ kde_cache=`echo dcopidl | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$kde_default_bindirs $dirs"
+ else dirs="$dirs $kde_default_bindirs"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/dcopidl"; then
+ if test -n ""
+ then
+ evalstr="$dir/dcopidl 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/dcopidl"
+ break
+ fi
+ else
+ kde_cv_path="$dir/dcopidl"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: error: The important program dcopidl was not found!
+Please check whether you installed KDE correctly.
+" >&5
+$as_echo "$as_me: error: The important program dcopidl was not found!
+Please check whether you installed KDE correctly.
+" >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ DCOPIDL=$kde_cv_path
+
+ fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for dcopidl2cpp" >&5
+$as_echo_n "checking for dcopidl2cpp... " >&6; }
+ if test -n "$DCOPIDL2CPP"; then
+ kde_cv_path="$DCOPIDL2CPP";
+ else
+ kde_cache=`echo dcopidl2cpp | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$kde_default_bindirs $dirs"
+ else dirs="$dirs $kde_default_bindirs"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/dcopidl2cpp"; then
+ if test -n ""
+ then
+ evalstr="$dir/dcopidl2cpp 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/dcopidl2cpp"
+ break
+ fi
+ else
+ kde_cv_path="$dir/dcopidl2cpp"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: error: The important program dcopidl2cpp was not found!
+Please check whether you installed KDE correctly.
+" >&5
+$as_echo "$as_me: error: The important program dcopidl2cpp was not found!
+Please check whether you installed KDE correctly.
+" >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ DCOPIDL2CPP=$kde_cv_path
+
+ fi
+
+ if test "$build_arts" '!=' "no"; then
+
+ { $as_echo "$as_me:$LINENO: checking for mcopidl" >&5
+$as_echo_n "checking for mcopidl... " >&6; }
+ if test -n "$MCOPIDL"; then
+ kde_cv_path="$MCOPIDL";
+ else
+ kde_cache=`echo mcopidl | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$kde_default_bindirs $dirs"
+ else dirs="$dirs $kde_default_bindirs"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/mcopidl"; then
+ if test -n ""
+ then
+ evalstr="$dir/mcopidl 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/mcopidl"
+ break
+ fi
+ else
+ kde_cv_path="$dir/mcopidl"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: error: The important program mcopidl was not found!
+Please check whether you installed aRts correctly or use
+--without-arts to compile without aRts support (this will remove functionality).
+" >&5
+$as_echo "$as_me: error: The important program mcopidl was not found!
+Please check whether you installed aRts correctly or use
+--without-arts to compile without aRts support (this will remove functionality).
+" >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ MCOPIDL=$kde_cv_path
+
+ fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for artsc-config" >&5
+$as_echo_n "checking for artsc-config... " >&6; }
+ if test -n "$ARTSCCONFIG"; then
+ kde_cv_path="$ARTSCCONFIG";
+ else
+ kde_cache=`echo artsc-config | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$kde_default_bindirs $dirs"
+ else dirs="$dirs $kde_default_bindirs"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/artsc-config"; then
+ if test -n ""
+ then
+ evalstr="$dir/artsc-config 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/artsc-config"
+ break
+ fi
+ else
+ kde_cv_path="$dir/artsc-config"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: error: The important program artsc-config was not found!
+Please check whether you installed aRts correctly or use
+--without-arts to compile without aRts support (this will remove functionality).
+" >&5
+$as_echo "$as_me: error: The important program artsc-config was not found!
+Please check whether you installed aRts correctly or use
+--without-arts to compile without aRts support (this will remove functionality).
+" >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ ARTSCCONFIG=$kde_cv_path
+
+ fi
+
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking for meinproc" >&5
+$as_echo_n "checking for meinproc... " >&6; }
+ if test -n "$MEINPROC"; then
+ kde_cv_path="$MEINPROC";
+ else
+ kde_cache=`echo meinproc | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$kde_default_bindirs $dirs"
+ else dirs="$dirs $kde_default_bindirs"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/meinproc"; then
+ if test -n ""
+ then
+ evalstr="$dir/meinproc 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/meinproc"
+ break
+ fi
+ else
+ kde_cv_path="$dir/meinproc"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ MEINPROC=$kde_cv_path
+
+ fi
+
+
+ kde32ornewer=1
+ kde33ornewer=1
+ if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then
+ kde32ornewer=
+ kde33ornewer=
+ else
+ if test "$kde_qtver" = "3"; then
+ if test "$kde_qtsubver" -le 1; then
+ kde32ornewer=
+ fi
+ if test "$kde_qtsubver" -le 2; then
+ kde33ornewer=
+ fi
+ if test "$KDECONFIG" != "compiled"; then
+ if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then
+ kde33ornewer=
+ fi
+ fi
+ fi
+ fi
+
+ if test -n "$kde32ornewer"; then
+
+ { $as_echo "$as_me:$LINENO: checking for kconfig_compiler" >&5
+$as_echo_n "checking for kconfig_compiler... " >&6; }
+ if test -n "$KCONFIG_COMPILER"; then
+ kde_cv_path="$KCONFIG_COMPILER";
+ else
+ kde_cache=`echo kconfig_compiler | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$kde_default_bindirs $dirs"
+ else dirs="$dirs $kde_default_bindirs"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/kconfig_compiler"; then
+ if test -n ""
+ then
+ evalstr="$dir/kconfig_compiler 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/kconfig_compiler"
+ break
+ fi
+ else
+ kde_cv_path="$dir/kconfig_compiler"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: error: The important program kconfig_compiler was not found!
+Please check whether you installed KDE correctly.
+" >&5
+$as_echo "$as_me: error: The important program kconfig_compiler was not found!
+Please check whether you installed KDE correctly.
+" >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ KCONFIG_COMPILER=$kde_cv_path
+
+ fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for dcopidlng" >&5
+$as_echo_n "checking for dcopidlng... " >&6; }
+ if test -n "$DCOPIDLNG"; then
+ kde_cv_path="$DCOPIDLNG";
+ else
+ kde_cache=`echo dcopidlng | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$kde_default_bindirs $dirs"
+ else dirs="$dirs $kde_default_bindirs"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/dcopidlng"; then
+ if test -n ""
+ then
+ evalstr="$dir/dcopidlng 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/dcopidlng"
+ break
+ fi
+ else
+ kde_cv_path="$dir/dcopidlng"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: error: The important program dcopidlng was not found!
+Please check whether you installed KDE correctly.
+" >&5
+$as_echo "$as_me: error: The important program dcopidlng was not found!
+Please check whether you installed KDE correctly.
+" >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ DCOPIDLNG=$kde_cv_path
+
+ fi
+
+ fi
+ if test -n "$kde33ornewer"; then
+
+ { $as_echo "$as_me:$LINENO: checking for makekdewidgets" >&5
+$as_echo_n "checking for makekdewidgets... " >&6; }
+ if test -n "$MAKEKDEWIDGETS"; then
+ kde_cv_path="$MAKEKDEWIDGETS";
+ else
+ kde_cache=`echo makekdewidgets | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="$kde_default_bindirs $dirs"
+ else dirs="$dirs $kde_default_bindirs"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/makekdewidgets"; then
+ if test -n ""
+ then
+ evalstr="$dir/makekdewidgets 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/makekdewidgets"
+ break
+ fi
+ else
+ kde_cv_path="$dir/makekdewidgets"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+
+ { { $as_echo "$as_me:$LINENO: error: The important program makekdewidgets was not found!
+Please check whether you installed KDE correctly.
+" >&5
+$as_echo "$as_me: error: The important program makekdewidgets was not found!
+Please check whether you installed KDE correctly.
+" >&2;}
+ { (exit 1); exit 1; }; }
+
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ MAKEKDEWIDGETS=$kde_cv_path
+
+ fi
+
+
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking for xmllint" >&5
+$as_echo_n "checking for xmllint... " >&6; }
+ if test -n "$XMLLINT"; then
+ kde_cv_path="$XMLLINT";
+ else
+ kde_cache=`echo xmllint | sed 'y%./+-%__p_%'`
+
+ if { as_var=kde_cv_path_$kde_cache; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z ""; then dirs="${prefix}/bin ${exec_prefix}/bin $dirs"
+ else dirs="$dirs ${prefix}/bin ${exec_prefix}/bin"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/xmllint"; then
+ if test -n ""
+ then
+ evalstr="$dir/xmllint 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/xmllint"
+ break
+ fi
+ else
+ kde_cv_path="$dir/xmllint"
+ 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
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+ XMLLINT=""
+ else
+ { $as_echo "$as_me:$LINENO: result: $kde_cv_path" >&5
+$as_echo "$kde_cv_path" >&6; }
+ XMLLINT=$kde_cv_path
+
+ fi
+
+
+ if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then
+ kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
+ test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
+
+KDE_XSL_STYLESHEET=NO
+for i in $kde_sharedirs;
+do
+ for j in apps/ksgmltools2/customization/kde-chunk.xsl;
+ do
+ echo "configure: 33216: $i/$j" >&5
+ if test -r "$i/$j"; then
+ echo "taking that" >&5
+ KDE_XSL_STYLESHEET=$i
+ break 2
+ fi
+ done
+done
+
+ if test "$KDE_XSL_STYLESHEET" = "NO"; then
+ KDE_XSL_STYLESHEET=""
+ else
+ KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
+ fi
+ fi
+
+ DCOP_DEPENDENCIES='$(DCOPIDL)'
+ if test -n "$kde32ornewer"; then
+ KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)'
+ DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)'
+
+
+
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+kdeinitdir='$(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
+
+
+
+
+
+
+if test $kde_qtver = 3; then
+ case $host in
+ *cygwin*) lib_kded="-lkdeinit_kded" ;;
+ *) lib_kded="" ;;
+ esac
+ LIB_KDED=$lib_kded
+
+ LIB_KDECORE="-lkdecore"
+
+ LIB_KDEUI="-lkdeui"
+
+ LIB_KIO="-lkio"
+
+ LIB_KJS="-lkjs"
+
+ LIB_SMB="-lsmb"
+
+ LIB_KAB="-lkab"
+
+ LIB_KABC="-lkabc"
+
+ LIB_KHTML="-lkhtml"
+
+ LIB_KSPELL="-lkspell"
+
+ LIB_KPARTS="-lkparts"
+
+ LIB_KDEPRINT="-lkdeprint"
+
+ LIB_KUTILS="-lkutils"
+
+ LIB_KDEPIM="-lkdepim"
+
+ LIB_KIMPROXY="-lkimproxy"
+
+ LIB_KNEWSTUFF="-lknewstuff"
+
+ LIB_KDNSSD="-lkdnssd"
+
+ LIB_KUNITTEST="-lkunittest"
+
+# these are for backward compatibility
+ LIB_KSYCOCA="-lkio"
+
+ LIB_KFILE="-lkio"
+
+elif test $kde_qtver = 2; then
+ LIB_KDECORE="-lkdecore"
+
+ LIB_KDEUI="-lkdeui"
+
+ LIB_KIO="-lkio"
+
+ LIB_KSYCOCA="-lksycoca"
+
+ LIB_SMB="-lsmb"
+
+ LIB_KFILE="-lkfile"
+
+ LIB_KAB="-lkab"
+
+ LIB_KHTML="-lkhtml"
+
+ LIB_KSPELL="-lkspell"
+
+ LIB_KPARTS="-lkparts"
+
+ LIB_KDEPRINT="-lkdeprint"
+
+else
+ LIB_KDECORE="-lkdecore -lXext $(LIB_QT)"
+
+ LIB_KDEUI="-lkdeui $(LIB_KDECORE)"
+
+ LIB_KFM="-lkfm $(LIB_KDECORE)"
+
+ LIB_KFILE="-lkfile $(LIB_KFM) $(LIB_KDEUI)"
+
+ LIB_KAB="-lkab $(LIB_KIMGIO) $(LIB_KDECORE)"
+
+fi
+
+
+
+#MIN_CONFIG
+
+
+
+
+DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
+TOPSUBDIRS=""
+
+if test ! -s $srcdir/subdirs; then
+ files=`cd $srcdir && ls -1`
+ dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
+ for i in $dirs; do
+ echo $i >> $srcdir/subdirs
+ done
+fi
+
+ac_topsubdirs=
+if test -s $srcdir/inst-apps; then
+ ac_topsubdirs="`cat $srcdir/inst-apps`"
+elif test -s $srcdir/subdirs; then
+ ac_topsubdirs="`cat $srcdir/subdirs`"
+fi
+
+for i in $ac_topsubdirs; do
+ { $as_echo "$as_me:$LINENO: checking if $i should be compiled" >&5
+$as_echo_n "checking if $i should be compiled... " >&6; }
+ 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
+ { $as_echo "$as_me:$LINENO: result: $install_it" >&5
+$as_echo "$install_it" >&6; }
+ vari=`echo $i | sed -e 's,[-+.@],_,g'`
+ if test $install_it = "yes"; then
+ TOPSUBDIRS="$TOPSUBDIRS $i"
+ eval "$vari""_SUBDIR_included=yes"
+ else
+ eval "$vari""_SUBDIR_included=no"
+ fi
+done
+
+
+
+ac_config_files="$ac_config_files Makefile"
+
+ac_config_files="$ac_config_files kdbg/Makefile"
+
+ac_config_files="$ac_config_files kdbg/doc/Makefile"
+
+ac_config_files="$ac_config_files kdbg/doc/de/Makefile"
+
+ac_config_files="$ac_config_files kdbg/doc/en/Makefile"
+
+ac_config_files="$ac_config_files kdbg/doc/ru/Makefile"
+
+ac_config_files="$ac_config_files kdbg/pics/Makefile"
+
+ac_config_files="$ac_config_files kdbg/testprogs/Makefile"
+
+ac_config_files="$ac_config_files kdbg/typetables/Makefile"
+
+ac_config_files="$ac_config_files po/Makefile"
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+ as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
+$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <$ac_hdr>
+
+int
+main ()
+{
+if ((DIR *) 0)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+_ACEOF
+
+ac_header_dirent=$ac_hdr; break
+fi
+
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+ { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' dir; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_search_opendir=$ac_res
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_opendir+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+ :
+else
+ ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+else
+ { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' x; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_search_opendir=$ac_res
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_opendir+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+ :
+else
+ ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+fi
+ { $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+
+
+
+for ac_header in fcntl.h sys/time.h unistd.h sys/cdefs.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+for ac_header in fnmatch.h sysent.h strings.h sys/stat.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+for ac_header in sys/ioctl.h pty.h libutil.h util.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+{ $as_echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
+$as_echo_n "checking for socket in -lsocket... " >&6; }
+if test "${ac_cv_lib_socket_socket+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char socket ();
+int
+main ()
+{
+return socket ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_socket_socket=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_socket_socket=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
+$as_echo "$ac_cv_lib_socket_socket" >&6; }
+if test "x$ac_cv_lib_socket_socket" = x""yes; then
+ LIBSOCKET="-lsocket -lnsl"
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
+$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
+if test "${ac_cv_header_time+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+
+int
+main ()
+{
+if ((struct tm *) 0)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_time=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_time=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
+$as_echo "$ac_cv_header_time" >&6; }
+if test $ac_cv_header_time = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define TIME_WITH_SYS_TIME 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+for ac_func in setpgid putenv socket vsnprintf mkfifo
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+{ $as_echo "$as_me:$LINENO: checking for library containing openpty" >&5
+$as_echo_n "checking for library containing openpty... " >&6; }
+if test "${ac_cv_search_openpty+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char openpty ();
+int
+main ()
+{
+return openpty ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' util; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_search_openpty=$ac_res
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_openpty+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_openpty+set}" = set; then
+ :
+else
+ ac_cv_search_openpty=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_openpty" >&5
+$as_echo "$ac_cv_search_openpty" >&6; }
+ac_res=$ac_cv_search_openpty
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_FUNC_OPENPTY 1
+_ACEOF
+
+fi
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking whether kdbg should generate lots of trace output" >&5
+$as_echo_n "checking whether kdbg should generate lots of trace output... " >&6; }
+# Check whether --enable-lots-a-trace was given.
+if test "${enable_lots_a_trace+set}" = set; then
+ enableval=$enable_lots_a_trace; WANT_TRACE_OUTPUT=$enableval
+else
+ WANT_TRACE_OUTPUT=no
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $WANT_TRACE_OUTPUT" >&5
+$as_echo "$WANT_TRACE_OUTPUT" >&6; }
+if test "x$WANT_TRACE_OUTPUT" = "xyes"; then
+ cat >>confdefs.h <<_ACEOF
+#define WANT_TRACE_OUTPUT 1
+_ACEOF
+
+fi
+
+# Check whether --enable-testprogs was given.
+if test "${enable_testprogs+set}" = set; then
+ enableval=$enable_testprogs; buildtestprogs=$enableval
+else
+ buildtestprogs=no
+fi
+
+ if test "x$buildtestprogs" = "xyes"; then
+ BUILDTESTPROGS_TRUE=
+ BUILDTESTPROGS_FALSE='#'
+else
+ BUILDTESTPROGS_TRUE='#'
+ BUILDTESTPROGS_FALSE=
+fi
+
+echo "build test programs: $buildtestprogs" >&5
+
+{ $as_echo "$as_me:$LINENO: checking where communication with gdb should be logged" >&5
+$as_echo_n "checking where communication with gdb should be logged... " >&6; }
+
+# Check whether --with-transcript was given.
+if test "${with_transcript+set}" = set; then
+ withval=$with_transcript; GDB_TRANSCRIPT=$withval
+else
+ GDB_TRANSCRIPT=no
+fi
+
+if test "x$GDB_TRANSCRIPT" = "xyes"; then
+ GDB_TRANSCRIPT="./gdb-transcript"
+fi
+if test "x$GDB_TRANSCRIPT" = "xno"; then
+ GDB_TRANSCRIPT="not logged"
+else
+ GDB_TRANSCRIPT=\"$GDB_TRANSCRIPT\"
+
+cat >>confdefs.h <<_ACEOF
+#define GDB_TRANSCRIPT $GDB_TRANSCRIPT
+_ACEOF
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $GDB_TRANSCRIPT" >&5
+$as_echo "$GDB_TRANSCRIPT" >&6; }
+
+
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+{ $as_echo "$as_me:$LINENO: checking whether placement new is available" >&5
+$as_echo_n "checking whether placement new is available... " >&6; }
+if test "${ac_cv_have_placement_new+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <new>
+
+int
+main ()
+{
+
+int ii;
+new(&ii) int;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_placement_new=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_placement_new=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_placement_new" >&5
+$as_echo "$ac_cv_have_placement_new" >&6; }
+if eval "test \"`echo `$ac_cv_have_placement_new\" = yes"; then
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_PLACEMENT_NEW 1
+_ACEOF
+
+fi
+
+# Extract the first word of "ps", so it can be a program name with args.
+set dummy ps; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PS_COMMAND+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $PS_COMMAND in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PS_COMMAND="$PS_COMMAND" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PS_COMMAND="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PS_COMMAND=$ac_cv_path_PS_COMMAND
+if test -n "$PS_COMMAND"; then
+ { $as_echo "$as_me:$LINENO: result: $PS_COMMAND" >&5
+$as_echo "$PS_COMMAND" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test -n "$PS_COMMAND"; then
+ { $as_echo "$as_me:$LINENO: checking for suitable ps invocation" >&5
+$as_echo_n "checking for suitable ps invocation... " >&6; }
+
+ PS_COMMAND="$PS_COMMAND -eo pid,ppid,uid,vsz,etime,time,args"
+ if $PS_COMMAND > /dev/null 2>&1; then
+ # works in principle; check output: extract first line, but avoid 'head -1'
+ set x `$PS_COMMAND | (read firstline; echo "$firstline")`
+ if test "$*" = "x PID PPID UID VSZ ELAPSED TIME COMMAND"; then
+ : # fine
+ else
+ PS_COMMAND="" # not suitable
+ fi
+ else
+ PS_COMMAND="" # not suitable
+ fi
+
+ if test -n "$PS_COMMAND"; then
+ { $as_echo "$as_me:$LINENO: result: $PS_COMMAND" >&5
+$as_echo "$PS_COMMAND" >&6; }
+ PS_COMMAND=\"`echo $PS_COMMAND | sed -e 's/ /", "/g'`\"
+
+cat >>confdefs.h <<_ACEOF
+#define PS_COMMAND $PS_COMMAND
+_ACEOF
+
+ else
+ { $as_echo "$as_me:$LINENO: result: not suitable" >&5
+$as_echo "not suitable" >&6; }
+ fi
+fi
+ if test -n "$PS_COMMAND"; then
+ HAVE_PS_COMMAND_TRUE=
+ HAVE_PS_COMMAND_FALSE='#'
+else
+ HAVE_PS_COMMAND_TRUE='#'
+ HAVE_PS_COMMAND_FALSE=
+fi
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# 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.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${unsermake_enable_pch_TRUE}" && test -z "${unsermake_enable_pch_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"unsermake_enable_pch\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"unsermake_enable_pch\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${include_x11_TRUE}" && test -z "${include_x11_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"include_x11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"include_x11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${include_ARTS_TRUE}" && test -z "${include_ARTS_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"include_ARTS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"include_ARTS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILDTESTPROGS_TRUE}" && test -z "${BUILDTESTPROGS_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"BUILDTESTPROGS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"BUILDTESTPROGS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_PS_COMMAND_TRUE}" && test -z "${HAVE_PS_COMMAND_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_PS_COMMAND\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_PS_COMMAND\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.63. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTION]... [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.63,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { $as_echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "kdbg/Makefile") CONFIG_FILES="$CONFIG_FILES kdbg/Makefile" ;;
+ "kdbg/doc/Makefile") CONFIG_FILES="$CONFIG_FILES kdbg/doc/Makefile" ;;
+ "kdbg/doc/de/Makefile") CONFIG_FILES="$CONFIG_FILES kdbg/doc/de/Makefile" ;;
+ "kdbg/doc/en/Makefile") CONFIG_FILES="$CONFIG_FILES kdbg/doc/en/Makefile" ;;
+ "kdbg/doc/ru/Makefile") CONFIG_FILES="$CONFIG_FILES kdbg/doc/ru/Makefile" ;;
+ "kdbg/pics/Makefile") CONFIG_FILES="$CONFIG_FILES kdbg/pics/Makefile" ;;
+ "kdbg/testprogs/Makefile") CONFIG_FILES="$CONFIG_FILES kdbg/testprogs/Makefile" ;;
+ "kdbg/typetables/Makefile") CONFIG_FILES="$CONFIG_FILES kdbg/typetables/Makefile" ;;
+ "po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;;
+
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=' '
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_t"; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #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.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+ { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+ } >"$tmp/config.h" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$tmp/config.h" "$ac_file" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+ ;;
+
+ esac
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+if test "x$with_fast_perl" = "xyes"; then
+ perl -i.bak $ac_aux_dir/conf.change.pl $CONFIG_STATUS \
+ || mv $CONFIG_STATUS.bak $CONFIG_STATUS
+ rm -f $CONFIG_STATUS.bak
+fi
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
+if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
+ # And if so, warn when they don't match
+ if test "$kde_libs_prefix" != "$given_prefix"; then
+ # And if kde doesn't know about the prefix yet
+ echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
+ if test $? -ne 0; then
+ echo ""
+ echo "Warning: you chose to install this package in $given_prefix,"
+ echo "but KDE was found in $kde_libs_prefix."
+ echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
+ echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
+ echo "Then restart KDE."
+ echo ""
+ fi
+ fi
+fi
+
+if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
+ echo ""
+ echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
+ echo "was not included. Therefore, GCC symbol visibility support remains disabled."
+ echo ""
+ echo "For better performance, consider including the Qt visibility supporting patch"
+ echo "located at:"
+ echo ""
+ echo "http://bugs.kde.org/show_bug.cgi?id=109386"
+ echo ""
+ echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
+ echo "everything will continue to work just fine without it."
+ echo ""
+fi
+
+if test "$all_tests" = "bad"; then
+ if test ! "$cache_file" = "/dev/null"; then
+ echo ""
+ echo "Please remove the file $cache_file after changing your setup"
+ echo "so that configure will find the changes next time."
+ echo ""
+ fi
+else
+ echo ""
+ echo "Good - your configure finished. Start make now"
+ echo ""
+fi
diff --git a/configure.files b/configure.files
new file mode 100644
index 0000000..b9ddcb5
--- /dev/null
+++ b/configure.files
@@ -0,0 +1,3 @@
+./admin/configure.in.min
+configure.in.in
+configure.in.mid
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..5ef79e1
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,241 @@
+dnl =======================================================
+dnl FILE: ./admin/configure.in.min
+dnl =======================================================
+
+dnl This file is part of the KDE libraries/packages
+dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
+
+dnl This file is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Library General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2 of the License, or (at your option) any later version.
+
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Library General Public License for more details.
+
+dnl You should have received a copy of the GNU Library General Public License
+dnl along with this library; see the file COPYING.LIB. If not, write to
+dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl Boston, MA 02110-1301, USA.
+
+# Original Author was Kalle@kde.org
+# I lifted it in some mater. (Stephan Kulow)
+# I used much code from Janos Farkas
+
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(acinclude.m4) dnl a source file from your sub dir
+
+dnl This is so we can use kde-common
+AC_CONFIG_AUX_DIR(admin)
+
+dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
+unset CDPATH
+
+dnl Checking host/target/build systems, for make, install etc.
+AC_CANONICAL_SYSTEM
+dnl Perform program name transformation
+AC_ARG_PROGRAM
+
+dnl Automake doc recommends to do this only here. (Janos)
+AM_INIT_AUTOMAKE(kdbg, 2.2.2) dnl searches for some needed programs
+
+KDE_SET_PREFIX
+
+dnl generate the config header
+AM_CONFIG_HEADER(config.h) dnl at the distribution this done
+
+dnl Checks for programs.
+AC_CHECK_COMPILERS
+AC_ENABLE_SHARED(yes)
+AC_ENABLE_STATIC(no)
+KDE_PROG_LIBTOOL
+
+dnl for NLS support. Call them in this order!
+dnl WITH_NLS is for the po files
+AM_KDE_WITH_NLS
+
+dnl KDE_USE_QT
+AC_PATH_KDE
+dnl =======================================================
+dnl FILE: configure.in.in
+dnl =======================================================
+
+#MIN_CONFIG
+
+dnl PACKAGE set before
+
+KDE_CREATE_SUBDIRSLIST
+AC_CONFIG_FILES([ Makefile ])
+AC_CONFIG_FILES([ kdbg/Makefile ])
+AC_CONFIG_FILES([ kdbg/doc/Makefile ])
+AC_CONFIG_FILES([ kdbg/doc/de/Makefile ])
+AC_CONFIG_FILES([ kdbg/doc/en/Makefile ])
+AC_CONFIG_FILES([ kdbg/doc/ru/Makefile ])
+AC_CONFIG_FILES([ kdbg/pics/Makefile ])
+AC_CONFIG_FILES([ kdbg/testprogs/Makefile ])
+AC_CONFIG_FILES([ kdbg/typetables/Makefile ])
+AC_CONFIG_FILES([ po/Makefile ])
+dnl Checks for header files.
+AC_LANG_C dnl switch to C
+AC_HEADER_DIRENT dnl check for dirent.h
+AC_HEADER_STDC dnl check for other stdc headers. More traditional ;)
+dnl check for some more header files. You can remove some of
+dnl them, if you want to. But it doesn't hurt
+AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/cdefs.h)
+AC_CHECK_HEADERS(fnmatch.h sysent.h strings.h sys/stat.h)
+AC_CHECK_HEADERS(sys/ioctl.h pty.h libutil.h util.h)
+
+dnl Checks for libraries.
+AC_CHECK_LIB(socket, socket, [LIBSOCKET="-lsocket -lnsl"]) dnl for Solaris' X11
+AC_SUBST(LIBSOCKET)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_TIME
+
+dnl Checks for library functions.
+AC_CHECK_FUNCS(setpgid putenv socket vsnprintf mkfifo)
+
+dnl pseudo tty support in glibc2
+AC_SEARCH_LIBS(openpty, util,
+ AC_DEFINE_UNQUOTED(HAVE_FUNC_OPENPTY, 1, [Define if you have openpty]))
+
+dnl Check whether we want much debugging output
+AH_TEMPLATE([WANT_TRACE_OUTPUT],
+ [Define if you want to see voluminous trace output])
+AC_MSG_CHECKING([whether kdbg should generate lots of trace output])
+dnl Default is no trace output
+AC_ARG_ENABLE(lots-a-trace,
+ [ --enable-lots-a-trace generate lots of trace output [default=no]],
+ WANT_TRACE_OUTPUT=$enableval, WANT_TRACE_OUTPUT=no)
+AC_MSG_RESULT($WANT_TRACE_OUTPUT)
+if test "x$WANT_TRACE_OUTPUT" = "xyes"; then
+ AC_DEFINE_UNQUOTED(WANT_TRACE_OUTPUT)
+fi
+
+dnl Check whether test programs should be compiled
+dnl Default is not to compile them
+AC_ARG_ENABLE(testprogs,
+ [ --enable-testprogs compile test programs [default=no]],
+ [buildtestprogs=$enableval],[buildtestprogs=no])
+AM_CONDITIONAL(BUILDTESTPROGS,test "x$buildtestprogs" = "xyes")
+dnl write a notice into the log
+echo "build test programs: $buildtestprogs" >&5
+
+dnl Check where the communication with gdb should be logged
+AC_MSG_CHECKING([where communication with gdb should be logged])
+dnl Default is ./gdb-transcript until kdbg is released
+AC_ARG_WITH(transcript,
+ [ --with-transcript=file log communication with gdb [default=not logged]],
+ GDB_TRANSCRIPT=$withval, GDB_TRANSCRIPT=no)
+if test "x$GDB_TRANSCRIPT" = "xyes"; then
+ GDB_TRANSCRIPT="./gdb-transcript"
+fi
+if test "x$GDB_TRANSCRIPT" = "xno"; then
+ GDB_TRANSCRIPT="not logged"
+else
+ dnl add quotes
+ GDB_TRANSCRIPT=\"$GDB_TRANSCRIPT\"
+ AC_DEFINE_UNQUOTED(GDB_TRANSCRIPT, $GDB_TRANSCRIPT,
+ [Define to the name of the file that communication with gdb
+ should be logged to; undefine it for no logging])
+fi
+AC_MSG_RESULT($GDB_TRANSCRIPT)
+
+dnl Check whether placement new works
+AH_TEMPLATE([HAVE_PLACEMENT_NEW],[Define if placement new works])
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING(whether placement new is available)
+AC_CACHE_VAL(ac_cv_have_placement_new,
+[
+AC_TRY_COMPILE([
+#include <new>
+],
+[
+int ii;
+new(&ii) int;
+],
+ac_cv_have_placement_new=yes,
+ac_cv_have_placement_new=no)
+])
+AC_MSG_RESULT($ac_cv_have_placement_new)
+if eval "test \"`echo `$ac_cv_have_placement_new\" = yes"; then
+ AC_DEFINE(HAVE_PLACEMENT_NEW)
+fi
+
+dnl -----------------
+AC_PATH_PROG(PS_COMMAND, ps)
+if test -n "$PS_COMMAND"; then
+ AC_MSG_CHECKING(for suitable ps invocation)
+
+ PS_COMMAND="$PS_COMMAND -eo pid,ppid,uid,vsz,etime,time,args"
+ if $PS_COMMAND > /dev/null 2>&1; then
+ # works in principle; check output: extract first line, but avoid 'head -1'
+ set x `$PS_COMMAND | (read firstline; echo "$firstline")`
+ if test "$*" = "x PID PPID UID VSZ ELAPSED TIME COMMAND"; then
+ : # fine
+ else
+ PS_COMMAND="" # not suitable
+ fi
+ else
+ PS_COMMAND="" # not suitable
+ fi
+
+ if test -n "$PS_COMMAND"; then
+ AC_MSG_RESULT($PS_COMMAND)
+ PS_COMMAND=\"`echo $PS_COMMAND | sed -e 's/ /", "/g'`\"
+ AC_DEFINE_UNQUOTED(PS_COMMAND, $PS_COMMAND,
+ [Define how to invoke ps])
+ else
+ AC_MSG_RESULT([not suitable])
+ fi
+fi
+AM_CONDITIONAL(HAVE_PS_COMMAND, test -n "$PS_COMMAND")
+AC_OUTPUT
+# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
+if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
+ # And if so, warn when they don't match
+ if test "$kde_libs_prefix" != "$given_prefix"; then
+ # And if kde doesn't know about the prefix yet
+ echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
+ if test $? -ne 0; then
+ echo ""
+ echo "Warning: you chose to install this package in $given_prefix,"
+ echo "but KDE was found in $kde_libs_prefix."
+ echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
+ echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
+ echo "Then restart KDE."
+ echo ""
+ fi
+ fi
+fi
+
+if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
+ echo ""
+ echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
+ echo "was not included. Therefore, GCC symbol visibility support remains disabled."
+ echo ""
+ echo "For better performance, consider including the Qt visibility supporting patch"
+ echo "located at:"
+ echo ""
+ echo "http://bugs.kde.org/show_bug.cgi?id=109386"
+ echo ""
+ echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
+ echo "everything will continue to work just fine without it."
+ echo ""
+fi
+
+if test "$all_tests" = "bad"; then
+ if test ! "$cache_file" = "/dev/null"; then
+ echo ""
+ echo "Please remove the file $cache_file after changing your setup"
+ echo "so that configure will find the changes next time."
+ echo ""
+ fi
+else
+ echo ""
+ echo "Good - your configure finished. Start make now"
+ echo ""
+fi
diff --git a/configure.in.in b/configure.in.in
new file mode 100644
index 0000000..8f7ef46
--- /dev/null
+++ b/configure.in.in
@@ -0,0 +1,4 @@
+#MIN_CONFIG
+
+AM_INIT_AUTOMAKE(kdbg, 2.2.2)
+
diff --git a/configure.in.mid b/configure.in.mid
new file mode 100644
index 0000000..4421400
--- /dev/null
+++ b/configure.in.mid
@@ -0,0 +1,115 @@
+dnl Checks for header files.
+AC_LANG_C dnl switch to C
+AC_HEADER_DIRENT dnl check for dirent.h
+AC_HEADER_STDC dnl check for other stdc headers. More traditional ;)
+dnl check for some more header files. You can remove some of
+dnl them, if you want to. But it doesn't hurt
+AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/cdefs.h)
+AC_CHECK_HEADERS(fnmatch.h sysent.h strings.h sys/stat.h)
+AC_CHECK_HEADERS(sys/ioctl.h pty.h libutil.h util.h)
+
+dnl Checks for libraries.
+AC_CHECK_LIB(socket, socket, [LIBSOCKET="-lsocket -lnsl"]) dnl for Solaris' X11
+AC_SUBST(LIBSOCKET)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_TIME
+
+dnl Checks for library functions.
+AC_CHECK_FUNCS(setpgid putenv socket vsnprintf mkfifo)
+
+dnl pseudo tty support in glibc2
+AC_SEARCH_LIBS(openpty, util,
+ AC_DEFINE_UNQUOTED(HAVE_FUNC_OPENPTY, 1, [Define if you have openpty]))
+
+dnl Check whether we want much debugging output
+AH_TEMPLATE([WANT_TRACE_OUTPUT],
+ [Define if you want to see voluminous trace output])
+AC_MSG_CHECKING([whether kdbg should generate lots of trace output])
+dnl Default is no trace output
+AC_ARG_ENABLE(lots-a-trace,
+ [ --enable-lots-a-trace generate lots of trace output [default=no]],
+ WANT_TRACE_OUTPUT=$enableval, WANT_TRACE_OUTPUT=no)
+AC_MSG_RESULT($WANT_TRACE_OUTPUT)
+if test "x$WANT_TRACE_OUTPUT" = "xyes"; then
+ AC_DEFINE_UNQUOTED(WANT_TRACE_OUTPUT)
+fi
+
+dnl Check whether test programs should be compiled
+dnl Default is not to compile them
+AC_ARG_ENABLE(testprogs,
+ [ --enable-testprogs compile test programs [default=no]],
+ [buildtestprogs=$enableval],[buildtestprogs=no])
+AM_CONDITIONAL(BUILDTESTPROGS,test "x$buildtestprogs" = "xyes")
+dnl write a notice into the log
+echo "build test programs: $buildtestprogs" >&5
+
+dnl Check where the communication with gdb should be logged
+AC_MSG_CHECKING([where communication with gdb should be logged])
+dnl Default is ./gdb-transcript until kdbg is released
+AC_ARG_WITH(transcript,
+ [ --with-transcript=file log communication with gdb [default=not logged]],
+ GDB_TRANSCRIPT=$withval, GDB_TRANSCRIPT=no)
+if test "x$GDB_TRANSCRIPT" = "xyes"; then
+ GDB_TRANSCRIPT="./gdb-transcript"
+fi
+if test "x$GDB_TRANSCRIPT" = "xno"; then
+ GDB_TRANSCRIPT="not logged"
+else
+ dnl add quotes
+ GDB_TRANSCRIPT=\"$GDB_TRANSCRIPT\"
+ AC_DEFINE_UNQUOTED(GDB_TRANSCRIPT, $GDB_TRANSCRIPT,
+ [Define to the name of the file that communication with gdb
+ should be logged to; undefine it for no logging])
+fi
+AC_MSG_RESULT($GDB_TRANSCRIPT)
+
+dnl Check whether placement new works
+AH_TEMPLATE([HAVE_PLACEMENT_NEW],[Define if placement new works])
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING(whether placement new is available)
+AC_CACHE_VAL(ac_cv_have_placement_new,
+[
+AC_TRY_COMPILE([
+#include <new>
+],
+[
+int ii;
+new(&ii) int;
+],
+ac_cv_have_placement_new=yes,
+ac_cv_have_placement_new=no)
+])
+AC_MSG_RESULT($ac_cv_have_placement_new)
+if eval "test \"`echo `$ac_cv_have_placement_new\" = yes"; then
+ AC_DEFINE(HAVE_PLACEMENT_NEW)
+fi
+
+dnl -----------------
+AC_PATH_PROG(PS_COMMAND, ps)
+if test -n "$PS_COMMAND"; then
+ AC_MSG_CHECKING(for suitable ps invocation)
+
+ PS_COMMAND="$PS_COMMAND -eo pid,ppid,uid,vsz,etime,time,args"
+ if $PS_COMMAND > /dev/null 2>&1; then
+ # works in principle; check output: extract first line, but avoid 'head -1'
+ set x `$PS_COMMAND | (read firstline; echo "$firstline")`
+ if test "$*" = "x PID PPID UID VSZ ELAPSED TIME COMMAND"; then
+ : # fine
+ else
+ PS_COMMAND="" # not suitable
+ fi
+ else
+ PS_COMMAND="" # not suitable
+ fi
+
+ if test -n "$PS_COMMAND"; then
+ AC_MSG_RESULT($PS_COMMAND)
+ PS_COMMAND=\"`echo $PS_COMMAND | sed -e 's/ /", "/g'`\"
+ AC_DEFINE_UNQUOTED(PS_COMMAND, $PS_COMMAND,
+ [Define how to invoke ps])
+ else
+ AC_MSG_RESULT([not suitable])
+ fi
+fi
+AM_CONDITIONAL(HAVE_PS_COMMAND, test -n "$PS_COMMAND")
diff --git a/kdbg.spec b/kdbg.spec
new file mode 100644
index 0000000..0508ea2
--- /dev/null
+++ b/kdbg.spec
@@ -0,0 +1,67 @@
+%define name kdbg
+%define version 2.0.0
+%define release 1.kde2
+%define prefix /usr
+
+%define builddir $RPM_BUILD_DIR/%{name}-%{version}
+
+Summary: KDbg - KDE Debugging GUI around gdb
+Name: %{name}
+Version: %{version}
+Release: %{release}
+Prefix: %{prefix}
+Group: X11/KDE/Development
+Copyright: GPL
+Distribution: RedHat 7.0
+Vendor: Johannes Sixt <j6t@kdbg.org>
+Packager: Ullrich von Bassewitz <uz@musoftware.de>
+Source: %{name}-%{version}.tar.gz
+URL: http://www.kdbg.org/
+Requires: kdelibs >= 2.0
+BuildRoot: /tmp/build-%{name}-%{version}
+
+%description
+KDbg is a graphical user interface to gdb, the GNU debugger. It provides
+an intuitive interface for setting breakpoints, inspecting variables, and
+stepping through code.
+
+%prep
+rm -rf $RPM_BUILD_ROOT
+rm -rf %{builddir}
+
+%setup
+touch `find . -type f`
+
+%build
+if [ -z "$KDEDIR" ]; then
+ export KDEDIR=%{prefix}
+fi
+CXXFLAGS="$RPM_OPT_FLAGS" CFLAGS="$RPM_OPT_FLAGS" ./configure \
+ --prefix=$KDEDIR
+make
+
+
+%install
+if [ -z "$KDEDIR" ]; then
+ export KDEDIR=%{prefix}
+fi
+rm -rf $RPM_BUILD_ROOT
+make DESTDIR=$RPM_BUILD_ROOT install-strip
+
+cd $RPM_BUILD_ROOT
+find . -type d | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' > \
+ $RPM_BUILD_DIR/file.list.%{name}
+find . -type f | sed -e 's,^\.,\%attr(-\,root\,root) ,' \
+ -e '/\/config\//s|^|%config|' >> \
+ $RPM_BUILD_DIR/file.list.%{name}
+find . -type l | sed 's,^\.,\%attr(-\,root\,root) ,' >> \
+ $RPM_BUILD_DIR/file.list.%{name}
+echo "%docdir $KDEDIR/share/doc/HTML" >> $RPM_BUILD_DIR/file.list.%{name}
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+rm -rf %{builddir}
+rm -f $RPM_BUILD_DIR/file.list.%{name}
+
+%files -f ../file.list.%{name}
diff --git a/kdbg/Makefile.am b/kdbg/Makefile.am
new file mode 100644
index 0000000..ce9790b
--- /dev/null
+++ b/kdbg/Makefile.am
@@ -0,0 +1,98 @@
+# set the include path for X, qt and KDE
+INCLUDES= $(all_includes)
+
+# claim, which subdirectories you want to install
+SUBDIRS = doc pics typetables testprogs
+
+####### This part is very kdbg specific
+# you can add here more. This one gets installed
+bin_PROGRAMS = kdbg
+
+# Which sources should be compiled for kdbg.
+kdbg_SOURCES = \
+ pgmargs.cpp \
+ pgmargsbase.ui \
+ procattach.cpp \
+ procattachbase.ui \
+ debugger.cpp \
+ programconfig.cpp \
+ dbgdriver.cpp \
+ gdbdriver.cpp \
+ xsldbgdriver.cpp \
+ brkpt.cpp \
+ exprwnd.cpp \
+ regwnd.cpp \
+ memwindow.cpp \
+ threadlist.cpp \
+ sourcewnd.cpp \
+ winstack.cpp \
+ ttywnd.cpp \
+ typetable.cpp \
+ prefdebugger.cpp \
+ prefmisc.cpp \
+ pgmsettings.cpp \
+ mainwndbase.cpp \
+ dbgmainwnd.cpp \
+ main.cpp
+
+# the library search path
+kdbg_LDFLAGS = \
+ $(all_libraries) $(KDE_RPATH)
+
+# the libraries to link against.
+kdbg_LDADD = $(LIB_KIO)
+
+# this option you can leave out. Just, if you use "make dist", you need it
+noinst_HEADERS = \
+ pgmargs.h \
+ procattach.h \
+ debugger.h \
+ programconfig.h \
+ dbgdriver.h \
+ gdbdriver.h \
+ xsldbgdriver.h \
+ brkpt.h \
+ exprwnd.h \
+ regwnd.h \
+ memwindow.h \
+ threadlist.h \
+ sourcewnd.h \
+ winstack.h \
+ ttywnd.h \
+ typetable.h \
+ prefdebugger.h \
+ prefmisc.h \
+ pgmsettings.h \
+ mainwndbase.h \
+ dbgmainwnd.h \
+ envvar.h \
+ commandids.h \
+ mydebug.h
+
+kdbg_METASOURCES = AUTO
+
+# if you "make clean", this files get removed. If you want to remove
+# them while "make distclean", use DISTCLEANFILES
+CLEANFILES = $(kdbg_METASOURCES)
+
+xdg_apps_DATA = kdbg.desktop
+
+configdir = $(kde_confdir)
+config_DATA = kdbgrc
+
+rcdir = $(kde_datadir)/kdbg
+rc_DATA = kdbgui.rc
+
+# Make messages.po and move it to $(top_srcdir)/po. "make merge" there.
+# the -x is for skipping messages already translated in kdelibs
+# Messages are generated in the source directory so that file names
+# mentioned in the .pot file are not prefixed by $(srcdir).
+messages:
+ cd $(srcdir) && \
+ extractrc *.rc *.ui > rc.cpp && \
+ LIST=`find . -name \*.h -o -name \*.cpp -o -name \*.cc -o -name \*.cxx -o -name \*.C` && \
+ $(XGETTEXT) -C -ki18n -kI18N_NOOP -x $(includedir)/kde.pot \
+ $$LIST && mv messages.po $(top_srcdir)/po/kdbg.pot; \
+ rm -f rc.cpp
+
+EXTRA_DIST = kdbg.desktop kdbgrc
diff --git a/kdbg/Makefile.in b/kdbg/Makefile.in
new file mode 100644
index 0000000..e0f7b0d
--- /dev/null
+++ b/kdbg/Makefile.in
@@ -0,0 +1,1288 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+bin_PROGRAMS = kdbg$(EXEEXT)
+subdir = kdbg
+DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(configdir)" \
+ "$(DESTDIR)$(rcdir)" "$(DESTDIR)$(xdg_appsdir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_kdbg_OBJECTS = pgmargs.$(OBJEXT) procattach.$(OBJEXT) \
+ debugger.$(OBJEXT) programconfig.$(OBJEXT) dbgdriver.$(OBJEXT) \
+ gdbdriver.$(OBJEXT) xsldbgdriver.$(OBJEXT) brkpt.$(OBJEXT) \
+ exprwnd.$(OBJEXT) regwnd.$(OBJEXT) memwindow.$(OBJEXT) \
+ threadlist.$(OBJEXT) sourcewnd.$(OBJEXT) winstack.$(OBJEXT) \
+ ttywnd.$(OBJEXT) typetable.$(OBJEXT) prefdebugger.$(OBJEXT) \
+ prefmisc.$(OBJEXT) pgmsettings.$(OBJEXT) mainwndbase.$(OBJEXT) \
+ dbgmainwnd.$(OBJEXT) main.$(OBJEXT)
+#>- kdbg_OBJECTS = $(am_kdbg_OBJECTS)
+#>+ 12
+kdbg_final_OBJECTS = kdbg.all_cpp.o
+kdbg_nofinal_OBJECTS = pgmargs.$(OBJEXT) procattach.$(OBJEXT) \
+ debugger.$(OBJEXT) programconfig.$(OBJEXT) dbgdriver.$(OBJEXT) \
+ gdbdriver.$(OBJEXT) xsldbgdriver.$(OBJEXT) brkpt.$(OBJEXT) \
+ exprwnd.$(OBJEXT) regwnd.$(OBJEXT) memwindow.$(OBJEXT) \
+ threadlist.$(OBJEXT) sourcewnd.$(OBJEXT) winstack.$(OBJEXT) \
+ ttywnd.$(OBJEXT) typetable.$(OBJEXT) prefdebugger.$(OBJEXT) \
+ prefmisc.$(OBJEXT) pgmsettings.$(OBJEXT) mainwndbase.$(OBJEXT) \
+ dbgmainwnd.$(OBJEXT) main.$(OBJEXT) pgmargsbase.$(OBJEXT) procattachbase.$(OBJEXT)\
+procattach.moc.o
+@KDE_USE_FINAL_FALSE@kdbg_OBJECTS = $(kdbg_nofinal_OBJECTS)
+@KDE_USE_FINAL_TRUE@kdbg_OBJECTS = $(kdbg_final_OBJECTS)
+am__DEPENDENCIES_1 =
+kdbg_DEPENDENCIES = $(am__DEPENDENCIES_1)
+#>- kdbg_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+#>- $(kdbg_LDFLAGS) $(LDFLAGS) -o $@
+#>+ 3
+kdbg_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \
+ $(kdbg_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/admin/depcomp
+am__depfiles_maybe = depfiles
+#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+#>+ 2
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+#>- LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+#>+ 3
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+CXXLD = $(CXX)
+#>- CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+#>- $(LDFLAGS) -o $@
+#>+ 3
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(kdbg_SOURCES)
+DIST_SOURCES = $(kdbg_SOURCES)
+#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+#>- html-recursive info-recursive install-data-recursive \
+#>- install-dvi-recursive install-exec-recursive \
+#>- install-html-recursive install-info-recursive \
+#>- install-pdf-recursive install-ps-recursive install-recursive \
+#>- installcheck-recursive installdirs-recursive pdf-recursive \
+#>- ps-recursive uninstall-recursive
+#>+ 7
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+configDATA_INSTALL = $(INSTALL_DATA)
+rcDATA_INSTALL = $(INSTALL_DATA)
+xdg_appsDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(config_DATA) $(rc_DATA) $(xdg_apps_DATA)
+HEADERS = $(noinst_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PS_COMMAND = @PS_COMMAND@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+
+# set the include path for X, qt and KDE
+INCLUDES = $(all_includes)
+
+# claim, which subdirectories you want to install
+SUBDIRS = doc pics typetables testprogs
+
+# Which sources should be compiled for kdbg.
+#>- kdbg_SOURCES = \
+#>- pgmargs.cpp \
+#>- pgmargsbase.ui \
+#>- procattach.cpp \
+#>- procattachbase.ui \
+#>- debugger.cpp \
+#>- programconfig.cpp \
+#>- dbgdriver.cpp \
+#>- gdbdriver.cpp \
+#>- xsldbgdriver.cpp \
+#>- brkpt.cpp \
+#>- exprwnd.cpp \
+#>- regwnd.cpp \
+#>- memwindow.cpp \
+#>- threadlist.cpp \
+#>- sourcewnd.cpp \
+#>- winstack.cpp \
+#>- ttywnd.cpp \
+#>- typetable.cpp \
+#>- prefdebugger.cpp \
+#>- prefmisc.cpp \
+#>- pgmsettings.cpp \
+#>- mainwndbase.cpp \
+#>- dbgmainwnd.cpp \
+#>- main.cpp
+#>+ 25
+kdbg_SOURCES=\
+ pgmargs.cpp \
+ \
+ procattach.cpp \
+ \
+ debugger.cpp \
+ programconfig.cpp \
+ dbgdriver.cpp \
+ gdbdriver.cpp \
+ xsldbgdriver.cpp \
+ brkpt.cpp \
+ exprwnd.cpp \
+ regwnd.cpp \
+ memwindow.cpp \
+ threadlist.cpp \
+ sourcewnd.cpp \
+ winstack.cpp \
+ ttywnd.cpp \
+ typetable.cpp \
+ prefdebugger.cpp \
+ prefmisc.cpp \
+ pgmsettings.cpp \
+ mainwndbase.cpp \
+ dbgmainwnd.cpp \
+ main.cpp pgmargsbase.cpp procattachbase.cpp
+
+
+# the library search path
+kdbg_LDFLAGS = \
+ $(all_libraries) $(KDE_RPATH)
+
+
+# the libraries to link against.
+kdbg_LDADD = $(LIB_KIO)
+
+# this option you can leave out. Just, if you use "make dist", you need it
+noinst_HEADERS = \
+ pgmargs.h \
+ procattach.h \
+ debugger.h \
+ programconfig.h \
+ dbgdriver.h \
+ gdbdriver.h \
+ xsldbgdriver.h \
+ brkpt.h \
+ exprwnd.h \
+ regwnd.h \
+ memwindow.h \
+ threadlist.h \
+ sourcewnd.h \
+ winstack.h \
+ ttywnd.h \
+ typetable.h \
+ prefdebugger.h \
+ prefmisc.h \
+ pgmsettings.h \
+ mainwndbase.h \
+ dbgmainwnd.h \
+ envvar.h \
+ commandids.h \
+ mydebug.h
+
+#>- kdbg_METASOURCES = AUTO
+
+# if you "make clean", this files get removed. If you want to remove
+# them while "make distclean", use DISTCLEANFILES
+CLEANFILES = $(kdbg_METASOURCES)
+xdg_apps_DATA = kdbg.desktop
+configdir = $(kde_confdir)
+config_DATA = kdbgrc
+rcdir = $(kde_datadir)/kdbg
+rc_DATA = kdbgui.rc
+EXTRA_DIST = kdbg.desktop kdbgrc
+#>- all: all-recursive
+#>+ 1
+all: docs-am all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu kdbg/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
+ done
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+kdbg$(EXEEXT): $(kdbg_OBJECTS) $(kdbg_DEPENDENCIES)
+ @rm -f kdbg$(EXEEXT)
+ $(kdbg_LINK) $(kdbg_OBJECTS) $(kdbg_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/brkpt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbgdriver.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbgmainwnd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debugger.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exprwnd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdbdriver.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mainwndbase.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memwindow.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgmargs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgmsettings.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prefdebugger.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prefmisc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/procattach.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/programconfig.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regwnd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sourcewnd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threadlist.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttywnd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/typetable.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winstack.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsldbgdriver.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-configDATA: $(config_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(configdir)" || $(MKDIR_P) "$(DESTDIR)$(configdir)"
+ @list='$(config_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(configDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(configdir)/$$f'"; \
+ $(configDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(configdir)/$$f"; \
+ done
+
+uninstall-configDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(config_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(configdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(configdir)/$$f"; \
+ done
+install-rcDATA: $(rc_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(rcdir)" || $(MKDIR_P) "$(DESTDIR)$(rcdir)"
+ @list='$(rc_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(rcDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(rcdir)/$$f'"; \
+ $(rcDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(rcdir)/$$f"; \
+ done
+
+uninstall-rcDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(rc_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(rcdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(rcdir)/$$f"; \
+ done
+install-xdg_appsDATA: $(xdg_apps_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(xdg_appsdir)" || $(MKDIR_P) "$(DESTDIR)$(xdg_appsdir)"
+ @list='$(xdg_apps_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(xdg_appsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(xdg_appsdir)/$$f'"; \
+ $(xdg_appsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(xdg_appsdir)/$$f"; \
+ done
+
+uninstall-xdg_appsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(xdg_apps_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(xdg_appsdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(xdg_appsdir)/$$f"; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(PROGRAMS) $(DATA) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(rcdir)" "$(DESTDIR)$(xdg_appsdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-recursive
+#>+ 1
+clean: kde-rpo-clean clean-recursive
+
+#>- clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+#>+ 1
+clean-am: clean-metasources clean-ui clean-bcheck clean-final clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-configDATA install-rcDATA \
+ install-xdg_appsDATA
+
+install-dvi: install-dvi-recursive
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-configDATA \
+ uninstall-rcDATA uninstall-xdg_appsDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libtool ctags ctags-recursive distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-binPROGRAMS install-configDATA \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-rcDATA \
+ install-strip install-xdg_appsDATA installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-configDATA uninstall-rcDATA \
+ uninstall-xdg_appsDATA
+
+
+# Make messages.po and move it to $(top_srcdir)/po. "make merge" there.
+# the -x is for skipping messages already translated in kdelibs
+# Messages are generated in the source directory so that file names
+# mentioned in the .pot file are not prefixed by $(srcdir).
+messages:
+ cd $(srcdir) && \
+ extractrc *.rc *.ui > rc.cpp && \
+ LIST=`find . -name \*.h -o -name \*.cpp -o -name \*.cc -o -name \*.cxx -o -name \*.C` && \
+ $(XGETTEXT) -C -ki18n -kI18N_NOOP -x $(includedir)/kde.pot \
+ $$LIST && mv messages.po $(top_srcdir)/po/kdbg.pot; \
+ rm -f rc.cpp
+# 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:
+
+
+#>+ 3
+ttywnd.moc: $(srcdir)/ttywnd.h
+ $(MOC) $(srcdir)/ttywnd.h -o ttywnd.moc
+
+#>+ 2
+mocs: ttywnd.moc
+
+#>+ 3
+memwindow.moc: $(srcdir)/memwindow.h
+ $(MOC) $(srcdir)/memwindow.h -o memwindow.moc
+
+#>+ 2
+mocs: memwindow.moc
+
+#>+ 3
+brkpt.moc: $(srcdir)/brkpt.h
+ $(MOC) $(srcdir)/brkpt.h -o brkpt.moc
+
+#>+ 2
+mocs: brkpt.moc
+
+#>+ 3
+mainwndbase.moc: $(srcdir)/mainwndbase.h
+ $(MOC) $(srcdir)/mainwndbase.h -o mainwndbase.moc
+
+#>+ 2
+mocs: mainwndbase.moc
+
+#>+ 3
+sourcewnd.moc: $(srcdir)/sourcewnd.h
+ $(MOC) $(srcdir)/sourcewnd.h -o sourcewnd.moc
+
+#>+ 2
+mocs: sourcewnd.moc
+
+#>+ 3
+gdbdriver.moc: $(srcdir)/gdbdriver.h
+ $(MOC) $(srcdir)/gdbdriver.h -o gdbdriver.moc
+
+#>+ 2
+mocs: gdbdriver.moc
+
+#>+ 3
+pgmargs.moc: $(srcdir)/pgmargs.h
+ $(MOC) $(srcdir)/pgmargs.h -o pgmargs.moc
+
+#>+ 2
+mocs: pgmargs.moc
+
+#>+ 3
+threadlist.moc: $(srcdir)/threadlist.h
+ $(MOC) $(srcdir)/threadlist.h -o threadlist.moc
+
+#>+ 2
+mocs: threadlist.moc
+
+#>+ 3
+exprwnd.moc: $(srcdir)/exprwnd.h
+ $(MOC) $(srcdir)/exprwnd.h -o exprwnd.moc
+
+#>+ 2
+mocs: exprwnd.moc
+
+#>+ 3
+dbgmainwnd.moc: $(srcdir)/dbgmainwnd.h
+ $(MOC) $(srcdir)/dbgmainwnd.h -o dbgmainwnd.moc
+
+#>+ 2
+mocs: dbgmainwnd.moc
+
+#>+ 3
+debugger.moc: $(srcdir)/debugger.h
+ $(MOC) $(srcdir)/debugger.h -o debugger.moc
+
+#>+ 2
+mocs: debugger.moc
+
+#>+ 3
+procattach.moc.cpp: $(srcdir)/procattach.h
+ $(MOC) $(srcdir)/procattach.h -o procattach.moc.cpp
+
+#>+ 2
+mocs: procattach.moc.cpp
+
+#>+ 3
+xsldbgdriver.moc: $(srcdir)/xsldbgdriver.h
+ $(MOC) $(srcdir)/xsldbgdriver.h -o xsldbgdriver.moc
+
+#>+ 2
+mocs: xsldbgdriver.moc
+
+#>+ 3
+pgmsettings.moc: $(srcdir)/pgmsettings.h
+ $(MOC) $(srcdir)/pgmsettings.h -o pgmsettings.moc
+
+#>+ 2
+mocs: pgmsettings.moc
+
+#>+ 3
+dbgdriver.moc: $(srcdir)/dbgdriver.h
+ $(MOC) $(srcdir)/dbgdriver.h -o dbgdriver.moc
+
+#>+ 2
+mocs: dbgdriver.moc
+
+#>+ 3
+regwnd.moc: $(srcdir)/regwnd.h
+ $(MOC) $(srcdir)/regwnd.h -o regwnd.moc
+
+#>+ 2
+mocs: regwnd.moc
+
+#>+ 3
+winstack.moc: $(srcdir)/winstack.h
+ $(MOC) $(srcdir)/winstack.h -o winstack.moc
+
+#>+ 2
+mocs: winstack.moc
+
+#>+ 3
+clean-metasources:
+ -rm -f ttywnd.moc memwindow.moc brkpt.moc mainwndbase.moc sourcewnd.moc gdbdriver.moc pgmargs.moc threadlist.moc exprwnd.moc dbgmainwnd.moc debugger.moc procattach.moc.cpp xsldbgdriver.moc pgmsettings.moc dbgdriver.moc regwnd.moc winstack.moc
+
+#>+ 2
+KDE_DIST=pgmargsbase.ui procattachbase.ui Makefile.in Makefile.am kdbgui.rc
+
+#>+ 5
+clean-ui:
+ -rm -f \
+ pgmargsbase.cpp pgmargsbase.h pgmargsbase.moc \
+ procattachbase.cpp procattachbase.h procattachbase.moc
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-recursive
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXXCOMPILE) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 11
+kdbg.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/pgmargs.cpp $(srcdir)/procattach.cpp $(srcdir)/debugger.cpp $(srcdir)/programconfig.cpp $(srcdir)/dbgdriver.cpp $(srcdir)/gdbdriver.cpp $(srcdir)/xsldbgdriver.cpp $(srcdir)/brkpt.cpp $(srcdir)/exprwnd.cpp $(srcdir)/regwnd.cpp $(srcdir)/memwindow.cpp $(srcdir)/threadlist.cpp $(srcdir)/sourcewnd.cpp $(srcdir)/winstack.cpp $(srcdir)/ttywnd.cpp $(srcdir)/typetable.cpp $(srcdir)/prefdebugger.cpp $(srcdir)/prefmisc.cpp $(srcdir)/pgmsettings.cpp $(srcdir)/mainwndbase.cpp $(srcdir)/dbgmainwnd.cpp $(srcdir)/main.cpp $(srcdir)/pgmargsbase.cpp $(srcdir)/procattachbase.cpp procattach.moc.cpp ttywnd.moc brkpt.moc memwindow.moc mainwndbase.moc sourcewnd.moc gdbdriver.moc pgmargs.moc threadlist.moc pgmargsbase.moc exprwnd.moc dbgmainwnd.moc debugger.moc xsldbgdriver.moc pgmsettings.moc regwnd.moc dbgdriver.moc procattachbase.moc winstack.moc
+ @echo 'creating kdbg.all_cpp.cpp ...'; \
+ rm -f kdbg.all_cpp.files kdbg.all_cpp.final; \
+ echo "#define KDE_USE_FINAL 1" >> kdbg.all_cpp.final; \
+ for file in pgmargs.cpp procattach.cpp debugger.cpp programconfig.cpp dbgdriver.cpp gdbdriver.cpp xsldbgdriver.cpp brkpt.cpp exprwnd.cpp regwnd.cpp memwindow.cpp threadlist.cpp sourcewnd.cpp winstack.cpp ttywnd.cpp typetable.cpp prefdebugger.cpp prefmisc.cpp pgmsettings.cpp mainwndbase.cpp dbgmainwnd.cpp main.cpp pgmargsbase.cpp procattachbase.cpp procattach.moc.cpp ; do \
+ echo "#include \"$$file\"" >> kdbg.all_cpp.files; \
+ test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> kdbg.all_cpp.final; \
+ done; \
+ cat kdbg.all_cpp.final kdbg.all_cpp.files > kdbg.all_cpp.cpp; \
+ rm -f kdbg.all_cpp.final kdbg.all_cpp.files
+
+#>+ 3
+clean-final:
+ -rm -f kdbg.all_cpp.cpp
+
+#>+ 3
+final:
+ $(MAKE) kdbg_OBJECTS="$(kdbg_final_OBJECTS)" all-am
+
+#>+ 3
+final-install:
+ $(MAKE) kdbg_OBJECTS="$(kdbg_final_OBJECTS)" install-am
+
+#>+ 3
+no-final:
+ $(MAKE) kdbg_OBJECTS="$(kdbg_nofinal_OBJECTS)" all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) kdbg_OBJECTS="$(kdbg_nofinal_OBJECTS)" install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 57
+ttywnd.lo: ttywnd.moc
+$(srcdir)/typetable.cpp: pgmargsbase.h procattachbase.h
+gdbdriver.o: gdbdriver.moc
+$(srcdir)/threadlist.cpp: pgmargsbase.h procattachbase.h
+$(srcdir)/main.cpp: pgmargsbase.h procattachbase.h
+$(srcdir)/dbgdriver.cpp: pgmargsbase.h procattachbase.h
+dbgmainwnd.lo: dbgmainwnd.moc
+dbgdriver.o: dbgdriver.moc
+$(srcdir)/pgmargs.cpp: pgmargsbase.h procattachbase.h
+$(srcdir)/xsldbgdriver.cpp: pgmargsbase.h procattachbase.h
+$(srcdir)/programconfig.cpp: pgmargsbase.h procattachbase.h
+threadlist.o: threadlist.moc
+gdbdriver.lo: gdbdriver.moc
+pgmargs.lo: pgmargs.moc
+$(srcdir)/dbgmainwnd.cpp: pgmargsbase.h procattachbase.h
+pgmargs.o: pgmargs.moc
+nmcheck-am: nmcheck
+$(srcdir)/ttywnd.cpp: pgmargsbase.h procattachbase.h
+memwindow.o: memwindow.moc
+exprwnd.o: exprwnd.moc
+regwnd.o: regwnd.moc
+ttywnd.o: ttywnd.moc
+debugger.lo: debugger.moc
+$(srcdir)/prefmisc.cpp: pgmargsbase.h procattachbase.h
+sourcewnd.o: sourcewnd.moc
+$(srcdir)/procattach.cpp: pgmargsbase.h procattachbase.h
+pgmsettings.o: pgmsettings.moc
+$(srcdir)/pgmsettings.cpp: pgmargsbase.h procattachbase.h
+$(srcdir)/mainwndbase.cpp: pgmargsbase.h procattachbase.h
+$(srcdir)/prefdebugger.cpp: pgmargsbase.h procattachbase.h
+brkpt.o: brkpt.moc
+$(srcdir)/exprwnd.cpp: pgmargsbase.h procattachbase.h
+$(srcdir)/brkpt.cpp: pgmargsbase.h procattachbase.h
+mainwndbase.o: mainwndbase.moc
+$(srcdir)/sourcewnd.cpp: pgmargsbase.h procattachbase.h
+dbgmainwnd.o: dbgmainwnd.moc
+xsldbgdriver.o: xsldbgdriver.moc
+debugger.o: debugger.moc
+pgmsettings.lo: pgmsettings.moc
+$(srcdir)/winstack.cpp: pgmargsbase.h procattachbase.h
+nmcheck:
+xsldbgdriver.lo: xsldbgdriver.moc
+$(srcdir)/gdbdriver.cpp: pgmargsbase.h procattachbase.h
+$(srcdir)/memwindow.cpp: pgmargsbase.h procattachbase.h
+sourcewnd.lo: sourcewnd.moc
+regwnd.lo: regwnd.moc
+threadlist.lo: threadlist.moc
+dbgdriver.lo: dbgdriver.moc
+winstack.lo: winstack.moc
+mainwndbase.lo: mainwndbase.moc
+winstack.o: winstack.moc
+$(srcdir)/debugger.cpp: pgmargsbase.h procattachbase.h
+memwindow.lo: memwindow.moc
+exprwnd.lo: exprwnd.moc
+$(srcdir)/regwnd.cpp: pgmargsbase.h procattachbase.h
+brkpt.lo: brkpt.moc
+
+#>+ 30
+pgmargsbase.cpp: $(srcdir)/pgmargsbase.ui pgmargsbase.h pgmargsbase.moc
+ rm -f pgmargsbase.cpp
+ echo '#include <kdialog.h>' > pgmargsbase.cpp
+ echo '#include <klocale.h>' >> pgmargsbase.cpp
+ $(UIC) -tr ${UIC_TR} -i pgmargsbase.h $(srcdir)/pgmargsbase.ui > pgmargsbase.cpp.temp ; ret=$$?; \
+ $(PERL) -pe "s,${UIC_TR}( \"\" ),QString::null,g" pgmargsbase.cpp.temp | $(PERL) -pe "s,${UIC_TR}( \"\"\, \"\" ),QString::null,g" | $(PERL) -pe "s,image([0-9][0-9]*)_data,img\$$1_pgmargsbase,g" | $(PERL) -pe "s,: QWizard\(,: KWizard(,g" >> pgmargsbase.cpp ;\
+ rm -f pgmargsbase.cpp.temp ;\
+ if test "$$ret" = 0; then echo '#include "pgmargsbase.moc"' >> pgmargsbase.cpp; else rm -f pgmargsbase.cpp ; exit $$ret ; fi
+
+pgmargsbase.h: $(srcdir)/pgmargsbase.ui
+ rm -rf pgmargsbase.h;
+ $(UIC) $(srcdir)/pgmargsbase.ui | $(PERL) -pi -e "s,public QWizard,public KWizard,g; s,#include <qwizard.h>,#include <kwizard.h>,g" >> pgmargsbase.h ;
+pgmargsbase.moc: pgmargsbase.h
+ $(MOC) pgmargsbase.h -o pgmargsbase.moc
+
+procattachbase.cpp: $(srcdir)/procattachbase.ui procattachbase.h procattachbase.moc
+ rm -f procattachbase.cpp
+ echo '#include <kdialog.h>' > procattachbase.cpp
+ echo '#include <klocale.h>' >> procattachbase.cpp
+ $(UIC) -tr ${UIC_TR} -i procattachbase.h $(srcdir)/procattachbase.ui > procattachbase.cpp.temp ; ret=$$?; \
+ $(PERL) -pe "s,${UIC_TR}( \"\" ),QString::null,g" procattachbase.cpp.temp | $(PERL) -pe "s,${UIC_TR}( \"\"\, \"\" ),QString::null,g" | $(PERL) -pe "s,image([0-9][0-9]*)_data,img\$$1_procattachbase,g" | $(PERL) -pe "s,: QWizard\(,: KWizard(,g" >> procattachbase.cpp ;\
+ rm -f procattachbase.cpp.temp ;\
+ if test "$$ret" = 0; then echo '#include "procattachbase.moc"' >> procattachbase.cpp; else rm -f procattachbase.cpp ; exit $$ret ; fi
+
+procattachbase.h: $(srcdir)/procattachbase.ui
+ rm -rf procattachbase.h;
+ $(UIC) $(srcdir)/procattachbase.ui | $(PERL) -pi -e "s,public QWizard,public KWizard,g; s,#include <qwizard.h>,#include <kwizard.h>,g" >> procattachbase.h ;
+procattachbase.moc: procattachbase.h
+ $(MOC) procattachbase.h -o procattachbase.moc
diff --git a/kdbg/brkpt.cpp b/kdbg/brkpt.cpp
new file mode 100644
index 0000000..a61b4f9
--- /dev/null
+++ b/kdbg/brkpt.cpp
@@ -0,0 +1,513 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <kapplication.h>
+#include <klocale.h> /* i18n */
+#include <kiconloader.h>
+#include <ksimpleconfig.h>
+#include <qdialog.h>
+#include <qkeycode.h>
+#include <qpainter.h>
+#include <qlabel.h>
+#include <qbitmap.h>
+#include "debugger.h"
+#include "brkpt.h"
+#include "dbgdriver.h"
+#include <ctype.h>
+#include <list>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "mydebug.h"
+
+
+class BreakpointItem : public QListViewItem, public Breakpoint
+{
+public:
+ BreakpointItem(QListView* list, const Breakpoint& bp);
+ void updateFrom(const Breakpoint& bp);
+ void display(); /* sets icon and visible texts */
+ bool enabled() const { return Breakpoint::enabled; }
+};
+
+
+BreakpointTable::BreakpointTable(QWidget* parent, const char* name) :
+ QWidget(parent, name),
+ m_debugger(0),
+ m_bpEdit(this, "bpedit"),
+ m_list(this, "bptable"),
+ m_btAddBP(this, "addbp"),
+ m_btAddWP(this, "addwp"),
+ m_btRemove(this, "remove"),
+ m_btEnaDis(this, "enadis"),
+ m_btViewCode(this, "view"),
+ m_btConditional(this, "conditional"),
+ m_layout(this, 8),
+ m_listandedit(8),
+ m_buttons(8)
+{
+ m_bpEdit.setMinimumSize(m_bpEdit.sizeHint());
+ connect(&m_bpEdit, SIGNAL(returnPressed()), this, SLOT(addBP()));
+
+ initListAndIcons();
+ connect(&m_list, SIGNAL(currentChanged(QListViewItem*)), SLOT(updateUI()));
+ // double click on item is same as View code
+ connect(&m_list, SIGNAL(doubleClicked(QListViewItem*)), this, SLOT(viewBP()));
+
+ // need mouse button events
+ m_list.viewport()->installEventFilter(this);
+
+ m_btAddBP.setText(i18n("Add &Breakpoint"));
+ m_btAddBP.setMinimumSize(m_btAddBP.sizeHint());
+ connect(&m_btAddBP, SIGNAL(clicked()), this, SLOT(addBP()));
+
+ m_btAddWP.setText(i18n("Add &Watchpoint"));
+ m_btAddWP.setMinimumSize(m_btAddWP.sizeHint());
+ connect(&m_btAddWP, SIGNAL(clicked()), this, SLOT(addWP()));
+
+ m_btRemove.setText(i18n("&Remove"));
+ m_btRemove.setMinimumSize(m_btRemove.sizeHint());
+ connect(&m_btRemove, SIGNAL(clicked()), this, SLOT(removeBP()));
+
+ // the Enable/Disable button changes its label
+ m_btEnaDis.setText(i18n("&Disable"));
+ // make a dummy button to get the size of the alternate label
+ {
+ QSize size = m_btEnaDis.sizeHint();
+ QPushButton dummy(this);
+ dummy.setText(i18n("&Enable"));
+ QSize sizeAlt = dummy.sizeHint();
+ if (sizeAlt.width() > size.width())
+ size.setWidth(sizeAlt.width());
+ if (sizeAlt.height() > size.height())
+ size.setHeight(sizeAlt.height());
+ m_btEnaDis.setMinimumSize(size);
+ }
+ connect(&m_btEnaDis, SIGNAL(clicked()), this, SLOT(enadisBP()));
+
+ m_btViewCode.setText(i18n("&View Code"));
+ m_btViewCode.setMinimumSize(m_btViewCode.sizeHint());
+ connect(&m_btViewCode, SIGNAL(clicked()), this, SLOT(viewBP()));
+
+ m_btConditional.setText(i18n("&Conditional..."));
+ m_btConditional.setMinimumSize(m_btConditional.sizeHint());
+ connect(&m_btConditional, SIGNAL(clicked()), this, SLOT(conditionalBP()));
+
+ m_layout.addLayout(&m_listandedit, 10);
+ m_layout.addLayout(&m_buttons);
+ m_listandedit.addWidget(&m_bpEdit);
+ m_listandedit.addWidget(&m_list, 10);
+ m_buttons.addWidget(&m_btAddBP);
+ m_buttons.addWidget(&m_btAddWP);
+ m_buttons.addWidget(&m_btRemove);
+ m_buttons.addWidget(&m_btEnaDis);
+ m_buttons.addWidget(&m_btViewCode);
+ m_buttons.addWidget(&m_btConditional);
+ m_buttons.addStretch(10);
+
+ m_layout.activate();
+
+ resize(350, 300);
+
+ m_bpEdit.setFocus();
+}
+
+BreakpointTable::~BreakpointTable()
+{
+}
+
+void BreakpointTable::updateBreakList()
+{
+ std::list<BreakpointItem*> deletedItems;
+
+ for (QListViewItem* it = m_list.firstChild(); it != 0; it = it->nextSibling()) {
+ deletedItems.push_back(static_cast<BreakpointItem*>(it));
+ }
+
+ // get the new list
+ for (KDebugger::BrkptROIterator bp = m_debugger->breakpointsBegin(); bp != m_debugger->breakpointsEnd(); ++bp)
+ {
+ // look up this item
+ for (std::list<BreakpointItem*>::iterator o = deletedItems.begin(); o != deletedItems.end(); ++o)
+ {
+ if ((*o)->id == bp->id) {
+ (*o)->updateFrom(*bp);
+ deletedItems.erase(o); /* don't delete */
+ goto nextItem;
+ }
+ }
+ // not in the list; add it
+ new BreakpointItem(&m_list, *bp);
+nextItem:;
+ }
+
+ // delete all untouched breakpoints
+ while (!deletedItems.empty()) {
+ delete deletedItems.front();
+ deletedItems.pop_front();
+ }
+}
+
+BreakpointItem::BreakpointItem(QListView* list, const Breakpoint& bp) :
+ QListViewItem(list),
+ Breakpoint(bp)
+{
+ display();
+}
+
+void BreakpointItem::updateFrom(const Breakpoint& bp)
+{
+ Breakpoint::operator=(bp); /* assign new values */
+ display();
+}
+
+void BreakpointTable::addBP()
+{
+ // set a breakpoint at the specified text
+ QString bpText = m_bpEdit.text();
+ bpText = bpText.stripWhiteSpace();
+ if (m_debugger->isReady())
+ {
+ Breakpoint* bp = new Breakpoint;
+ bp->text = bpText;
+
+ m_debugger->setBreakpoint(bp, false);
+ }
+}
+
+void BreakpointTable::addWP()
+{
+ // set a watchpoint for the specified expression
+ QString wpExpr = m_bpEdit.text();
+ wpExpr = wpExpr.stripWhiteSpace();
+ if (m_debugger->isReady()) {
+ Breakpoint* bp = new Breakpoint;
+ bp->type = Breakpoint::watchpoint;
+ bp->text = wpExpr;
+
+ m_debugger->setBreakpoint(bp, false);
+ }
+}
+
+void BreakpointTable::removeBP()
+{
+ BreakpointItem* bp = static_cast<BreakpointItem*>(m_list.currentItem());
+ if (bp != 0) {
+ m_debugger->deleteBreakpoint(bp->id);
+ // note that bp may be deleted by now
+ // (if bp was an orphaned breakpoint)
+ }
+}
+
+void BreakpointTable::enadisBP()
+{
+ BreakpointItem* bp = static_cast<BreakpointItem*>(m_list.currentItem());
+ if (bp != 0) {
+ m_debugger->enableDisableBreakpoint(bp->id);
+ }
+}
+
+void BreakpointTable::viewBP()
+{
+ BreakpointItem* bp = static_cast<BreakpointItem*>(m_list.currentItem());
+ if (bp == 0)
+ return;
+
+ emit activateFileLine(bp->fileName, bp->lineNo, bp->address);
+}
+
+void BreakpointTable::updateUI()
+{
+ bool enableChkpt = m_debugger->canChangeBreakpoints();
+ m_btAddBP.setEnabled(enableChkpt);
+ m_btAddWP.setEnabled(enableChkpt);
+
+ BreakpointItem* bp = static_cast<BreakpointItem*>(m_list.currentItem());
+ m_btViewCode.setEnabled(bp != 0);
+
+ if (bp == 0) {
+ enableChkpt = false;
+ } else {
+ if (bp->enabled()) {
+ m_btEnaDis.setText(i18n("&Disable"));
+ } else {
+ m_btEnaDis.setText(i18n("&Enable"));
+ }
+ }
+ m_btRemove.setEnabled(enableChkpt);
+ m_btEnaDis.setEnabled(enableChkpt);
+ m_btConditional.setEnabled(enableChkpt);
+}
+
+bool BreakpointTable::eventFilter(QObject* ob, QEvent* ev)
+{
+ if (ev->type() == QEvent::MouseButtonPress)
+ {
+ QMouseEvent* mev = static_cast<QMouseEvent*>(ev);
+ if (mev->button() == MidButton) {
+ // enable or disable the clicked-on item
+ BreakpointItem* bp =
+ static_cast<BreakpointItem*>(m_list.itemAt(mev->pos()));
+ if (bp != 0)
+ {
+ m_debugger->enableDisableBreakpoint(bp->id);
+ }
+ return true;
+ }
+ }
+ return QWidget::eventFilter(ob, ev);
+}
+
+class ConditionalDlg : public QDialog
+{
+public:
+ ConditionalDlg(QWidget* parent);
+ ~ConditionalDlg();
+
+ void setCondition(const QString& text) { m_condition.setText(text); }
+ QString condition() { return m_condition.text(); }
+ void setIgnoreCount(uint count);
+ uint ignoreCount();
+
+protected:
+ QLabel m_conditionLabel;
+ QLineEdit m_condition;
+ QLabel m_ignoreLabel;
+ QLineEdit m_ignoreCount;
+ QPushButton m_buttonOK;
+ QPushButton m_buttonCancel;
+ QVBoxLayout m_layout;
+ QGridLayout m_inputs;
+ QHBoxLayout m_buttons;
+};
+
+void BreakpointTable::conditionalBP()
+{
+ BreakpointItem* bp = static_cast<BreakpointItem*>(m_list.currentItem());
+ if (bp == 0)
+ return;
+
+ /*
+ * Important: we must not keep a pointer to the Breakpoint around,
+ * since it may vanish while the modal dialog is open through other
+ * user interactions (like clicking at the breakpoint in the source
+ * window)!
+ */
+ int id = bp->id;
+
+ ConditionalDlg dlg(this);
+ dlg.setCondition(bp->condition);
+ dlg.setIgnoreCount(bp->ignoreCount);
+
+ if (dlg.exec() != QDialog::Accepted)
+ return;
+
+ QString conditionInput = dlg.condition();
+ int ignoreCount = dlg.ignoreCount();
+ m_debugger->conditionalBreakpoint(id, conditionInput, ignoreCount);
+}
+
+
+void BreakpointTable::initListAndIcons()
+{
+ m_list.addColumn(i18n("Location"), 220);
+ m_list.addColumn(i18n("Address"), 65);
+ m_list.addColumn(i18n("Hits"), 30);
+ m_list.addColumn(i18n("Ignore"), 30);
+ m_list.addColumn(i18n("Condition"), 200);
+
+ m_list.setMinimumSize(200, 100);
+
+ m_list.setSorting(-1);
+
+ // add pixmaps
+ QPixmap brkena = UserIcon("brkena.xpm");
+ QPixmap brkdis = UserIcon("brkdis.xpm");
+ QPixmap watchena = UserIcon("watchena.xpm");
+ QPixmap watchdis = UserIcon("watchdis.xpm");
+ QPixmap brktmp = UserIcon("brktmp.xpm");
+ QPixmap brkcond = UserIcon("brkcond.xpm");
+ QPixmap brkorph = UserIcon("brkorph.xpm");
+
+ /*
+ * There are 32 different pixmaps: The basic enabled or disabled
+ * breakpoint, plus an optional overlaid brktmp icon plus an optional
+ * overlaid brkcond icon, plus an optional overlaid brkorph icon. Then
+ * the same sequence for watchpoints.
+ */
+ m_icons.resize(32);
+ QPixmap canvas(16,16);
+
+ for (int i = 0; i < 32; i++) {
+ {
+ QPainter p(&canvas);
+ // clear canvas
+ p.fillRect(0,0, canvas.width(),canvas.height(), cyan);
+ // basic icon
+ if (i & 1) {
+ p.drawPixmap(1,1, (i & 8) ? watchena : brkena);
+ } else {
+ p.drawPixmap(1,1, (i & 8) ? watchdis : brkdis);
+ }
+ // temporary overlay
+ if (i & 2) {
+ p.drawPixmap(1,1, brktmp);
+ }
+ // conditional overlay
+ if (i & 4) {
+ p.drawPixmap(1,1, brkcond);
+ }
+ // orphan overlay
+ if (i & 16) {
+ p.drawPixmap(1,1, brkorph);
+ }
+ }
+ canvas.setMask(canvas.createHeuristicMask());
+ m_icons[i] = canvas;
+ }
+}
+
+void BreakpointItem::display()
+{
+ BreakpointTable* lb = static_cast<BreakpointTable*>(listView()->parent());
+
+ /* breakpoint icon code; keep order the same as in BreakpointTable::initListAndIcons */
+ int code = enabled() ? 1 : 0;
+ if (temporary)
+ code += 2;
+ if (!condition.isEmpty() || ignoreCount > 0)
+ code += 4;
+ if (type == watchpoint)
+ code += 8;
+ if (isOrphaned())
+ code += 16;
+ setPixmap(0, lb->m_icons[code]);
+
+ // more breakpoint info
+ if (!location.isEmpty()) {
+ setText(0, location);
+ } else if (!Breakpoint::text.isEmpty()) {
+ setText(0, Breakpoint::text);
+ } else if (!fileName.isEmpty()) {
+ // use only the file name portion
+ QString file = fileName;
+ int slash = file.findRev('/');
+ if (slash >= 0) {
+ file = file.mid(slash+1);
+ }
+ // correct zero-based line-numbers
+ setText(0, file + ":" + QString::number(lineNo+1));
+ } else {
+ setText(0, "*" + address.asString());
+ }
+
+ int c = 0;
+ setText(++c, address.asString());
+ QString tmp;
+ if (hitCount == 0) {
+ setText(++c, QString());
+ } else {
+ tmp.setNum(hitCount);
+ setText(++c, tmp);
+ }
+ if (ignoreCount == 0) {
+ setText(++c, QString());
+ } else {
+ tmp.setNum(ignoreCount);
+ setText(++c, tmp);
+ }
+ if (condition.isEmpty()) {
+ setText(++c, QString());
+ } else {
+ setText(++c, condition);
+ }
+}
+
+
+ConditionalDlg::ConditionalDlg(QWidget* parent) :
+ QDialog(parent, "conditional", true),
+ m_conditionLabel(this, "condLabel"),
+ m_condition(this, "condition"),
+ m_ignoreLabel(this, "ignoreLabel"),
+ m_ignoreCount(this, "ignoreCount"),
+ m_buttonOK(this, "ok"),
+ m_buttonCancel(this, "cancel"),
+ m_layout(this, 10),
+ m_inputs(2, 2, 10),
+ m_buttons(4)
+{
+ QString title = kapp->caption();
+ title += i18n(": Conditional breakpoint");
+ setCaption(title);
+
+ m_conditionLabel.setText(i18n("&Condition:"));
+ m_conditionLabel.setMinimumSize(m_conditionLabel.sizeHint());
+ m_ignoreLabel.setText(i18n("Ignore &next hits:"));
+ m_ignoreLabel.setMinimumSize(m_ignoreLabel.sizeHint());
+
+ m_condition.setMinimumSize(150, 24);
+ m_condition.setMaxLength(10000);
+ m_condition.setFrame(true);
+ m_ignoreCount.setMinimumSize(150, 24);
+ m_ignoreCount.setMaxLength(10000);
+ m_ignoreCount.setFrame(true);
+
+ m_conditionLabel.setBuddy(&m_condition);
+ m_ignoreLabel.setBuddy(&m_ignoreCount);
+
+ m_buttonOK.setMinimumSize(100, 30);
+ connect(&m_buttonOK, SIGNAL(clicked()), SLOT(accept()));
+ m_buttonOK.setText(i18n("OK"));
+ m_buttonOK.setDefault(true);
+
+ m_buttonCancel.setMinimumSize(100, 30);
+ connect(&m_buttonCancel, SIGNAL(clicked()), SLOT(reject()));
+ m_buttonCancel.setText(i18n("Cancel"));
+
+ m_layout.addLayout(&m_inputs);
+ m_inputs.addWidget(&m_conditionLabel, 0, 0);
+ m_inputs.addWidget(&m_condition, 0, 1);
+ m_inputs.addWidget(&m_ignoreLabel, 1, 0);
+ m_inputs.addWidget(&m_ignoreCount, 1, 1);
+ m_inputs.setColStretch(1, 10);
+ m_layout.addLayout(&m_buttons);
+ m_layout.addStretch(10);
+ m_buttons.addStretch(10);
+ m_buttons.addWidget(&m_buttonOK);
+ m_buttons.addSpacing(40);
+ m_buttons.addWidget(&m_buttonCancel);
+ m_buttons.addStretch(10);
+
+ m_layout.activate();
+
+ m_condition.setFocus();
+ resize(400, 100);
+}
+
+ConditionalDlg::~ConditionalDlg()
+{
+}
+
+uint ConditionalDlg::ignoreCount()
+{
+ bool ok;
+ QString input = m_ignoreCount.text();
+ uint result = input.toUInt(&ok);
+ return ok ? result : 0;
+}
+
+void ConditionalDlg::setIgnoreCount(uint count)
+{
+ QString text;
+ // set empty if ignore count is zero
+ if (count > 0) {
+ text.setNum(count);
+ }
+ m_ignoreCount.setText(text);
+}
+
+
+#include "brkpt.moc"
diff --git a/kdbg/brkpt.h b/kdbg/brkpt.h
new file mode 100644
index 0000000..c72785b
--- /dev/null
+++ b/kdbg/brkpt.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef BRKPT_H
+#define BRKPT_H
+
+#include <qlistview.h>
+#include <qlayout.h>
+#include <qpushbutton.h>
+#include <qlineedit.h>
+#include <qvaluevector.h>
+
+class KDebugger;
+class BreakpointItem;
+
+
+class BreakpointTable : public QWidget
+{
+ Q_OBJECT
+public:
+ BreakpointTable(QWidget* parent, const char* name);
+ ~BreakpointTable();
+ void setDebugger(KDebugger* deb) { m_debugger = deb; }
+
+protected:
+ KDebugger* m_debugger;
+ QLineEdit m_bpEdit;
+ QListView m_list;
+ QPushButton m_btAddBP;
+ QPushButton m_btAddWP;
+ QPushButton m_btRemove;
+ QPushButton m_btEnaDis;
+ QPushButton m_btViewCode;
+ QPushButton m_btConditional;
+ QHBoxLayout m_layout;
+ QVBoxLayout m_listandedit;
+ QVBoxLayout m_buttons;
+ QValueVector<QPixmap> m_icons;
+
+ void insertBreakpoint(int num, bool temp, bool enabled, QString location,
+ QString fileName = 0, int lineNo = -1,
+ int hits = 0, uint ignoreCount = 0,
+ QString condition = QString());
+ void initListAndIcons();
+ virtual bool eventFilter(QObject* ob, QEvent* ev);
+
+ friend class BreakpointItem;
+
+signals:
+ /**
+ * This signal is emitted when the user wants to go to the source code
+ * where the current breakpoint is in.
+ *
+ * @param file specifies the file; this is not necessarily a full path
+ * name, and if it is relative, you won't know relative to what, you
+ * can only guess.
+ * @param lineNo specifies the line number (0-based!).
+ * @param address specifies the exact address of the breakpoint.
+ */
+ void activateFileLine(const QString& file, int lineNo, const DbgAddr& address);
+public slots:
+ virtual void addBP();
+ virtual void addWP();
+ virtual void removeBP();
+ virtual void enadisBP();
+ virtual void viewBP();
+ virtual void conditionalBP();
+ void updateUI();
+ void updateBreakList();
+};
+
+#endif // BRKPT_H
diff --git a/kdbg/commandids.h b/kdbg/commandids.h
new file mode 100644
index 0000000..35623b2
--- /dev/null
+++ b/kdbg/commandids.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef COMMANDIDS_H
+#define COMMANDIDS_H
+
+// statusbar ids
+#define ID_STATUS_MSG 191
+#define ID_STATUS_BUSY 192
+#define ID_STATUS_ACTIVE 193
+#endif // COMMANDIDS_H
diff --git a/kdbg/dbgdriver.cpp b/kdbg/dbgdriver.cpp
new file mode 100644
index 0000000..479bdd3
--- /dev/null
+++ b/kdbg/dbgdriver.cpp
@@ -0,0 +1,527 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "dbgdriver.h"
+#include "exprwnd.h"
+#include <qstringlist.h>
+#include <ctype.h>
+#include <stdlib.h> /* strtol, atoi */
+#include <algorithm>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "mydebug.h"
+#include <assert.h>
+
+
+DebuggerDriver::DebuggerDriver() :
+ KProcess(),
+ m_state(DSidle),
+ m_output(0),
+ m_outputLen(0),
+ m_outputAlloc(0),
+ m_activeCmd(0),
+ m_promptMinLen(0),
+ m_promptLastChar('\0')
+{
+ m_outputAlloc = 4000;
+ m_output = new char[m_outputAlloc];
+
+ m_prompt[0] = '\0';
+ // Derived classes can set either m_prompt or m_promptRE.
+ // If m_promptRE is set, it must include the '$' at the end.
+ // m_promptLastChar and m_promptMinLen must also be set.
+
+ // debugger process
+ connect(this, SIGNAL(receivedStdout(KProcess*,char*,int)),
+ SLOT(slotReceiveOutput(KProcess*,char*,int)));
+ connect(this, SIGNAL(wroteStdin(KProcess*)), SLOT(slotCommandRead(KProcess*)));
+ connect(this, SIGNAL(processExited(KProcess*)), SLOT(slotExited(KProcess*)));
+}
+
+DebuggerDriver::~DebuggerDriver()
+{
+ delete[] m_output;
+ flushHiPriQueue();
+ flushLoPriQueue();
+}
+
+int DebuggerDriver::commSetupDoneC()
+{
+ TRACE(__PRETTY_FUNCTION__);
+
+ if (!KProcess::commSetupDoneC())
+ return 0;
+
+ close(STDERR_FILENO);
+ return dup2(STDOUT_FILENO, STDERR_FILENO) != -1;
+}
+
+
+bool DebuggerDriver::startup(QString cmdStr)
+{
+ // clear command queues
+ delete m_activeCmd;
+ m_activeCmd = 0;
+ flushHiPriQueue();
+ flushLoPriQueue();
+ m_state = DSidle;
+
+ // debugger executable
+ if (cmdStr.isEmpty())
+ cmdStr = defaultInvocation();
+
+ QStringList cmd = QStringList::split(' ', cmdStr);
+ clearArguments();
+ for (QStringList::iterator i = cmd.begin(); i != cmd.end(); ++i) {
+ *this << *i;
+ }
+
+ if (!start(KProcess::NotifyOnExit,
+ KProcess::Communication(KProcess::Stdin|KProcess::Stdout))) {
+ return false;
+ }
+
+ // open log file
+ if (!m_logFile.isOpen() && !m_logFileName.isEmpty()) {
+ m_logFile.setName(m_logFileName);
+ m_logFile.open(IO_WriteOnly);
+ }
+
+ // these must be set by derived classes in their constructor
+ assert(m_promptMinLen > 0); // _must_ have a prompt
+ assert(m_promptLastChar != '\0'); // last char _must_ be fixed
+ assert(m_prompt[0] == '\0' || strlen(m_prompt) == m_promptMinLen);
+ // either a prompt or a regexp
+ assert(m_prompt[0] != '\0' && m_promptMinLen < sizeof(m_prompt) ||
+ !m_promptRE.isEmpty() && m_promptRE.isValid());
+
+ return true;
+}
+
+void DebuggerDriver::slotExited(KProcess*)
+{
+ static const char txt[] = "\n====== debugger exited ======\n";
+ if (m_logFile.isOpen()) {
+ m_logFile.writeBlock(txt,sizeof(txt)-1);
+ }
+
+ // reset state
+ m_state = DSidle;
+ // empty buffer
+ m_outputLen = 0;
+ *m_output = '\0';
+}
+
+
+CmdQueueItem* DebuggerDriver::executeCmdString(DbgCommand cmd,
+ QString cmdString, bool clearLow)
+{
+ // place a new command into the high-priority queue
+ CmdQueueItem* cmdItem = new CmdQueueItem(cmd, cmdString);
+ m_hipriCmdQueue.push(cmdItem);
+
+ if (clearLow) {
+ if (m_state == DSrunningLow) {
+ // take the liberty to interrupt the running command
+ m_state = DSinterrupted;
+ kill(SIGINT);
+ ASSERT(m_activeCmd != 0);
+ TRACE(QString().sprintf("interrupted the command %d",
+ (m_activeCmd ? m_activeCmd->m_cmd : -1)));
+ delete m_activeCmd;
+ m_activeCmd = 0;
+ }
+ flushLoPriQueue();
+ }
+ // if gdb is idle, send it the command
+ if (m_state == DSidle) {
+ ASSERT(m_activeCmd == 0);
+ writeCommand();
+ }
+
+ return cmdItem;
+}
+
+bool CmdQueueItem::IsEqualCmd::operator()(CmdQueueItem* cmd) const
+{
+ return cmd->m_cmd == m_cmd && cmd->m_cmdString == m_str;
+}
+
+CmdQueueItem* DebuggerDriver::queueCmdString(DbgCommand cmd,
+ QString cmdString, QueueMode mode)
+{
+ // place a new command into the low-priority queue
+ std::list<CmdQueueItem*>::iterator i;
+ CmdQueueItem* cmdItem = 0;
+ switch (mode) {
+ case QMoverrideMoreEqual:
+ case QMoverride:
+ // check whether gdb is currently processing this command
+ if (m_activeCmd != 0 &&
+ m_activeCmd->m_cmd == cmd && m_activeCmd->m_cmdString == cmdString)
+ {
+ return m_activeCmd;
+ }
+ // check whether there is already the same command in the queue
+ i = find_if(m_lopriCmdQueue.begin(), m_lopriCmdQueue.end(), CmdQueueItem::IsEqualCmd(cmd, cmdString));
+ if (i != m_lopriCmdQueue.end()) {
+ // found one
+ cmdItem = *i;
+ if (mode == QMoverrideMoreEqual) {
+ // All commands are equal, but some are more equal than others...
+ // put this command in front of all others
+ m_lopriCmdQueue.erase(i);
+ m_lopriCmdQueue.push_front(cmdItem);
+ }
+ break;
+ } // else none found, so add it
+ // drop through
+ case QMnormal:
+ cmdItem = new CmdQueueItem(cmd, cmdString);
+ m_lopriCmdQueue.push_back(cmdItem);
+ }
+
+ // if gdb is idle, send it the command
+ if (m_state == DSidle) {
+ ASSERT(m_activeCmd == 0);
+ writeCommand();
+ }
+
+ return cmdItem;
+}
+
+// dequeue a pending command, make it the active one and send it to gdb
+void DebuggerDriver::writeCommand()
+{
+// ASSERT(m_activeCmd == 0);
+ assert(m_activeCmd == 0);
+
+ // first check the high-priority queue - only if it is empty
+ // use a low-priority command.
+ CmdQueueItem* cmd;
+ DebuggerState newState = DScommandSent;
+ if (!m_hipriCmdQueue.empty()) {
+ cmd = m_hipriCmdQueue.front();
+ m_hipriCmdQueue.pop();
+ } else if (!m_lopriCmdQueue.empty()) {
+ cmd = m_lopriCmdQueue.front();
+ m_lopriCmdQueue.pop_front();
+ newState = DScommandSentLow;
+ } else {
+ // nothing to do
+ m_state = DSidle; /* is necessary if command was interrupted earlier */
+ return;
+ }
+
+ m_activeCmd = cmd;
+ TRACE("in writeCommand: " + cmd->m_cmdString);
+
+ const char* str = cmd->m_cmdString;
+ writeStdin(const_cast<char*>(str), cmd->m_cmdString.length());
+
+ // write also to log file
+ if (m_logFile.isOpen()) {
+ m_logFile.writeBlock(str, cmd->m_cmdString.length());
+ m_logFile.flush();
+ }
+
+ m_state = newState;
+}
+
+void DebuggerDriver::flushLoPriQueue()
+{
+ while (!m_lopriCmdQueue.empty()) {
+ delete m_lopriCmdQueue.back();
+ m_lopriCmdQueue.pop_back();
+ }
+}
+
+void DebuggerDriver::flushHiPriQueue()
+{
+ while (!m_hipriCmdQueue.empty()) {
+ delete m_hipriCmdQueue.front();
+ m_hipriCmdQueue.pop();
+ }
+}
+
+void DebuggerDriver::flushCommands(bool hipriOnly)
+{
+ flushHiPriQueue();
+ if (!hipriOnly) {
+ flushLoPriQueue();
+ }
+}
+
+void DebuggerDriver::slotCommandRead(KProcess*)
+{
+ TRACE(__PRETTY_FUNCTION__);
+
+ // there must be an active command which is not yet commited
+ ASSERT(m_state == DScommandSent || m_state == DScommandSentLow);
+ ASSERT(m_activeCmd != 0);
+ ASSERT(!m_activeCmd->m_committed);
+
+ // commit the command
+ m_activeCmd->m_committed = true;
+
+ // now the debugger is officially working on the command
+ m_state = m_state == DScommandSent ? DSrunning : DSrunningLow;
+
+ // set the flag that reflects whether the program is really running
+ switch (m_activeCmd->m_cmd) {
+ case DCrun: case DCcont: case DCnext: case DCstep: case DCfinish: case DCuntil:
+ emit inferiorRunning();
+ break;
+ default:
+ break;
+ }
+
+ // re-receive delayed output
+ while (!m_delayedOutput.empty()) {
+ QByteArray delayed = m_delayedOutput.front();
+ m_delayedOutput.pop();
+ slotReceiveOutput(0, const_cast<char*>(delayed.data()), delayed.size());
+ }
+}
+
+void DebuggerDriver::slotReceiveOutput(KProcess*, char* buffer, int buflen)
+{
+ /*
+ * The debugger should be running (processing a command) at this point.
+ * If it is not, it is still idle because we haven't received the
+ * wroteStdin signal yet, in which case there must be an active command
+ * which is not commited.
+ */
+ if (m_state == DScommandSent || m_state == DScommandSentLow) {
+ ASSERT(m_activeCmd != 0);
+ ASSERT(!m_activeCmd->m_committed);
+ /*
+ * We received output before we got signal wroteStdin. Collect this
+ * output, it will be re-sent by commandRead when it gets the
+ * acknowledgment for the uncommitted command.
+ */
+ m_delayedOutput.push(QByteArray().duplicate(buffer, buflen));
+ return;
+ }
+ // write to log file (do not log delayed output - it would appear twice)
+ if (m_logFile.isOpen()) {
+ m_logFile.writeBlock(buffer, buflen);
+ m_logFile.flush();
+ }
+
+ /*
+ * gdb sometimes produces stray output while it's idle. This happens if
+ * it receives a signal, most prominently a SIGCONT after a SIGTSTP:
+ * The user haltet kdbg with Ctrl-Z, then continues it with "fg", which
+ * also continues gdb, which repeats the prompt!
+ */
+ if (m_activeCmd == 0 && m_state != DSinterrupted) {
+ // ignore the output
+ TRACE("ignoring stray output: " + QString::fromLatin1(buffer, buflen));
+ return;
+ }
+ ASSERT(m_state == DSrunning || m_state == DSrunningLow || m_state == DSinterrupted);
+ ASSERT(m_activeCmd != 0 || m_state == DSinterrupted);
+
+ // collect output until next prompt string is found
+
+ // accumulate it
+ if (m_outputLen + buflen >= m_outputAlloc) {
+ /*
+ * Must enlarge m_output: double it. Note: That particular
+ * sequence of commandes here ensures exception safety.
+ */
+ int newSize = m_outputAlloc * 2;
+ char* newBuf = new char[newSize];
+ memcpy(newBuf, m_output, m_outputLen);
+ delete[] m_output;
+ m_output = newBuf;
+ m_outputAlloc = newSize;
+ }
+ memcpy(m_output+m_outputLen, buffer, buflen);
+ m_outputLen += buflen;
+ m_output[m_outputLen] = '\0';
+
+ /*
+ * If there's a prompt string in the collected output, it must be at
+ * the very end. In order to quickly find out whether there is a prompt
+ * string, we check whether the last character of m_output is identical
+ * to the last character of the prompt string. Only if it is, we check
+ * for the full prompt string.
+ *
+ * Note: Using the regular expression here is most expensive, because
+ * it translates m_output to a QString each time.
+ *
+ * Note: It could nevertheless happen that a character sequence that is
+ * equal to the prompt string appears at the end of the output,
+ * although it is very, very unlikely (namely as part of a string that
+ * lingered in gdb's output buffer due to some timing/heavy load
+ * conditions for a very long time such that that buffer overflowed
+ * exactly at the end of the prompt string look-a-like).
+ */
+ int promptStart = -1;
+ if (m_output[m_outputLen-1] == m_promptLastChar &&
+ m_outputLen >= m_promptMinLen)
+ {
+ // this is a candidate for a prompt at the end,
+ // now see if there really is
+ if (m_prompt[0] != '\0') {
+ if (strncmp(m_output+m_outputLen-m_promptMinLen,
+ m_prompt, m_promptMinLen) == 0)
+ {
+ promptStart = m_outputLen-m_promptMinLen;
+ }
+ } else {
+ QString output = QString::fromLatin1(m_output, m_outputLen);
+#if QT_VERSION >= 300
+ promptStart = m_promptRE.search(output);
+#else
+ promptStart = m_promptRE.match(output);
+#endif
+ }
+ }
+ if (promptStart >= 0)
+ {
+ // found prompt!
+
+ // terminate output before the prompt
+ m_output[promptStart] = '\0';
+
+ /*
+ * We've got output for the active command. But if it was
+ * interrupted, ignore it.
+ */
+ if (m_state != DSinterrupted) {
+ /*
+ * m_state shouldn't be DSidle while we are parsing the output
+ * so that all commands produced by parse() go into the queue
+ * instead of being written to gdb immediately.
+ */
+ ASSERT(m_state != DSidle);
+ CmdQueueItem* cmd = m_activeCmd;
+ m_activeCmd = 0;
+ commandFinished(cmd);
+ delete cmd;
+ }
+
+ // empty buffer
+ m_outputLen = 0;
+ *m_output = '\0';
+ // also clear delayed output if interrupted
+ if (m_state == DSinterrupted) {
+ m_delayedOutput = std::queue<QByteArray>();
+ }
+
+ /*
+ * We parsed some output successfully. Unless there's more delayed
+ * output, the debugger must be idle now, so send down the next
+ * command.
+ */
+ if (m_delayedOutput.empty()) {
+ if (m_hipriCmdQueue.empty() && m_lopriCmdQueue.empty()) {
+ // no pending commands
+ m_state = DSidle;
+ emit enterIdleState();
+ } else {
+ writeCommand();
+ }
+ }
+ }
+}
+
+void DebuggerDriver::dequeueCmdByVar(VarTree* var)
+{
+ if (var == 0)
+ return;
+
+ std::list<CmdQueueItem*>::iterator i = m_lopriCmdQueue.begin();
+ while (i != m_lopriCmdQueue.end()) {
+ if ((*i)->m_expr != 0 && var->isAncestorEq((*i)->m_expr)) {
+ // this is indeed a critical command; delete it
+ TRACE("removing critical lopri-cmd: " + (*i)->m_cmdString);
+ delete *i;
+ m_lopriCmdQueue.erase(i++);
+ } else
+ ++i;
+ }
+}
+
+
+QString DebuggerDriver::editableValue(VarTree* value)
+{
+ // by default, let the user edit what is visible
+ return value->value();
+}
+
+
+StackFrame::~StackFrame()
+{
+ delete var;
+}
+
+
+DbgAddr::DbgAddr(const QString& aa) :
+ a(aa)
+{
+ cleanAddr();
+}
+
+/*
+ * We strip off the leading 0x and any leading zeros.
+ */
+void DbgAddr::cleanAddr()
+{
+ if (a.isEmpty())
+ return;
+
+ while (a[0] == '0' || a[0] == 'x') {
+ a.remove(0, 1);
+ }
+}
+
+void DbgAddr::operator=(const QString& aa)
+{
+ a = aa;
+ fnoffs = QString();
+ cleanAddr();
+}
+
+/* Re-attach 0x in front of the address */
+QString DbgAddr::asString() const
+{
+ if (a.isEmpty())
+ return QString();
+ else
+ return "0x" + a;
+}
+
+bool operator==(const DbgAddr& a1, const DbgAddr& a2)
+{
+ return QString::compare(a1.a, a2.a) == 0;
+}
+
+bool operator>(const DbgAddr& a1, const DbgAddr& a2)
+{
+ if (a1.a.length() > a2.a.length())
+ return true;
+ if (a1.a.length() < a2.a.length())
+ return false;
+ return QString::compare(a1.a, a2.a) > 0;
+}
+
+
+Breakpoint::Breakpoint() :
+ id(0),
+ type(breakpoint),
+ temporary(false),
+ enabled(true),
+ ignoreCount(0),
+ hitCount(0),
+ lineNo(0)
+{ }
+
+#include "dbgdriver.moc"
diff --git a/kdbg/dbgdriver.h b/kdbg/dbgdriver.h
new file mode 100644
index 0000000..f5f1f7d
--- /dev/null
+++ b/kdbg/dbgdriver.h
@@ -0,0 +1,622 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef DBGDRIVER_H
+#define DBGDRIVER_H
+
+#include <qfile.h>
+#include <qregexp.h>
+#include <qcstring.h>
+#include <kprocess.h>
+#include <queue>
+#include <list>
+
+
+class VarTree;
+class ExprValue;
+class ExprWnd;
+class KDebugger;
+class QStringList;
+
+
+/**
+ * A type representing an address.
+ */
+struct DbgAddr
+{
+ QString a;
+ QString fnoffs;
+ DbgAddr() { }
+ DbgAddr(const QString& aa);
+ DbgAddr(const DbgAddr& src) : a(src.a), fnoffs(src.fnoffs) { }
+ void operator=(const QString& aa);
+ void operator=(const DbgAddr& src) { a = src.a; fnoffs = src.fnoffs; }
+ QString asString() const;
+ bool isEmpty() const { return a.isEmpty(); }
+protected:
+ void cleanAddr();
+};
+bool operator==(const DbgAddr& a1, const DbgAddr& a2);
+bool operator>(const DbgAddr& a1, const DbgAddr& a2);
+
+
+enum DbgCommand {
+ DCinitialize,
+ DCtty,
+ DCexecutable,
+ DCtargetremote,
+ DCcorefile,
+ DCattach,
+ DCinfolinemain,
+ DCinfolocals,
+ DCinforegisters,
+ DCexamine,
+ DCinfoline,
+ DCdisassemble,
+ DCsetargs,
+ DCsetenv,
+ DCunsetenv,
+ DCsetoption, /* debugger options */
+ DCcd,
+ DCbt,
+ DCrun,
+ DCcont,
+ DCstep,
+ DCstepi,
+ DCnext,
+ DCnexti,
+ DCfinish,
+ DCuntil, /* line number is zero-based! */
+ DCkill,
+ DCbreaktext,
+ DCbreakline, /* line number is zero-based! */
+ DCtbreakline, /* line number is zero-based! */
+ DCbreakaddr,
+ DCtbreakaddr,
+ DCwatchpoint,
+ DCdelete,
+ DCenable,
+ DCdisable,
+ DCprint,
+ DCprintDeref,
+ DCprintStruct,
+ DCprintQStringStruct,
+ DCframe,
+ DCfindType,
+ DCinfosharedlib,
+ DCthread,
+ DCinfothreads,
+ DCinfobreak,
+ DCcondition,
+ DCsetpc,
+ DCignore,
+ DCprintWChar,
+ DCsetvariable
+};
+
+enum RunDevNull {
+ RDNstdin = 0x1, /* redirect stdin to /dev/null */
+ RDNstdout = 0x2, /* redirect stdout to /dev/null */
+ RDNstderr = 0x4 /* redirect stderr to /dev/null */
+};
+
+/**
+ * How the memory dump is formated. The lowest 4 bits define the size of
+ * the entities. The higher bits define how these are formatted. Note that
+ * not all combinations make sense.
+ */
+enum MemoryDumpType {
+ // sizes
+ MDTbyte = 0x1,
+ MDThalfword = 0x2,
+ MDTword = 0x3,
+ MDTgiantword = 0x4,
+ MDTsizemask = 0xf,
+ // formats
+ MDThex = 0x10,
+ MDTsigned = 0x20,
+ MDTunsigned = 0x30,
+ MDToctal = 0x40,
+ MDTbinary = 0x50,
+ MDTaddress = 0x60,
+ MDTchar = 0x70,
+ MDTfloat = 0x80,
+ MDTstring = 0x90,
+ MDTinsn = 0xa0,
+ MDTformatmask = 0xf0
+};
+
+struct Breakpoint;
+
+/**
+ * Debugger commands are placed in a queue. Only one command at a time is
+ * sent down to the debugger. All other commands in the queue are retained
+ * until the sent command has been processed by gdb. The debugger tells us
+ * that it's done with the command by sending the prompt. The output of the
+ * debugger is parsed at that time. Then, if more commands are in the
+ * queue, the next one is sent to the debugger.
+ */
+struct CmdQueueItem
+{
+ DbgCommand m_cmd;
+ QString m_cmdString;
+ bool m_committed; /* just a debugging aid */
+ // remember which expression when printing an expression
+ VarTree* m_expr;
+ ExprWnd* m_exprWnd;
+ // remember file position
+ QString m_fileName;
+ int m_lineNo;
+ // the breakpoint info
+ Breakpoint* m_brkpt;
+ int m_existingBrkpt;
+ // whether command was emitted due to direct user request (only set when relevant)
+ bool m_byUser;
+
+ CmdQueueItem(DbgCommand cmd, const QString& str) :
+ m_cmd(cmd),
+ m_cmdString(str),
+ m_committed(false),
+ m_expr(0),
+ m_exprWnd(0),
+ m_lineNo(0),
+ m_brkpt(0),
+ m_existingBrkpt(0),
+ m_byUser(false)
+ { }
+
+ struct IsEqualCmd
+ {
+ IsEqualCmd(DbgCommand cmd, const QString& str) : m_cmd(cmd), m_str(str) { }
+ bool operator()(CmdQueueItem*) const;
+ DbgCommand m_cmd;
+ const QString& m_str;
+ };
+};
+
+/**
+ * The information about a breakpoint that is parsed from the list of
+ * breakpoints.
+ */
+struct Breakpoint
+{
+ int id; /* gdb's number */
+ enum Type {
+ breakpoint, watchpoint
+ } type;
+ bool temporary;
+ bool enabled;
+ QString location;
+ QString text; /* text if set using DCbreaktext */
+ DbgAddr address; /* exact address of breakpoint */
+ QString condition; /* condition as printed by gdb */
+ int ignoreCount; /* ignore next that may hits */
+ int hitCount; /* as reported by gdb */
+ // the following items repeat the location, but in a better usable way
+ QString fileName;
+ int lineNo; /* zero-based line number */
+ Breakpoint();
+ bool isOrphaned() const { return id < 0; }
+};
+
+/**
+ * Information about a stack frame.
+ */
+struct FrameInfo
+{
+ QString fileName;
+ int lineNo; /* zero-based line number */
+ DbgAddr address; /* exact address of PC */
+};
+
+/**
+ * The information about a stack frame as parsed from the backtrace.
+ */
+struct StackFrame : FrameInfo
+{
+ int frameNo;
+ ExprValue* var; /* more information if non-zero */
+ StackFrame() : var(0) { }
+ ~StackFrame();
+};
+
+/**
+ * The information about a thread as parsed from the threads list.
+ */
+struct ThreadInfo : FrameInfo
+{
+ int id; /* gdb's number */
+ QString threadName; /* the SYSTAG */
+ QString function; /* where thread is halted */
+ bool hasFocus; /* the thread whose stack we are watching */
+};
+
+/**
+ * Register information
+ */
+struct RegisterInfo
+{
+ QString regName;
+ QString rawValue;
+ QString cookedValue; /* may be empty */
+ QString type; /* of vector register if not empty */
+};
+
+/**
+ * Disassembled code
+ */
+struct DisassembledCode
+{
+ DbgAddr address;
+ QString code;
+};
+
+/**
+ * Memory contents
+ */
+struct MemoryDump
+{
+ DbgAddr address;
+ QString dump;
+};
+
+/**
+ * This is an abstract base class for debugger process.
+ *
+ * This class represents the debugger program. It provides the low-level
+ * interface to the commandline debugger. As such it implements the
+ * commands and parses the output.
+ */
+class DebuggerDriver : public KProcess
+{
+ Q_OBJECT
+public:
+ DebuggerDriver();
+ virtual ~DebuggerDriver() = 0;
+
+ virtual QString driverName() const = 0;
+ /**
+ * Returns the default command string to invoke the debugger driver.
+ */
+ virtual QString defaultInvocation() const = 0;
+
+ /**
+ * Returns a list of options that can be turned on and off.
+ */
+ virtual QStringList boolOptionList() const = 0;
+
+ virtual bool startup(QString cmdStr);
+ void setLogFileName(const QString& fname) { m_logFileName = fname; }
+
+protected:
+ QString m_runCmd;
+
+ enum DebuggerState {
+ DSidle, /* gdb waits for input */
+ DSinterrupted, /* a command was interrupted */
+ DSrunningLow, /* gdb is running a low-priority command */
+ DSrunning, /* gdb waits for program */
+ DScommandSent, /* command has been sent, we wait for wroteStdin signal */
+ DScommandSentLow /* low-prioritycommand has been sent */
+ };
+ DebuggerState m_state;
+
+public:
+ bool isIdle() const { return m_state == DSidle; }
+ /**
+ * Tells whether a high prority command would be executed immediately.
+ */
+ bool canExecuteImmediately() const { return m_hipriCmdQueue.empty(); }
+
+protected:
+ char* m_output; /* normal gdb output */
+ size_t m_outputLen; /* amount of data so far accumulated in m_output */
+ size_t m_outputAlloc; /* space available in m_output */
+ std::queue<QByteArray> m_delayedOutput; /* output colleced while we have receivedOutput */
+ /* but before signal wroteStdin arrived */
+
+public:
+ /**
+ * Enqueues a high-priority command. High-priority commands are
+ * executed before any low-priority commands. No user interaction is
+ * possible as long as there is a high-priority command in the queue.
+ */
+ virtual CmdQueueItem* executeCmd(DbgCommand,
+ bool clearLow = false) = 0;
+ virtual CmdQueueItem* executeCmd(DbgCommand, QString strArg,
+ bool clearLow = false) = 0;
+ virtual CmdQueueItem* executeCmd(DbgCommand, int intArg,
+ bool clearLow = false) = 0;
+ virtual CmdQueueItem* executeCmd(DbgCommand, QString strArg, int intArg,
+ bool clearLow = false) = 0;
+ virtual CmdQueueItem* executeCmd(DbgCommand, QString strArg1, QString strArg2,
+ bool clearLow = false) = 0;
+ virtual CmdQueueItem* executeCmd(DbgCommand, int intArg1, int intArg2,
+ bool clearLow = false) = 0;
+
+ enum QueueMode {
+ QMnormal, /* queues the command last */
+ QMoverride, /* removes an already queued command */
+ QMoverrideMoreEqual /* ditto, also puts the command first in the queue */
+ };
+
+ /**
+ * Enqueues a low-priority command. Low-priority commands are executed
+ * after any high-priority commands.
+ */
+ virtual CmdQueueItem* queueCmd(DbgCommand,
+ QueueMode mode) = 0;
+ virtual CmdQueueItem* queueCmd(DbgCommand, QString strArg,
+ QueueMode mode) = 0;
+ virtual CmdQueueItem* queueCmd(DbgCommand, int intArg,
+ QueueMode mode) = 0;
+ virtual CmdQueueItem* queueCmd(DbgCommand, QString strArg, int intArg,
+ QueueMode mode) = 0;
+ virtual CmdQueueItem* queueCmd(DbgCommand, QString strArg1, QString strArg2,
+ QueueMode mode) = 0;
+
+ /**
+ * Flushes the command queues.
+ * @param hipriOnly if true, only the high priority queue is flushed.
+ */
+ virtual void flushCommands(bool hipriOnly = false);
+
+ /**
+ * Terminates the debugger process.
+ */
+ virtual void terminate() = 0;
+
+ /**
+ * Terminates the debugger process, but also detaches any program that
+ * it has been attached to.
+ */
+ virtual void detachAndTerminate() = 0;
+
+ /**
+ * Interrupts the debuggee.
+ */
+ virtual void interruptInferior() = 0;
+
+ /**
+ * Specifies the command that prints the QString data.
+ */
+ virtual void setPrintQStringDataCmd(const char* cmd) = 0;
+
+ /**
+ * Parses the output as an array of QChars.
+ */
+ virtual ExprValue* parseQCharArray(const char* output, bool wantErrorValue, bool qt3like) = 0;
+
+ /**
+ * Parses a back-trace (the output of the DCbt command).
+ */
+ virtual void parseBackTrace(const char* output, std::list<StackFrame>& stack) = 0;
+
+ /**
+ * Parses the output of the DCframe command;
+ * @param frameNo Returns the frame number.
+ * @param file Returns the source file name.
+ * @param lineNo The zero-based line number.
+ * @param address Returns the exact address.
+ * @return false if the frame could not be parsed successfully. The
+ * output values are undefined in this case.
+ */
+ virtual bool parseFrameChange(const char* output, int& frameNo,
+ QString& file, int& lineNo, DbgAddr& address) = 0;
+
+ /**
+ * Parses a list of breakpoints.
+ * @param output The output of the debugger.
+ * @param brks The list of new #Breakpoint objects. The list
+ * must initially be empty.
+ * @return False if there was an error before the first breakpoint
+ * was found. Even if true is returned, #brks may be empty.
+ */
+ virtual bool parseBreakList(const char* output, std::list<Breakpoint>& brks) = 0;
+
+ /**
+ * Parses a list of threads.
+ * @param output The output of the debugger.
+ * @return The new thread list. There is no indication if there was
+ * a parse error.
+ */
+ virtual std::list<ThreadInfo> parseThreadList(const char* output) = 0;
+
+ /**
+ * Parses the output when the program stops to see whether this it
+ * stopped due to a breakpoint.
+ * @param output The output of the debugger.
+ * @param id Returns the breakpoint id.
+ * @param file Returns the file name in which the breakpoint is.
+ * @param lineNo Returns the zero-based line number of the breakpoint.
+ * @param address Returns the address of the breakpoint.
+ * @return False if there was no breakpoint.
+ */
+ virtual bool parseBreakpoint(const char* output, int& id,
+ QString& file, int& lineNo, QString& address) = 0;
+
+ /**
+ * Parses the output of the DCinfolocals command.
+ * @param output The output of the debugger.
+ * @param newVars Receives the parsed variable values. The values are
+ * simply append()ed to the supplied list.
+ */
+ virtual void parseLocals(const char* output, std::list<ExprValue*>& newVars) = 0;
+
+ /**
+ * Parses the output of a DCprint or DCprintStruct command.
+ * @param output The output of the debugger.
+ * @param wantErrorValue Specifies whether the error message should be
+ * provided as the value of a NKplain variable. If this is false,
+ * 0 is returned if the printed value is an error message.
+ * @return the parsed value. It is 0 if there was a parse error
+ * or if the output is an error message and #wantErrorValue
+ * is \c false. The returned object's text() is undefined.
+ */
+ virtual ExprValue* parsePrintExpr(const char* output, bool wantErrorValue) = 0;
+
+ /**
+ * Parses the output of the DCcd command.
+ * @return false if the message is an error message.
+ */
+ virtual bool parseChangeWD(const char* output, QString& message) = 0;
+
+ /**
+ * Parses the output of the DCexecutable command.
+ * @return false if an error occured.
+ */
+ virtual bool parseChangeExecutable(const char* output, QString& message) = 0;
+
+ /**
+ * Parses the output of the DCcorefile command.
+ * @return false if the core file was not loaded successfully.
+ */
+ virtual bool parseCoreFile(const char* output) = 0;
+
+ enum StopFlags {
+ SFrefreshSource = 1, /* refresh of source code is needed */
+ SFrefreshBreak = 2, /* refresh breakpoints */
+ SFrefreshThreads = 4, /* refresh thread list */
+ SFprogramActive = 128 /* program remains active */
+ };
+ /**
+ * Parses the output of commands that execute (a piece of) the program.
+ * @return The inclusive OR of zero or more of the StopFlags.
+ */
+ virtual uint parseProgramStopped(const char* output, QString& message) = 0;
+
+ /**
+ * Parses the output of the DCsharedlibs command.
+ */
+ virtual QStringList parseSharedLibs(const char* output) = 0;
+
+ /**
+ * Parses the output of the DCfindType command.
+ * @return true if a type was found.
+ */
+ virtual bool parseFindType(const char* output, QString& type) = 0;
+
+ /**
+ * Parses the output of the DCinforegisters command.
+ */
+ virtual std::list<RegisterInfo> parseRegisters(const char* output) = 0;
+
+ /**
+ * Parses the output of the DCinfoline command. Returns false if the
+ * two addresses could not be found.
+ */
+ virtual bool parseInfoLine(const char* output,
+ QString& addrFrom, QString& addrTo) = 0;
+
+ /**
+ * Parses the ouput of the DCdisassemble command.
+ */
+ virtual std::list<DisassembledCode> parseDisassemble(const char* output) = 0;
+
+ /**
+ * Parses a memory dump. Returns an empty string if no error was found;
+ * otherwise it contains an error message.
+ */
+ virtual QString parseMemoryDump(const char* output, std::list<MemoryDump>& memdump) = 0;
+
+ /**
+ * Parses the output of the DCsetvariable command. Returns an empty
+ * string if no error was found; otherwise it contains an error
+ * message.
+ */
+ virtual QString parseSetVariable(const char* output) = 0;
+
+ /**
+ * Returns a value that the user can edit.
+ */
+ virtual QString editableValue(VarTree* value);
+
+protected:
+ /** Removes all commands from the low-priority queue. */
+ void flushLoPriQueue();
+ /** Removes all commands from the high-priority queue. */
+ void flushHiPriQueue();
+
+ std::queue<CmdQueueItem*> m_hipriCmdQueue;
+ std::list<CmdQueueItem*> m_lopriCmdQueue;
+ /**
+ * The active command is kept separately from other pending commands.
+ */
+ CmdQueueItem* m_activeCmd;
+ /**
+ * Helper function that queues the given command string in the
+ * low-priority queue.
+ */
+ CmdQueueItem* queueCmdString(DbgCommand cmd, QString cmdString,
+ QueueMode mode);
+ /**
+ * Helper function that queues the given command string in the
+ * high-priority queue.
+ */
+ CmdQueueItem* executeCmdString(DbgCommand cmd, QString cmdString,
+ bool clearLow);
+ void writeCommand();
+ virtual void commandFinished(CmdQueueItem* cmd) = 0;
+
+protected:
+ /** @internal */
+ virtual int commSetupDoneC();
+
+ char m_prompt[10];
+ size_t m_promptMinLen;
+ char m_promptLastChar;
+ QRegExp m_promptRE;
+
+ // log file
+ QString m_logFileName;
+ QFile m_logFile;
+
+public slots:
+ void dequeueCmdByVar(VarTree* var);
+
+protected slots:
+ virtual void slotReceiveOutput(KProcess*, char* buffer, int buflen);
+ virtual void slotCommandRead(KProcess*);
+ virtual void slotExited(KProcess*);
+
+signals:
+ /**
+ * This signal is emitted when the output of a command has been fully
+ * collected and is ready to be interpreted.
+ */
+ void commandReceived(CmdQueueItem* cmd, const char* output);
+
+ /**
+ * This signal is emitted when the debugger recognizes that a specific
+ * location in a file ought to be displayed.
+ *
+ * Gdb's --fullname option supports this for the step, next, frame, and
+ * run commands (and possibly others).
+ *
+ * @param file specifies the file; this is not necessarily a full path
+ * name, and if it is relative, you won't know relative to what, you
+ * can only guess.
+ * @param lineNo specifies the line number (0-based!) (this may be
+ * negative, in which case the file should be activated, but the line
+ * should NOT be changed).
+ * @param address specifies the exact address of the PC or is empty.
+ */
+ void activateFileLine(const QString& file, int lineNo, const DbgAddr& address);
+
+ /**
+ * This signal is emitted when a command that starts the inferior has
+ * been submitted to the debugger.
+ */
+ void inferiorRunning();
+
+ /**
+ * This signal is emitted when all output from the debugger has been
+ * consumed and no more commands are in the queues.
+ */
+ void enterIdleState();
+};
+
+#endif // DBGDRIVER_H
diff --git a/kdbg/dbgmainwnd.cpp b/kdbg/dbgmainwnd.cpp
new file mode 100644
index 0000000..d9b4658
--- /dev/null
+++ b/kdbg/dbgmainwnd.cpp
@@ -0,0 +1,876 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <kapplication.h>
+#include <klocale.h> /* i18n */
+#include <kmessagebox.h>
+#include <kconfig.h>
+#include <kstatusbar.h>
+#include <kiconloader.h>
+#include <kstdaccel.h>
+#include <kstdaction.h>
+#include <kaction.h>
+#include <kpopupmenu.h>
+#include <kfiledialog.h>
+#include <kprocess.h>
+#include <kkeydialog.h>
+#include <kanimwidget.h>
+#include <kwin.h>
+#include <qlistbox.h>
+#include <qfileinfo.h>
+#include "dbgmainwnd.h"
+#include "debugger.h"
+#include "commandids.h"
+#include "winstack.h"
+#include "brkpt.h"
+#include "threadlist.h"
+#include "memwindow.h"
+#include "ttywnd.h"
+#include "procattach.h"
+#include "dbgdriver.h"
+#include "mydebug.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+
+DebuggerMainWnd::DebuggerMainWnd(const char* name) :
+ KDockMainWindow(0, name),
+ DebuggerMainWndBase()
+{
+ QPixmap p;
+
+ KDockWidget* dw0 = createDockWidget("Source", p, 0, i18n("Source"));
+ m_filesWindow = new WinStack(dw0, "files");
+ dw0->setWidget(m_filesWindow);
+ dw0->setDockSite(KDockWidget::DockCorner);
+ dw0->setEnableDocking(KDockWidget::DockNone);
+ setView(dw0);
+ setMainDockWidget(dw0);
+
+ KDockWidget* dw1 = createDockWidget("Stack", p, 0, i18n("Stack"));
+ m_btWindow = new QListBox(dw1, "backtrace");
+ dw1->setWidget(m_btWindow);
+ KDockWidget* dw2 = createDockWidget("Locals", p, 0, i18n("Locals"));
+ m_localVariables = new ExprWnd(dw2, i18n("Variable"), "locals");
+ dw2->setWidget(m_localVariables);
+ KDockWidget* dw3 = createDockWidget("Watches", p, 0, i18n("Watches"));
+ m_watches = new WatchWindow(dw3, "watches");
+ dw3->setWidget(m_watches);
+ KDockWidget* dw4 = createDockWidget("Registers", p, 0, i18n("Registers"));
+ m_registers = new RegisterView(dw4, "registers");
+ dw4->setWidget(m_registers);
+ KDockWidget* dw5 = createDockWidget("Breakpoints", p, 0, i18n("Breakpoints"));
+ m_bpTable = new BreakpointTable(dw5, "breakpoints");
+ dw5->setWidget(m_bpTable);
+ KDockWidget* dw6 = createDockWidget("Output", p, 0, i18n("Output"));
+ m_ttyWindow = new TTYWindow(dw6, "output");
+ dw6->setWidget(m_ttyWindow);
+ KDockWidget* dw7 = createDockWidget("Threads", p, 0, i18n("Threads"));
+ m_threads = new ThreadList(dw7, "threads");
+ dw7->setWidget(m_threads);
+ KDockWidget* dw8 = createDockWidget("Memory", p, 0, i18n("Memory"));
+ m_memoryWindow = new MemoryWindow(dw8, "memory");
+ dw8->setWidget(m_memoryWindow);
+
+ setupDebugger(this, m_localVariables, m_watches->watchVariables(), m_btWindow);
+ m_bpTable->setDebugger(m_debugger);
+ m_memoryWindow->setDebugger(m_debugger);
+
+ setStandardToolBarMenuEnabled(true);
+ initKAction();
+ initToolbar(); // kind of obsolete?
+
+ connect(m_watches, SIGNAL(addWatch()), SLOT(slotAddWatch()));
+ connect(m_watches, SIGNAL(deleteWatch()), m_debugger, SLOT(slotDeleteWatch()));
+ connect(m_watches, SIGNAL(textDropped(const QString&)), SLOT(slotAddWatch(const QString&)));
+
+ connect(&m_filesWindow->m_findDlg, SIGNAL(closed()), SLOT(updateUI()));
+ connect(m_filesWindow, SIGNAL(newFileLoaded()),
+ SLOT(slotNewFileLoaded()));
+ connect(m_filesWindow, SIGNAL(toggleBreak(const QString&,int,const DbgAddr&,bool)),
+ this, SLOT(slotToggleBreak(const QString&,int,const DbgAddr&,bool)));
+ connect(m_filesWindow, SIGNAL(enadisBreak(const QString&,int,const DbgAddr&)),
+ this, SLOT(slotEnaDisBreak(const QString&,int,const DbgAddr&)));
+ connect(m_debugger, SIGNAL(activateFileLine(const QString&,int,const DbgAddr&)),
+ m_filesWindow, SLOT(activate(const QString&,int,const DbgAddr&)));
+ connect(m_debugger, SIGNAL(executableUpdated()),
+ m_filesWindow, SLOT(reloadAllFiles()));
+ connect(m_debugger, SIGNAL(updatePC(const QString&,int,const DbgAddr&,int)),
+ m_filesWindow, SLOT(updatePC(const QString&,int,const DbgAddr&,int)));
+ // value popup communication
+ connect(m_filesWindow, SIGNAL(initiateValuePopup(const QString&)),
+ m_debugger, SLOT(slotValuePopup(const QString&)));
+ connect(m_debugger, SIGNAL(valuePopup(const QString&)),
+ m_filesWindow, SLOT(slotShowValueTip(const QString&)));
+ // disassembling
+ connect(m_filesWindow, SIGNAL(disassemble(const QString&, int)),
+ m_debugger, SLOT(slotDisassemble(const QString&, int)));
+ connect(m_debugger, SIGNAL(disassembled(const QString&,int,const std::list<DisassembledCode>&)),
+ m_filesWindow, SLOT(slotDisassembled(const QString&,int,const std::list<DisassembledCode>&)));
+ connect(m_filesWindow, SIGNAL(moveProgramCounter(const QString&,int,const DbgAddr&)),
+ m_debugger, SLOT(setProgramCounter(const QString&,int,const DbgAddr&)));
+ // program stopped
+ connect(m_debugger, SIGNAL(programStopped()), SLOT(slotProgramStopped()));
+ connect(&m_backTimer, SIGNAL(timeout()), SLOT(slotBackTimer()));
+ // tab width
+ connect(this, SIGNAL(setTabWidth(int)), m_filesWindow, SIGNAL(setTabWidth(int)));
+
+ // connect breakpoint table
+ connect(m_bpTable, SIGNAL(activateFileLine(const QString&,int,const DbgAddr&)),
+ m_filesWindow, SLOT(activate(const QString&,int,const DbgAddr&)));
+ connect(m_debugger, SIGNAL(updateUI()), m_bpTable, SLOT(updateUI()));
+ connect(m_debugger, SIGNAL(breakpointsChanged()), m_bpTable, SLOT(updateBreakList()));
+ connect(m_debugger, SIGNAL(breakpointsChanged()), m_bpTable, SLOT(updateUI()));
+
+ connect(m_debugger, SIGNAL(registersChanged(const std::list<RegisterInfo>&)),
+ m_registers, SLOT(updateRegisters(const std::list<RegisterInfo>&)));
+
+ connect(m_debugger, SIGNAL(memoryDumpChanged(const QString&, const std::list<MemoryDump>&)),
+ m_memoryWindow, SLOT(slotNewMemoryDump(const QString&, const std::list<MemoryDump>&)));
+ connect(m_debugger, SIGNAL(saveProgramSpecific(KConfigBase*)),
+ m_memoryWindow, SLOT(saveProgramSpecific(KConfigBase*)));
+ connect(m_debugger, SIGNAL(restoreProgramSpecific(KConfigBase*)),
+ m_memoryWindow, SLOT(restoreProgramSpecific(KConfigBase*)));
+
+ // thread window
+ connect(m_debugger, SIGNAL(threadsChanged(const std::list<ThreadInfo>&)),
+ m_threads, SLOT(updateThreads(const std::list<ThreadInfo>&)));
+ connect(m_threads, SIGNAL(setThread(int)),
+ m_debugger, SLOT(setThread(int)));
+
+ // view menu changes when docking state changes
+ connect(dockManager, SIGNAL(change()), SLOT(updateUI()));
+
+ // popup menu of the local variables window
+ connect(m_localVariables, SIGNAL(contextMenuRequested(QListViewItem*, const QPoint&, int)),
+ this, SLOT(slotLocalsPopup(QListViewItem*, const QPoint&)));
+
+ restoreSettings(kapp->config());
+
+ updateUI();
+ m_bpTable->updateUI();
+}
+
+DebuggerMainWnd::~DebuggerMainWnd()
+{
+ saveSettings(kapp->config());
+ // must delete m_debugger early since it references our windows
+ delete m_debugger;
+ m_debugger = 0;
+
+ delete m_memoryWindow;
+ delete m_threads;
+ delete m_ttyWindow;
+ delete m_bpTable;
+ delete m_registers;
+ delete m_watches;
+ delete m_localVariables;
+ delete m_btWindow;
+ delete m_filesWindow;
+}
+
+void DebuggerMainWnd::initKAction()
+{
+ // file menu
+ KAction* open = KStdAction::open(this, SLOT(slotFileOpen()),
+ actionCollection());
+ open->setText(i18n("&Open Source..."));
+ KStdAction::close(m_filesWindow, SLOT(slotClose()), actionCollection());
+ (void)new KAction(i18n("&Reload Source"), "reload", 0, m_filesWindow,
+ SLOT(slotFileReload()), actionCollection(),
+ "file_reload");
+ (void)new KAction(i18n("&Executable..."), "execopen", 0, this,
+ SLOT(slotFileExe()), actionCollection(),
+ "file_executable");
+ m_recentExecAction = new KRecentFilesAction(i18n("Recent E&xecutables"), 0,
+ this, SLOT(slotRecentExec(const KURL&)),
+ actionCollection(), "file_executable_recent");
+ (void)new KAction(i18n("&Core dump..."), 0, this, SLOT(slotFileCore()),
+ actionCollection(), "file_core_dump");
+ KStdAction::quit(kapp, SLOT(closeAllWindows()), actionCollection());
+
+ // settings menu
+ (void)new KAction(i18n("This &Program..."), 0, this,
+ SLOT(slotFileProgSettings()), actionCollection(),
+ "settings_program");
+ (void)new KAction(i18n("&Global Options..."), 0, this,
+ SLOT(slotFileGlobalSettings()), actionCollection(),
+ "settings_global");
+ KStdAction::keyBindings(this, SLOT(slotConfigureKeys()), actionCollection());
+ KStdAction::showStatusbar(this, SLOT(slotViewStatusbar()), actionCollection());
+
+ // view menu
+ (void)new KToggleAction(i18n("&Find"), "find", CTRL+Key_F, m_filesWindow,
+ SLOT(slotViewFind()), actionCollection(),
+ "view_find");
+ (void)KStdAction::findNext(m_filesWindow, SLOT(slotFindForward()), actionCollection(), "view_findnext");
+ (void)KStdAction::findPrev(m_filesWindow, SLOT(slotFindBackward()), actionCollection(), "view_findprev");
+
+ i18n("Source &code");
+ struct { QString text; QWidget* w; QString id; } dw[] = {
+ { i18n("Stac&k"), m_btWindow, "view_stack"},
+ { i18n("&Locals"), m_localVariables, "view_locals"},
+ { i18n("&Watched expressions"), m_watches, "view_watched_expressions"},
+ { i18n("&Registers"), m_registers, "view_registers"},
+ { i18n("&Breakpoints"), m_bpTable, "view_breakpoints"},
+ { i18n("T&hreads"), m_threads, "view_threads"},
+ { i18n("&Output"), m_ttyWindow, "view_output"},
+ { i18n("&Memory"), m_memoryWindow, "view_memory"}
+ };
+ for (unsigned i = 0; i < sizeof(dw)/sizeof(dw[0]); i++) {
+ KDockWidget* d = dockParent(dw[i].w);
+ (void)new KToggleAction(dw[i].text, 0, d, SLOT(changeHideShowState()),
+ actionCollection(), dw[i].id);
+ }
+
+
+ // execution menu
+ KAction* a = new KAction(i18n("&Run"), "pgmrun", Key_F5, m_debugger,
+ SLOT(programRun()), actionCollection(), "exec_run");
+ connect(a, SIGNAL(activated()), this, SLOT(intoBackground()));
+ a = new KAction(i18n("Step &into"), "pgmstep", Key_F8, m_debugger,
+ SLOT(programStep()), actionCollection(),
+ "exec_step_into");
+ connect(a, SIGNAL(activated()), this, SLOT(intoBackground()));
+ a = new KAction(i18n("Step &over"), "pgmnext", Key_F10, m_debugger,
+ SLOT(programNext()), actionCollection(),
+ "exec_step_over");
+ connect(a, SIGNAL(activated()), this, SLOT(intoBackground()));
+ a = new KAction(i18n("Step o&ut"), "pgmfinish", Key_F6, m_debugger,
+ SLOT(programFinish()), actionCollection(),
+ "exec_step_out");
+ connect(a, SIGNAL(activated()), this, SLOT(intoBackground()));
+ a = new KAction(i18n("Run to &cursor"), Key_F7, this,
+ SLOT(slotExecUntil()), actionCollection(),
+ "exec_run_to_cursor");
+ connect(a, SIGNAL(activated()), this, SLOT(intoBackground()));
+ a = new KAction(i18n("Step i&nto by instruction"), "pgmstepi",
+ SHIFT+Key_F8, m_debugger, SLOT(programStepi()),
+ actionCollection(), "exec_step_into_by_insn");
+ connect(a, SIGNAL(activated()), this, SLOT(intoBackground()));
+ a = new KAction(i18n("Step o&ver by instruction"), "pgmnexti",
+ SHIFT+Key_F10, m_debugger, SLOT(programNexti()),
+ actionCollection(), "exec_step_over_by_insn");
+ connect(a, SIGNAL(activated()), this, SLOT(intoBackground()));
+ (void)new KAction(i18n("&Program counter to current line"), 0,
+ m_filesWindow, SLOT(slotMoveProgramCounter()),
+ actionCollection(), "exec_movepc");
+ (void)new KAction(i18n("&Break"), 0, m_debugger,
+ SLOT(programBreak()), actionCollection(),
+ "exec_break");
+ (void)new KAction(i18n("&Kill"), 0, m_debugger,
+ SLOT(programKill()), actionCollection(),
+ "exec_kill");
+ (void)new KAction(i18n("Re&start"), 0, m_debugger,
+ SLOT(programRunAgain()), actionCollection(),
+ "exec_restart");
+ (void)new KAction(i18n("A&ttach..."), 0, this,
+ SLOT(slotExecAttach()), actionCollection(),
+ "exec_attach");
+ (void)new KAction(i18n("&Arguments..."), 0, this,
+ SLOT(slotExecArgs()), actionCollection(),
+ "exec_arguments");
+
+ // breakpoint menu
+ (void)new KAction(i18n("Set/Clear &breakpoint"), "brkpt", Key_F9,
+ m_filesWindow, SLOT(slotBrkptSet()), actionCollection(),
+ "breakpoint_set");
+ (void)new KAction(i18n("Set &temporary breakpoint"), SHIFT+Key_F9,
+ m_filesWindow, SLOT(slotBrkptSetTemp()), actionCollection(),
+ "breakpoint_set_temporary");
+ (void)new KAction(i18n("&Enable/Disable breakpoint"), CTRL+Key_F9,
+ m_filesWindow, SLOT(slotBrkptEnable()), actionCollection(),
+ "breakpoint_enable");
+
+ // only in popup menus
+ (void)new KAction(i18n("Watch Expression"), 0, this,
+ SLOT(slotLocalsToWatch()), actionCollection(),
+ "watch_expression");
+ (void)new KAction(i18n("Edit Value"), Key_F2, this,
+ SLOT(slotEditValue()), actionCollection(),
+ "edit_value");
+
+ // all actions force an UI update
+ QValueList<KAction*> actions = actionCollection()->actions();
+ QValueList<KAction*>::Iterator it = actions.begin();
+ for (; it != actions.end(); ++it) {
+ connect(*it, SIGNAL(activated()), this, SLOT(updateUI()));
+ }
+
+ createGUI("kdbgui.rc");
+}
+
+void DebuggerMainWnd::initToolbar()
+{
+ KToolBar* toolbar = toolBar("mainToolBar");
+ toolbar->insertAnimatedWidget(ID_STATUS_BUSY,
+ actionCollection()->action("exec_break"), SLOT(activate()),
+ "pulse", -1);
+ toolbar->alignItemRight(ID_STATUS_BUSY, true);
+ m_animRunning = false;
+
+ KStatusBar* statusbar = statusBar();
+ statusbar->insertItem(m_statusActive, ID_STATUS_ACTIVE);
+ m_lastActiveStatusText = m_statusActive;
+ statusbar->insertItem("", ID_STATUS_MSG); /* message pane */
+
+ // reserve some translations
+ i18n("Restart");
+ i18n("Core dump");
+}
+
+bool DebuggerMainWnd::queryClose()
+{
+ if (m_debugger != 0) {
+ m_debugger->shutdown();
+ }
+ return true;
+}
+
+
+// instance properties
+void DebuggerMainWnd::saveProperties(KConfig* config)
+{
+ // session management
+ QString executable = "";
+ if (m_debugger != 0) {
+ executable = m_debugger->executable();
+ }
+ config->writeEntry("executable", executable);
+}
+
+void DebuggerMainWnd::readProperties(KConfig* config)
+{
+ // session management
+ QString execName = config->readEntry("executable");
+
+ TRACE("readProperties: executable=" + execName);
+ if (!execName.isEmpty()) {
+ debugProgram(execName, "");
+ }
+}
+
+const char WindowGroup[] = "Windows";
+const char RecentExecutables[] = "RecentExecutables";
+const char LastSession[] = "LastSession";
+
+void DebuggerMainWnd::saveSettings(KConfig* config)
+{
+ KConfigGroupSaver g(config, WindowGroup);
+
+ writeDockConfig(config);
+ fixDockConfig(config, false); // downgrade
+
+ m_recentExecAction->saveEntries(config, RecentExecutables);
+
+ KConfigGroupSaver g2(config, LastSession);
+ config->writeEntry("Width0Locals", m_localVariables->columnWidth(0));
+ config->writeEntry("Width0Watches", m_watches->columnWidth(0));
+
+ DebuggerMainWndBase::saveSettings(config);
+}
+
+void DebuggerMainWnd::restoreSettings(KConfig* config)
+{
+ KConfigGroupSaver g(config, WindowGroup);
+
+ fixDockConfig(config, true); // upgrade
+ readDockConfig(config);
+
+ // Workaround bug #87787: KDockManager stores the titles of the KDockWidgets
+ // in the config files, although they are localized:
+ // If the user changes the language, the titles remain in the previous language.
+ struct { QString text; QWidget* w; } dw[] = {
+ { i18n("Stack"), m_btWindow },
+ { i18n("Locals"), m_localVariables },
+ { i18n("Watches"), m_watches },
+ { i18n("Registers"), m_registers },
+ { i18n("Breakpoints"), m_bpTable },
+ { i18n("Threads"), m_threads },
+ { i18n("Output"), m_ttyWindow },
+ { i18n("Memory"), m_memoryWindow }
+ };
+ for (int i = 0; i < int(sizeof(dw)/sizeof(dw[0])); i++)
+ {
+ KDockWidget* w = dockParent(dw[i].w);
+ w->setTabPageLabel(dw[i].text);
+ // this actually changes the captions in the tabs:
+ QEvent ev(QEvent::CaptionChange);
+ w->event(&ev);
+ }
+
+ m_recentExecAction->loadEntries(config, RecentExecutables);
+
+ KConfigGroupSaver g2(config, LastSession);
+ int w;
+ w = config->readNumEntry("Width0Locals", -1);
+ if (w >= 0 && w < 30000)
+ m_localVariables->setColumnWidth(0, w);
+ w = config->readNumEntry("Width0Watches", -1);
+ if (w >= 0 && w < 30000)
+ m_watches->setColumnWidth(0, w);
+
+ DebuggerMainWndBase::restoreSettings(config);
+
+ emit setTabWidth(m_tabWidth);
+}
+
+void DebuggerMainWnd::updateUI()
+{
+ KToggleAction* viewFind =
+ static_cast<KToggleAction*>(actionCollection()->action("view_find"));
+ viewFind->setChecked(m_filesWindow->m_findDlg.isVisible());
+ viewFind->setEnabled(m_filesWindow->hasWindows());
+ actionCollection()->action("breakpoint_set")->setEnabled(m_debugger->canChangeBreakpoints());
+ actionCollection()->action("breakpoint_set_temporary")->setEnabled(m_debugger->canChangeBreakpoints());
+ actionCollection()->action("breakpoint_enable")->setEnabled(m_debugger->canChangeBreakpoints());
+ dockUpdateHelper("view_breakpoints", m_bpTable);
+ dockUpdateHelper("view_stack", m_btWindow);
+ dockUpdateHelper("view_locals", m_localVariables);
+ dockUpdateHelper("view_watched_expressions", m_watches);
+ dockUpdateHelper("view_registers", m_registers);
+ dockUpdateHelper("view_threads", m_threads);
+ dockUpdateHelper("view_memory", m_memoryWindow);
+ dockUpdateHelper("view_output", m_ttyWindow);
+
+ // AB: maybe in mainwndbase.cpp?
+ actionCollection()->action("file_executable")->setEnabled(m_debugger->isIdle());
+ actionCollection()->action("settings_program")->setEnabled(m_debugger->haveExecutable());
+ actionCollection()->action("file_core_dump")->setEnabled(m_debugger->canStart());
+ actionCollection()->action("file_close")->setEnabled(m_filesWindow->hasWindows());
+ actionCollection()->action("file_reload")->setEnabled(m_filesWindow->hasWindows());
+ actionCollection()->action("exec_step_into")->setEnabled(m_debugger->canSingleStep());
+ actionCollection()->action("exec_step_into_by_insn")->setEnabled(m_debugger->canSingleStep());
+ actionCollection()->action("exec_step_over")->setEnabled(m_debugger->canSingleStep());
+ actionCollection()->action("exec_step_over_by_insn")->setEnabled(m_debugger->canSingleStep());
+ actionCollection()->action("exec_step_out")->setEnabled(m_debugger->canSingleStep());
+ actionCollection()->action("exec_run_to_cursor")->setEnabled(m_debugger->canSingleStep());
+ actionCollection()->action("exec_movepc")->setEnabled(m_debugger->canSingleStep());
+ actionCollection()->action("exec_restart")->setEnabled(m_debugger->canSingleStep());
+ actionCollection()->action("exec_attach")->setEnabled(m_debugger->isReady());
+ actionCollection()->action("exec_run")->setEnabled(m_debugger->canStart() || m_debugger->canSingleStep());
+ actionCollection()->action("exec_kill")->setEnabled(m_debugger->haveExecutable() && m_debugger->isProgramActive());
+ actionCollection()->action("exec_break")->setEnabled(m_debugger->isProgramRunning());
+ actionCollection()->action("exec_arguments")->setEnabled(m_debugger->haveExecutable());
+ actionCollection()->action("edit_value")->setEnabled(m_debugger->canSingleStep());
+
+ // animation
+ KAnimWidget* w = toolBar("mainToolBar")->animatedWidget(ID_STATUS_BUSY);
+ if (m_debugger->isIdle()) {
+ if (m_animRunning) {
+ w->stop();
+ m_animRunning = false;
+ }
+ } else {
+ if (!m_animRunning) {
+ w->start();
+ m_animRunning = true;
+ }
+ }
+
+ // update statusbar
+ QString newStatus;
+ if (m_debugger->isProgramActive())
+ newStatus = m_statusActive;
+ if (newStatus != m_lastActiveStatusText) {
+ statusBar()->changeItem(newStatus, ID_STATUS_ACTIVE);
+ m_lastActiveStatusText = newStatus;
+ }
+}
+
+void DebuggerMainWnd::dockUpdateHelper(QString action, QWidget* w)
+{
+ KToggleAction* item =
+ static_cast<KToggleAction*>(actionCollection()->action(action));
+ bool canChange = canChangeDockVisibility(w);
+ item->setEnabled(canChange);
+ item->setChecked(canChange && isDockVisible(w));
+}
+
+void DebuggerMainWnd::updateLineItems()
+{
+ m_filesWindow->updateLineItems(m_debugger);
+}
+
+void DebuggerMainWnd::slotAddWatch()
+{
+ if (m_debugger != 0) {
+ QString t = m_watches->watchText();
+ m_debugger->addWatch(t);
+ }
+}
+
+void DebuggerMainWnd::slotAddWatch(const QString& text)
+{
+ if (m_debugger != 0) {
+ m_debugger->addWatch(text);
+ }
+}
+
+void DebuggerMainWnd::slotNewFileLoaded()
+{
+ // updates program counter in the new file
+ if (m_debugger != 0)
+ m_filesWindow->updateLineItems(m_debugger);
+}
+
+KDockWidget* DebuggerMainWnd::dockParent(QWidget* w)
+{
+ while ((w = w->parentWidget()) != 0) {
+ if (w->isA("KDockWidget"))
+ return static_cast<KDockWidget*>(w);
+ }
+ return 0;
+}
+
+bool DebuggerMainWnd::isDockVisible(QWidget* w)
+{
+ KDockWidget* d = dockParent(w);
+ return d != 0 && d->mayBeHide();
+}
+
+bool DebuggerMainWnd::canChangeDockVisibility(QWidget* w)
+{
+ KDockWidget* d = dockParent(w);
+ return d != 0 && (d->mayBeHide() || d->mayBeShow());
+}
+
+// upgrades the entries from version 0.0.4 to 0.0.5 and back
+void DebuggerMainWnd::fixDockConfig(KConfig* c, bool upgrade)
+{
+ static const char dockGroup[] = "dock_setting_default";
+ if (!c->hasGroup(dockGroup))
+ return;
+
+ static const char oldVersion[] = "0.0.4";
+ static const char newVersion[] = "0.0.5";
+ const char* from = upgrade ? oldVersion : newVersion;
+ const char* to = upgrade ? newVersion : oldVersion;
+ QMap<QString,QString> e = c->entryMap(dockGroup);
+ if (e["Version"] != from)
+ return;
+
+ KConfigGroupSaver g(c, dockGroup);
+ c->writeEntry("Version", to);
+ TRACE(upgrade ? "upgrading dockconfig" : "downgrading dockconfig");
+
+ // turn all orientation entries from 0 to 1 and from 1 to 0
+ QMap<QString,QString>::Iterator i;
+ for (i = e.begin(); i != e.end(); ++i)
+ {
+ if (i.key().right(12) == ":orientation") {
+ TRACE("upgrading " + i.key() + " old value: " + *i);
+ int orientation = c->readNumEntry(i.key(), -1);
+ if (orientation >= 0) { // paranoia
+ c->writeEntry(i.key(), 1 - orientation);
+ }
+ }
+ }
+}
+
+TTYWindow* DebuggerMainWnd::ttyWindow()
+{
+ return m_ttyWindow;
+}
+
+bool DebuggerMainWnd::debugProgram(const QString& exe, const QString& lang)
+{
+ // check the file name
+ QFileInfo fi(exe);
+
+ bool success = fi.isFile();
+ if (!success)
+ {
+ QString msg = i18n("`%1' is not a file or does not exist");
+ KMessageBox::sorry(this, msg.arg(exe));
+ }
+ else
+ {
+ success = DebuggerMainWndBase::debugProgram(fi.absFilePath(), lang, this);
+ }
+
+ if (success)
+ {
+ m_recentExecAction->addURL(KURL(fi.absFilePath()));
+
+ // keep the directory
+ m_lastDirectory = fi.dirPath(true);
+ m_filesWindow->setExtraDirectory(m_lastDirectory);
+
+ // set caption to basename part of executable
+ QString caption = fi.fileName();
+ setCaption(caption);
+ }
+ else
+ {
+ m_recentExecAction->removeURL(KURL(fi.absFilePath()));
+ }
+
+ return success;
+}
+
+void DebuggerMainWnd::slotNewStatusMsg()
+{
+ newStatusMsg(statusBar());
+}
+
+void DebuggerMainWnd::slotFileGlobalSettings()
+{
+ int oldTabWidth = m_tabWidth;
+
+ doGlobalOptions(this);
+
+ if (m_tabWidth != oldTabWidth) {
+ emit setTabWidth(m_tabWidth);
+ }
+}
+
+void DebuggerMainWnd::slotDebuggerStarting()
+{
+ DebuggerMainWndBase::slotDebuggerStarting();
+}
+
+void DebuggerMainWnd::slotToggleBreak(const QString& fileName, int lineNo,
+ const DbgAddr& address, bool temp)
+{
+ // lineNo is zero-based
+ if (m_debugger != 0) {
+ m_debugger->setBreakpoint(fileName, lineNo, address, temp);
+ }
+}
+
+void DebuggerMainWnd::slotEnaDisBreak(const QString& fileName, int lineNo,
+ const DbgAddr& address)
+{
+ // lineNo is zero-based
+ if (m_debugger != 0) {
+ m_debugger->enableDisableBreakpoint(fileName, lineNo, address);
+ }
+}
+
+QString DebuggerMainWnd::createOutputWindow()
+{
+ QString tty = DebuggerMainWndBase::createOutputWindow();
+ if (!tty.isEmpty()) {
+ connect(m_outputTermProc, SIGNAL(processExited(KProcess*)),
+ SLOT(slotTermEmuExited()));
+ }
+ return tty;
+}
+
+void DebuggerMainWnd::slotTermEmuExited()
+{
+ shutdownTermWindow();
+}
+
+void DebuggerMainWnd::slotProgramStopped()
+{
+ // when the program stopped, move the window to the foreground
+ if (m_popForeground) {
+ // unfortunately, this requires quite some force to work :-(
+ KWin::raiseWindow(winId());
+ KWin::forceActiveWindow(winId());
+ }
+ m_backTimer.stop();
+}
+
+void DebuggerMainWnd::intoBackground()
+{
+ if (m_popForeground) {
+ m_backTimer.start(m_backTimeout, true); /* single-shot */
+ }
+}
+
+void DebuggerMainWnd::slotBackTimer()
+{
+ lower();
+}
+
+void DebuggerMainWnd::slotRecentExec(const KURL& url)
+{
+ QString exe = url.path();
+ debugProgram(exe, "");
+}
+
+QString DebuggerMainWnd::makeSourceFilter()
+{
+ QString f;
+ f = m_sourceFilter + " " + m_headerFilter + i18n("|All source files\n");
+ f += m_sourceFilter + i18n("|Source files\n");
+ f += m_headerFilter + i18n("|Header files\n");
+ f += i18n("*|All files");
+ return f;
+}
+
+/*
+ * Pop up the context menu in the locals window
+ */
+void DebuggerMainWnd::slotLocalsPopup(QListViewItem*, const QPoint& pt)
+{
+ QPopupMenu* popup =
+ static_cast<QPopupMenu*>(factory()->container("popup_locals", this));
+ if (popup == 0) {
+ return;
+ }
+ if (popup->isVisible()) {
+ popup->hide();
+ } else {
+ popup->popup(pt);
+ }
+}
+
+/*
+ * Copies the currently selected item to the watch window.
+ */
+void DebuggerMainWnd::slotLocalsToWatch()
+{
+ VarTree* item = m_localVariables->selectedItem();
+
+ if (item != 0 && m_debugger != 0) {
+ QString text = item->computeExpr();
+ m_debugger->addWatch(text);
+ }
+}
+
+/*
+ * Starts editing a value in a value display
+ */
+void DebuggerMainWnd::slotEditValue()
+{
+ // does one of the value trees have the focus
+ QWidget* f = kapp->focusWidget();
+ ExprWnd* wnd;
+ if (f == m_localVariables) {
+ wnd = m_localVariables;
+ } else if (f == m_watches->watchVariables()) {
+ wnd = m_watches->watchVariables();
+ } else {
+ return;
+ }
+
+ if (m_localVariables->isEditing() ||
+ m_watches->watchVariables()->isEditing())
+ {
+ return; /* don't edit twice */
+ }
+
+ VarTree* expr = wnd->currentItem();
+ if (expr != 0 && m_debugger != 0 && m_debugger->canSingleStep())
+ {
+ TRACE("edit value");
+ // determine the text to edit
+ QString text = m_debugger->driver()->editableValue(expr);
+ wnd->editValue(expr, text);
+ }
+}
+
+void DebuggerMainWnd::slotFileOpen()
+{
+ // start browsing in the active file's directory
+ // fall back to last used directory (executable)
+ QString dir = m_lastDirectory;
+ QString fileName = m_filesWindow->activeFileName();
+ if (!fileName.isEmpty()) {
+ QFileInfo fi(fileName);
+ dir = fi.dirPath();
+ }
+
+ fileName = myGetFileName(i18n("Open"),
+ dir,
+ makeSourceFilter(), this);
+
+ if (!fileName.isEmpty())
+ {
+ QFileInfo fi(fileName);
+ m_lastDirectory = fi.dirPath();
+ m_filesWindow->setExtraDirectory(m_lastDirectory);
+ m_filesWindow->activateFile(fileName);
+ }
+}
+
+void DebuggerMainWnd::slotFileExe()
+{
+ if (m_debugger->isIdle())
+ {
+ // open a new executable
+ QString executable = myGetFileName(i18n("Select the executable to debug"),
+ m_lastDirectory, 0, this);
+ if (executable.isEmpty())
+ return;
+
+ debugProgram(executable, "");
+ }
+}
+
+void DebuggerMainWnd::slotFileCore()
+{
+ if (m_debugger->canStart())
+ {
+ QString corefile = myGetFileName(i18n("Select core dump"),
+ m_lastDirectory, 0, this);
+ if (!corefile.isEmpty()) {
+ m_debugger->useCoreFile(corefile, false);
+ }
+ }
+}
+
+void DebuggerMainWnd::slotFileProgSettings()
+{
+ if (m_debugger != 0) {
+ m_debugger->programSettings(this);
+ }
+}
+
+void DebuggerMainWnd::slotViewStatusbar()
+{
+ if (statusBar()->isVisible())
+ statusBar()->hide();
+ else
+ statusBar()->show();
+ setSettingsDirty();
+}
+
+void DebuggerMainWnd::slotExecUntil()
+{
+ if (m_debugger != 0)
+ {
+ QString file;
+ int lineNo;
+ if (m_filesWindow->activeLine(file, lineNo))
+ m_debugger->runUntil(file, lineNo);
+ }
+}
+
+void DebuggerMainWnd::slotExecAttach()
+{
+#ifdef PS_COMMAND
+ ProcAttachPS dlg(this);
+ // seed filter with executable name
+ QFileInfo fi = m_debugger->executable();
+ dlg.filterEdit->setText(fi.fileName());
+#else
+ ProcAttach dlg(this);
+ dlg.setText(m_debugger->attachedPid());
+#endif
+ if (dlg.exec()) {
+ m_debugger->attachProgram(dlg.text());
+ }
+}
+
+void DebuggerMainWnd::slotExecArgs()
+{
+ if (m_debugger != 0) {
+ m_debugger->programArgs(this);
+ }
+}
+
+void DebuggerMainWnd::slotConfigureKeys()
+{
+ KKeyDialog::configure(actionCollection(), this);
+}
+
+#include "dbgmainwnd.moc"
diff --git a/kdbg/dbgmainwnd.h b/kdbg/dbgmainwnd.h
new file mode 100644
index 0000000..cac766b
--- /dev/null
+++ b/kdbg/dbgmainwnd.h
@@ -0,0 +1,113 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef DBGMAINWND_H
+#define DBGMAINWND_H
+
+#include <qtimer.h>
+#include <kdockwidget.h>
+#include "mainwndbase.h"
+#include "regwnd.h"
+
+class KRecentFilesAction;
+class WinStack;
+class QListBox;
+class QCString;
+class ExprWnd;
+class BreakpointTable;
+class ThreadList;
+class MemoryWindow;
+struct DbgAddr;
+
+class DebuggerMainWnd : public KDockMainWindow, public DebuggerMainWndBase
+{
+ Q_OBJECT
+public:
+ DebuggerMainWnd(const char* name);
+ ~DebuggerMainWnd();
+
+ bool debugProgram(const QString& exe, const QString& lang);
+
+protected:
+ // session properties
+ virtual void saveProperties(KConfig*);
+ virtual void readProperties(KConfig*);
+ // settings
+ void saveSettings(KConfig*);
+ void restoreSettings(KConfig*);
+
+ void initToolbar();
+ void initKAction();
+
+ // view windows
+ WinStack* m_filesWindow;
+ QListBox* m_btWindow;
+ ExprWnd* m_localVariables;
+ WatchWindow* m_watches;
+ RegisterView* m_registers;
+ BreakpointTable* m_bpTable;
+ TTYWindow* m_ttyWindow;
+ ThreadList* m_threads;
+ MemoryWindow* m_memoryWindow;
+
+ QTimer m_backTimer;
+
+ // recent execs in File menu
+ KRecentFilesAction* m_recentExecAction;
+
+protected:
+ virtual bool queryClose();
+ virtual TTYWindow* ttyWindow();
+ virtual QString createOutputWindow();
+
+ KDockWidget* dockParent(QWidget* w);
+ bool isDockVisible(QWidget* w);
+ bool canChangeDockVisibility(QWidget* w);
+ void dockUpdateHelper(QString action, QWidget* w);
+ void fixDockConfig(KConfig* c, bool upgrade);
+
+ QString makeSourceFilter();
+
+ // to avoid flicker when the status bar is updated,
+ // we store the last string that we put there
+ QString m_lastActiveStatusText;
+ bool m_animRunning;
+
+signals:
+ void setTabWidth(int tabWidth);
+
+public slots:
+ virtual void updateUI();
+ virtual void updateLineItems();
+ void slotAddWatch();
+ void slotAddWatch(const QString& text);
+ void slotNewFileLoaded();
+ void slotNewStatusMsg();
+ void slotDebuggerStarting();
+ void slotToggleBreak(const QString&, int, const DbgAddr&, bool);
+ void slotEnaDisBreak(const QString&, int, const DbgAddr&);
+ void slotTermEmuExited();
+ void slotProgramStopped();
+ void slotBackTimer();
+ void slotRecentExec(const KURL& url);
+ void slotLocalsPopup(QListViewItem*, const QPoint& pt);
+ void slotLocalsToWatch();
+ void slotEditValue();
+
+ void slotFileOpen();
+ void slotFileExe();
+ void slotFileCore();
+ void slotFileGlobalSettings();
+ void slotFileProgSettings();
+ void slotViewStatusbar();
+ void slotExecUntil();
+ void slotExecAttach();
+ void slotExecArgs();
+ void intoBackground();
+ void slotConfigureKeys();
+};
+
+#endif // DBGMAINWND_H
diff --git a/kdbg/debugger.cpp b/kdbg/debugger.cpp
new file mode 100644
index 0000000..6a09cf1
--- /dev/null
+++ b/kdbg/debugger.cpp
@@ -0,0 +1,2210 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "debugger.h"
+#include "dbgdriver.h"
+#include "pgmargs.h"
+#include "typetable.h"
+#include "exprwnd.h"
+#include "pgmsettings.h"
+#include "programconfig.h"
+#include <qregexp.h>
+#include <qfileinfo.h>
+#include <qlistbox.h>
+#include <qstringlist.h>
+#include <kapplication.h>
+#include <kconfig.h>
+#include <klocale.h> /* i18n */
+#include <kmessagebox.h>
+#include <ctype.h>
+#include <stdlib.h> /* strtol, atoi */
+#ifdef HAVE_UNISTD_H
+#include <unistd.h> /* sleep(3) */
+#endif
+#include "mydebug.h"
+
+
+KDebugger::KDebugger(QWidget* parent,
+ ExprWnd* localVars,
+ ExprWnd* watchVars,
+ QListBox* backtrace) :
+ QObject(parent, "debugger"),
+ m_ttyLevel(ttyFull),
+ m_memoryFormat(MDTword | MDThex),
+ m_haveExecutable(false),
+ m_programActive(false),
+ m_programRunning(false),
+ m_sharedLibsListed(false),
+ m_typeTable(0),
+ m_programConfig(0),
+ m_d(0),
+ m_localVariables(*localVars),
+ m_watchVariables(*watchVars),
+ m_btWindow(*backtrace)
+{
+ m_envVars.setAutoDelete(true);
+
+ connect(&m_localVariables, SIGNAL(expanded(QListViewItem*)),
+ SLOT(slotExpanding(QListViewItem*)));
+ connect(&m_watchVariables, SIGNAL(expanded(QListViewItem*)),
+ SLOT(slotExpanding(QListViewItem*)));
+ connect(&m_localVariables, SIGNAL(editValueCommitted(VarTree*, const QString&)),
+ SLOT(slotValueEdited(VarTree*, const QString&)));
+ connect(&m_watchVariables, SIGNAL(editValueCommitted(VarTree*, const QString&)),
+ SLOT(slotValueEdited(VarTree*, const QString&)));
+
+ connect(&m_btWindow, SIGNAL(highlighted(int)), SLOT(gotoFrame(int)));
+
+ emit updateUI();
+}
+
+KDebugger::~KDebugger()
+{
+ if (m_programConfig != 0) {
+ saveProgramSettings();
+ m_programConfig->sync();
+ delete m_programConfig;
+ }
+
+ delete m_typeTable;
+}
+
+
+void KDebugger::saveSettings(KConfig* /*config*/)
+{
+}
+
+void KDebugger::restoreSettings(KConfig* /*config*/)
+{
+}
+
+
+//////////////////////////////////////////////////////////////////////
+// external interface
+
+const char GeneralGroup[] = "General";
+const char DebuggerCmdStr[] = "DebuggerCmdStr";
+const char TTYLevelEntry[] = "TTYLevel";
+const char KDebugger::DriverNameEntry[] = "DriverName";
+
+bool KDebugger::debugProgram(const QString& name,
+ DebuggerDriver* driver)
+{
+ if (m_d != 0 && m_d->isRunning())
+ {
+ QApplication::setOverrideCursor(waitCursor);
+
+ stopDriver();
+
+ QApplication::restoreOverrideCursor();
+
+ if (m_d->isRunning() || m_haveExecutable) {
+ /* timed out! We can't really do anything useful now */
+ TRACE("timed out while waiting for gdb to die!");
+ return false;
+ }
+ delete m_d;
+ m_d = 0;
+ }
+
+ // wire up the driver
+ connect(driver, SIGNAL(activateFileLine(const QString&,int,const DbgAddr&)),
+ this, SIGNAL(activateFileLine(const QString&,int,const DbgAddr&)));
+ connect(driver, SIGNAL(processExited(KProcess*)), SLOT(gdbExited(KProcess*)));
+ connect(driver, SIGNAL(commandReceived(CmdQueueItem*,const char*)),
+ SLOT(parse(CmdQueueItem*,const char*)));
+ connect(driver, SIGNAL(wroteStdin(KProcess*)), SIGNAL(updateUI()));
+ connect(driver, SIGNAL(inferiorRunning()), SLOT(slotInferiorRunning()));
+ connect(driver, SIGNAL(enterIdleState()), SLOT(backgroundUpdate()));
+ connect(driver, SIGNAL(enterIdleState()), SIGNAL(updateUI()));
+ connect(&m_localVariables, SIGNAL(removingItem(VarTree*)),
+ driver, SLOT(dequeueCmdByVar(VarTree*)));
+ connect(&m_watchVariables, SIGNAL(removingItem(VarTree*)),
+ driver, SLOT(dequeueCmdByVar(VarTree*)));
+
+ // create the program settings object
+ openProgramConfig(name);
+
+ // get debugger command from per-program settings
+ if (m_programConfig != 0) {
+ m_programConfig->setGroup(GeneralGroup);
+ m_debuggerCmd = readDebuggerCmd();
+ // get terminal emulation level
+ m_ttyLevel = TTYLevel(m_programConfig->readNumEntry(TTYLevelEntry, ttyFull));
+ }
+ // the rest is read in later in the handler of DCexecutable
+
+ m_d = driver;
+
+ if (!startDriver()) {
+ TRACE("startDriver failed");
+ m_d = 0;
+ return false;
+ }
+
+ TRACE("before file cmd");
+ m_d->executeCmd(DCexecutable, name);
+ m_executable = name;
+
+ // set remote target
+ if (!m_remoteDevice.isEmpty()) {
+ m_d->executeCmd(DCtargetremote, m_remoteDevice);
+ m_d->queueCmd(DCbt, DebuggerDriver::QMoverride);
+ m_d->queueCmd(DCframe, 0, DebuggerDriver::QMnormal);
+ m_programActive = true;
+ m_haveExecutable = true;
+ }
+
+ // create a type table
+ m_typeTable = new ProgramTypeTable;
+ m_sharedLibsListed = false;
+
+ emit updateUI();
+
+ return true;
+}
+
+void KDebugger::shutdown()
+{
+ // shut down debugger driver
+ if (m_d != 0 && m_d->isRunning())
+ {
+ stopDriver();
+ }
+}
+
+void KDebugger::useCoreFile(QString corefile, bool batch)
+{
+ m_corefile = corefile;
+ if (!batch) {
+ CmdQueueItem* cmd = loadCoreFile();
+ cmd->m_byUser = true;
+ }
+}
+
+void KDebugger::setAttachPid(const QString& pid)
+{
+ m_attachedPid = pid;
+}
+
+void KDebugger::programRun()
+{
+ if (!isReady())
+ return;
+
+ // when program is active, but not a core file, continue
+ // otherwise run the program
+ if (m_programActive && m_corefile.isEmpty()) {
+ // gdb command: continue
+ m_d->executeCmd(DCcont, true);
+ } else {
+ // gdb command: run
+ m_d->executeCmd(DCrun, true);
+ m_corefile = QString();
+ m_programActive = true;
+ }
+ m_programRunning = true;
+}
+
+void KDebugger::attachProgram(const QString& pid)
+{
+ if (!isReady())
+ return;
+
+ m_attachedPid = pid;
+ TRACE("Attaching to " + m_attachedPid);
+ m_d->executeCmd(DCattach, m_attachedPid);
+ m_programActive = true;
+ m_programRunning = true;
+}
+
+void KDebugger::programRunAgain()
+{
+ if (canSingleStep()) {
+ m_d->executeCmd(DCrun, true);
+ m_corefile = QString();
+ m_programRunning = true;
+ }
+}
+
+void KDebugger::programStep()
+{
+ if (canSingleStep()) {
+ m_d->executeCmd(DCstep, true);
+ m_programRunning = true;
+ }
+}
+
+void KDebugger::programNext()
+{
+ if (canSingleStep()) {
+ m_d->executeCmd(DCnext, true);
+ m_programRunning = true;
+ }
+}
+
+void KDebugger::programStepi()
+{
+ if (canSingleStep()) {
+ m_d->executeCmd(DCstepi, true);
+ m_programRunning = true;
+ }
+}
+
+void KDebugger::programNexti()
+{
+ if (canSingleStep()) {
+ m_d->executeCmd(DCnexti, true);
+ m_programRunning = true;
+ }
+}
+
+void KDebugger::programFinish()
+{
+ if (canSingleStep()) {
+ m_d->executeCmd(DCfinish, true);
+ m_programRunning = true;
+ }
+}
+
+void KDebugger::programKill()
+{
+ if (haveExecutable() && isProgramActive()) {
+ if (m_programRunning) {
+ m_d->interruptInferior();
+ }
+ // this is an emergency command; flush queues
+ m_d->flushCommands(true);
+ m_d->executeCmd(DCkill, true);
+ }
+}
+
+bool KDebugger::runUntil(const QString& fileName, int lineNo)
+{
+ if (isReady() && m_programActive && !m_programRunning) {
+ // strip off directory part of file name
+ QString file = fileName;
+ int offset = file.findRev("/");
+ if (offset >= 0) {
+ file.remove(0, offset+1);
+ }
+ m_d->executeCmd(DCuntil, file, lineNo, true);
+ m_programRunning = true;
+ return true;
+ } else {
+ return false;
+ }
+}
+
+void KDebugger::programBreak()
+{
+ if (m_haveExecutable && m_programRunning) {
+ m_d->interruptInferior();
+ }
+}
+
+void KDebugger::programArgs(QWidget* parent)
+{
+ if (m_haveExecutable) {
+ QStringList allOptions = m_d->boolOptionList();
+ PgmArgs dlg(parent, m_executable, m_envVars, allOptions);
+ dlg.setArgs(m_programArgs);
+ dlg.setWd(m_programWD);
+ dlg.setOptions(m_boolOptions);
+ if (dlg.exec()) {
+ updateProgEnvironment(dlg.args(), dlg.wd(),
+ dlg.envVars(), dlg.options());
+ }
+ }
+}
+
+void KDebugger::programSettings(QWidget* parent)
+{
+ if (!m_haveExecutable)
+ return;
+
+ ProgramSettings dlg(parent, m_executable);
+
+ dlg.m_chooseDriver.setDebuggerCmd(m_debuggerCmd);
+ dlg.m_output.setTTYLevel(m_ttyLevel);
+
+ if (dlg.exec() == QDialog::Accepted)
+ {
+ m_debuggerCmd = dlg.m_chooseDriver.debuggerCmd();
+ m_ttyLevel = TTYLevel(dlg.m_output.ttyLevel());
+ }
+}
+
+bool KDebugger::setBreakpoint(QString file, int lineNo,
+ const DbgAddr& address, bool temporary)
+{
+ if (!isReady()) {
+ return false;
+ }
+
+ BrkptIterator bp = breakpointByFilePos(file, lineNo, address);
+ if (bp == m_brkpts.end())
+ {
+ /*
+ * No such breakpoint, so set a new one. If we have an address, we
+ * set the breakpoint exactly there. Otherwise we use the file name
+ * plus line no.
+ */
+ Breakpoint* bp = new Breakpoint;
+ bp->temporary = temporary;
+
+ if (address.isEmpty())
+ {
+ bp->fileName = file;
+ bp->lineNo = lineNo;
+ }
+ else
+ {
+ bp->address = address;
+ }
+ setBreakpoint(bp, false);
+ }
+ else
+ {
+ /*
+ * If the breakpoint is disabled, enable it; if it's enabled,
+ * delete that breakpoint.
+ */
+ if (bp->enabled) {
+ deleteBreakpoint(bp);
+ } else {
+ enableDisableBreakpoint(bp);
+ }
+ }
+ return true;
+}
+
+void KDebugger::setBreakpoint(Breakpoint* bp, bool queueOnly)
+{
+ CmdQueueItem* cmd = executeBreakpoint(bp, queueOnly);
+ cmd->m_brkpt = bp; // used in newBreakpoint()
+}
+
+CmdQueueItem* KDebugger::executeBreakpoint(const Breakpoint* bp, bool queueOnly)
+{
+ CmdQueueItem* cmd;
+ if (!bp->text.isEmpty())
+ {
+ /*
+ * The breakpoint was set using the text box in the breakpoint
+ * list. This is the only way in which watchpoints are set.
+ */
+ if (bp->type == Breakpoint::watchpoint) {
+ cmd = m_d->executeCmd(DCwatchpoint, bp->text);
+ } else {
+ cmd = m_d->executeCmd(DCbreaktext, bp->text);
+ }
+ }
+ else if (bp->address.isEmpty())
+ {
+ // strip off directory part of file name
+ QString file = bp->fileName;
+ int offset = file.findRev("/");
+ if (offset >= 0) {
+ file.remove(0, offset+1);
+ }
+ if (queueOnly) {
+ cmd = m_d->queueCmd(bp->temporary ? DCtbreakline : DCbreakline,
+ file, bp->lineNo, DebuggerDriver::QMoverride);
+ } else {
+ cmd = m_d->executeCmd(bp->temporary ? DCtbreakline : DCbreakline,
+ file, bp->lineNo);
+ }
+ }
+ else
+ {
+ if (queueOnly) {
+ cmd = m_d->queueCmd(bp->temporary ? DCtbreakaddr : DCbreakaddr,
+ bp->address.asString(), DebuggerDriver::QMoverride);
+ } else {
+ cmd = m_d->executeCmd(bp->temporary ? DCtbreakaddr : DCbreakaddr,
+ bp->address.asString());
+ }
+ }
+ return cmd;
+}
+
+bool KDebugger::enableDisableBreakpoint(QString file, int lineNo,
+ const DbgAddr& address)
+{
+ BrkptIterator bp = breakpointByFilePos(file, lineNo, address);
+ return enableDisableBreakpoint(bp);
+}
+
+bool KDebugger::enableDisableBreakpoint(BrkptIterator bp)
+{
+ if (bp == m_brkpts.end())
+ return false;
+
+ /*
+ * Toggle enabled/disabled state.
+ *
+ * The driver is not bothered if we are modifying an orphaned
+ * breakpoint.
+ */
+ if (!bp->isOrphaned()) {
+ if (!canChangeBreakpoints()) {
+ return false;
+ }
+ m_d->executeCmd(bp->enabled ? DCdisable : DCenable, bp->id);
+ } else {
+ bp->enabled = !bp->enabled;
+ emit breakpointsChanged();
+ }
+ return true;
+}
+
+bool KDebugger::conditionalBreakpoint(BrkptIterator bp,
+ const QString& condition,
+ int ignoreCount)
+{
+ if (bp == m_brkpts.end())
+ return false;
+
+ /*
+ * Change the condition and ignore count.
+ *
+ * The driver is not bothered if we are removing an orphaned
+ * breakpoint.
+ */
+
+ if (!bp->isOrphaned()) {
+ if (!canChangeBreakpoints()) {
+ return false;
+ }
+
+ bool changed = false;
+
+ if (bp->condition != condition) {
+ // change condition
+ m_d->executeCmd(DCcondition, condition, bp->id);
+ changed = true;
+ }
+ if (bp->ignoreCount != ignoreCount) {
+ // change ignore count
+ m_d->executeCmd(DCignore, bp->id, ignoreCount);
+ changed = true;
+ }
+ if (changed) {
+ // get the changes
+ m_d->queueCmd(DCinfobreak, DebuggerDriver::QMoverride);
+ }
+ } else {
+ bp->condition = condition;
+ bp->ignoreCount = ignoreCount;
+ emit breakpointsChanged();
+ }
+ return true;
+}
+
+bool KDebugger::deleteBreakpoint(BrkptIterator bp)
+{
+ if (bp == m_brkpts.end())
+ return false;
+
+ /*
+ * Remove the breakpoint.
+ *
+ * The driver is not bothered if we are removing an orphaned
+ * breakpoint.
+ */
+ if (!bp->isOrphaned()) {
+ if (!canChangeBreakpoints()) {
+ return false;
+ }
+ m_d->executeCmd(DCdelete, bp->id);
+ } else {
+ m_brkpts.erase(bp);
+ emit breakpointsChanged();
+ }
+ return false;
+}
+
+bool KDebugger::canSingleStep()
+{
+ return isReady() && m_programActive && !m_programRunning;
+}
+
+bool KDebugger::canChangeBreakpoints()
+{
+ return isReady() && !m_programRunning;
+}
+
+bool KDebugger::canStart()
+{
+ return isReady() && !m_programActive;
+}
+
+bool KDebugger::isReady() const
+{
+ return m_haveExecutable &&
+ m_d != 0 && m_d->canExecuteImmediately();
+}
+
+bool KDebugger::isIdle() const
+{
+ return m_d == 0 || m_d->isIdle();
+}
+
+
+//////////////////////////////////////////////////////////
+// debugger driver
+
+bool KDebugger::startDriver()
+{
+ emit debuggerStarting(); /* must set m_inferiorTerminal */
+
+ /*
+ * If the per-program command string is empty, use the global setting
+ * (which might also be empty, in which case the driver uses its
+ * default).
+ */
+ m_explicitKill = false;
+ if (!m_d->startup(m_debuggerCmd)) {
+ return false;
+ }
+
+ /*
+ * If we have an output terminal, we use it. Otherwise we will run the
+ * program with input and output redirected to /dev/null. Other
+ * redirections are also necessary depending on the tty emulation
+ * level.
+ */
+ int redirect = RDNstdin|RDNstdout|RDNstderr; /* redirect everything */
+ if (!m_inferiorTerminal.isEmpty()) {
+ switch (m_ttyLevel) {
+ default:
+ case ttyNone:
+ // redirect everything
+ break;
+ case ttySimpleOutputOnly:
+ redirect = RDNstdin;
+ break;
+ case ttyFull:
+ redirect = 0;
+ break;
+ }
+ }
+ m_d->executeCmd(DCtty, m_inferiorTerminal, redirect);
+
+ return true;
+}
+
+void KDebugger::stopDriver()
+{
+ m_explicitKill = true;
+
+ if (m_attachedPid.isEmpty()) {
+ m_d->terminate();
+ } else {
+ m_d->detachAndTerminate();
+ }
+
+ /*
+ * We MUST wait until the slot gdbExited() has been called. But to
+ * avoid a deadlock, we wait only for some certain maximum time. Should
+ * this timeout be reached, the only reasonable thing one could do then
+ * is exiting kdbg.
+ */
+ kapp->processEvents(1000); /* ideally, this will already shut it down */
+ int maxTime = 20; /* about 20 seconds */
+ while (m_haveExecutable && maxTime > 0) {
+ // give gdb time to die (and send a SIGCLD)
+ ::sleep(1);
+ --maxTime;
+ kapp->processEvents(1000);
+ }
+}
+
+void KDebugger::gdbExited(KProcess*)
+{
+ /*
+ * Save settings, but only if gdb has already processed "info line
+ * main", otherwise we would save an empty config file, because it
+ * isn't read in until then!
+ */
+ if (m_programConfig != 0) {
+ if (m_haveExecutable) {
+ saveProgramSettings();
+ m_programConfig->sync();
+ }
+ delete m_programConfig;
+ m_programConfig = 0;
+ }
+
+ // erase types
+ delete m_typeTable;
+ m_typeTable = 0;
+
+ if (m_explicitKill) {
+ TRACE(m_d->driverName() + " exited normally");
+ } else {
+ QString msg = i18n("%1 exited unexpectedly.\n"
+ "Restart the session (e.g. with File|Executable).");
+ KMessageBox::error(parentWidget(), msg.arg(m_d->driverName()));
+ }
+
+ // reset state
+ m_haveExecutable = false;
+ m_executable = "";
+ m_programActive = false;
+ m_programRunning = false;
+ m_explicitKill = false;
+ m_debuggerCmd = QString(); /* use global setting at next start! */
+ m_attachedPid = QString(); /* we are no longer attached to a process */
+ m_ttyLevel = ttyFull;
+ m_brkpts.clear();
+
+ // erase PC
+ emit updatePC(QString(), -1, DbgAddr(), 0);
+}
+
+QString KDebugger::getConfigForExe(const QString& name)
+{
+ QFileInfo fi(name);
+ QString pgmConfigFile = fi.dirPath(true);
+ if (!pgmConfigFile.isEmpty()) {
+ pgmConfigFile += '/';
+ }
+ pgmConfigFile += ".kdbgrc." + fi.fileName();
+ TRACE("program config file = " + pgmConfigFile);
+ return pgmConfigFile;
+}
+
+void KDebugger::openProgramConfig(const QString& name)
+{
+ ASSERT(m_programConfig == 0);
+
+ QString pgmConfigFile = getConfigForExe(name);
+
+ m_programConfig = new ProgramConfig(pgmConfigFile);
+}
+
+const char EnvironmentGroup[] = "Environment";
+const char WatchGroup[] = "Watches";
+const char FileVersion[] = "FileVersion";
+const char ProgramArgs[] = "ProgramArgs";
+const char WorkingDirectory[] = "WorkingDirectory";
+const char OptionsSelected[] = "OptionsSelected";
+const char Variable[] = "Var%d";
+const char Value[] = "Value%d";
+const char ExprFmt[] = "Expr%d";
+
+void KDebugger::saveProgramSettings()
+{
+ ASSERT(m_programConfig != 0);
+ m_programConfig->setGroup(GeneralGroup);
+ m_programConfig->writeEntry(FileVersion, 1);
+ m_programConfig->writeEntry(ProgramArgs, m_programArgs);
+ m_programConfig->writeEntry(WorkingDirectory, m_programWD);
+ m_programConfig->writeEntry(OptionsSelected, m_boolOptions);
+ m_programConfig->writeEntry(DebuggerCmdStr, m_debuggerCmd);
+ m_programConfig->writeEntry(TTYLevelEntry, int(m_ttyLevel));
+ QString driverName;
+ if (m_d != 0)
+ driverName = m_d->driverName();
+ m_programConfig->writeEntry(DriverNameEntry, driverName);
+
+ // write environment variables
+ m_programConfig->deleteGroup(EnvironmentGroup);
+ m_programConfig->setGroup(EnvironmentGroup);
+ QDictIterator<EnvVar> it = m_envVars;
+ EnvVar* var;
+ QString varName;
+ QString varValue;
+ for (int i = 0; (var = it) != 0; ++it, ++i) {
+ varName.sprintf(Variable, i);
+ varValue.sprintf(Value, i);
+ m_programConfig->writeEntry(varName, it.currentKey());
+ m_programConfig->writeEntry(varValue, var->value);
+ }
+
+ saveBreakpoints(m_programConfig);
+
+ // watch expressions
+ // first get rid of whatever was in this group
+ m_programConfig->deleteGroup(WatchGroup);
+ // then start a new group
+ m_programConfig->setGroup(WatchGroup);
+ VarTree* item = m_watchVariables.firstChild();
+ int watchNum = 0;
+ for (; item != 0; item = item->nextSibling(), ++watchNum) {
+ varName.sprintf(ExprFmt, watchNum);
+ m_programConfig->writeEntry(varName, item->getText());
+ }
+
+ // give others a chance
+ emit saveProgramSpecific(m_programConfig);
+}
+
+void KDebugger::overrideProgramArguments(const QString& args)
+{
+ ASSERT(m_programConfig != 0);
+ m_programConfig->setGroup(GeneralGroup);
+ m_programConfig->writeEntry(ProgramArgs, args);
+}
+
+void KDebugger::restoreProgramSettings()
+{
+ ASSERT(m_programConfig != 0);
+ m_programConfig->setGroup(GeneralGroup);
+ /*
+ * We ignore file version for now we will use it in the future to
+ * distinguish different versions of this configuration file.
+ */
+ // m_debuggerCmd has been read in already
+ // m_ttyLevel has been read in already
+ QString pgmArgs = m_programConfig->readEntry(ProgramArgs);
+ QString pgmWd = m_programConfig->readEntry(WorkingDirectory);
+ QStringList boolOptions = m_programConfig->readListEntry(OptionsSelected);
+ m_boolOptions = QStringList();
+
+ // read environment variables
+ m_programConfig->setGroup(EnvironmentGroup);
+ m_envVars.clear();
+ QDict<EnvVar> pgmVars;
+ EnvVar* var;
+ QString varName;
+ QString varValue;
+ for (int i = 0;; ++i) {
+ varName.sprintf(Variable, i);
+ varValue.sprintf(Value, i);
+ if (!m_programConfig->hasKey(varName)) {
+ /* entry not present, assume that we've hit them all */
+ break;
+ }
+ QString name = m_programConfig->readEntry(varName);
+ if (name.isEmpty()) {
+ // skip empty names
+ continue;
+ }
+ var = new EnvVar;
+ var->value = m_programConfig->readEntry(varValue);
+ var->status = EnvVar::EVnew;
+ pgmVars.insert(name, var);
+ }
+
+ updateProgEnvironment(pgmArgs, pgmWd, pgmVars, boolOptions);
+
+ restoreBreakpoints(m_programConfig);
+
+ // watch expressions
+ m_programConfig->setGroup(WatchGroup);
+ m_watchVariables.clear();
+ for (int i = 0;; ++i) {
+ varName.sprintf(ExprFmt, i);
+ if (!m_programConfig->hasKey(varName)) {
+ /* entry not present, assume that we've hit them all */
+ break;
+ }
+ QString expr = m_programConfig->readEntry(varName);
+ if (expr.isEmpty()) {
+ // skip empty expressions
+ continue;
+ }
+ addWatch(expr);
+ }
+
+ // give others a chance
+ emit restoreProgramSpecific(m_programConfig);
+}
+
+/**
+ * Reads the debugger command line from the program settings. The config
+ * group must have been set by the caller.
+ */
+QString KDebugger::readDebuggerCmd()
+{
+ QString debuggerCmd = m_programConfig->readEntry(DebuggerCmdStr);
+
+ // always let the user confirm the debugger cmd if we are root
+ if (::geteuid() == 0)
+ {
+ if (!debuggerCmd.isEmpty()) {
+ QString msg = i18n(
+ "The settings for this program specify "
+ "the following debugger command:\n%1\n"
+ "Shall this command be used?");
+ if (KMessageBox::warningYesNo(parentWidget(), msg.arg(debuggerCmd))
+ != KMessageBox::Yes)
+ {
+ // don't use it
+ debuggerCmd = QString();
+ }
+ }
+ }
+ return debuggerCmd;
+}
+
+/*
+ * Breakpoints are saved one per group.
+ */
+const char BPGroup[] = "Breakpoint %d";
+const char File[] = "File";
+const char Line[] = "Line";
+const char Text[] = "Text";
+const char Address[] = "Address";
+const char Temporary[] = "Temporary";
+const char Enabled[] = "Enabled";
+const char Condition[] = "Condition";
+
+void KDebugger::saveBreakpoints(ProgramConfig* config)
+{
+ QString groupName;
+ int i = 0;
+ for (BrkptIterator bp = m_brkpts.begin(); bp != m_brkpts.end(); ++bp)
+ {
+ if (bp->type == Breakpoint::watchpoint)
+ continue; /* don't save watchpoints */
+ groupName.sprintf(BPGroup, i++);
+
+ /* remove remmants */
+ config->deleteGroup(groupName);
+
+ config->setGroup(groupName);
+ if (!bp->text.isEmpty()) {
+ /*
+ * The breakpoint was set using the text box in the breakpoint
+ * list. We do not save the location by filename+line number,
+ * but instead honor what the user typed (a function name, for
+ * example, which could move between sessions).
+ */
+ config->writeEntry(Text, bp->text);
+ } else if (!bp->fileName.isEmpty()) {
+ config->writeEntry(File, bp->fileName);
+ config->writeEntry(Line, bp->lineNo);
+ /*
+ * Addresses are hardly correct across sessions, so we don't
+ * save it.
+ */
+ } else {
+ config->writeEntry(Address, bp->address.asString());
+ }
+ config->writeEntry(Temporary, bp->temporary);
+ config->writeEntry(Enabled, bp->enabled);
+ if (!bp->condition.isEmpty())
+ config->writeEntry(Condition, bp->condition);
+ // we do not save the ignore count
+ }
+ // delete remaining groups
+ // we recognize that a group is present if there is an Enabled entry
+ for (;; i++) {
+ groupName.sprintf(BPGroup, i);
+ config->setGroup(groupName);
+ if (!config->hasKey(Enabled)) {
+ /* group not present, assume that we've hit them all */
+ break;
+ }
+ config->deleteGroup(groupName);
+ }
+}
+
+void KDebugger::restoreBreakpoints(ProgramConfig* config)
+{
+ QString groupName;
+ /*
+ * We recognize the end of the list if there is no Enabled entry
+ * present.
+ */
+ for (int i = 0;; i++) {
+ groupName.sprintf(BPGroup, i);
+ config->setGroup(groupName);
+ if (!config->hasKey(Enabled)) {
+ /* group not present, assume that we've hit them all */
+ break;
+ }
+ Breakpoint* bp = new Breakpoint;
+ bp->fileName = config->readEntry(File);
+ bp->lineNo = config->readNumEntry(Line, -1);
+ bp->text = config->readEntry(Text);
+ bp->address = config->readEntry(Address);
+ // check consistency
+ if ((bp->fileName.isEmpty() || bp->lineNo < 0) &&
+ bp->text.isEmpty() &&
+ bp->address.isEmpty())
+ {
+ delete bp;
+ continue;
+ }
+ bp->enabled = config->readBoolEntry(Enabled, true);
+ bp->temporary = config->readBoolEntry(Temporary, false);
+ bp->condition = config->readEntry(Condition);
+
+ /*
+ * Add the breakpoint.
+ */
+ setBreakpoint(bp, false);
+ // the new breakpoint is disabled or conditionalized later
+ // in newBreakpoint()
+ }
+ m_d->queueCmd(DCinfobreak, DebuggerDriver::QMoverride);
+}
+
+
+// parse output of command cmd
+void KDebugger::parse(CmdQueueItem* cmd, const char* output)
+{
+ ASSERT(cmd != 0); /* queue mustn't be empty */
+
+ TRACE(QString(__PRETTY_FUNCTION__) + " parsing " + output);
+
+ switch (cmd->m_cmd) {
+ case DCtargetremote:
+ // the output (if any) is uninteresting
+ case DCsetargs:
+ case DCtty:
+ // there is no output
+ case DCsetenv:
+ case DCunsetenv:
+ case DCsetoption:
+ /* if value is empty, we see output, but we don't care */
+ break;
+ case DCcd:
+ /* display gdb's message in the status bar */
+ m_d->parseChangeWD(output, m_statusMessage);
+ emit updateStatusMessage();
+ break;
+ case DCinitialize:
+ break;
+ case DCexecutable:
+ if (m_d->parseChangeExecutable(output, m_statusMessage))
+ {
+ // success; restore breakpoints etc.
+ if (m_programConfig != 0) {
+ restoreProgramSettings();
+ }
+ // load file containing main() or core file
+ if (!m_corefile.isEmpty())
+ {
+ // load core file
+ loadCoreFile();
+ }
+ else if (!m_attachedPid.isEmpty())
+ {
+ m_d->queueCmd(DCattach, m_attachedPid, DebuggerDriver::QMoverride);
+ m_programActive = true;
+ m_programRunning = true;
+ }
+ else if (!m_remoteDevice.isEmpty())
+ {
+ // handled elsewhere
+ }
+ else
+ {
+ m_d->queueCmd(DCinfolinemain, DebuggerDriver::QMnormal);
+ }
+ if (!m_statusMessage.isEmpty())
+ emit updateStatusMessage();
+ } else {
+ QString msg = m_d->driverName() + ": " + m_statusMessage;
+ KMessageBox::sorry(parentWidget(), msg);
+ m_executable = "";
+ m_corefile = ""; /* don't process core file */
+ m_haveExecutable = false;
+ }
+ break;
+ case DCcorefile:
+ // in any event we have an executable at this point
+ m_haveExecutable = true;
+ if (m_d->parseCoreFile(output)) {
+ // loading a core is like stopping at a breakpoint
+ m_programActive = true;
+ handleRunCommands(output);
+ // do not reset m_corefile
+ } else {
+ // report error
+ QString msg = m_d->driverName() + ": " + QString(output);
+ KMessageBox::sorry(parentWidget(), msg);
+
+ // if core file was loaded from command line, revert to info line main
+ if (!cmd->m_byUser) {
+ m_d->queueCmd(DCinfolinemain, DebuggerDriver::QMnormal);
+ }
+ m_corefile = QString(); /* core file not available any more */
+ }
+ break;
+ case DCinfolinemain:
+ // ignore the output, marked file info follows
+ m_haveExecutable = true;
+ break;
+ case DCinfolocals:
+ // parse local variables
+ if (output[0] != '\0') {
+ handleLocals(output);
+ }
+ break;
+ case DCinforegisters:
+ handleRegisters(output);
+ break;
+ case DCexamine:
+ handleMemoryDump(output);
+ break;
+ case DCinfoline:
+ handleInfoLine(cmd, output);
+ break;
+ case DCdisassemble:
+ handleDisassemble(cmd, output);
+ break;
+ case DCframe:
+ handleFrameChange(output);
+ updateAllExprs();
+ break;
+ case DCbt:
+ handleBacktrace(output);
+ updateAllExprs();
+ break;
+ case DCprint:
+ handlePrint(cmd, output);
+ break;
+ case DCprintDeref:
+ handlePrintDeref(cmd, output);
+ break;
+ case DCattach:
+ m_haveExecutable = true;
+ // fall through
+ case DCrun:
+ case DCcont:
+ case DCstep:
+ case DCstepi:
+ case DCnext:
+ case DCnexti:
+ case DCfinish:
+ case DCuntil:
+ case DCthread:
+ handleRunCommands(output);
+ break;
+ case DCkill:
+ m_programRunning = m_programActive = false;
+ // erase PC
+ emit updatePC(QString(), -1, DbgAddr(), 0);
+ break;
+ case DCbreaktext:
+ case DCbreakline:
+ case DCtbreakline:
+ case DCbreakaddr:
+ case DCtbreakaddr:
+ case DCwatchpoint:
+ newBreakpoint(cmd, output);
+ // fall through
+ case DCdelete:
+ case DCenable:
+ case DCdisable:
+ // these commands need immediate response
+ m_d->queueCmd(DCinfobreak, DebuggerDriver::QMoverrideMoreEqual);
+ break;
+ case DCinfobreak:
+ // note: this handler must not enqueue a command, since
+ // DCinfobreak is used at various different places.
+ updateBreakList(output);
+ break;
+ case DCfindType:
+ handleFindType(cmd, output);
+ break;
+ case DCprintStruct:
+ case DCprintQStringStruct:
+ case DCprintWChar:
+ handlePrintStruct(cmd, output);
+ break;
+ case DCinfosharedlib:
+ handleSharedLibs(output);
+ break;
+ case DCcondition:
+ case DCignore:
+ // we are not interested in the output
+ break;
+ case DCinfothreads:
+ handleThreadList(output);
+ break;
+ case DCsetpc:
+ handleSetPC(output);
+ break;
+ case DCsetvariable:
+ handleSetVariable(cmd, output);
+ break;
+ }
+}
+
+void KDebugger::backgroundUpdate()
+{
+ /*
+ * If there are still expressions that need to be updated, then do so.
+ */
+ if (m_programActive)
+ evalExpressions();
+}
+
+void KDebugger::handleRunCommands(const char* output)
+{
+ uint flags = m_d->parseProgramStopped(output, m_statusMessage);
+ emit updateStatusMessage();
+
+ m_programActive = flags & DebuggerDriver::SFprogramActive;
+
+ // refresh files if necessary
+ if (flags & DebuggerDriver::SFrefreshSource) {
+ TRACE("re-reading files");
+ emit executableUpdated();
+ }
+
+ /*
+ * Try to set any orphaned breakpoints now.
+ */
+ for (BrkptIterator bp = m_brkpts.begin(); bp != m_brkpts.end(); ++bp)
+ {
+ if (bp->isOrphaned()) {
+ TRACE(QString("re-trying brkpt loc: %2 file: %3 line: %1")
+ .arg(bp->lineNo).arg(bp->location, bp->fileName));
+ CmdQueueItem* cmd = executeBreakpoint(&*bp, true);
+ cmd->m_existingBrkpt = bp->id; // used in newBreakpoint()
+ flags |= DebuggerDriver::SFrefreshBreak;
+ }
+ }
+
+ /*
+ * If we stopped at a breakpoint, we must update the breakpoint list
+ * because the hit count changes. Also, if the breakpoint was temporary
+ * it would go away now.
+ */
+ if ((flags & (DebuggerDriver::SFrefreshBreak|DebuggerDriver::SFrefreshSource)) ||
+ stopMayChangeBreakList())
+ {
+ m_d->queueCmd(DCinfobreak, DebuggerDriver::QMoverride);
+ }
+
+ /*
+ * If we haven't listed the shared libraries yet, do so. We must do
+ * this before we emit any commands that list variables, since the type
+ * libraries depend on the shared libraries.
+ */
+ if (!m_sharedLibsListed) {
+ // must be a high-priority command!
+ m_d->executeCmd(DCinfosharedlib);
+ }
+
+ // get the backtrace if the program is running
+ if (m_programActive) {
+ m_d->queueCmd(DCbt, DebuggerDriver::QMoverride);
+ } else {
+ // program finished: erase PC
+ emit updatePC(QString(), -1, DbgAddr(), 0);
+ // dequeue any commands in the queues
+ m_d->flushCommands();
+ }
+
+ /* Update threads list */
+ if (m_programActive && (flags & DebuggerDriver::SFrefreshThreads)) {
+ m_d->queueCmd(DCinfothreads, DebuggerDriver::QMoverride);
+ }
+
+ m_programRunning = false;
+ emit programStopped();
+}
+
+void KDebugger::slotInferiorRunning()
+{
+ m_programRunning = true;
+}
+
+void KDebugger::updateAllExprs()
+{
+ if (!m_programActive)
+ return;
+
+ // retrieve local variables
+ m_d->queueCmd(DCinfolocals, DebuggerDriver::QMoverride);
+
+ // retrieve registers
+ m_d->queueCmd(DCinforegisters, DebuggerDriver::QMoverride);
+
+ // get new memory dump
+ if (!m_memoryExpression.isEmpty()) {
+ queueMemoryDump(false);
+ }
+
+ // update watch expressions
+ VarTree* item = m_watchVariables.firstChild();
+ for (; item != 0; item = item->nextSibling()) {
+ m_watchEvalExpr.push_back(item->getText());
+ }
+}
+
+void KDebugger::updateProgEnvironment(const QString& args, const QString& wd,
+ const QDict<EnvVar>& newVars,
+ const QStringList& newOptions)
+{
+ m_programArgs = args;
+ m_d->executeCmd(DCsetargs, m_programArgs);
+ TRACE("new pgm args: " + m_programArgs + "\n");
+
+ m_programWD = wd.stripWhiteSpace();
+ if (!m_programWD.isEmpty()) {
+ m_d->executeCmd(DCcd, m_programWD);
+ TRACE("new wd: " + m_programWD + "\n");
+ }
+
+ // update environment variables
+ QDictIterator<EnvVar> it = newVars;
+ EnvVar* val;
+ for (; (val = it) != 0; ++it) {
+ QString var = it.currentKey();
+ switch (val->status) {
+ case EnvVar::EVnew:
+ m_envVars.insert(var, val);
+ // fall thru
+ case EnvVar::EVdirty:
+ // the value must be in our list
+ ASSERT(m_envVars[var] == val);
+ // update value
+ m_d->executeCmd(DCsetenv, var, val->value);
+ break;
+ case EnvVar::EVdeleted:
+ // must be in our list
+ ASSERT(m_envVars[var] == val);
+ // delete value
+ m_d->executeCmd(DCunsetenv, var);
+ m_envVars.remove(var);
+ break;
+ default:
+ ASSERT(false);
+ case EnvVar::EVclean:
+ // variable not changed
+ break;
+ }
+ }
+
+ // update options
+ QStringList::ConstIterator oi;
+ for (oi = newOptions.begin(); oi != newOptions.end(); ++oi)
+ {
+ if (m_boolOptions.findIndex(*oi) < 0) {
+ // the options is currently not set, so set it
+ m_d->executeCmd(DCsetoption, *oi, 1);
+ } else {
+ // option is set, no action required, but move it to the end
+ m_boolOptions.remove(*oi);
+ }
+ m_boolOptions.append(*oi);
+ }
+ /*
+ * Now all options that should be set are at the end of m_boolOptions.
+ * If some options need to be unset, they are at the front of the list.
+ * Here we unset and remove them.
+ */
+ while (m_boolOptions.count() > newOptions.count()) {
+ m_d->executeCmd(DCsetoption, m_boolOptions.first(), 0);
+ m_boolOptions.remove(m_boolOptions.begin());
+ }
+}
+
+void KDebugger::handleLocals(const char* output)
+{
+ // retrieve old list of local variables
+ QStringList oldVars = m_localVariables.exprList();
+
+ /*
+ * Get local variables.
+ */
+ std::list<ExprValue*> newVars;
+ parseLocals(output, newVars);
+
+ /*
+ * Clear any old VarTree item pointers, so that later we don't access
+ * dangling pointers.
+ */
+ m_localVariables.clearPendingUpdates();
+
+ /*
+ * Match old variables against new ones.
+ */
+ for (QStringList::ConstIterator n = oldVars.begin(); n != oldVars.end(); ++n) {
+ // lookup this variable in the list of new variables
+ std::list<ExprValue*>::iterator v = newVars.begin();
+ while (v != newVars.end() && (*v)->m_name != *n)
+ ++v;
+ if (v == newVars.end()) {
+ // old variable not in the new variables
+ TRACE("old var deleted: " + *n);
+ VarTree* v = m_localVariables.topLevelExprByName(*n);
+ if (v != 0) {
+ m_localVariables.removeExpr(v);
+ }
+ } else {
+ // variable in both old and new lists: update
+ TRACE("update var: " + *n);
+ m_localVariables.updateExpr(*v, *m_typeTable);
+ // remove the new variable from the list
+ delete *v;
+ newVars.erase(v);
+ }
+ }
+ // insert all remaining new variables
+ while (!newVars.empty())
+ {
+ ExprValue* v = newVars.front();
+ TRACE("new var: " + v->m_name);
+ m_localVariables.insertExpr(v, *m_typeTable);
+ delete v;
+ newVars.pop_front();
+ }
+}
+
+void KDebugger::parseLocals(const char* output, std::list<ExprValue*>& newVars)
+{
+ std::list<ExprValue*> vars;
+ m_d->parseLocals(output, vars);
+
+ QString origName; /* used in renaming variables */
+ while (!vars.empty())
+ {
+ ExprValue* variable = vars.front();
+ vars.pop_front();
+ /*
+ * When gdb prints local variables, those from the innermost block
+ * come first. We run through the list of already parsed variables
+ * to find duplicates (ie. variables that hide local variables from
+ * a surrounding block). We keep the name of the inner variable, but
+ * rename those from the outer block so that, when the value is
+ * updated in the window, the value of the variable that is
+ * _visible_ changes the color!
+ */
+ int block = 0;
+ origName = variable->m_name;
+ for (std::list<ExprValue*>::iterator v = newVars.begin(); v != newVars.end(); ++v) {
+ if (variable->m_name == (*v)->m_name) {
+ // we found a duplicate, change name
+ block++;
+ QString newName = origName + " (" + QString().setNum(block) + ")";
+ variable->m_name = newName;
+ }
+ }
+ newVars.push_back(variable);
+ }
+}
+
+bool KDebugger::handlePrint(CmdQueueItem* cmd, const char* output)
+{
+ ASSERT(cmd->m_expr != 0);
+
+ ExprValue* variable = m_d->parsePrintExpr(output, true);
+ if (variable == 0)
+ return false;
+
+ // set expression "name"
+ variable->m_name = cmd->m_expr->getText();
+
+ {
+ TRACE("update expr: " + cmd->m_expr->getText());
+ cmd->m_exprWnd->updateExpr(cmd->m_expr, variable, *m_typeTable);
+ delete variable;
+ }
+
+ evalExpressions(); /* enqueue dereferenced pointers */
+
+ return true;
+}
+
+bool KDebugger::handlePrintDeref(CmdQueueItem* cmd, const char* output)
+{
+ ASSERT(cmd->m_expr != 0);
+
+ ExprValue* variable = m_d->parsePrintExpr(output, true);
+ if (variable == 0)
+ return false;
+
+ // set expression "name"
+ variable->m_name = cmd->m_expr->getText();
+
+ {
+ /*
+ * We must insert a dummy parent, because otherwise variable's value
+ * would overwrite cmd->m_expr's value.
+ */
+ ExprValue* dummyParent = new ExprValue(variable->m_name, VarTree::NKplain);
+ dummyParent->m_varKind = VarTree::VKdummy;
+ // the name of the parsed variable is the address of the pointer
+ QString addr = "*" + cmd->m_expr->value();
+ variable->m_name = addr;
+ variable->m_nameKind = VarTree::NKaddress;
+
+ dummyParent->m_child = variable;
+ // expand the first level for convenience
+ variable->m_initiallyExpanded = true;
+ TRACE("update ptr: " + cmd->m_expr->getText());
+ cmd->m_exprWnd->updateExpr(cmd->m_expr, dummyParent, *m_typeTable);
+ delete dummyParent;
+ }
+
+ evalExpressions(); /* enqueue dereferenced pointers */
+
+ return true;
+}
+
+// parse the output of bt
+void KDebugger::handleBacktrace(const char* output)
+{
+ // reduce flicker
+ m_btWindow.setAutoUpdate(false);
+
+ m_btWindow.clear();
+
+ std::list<StackFrame> stack;
+ m_d->parseBackTrace(output, stack);
+
+ if (!stack.empty()) {
+ std::list<StackFrame>::iterator frm = stack.begin();
+ // first frame must set PC
+ // note: frm->lineNo is zero-based
+ emit updatePC(frm->fileName, frm->lineNo, frm->address, frm->frameNo);
+
+ for (; frm != stack.end(); ++frm) {
+ QString func;
+ if (frm->var != 0)
+ func = frm->var->m_name;
+ else
+ func = frm->fileName + ":" + QString().setNum(frm->lineNo+1);
+ m_btWindow.insertItem(func);
+ TRACE("frame " + func + " (" + frm->fileName + ":" +
+ QString().setNum(frm->lineNo+1) + ")");
+ }
+ }
+
+ m_btWindow.setAutoUpdate(true);
+ m_btWindow.repaint();
+}
+
+void KDebugger::gotoFrame(int frame)
+{
+ m_d->executeCmd(DCframe, frame);
+}
+
+void KDebugger::handleFrameChange(const char* output)
+{
+ QString fileName;
+ int frameNo;
+ int lineNo;
+ DbgAddr address;
+ if (m_d->parseFrameChange(output, frameNo, fileName, lineNo, address)) {
+ /* lineNo can be negative here if we can't find a file name */
+ emit updatePC(fileName, lineNo, address, frameNo);
+ } else {
+ emit updatePC(fileName, -1, address, frameNo);
+ }
+}
+
+void KDebugger::evalExpressions()
+{
+ // evaluate expressions in the following order:
+ // watch expressions
+ // pointers in local variables
+ // pointers in watch expressions
+ // types in local variables
+ // types in watch expressions
+ // struct members in local variables
+ // struct members in watch expressions
+ VarTree* exprItem = 0;
+ if (!m_watchEvalExpr.empty())
+ {
+ QString expr = m_watchEvalExpr.front();
+ m_watchEvalExpr.pop_front();
+ exprItem = m_watchVariables.topLevelExprByName(expr);
+ }
+ if (exprItem != 0) {
+ CmdQueueItem* cmd = m_d->queueCmd(DCprint, exprItem->getText(), DebuggerDriver::QMoverride);
+ // remember which expr this was
+ cmd->m_expr = exprItem;
+ cmd->m_exprWnd = &m_watchVariables;
+ } else {
+ ExprWnd* wnd;
+#define POINTER(widget) \
+ wnd = &widget; \
+ exprItem = widget.nextUpdatePtr(); \
+ if (exprItem != 0) goto pointer
+#define STRUCT(widget) \
+ wnd = &widget; \
+ exprItem = widget.nextUpdateStruct(); \
+ if (exprItem != 0) goto ustruct
+#define TYPE(widget) \
+ wnd = &widget; \
+ exprItem = widget.nextUpdateType(); \
+ if (exprItem != 0) goto type
+ repeat:
+ POINTER(m_localVariables);
+ POINTER(m_watchVariables);
+ STRUCT(m_localVariables);
+ STRUCT(m_watchVariables);
+ TYPE(m_localVariables);
+ TYPE(m_watchVariables);
+#undef POINTER
+#undef STRUCT
+#undef TYPE
+ return;
+
+ pointer:
+ // we have an expression to send
+ dereferencePointer(wnd, exprItem, false);
+ return;
+
+ ustruct:
+ // paranoia
+ if (exprItem->m_type == 0 || exprItem->m_type == TypeInfo::unknownType())
+ goto repeat;
+ evalInitialStructExpression(exprItem, wnd, false);
+ return;
+
+ type:
+ /*
+ * Sometimes a VarTree gets registered twice for a type update. So
+ * it may happen that it has already been updated. Hence, we ignore
+ * it here and go on to the next task.
+ */
+ if (exprItem->m_type != 0)
+ goto repeat;
+ determineType(wnd, exprItem);
+ }
+}
+
+void KDebugger::dereferencePointer(ExprWnd* wnd, VarTree* exprItem,
+ bool immediate)
+{
+ ASSERT(exprItem->m_varKind == VarTree::VKpointer);
+
+ QString expr = exprItem->computeExpr();
+ TRACE("dereferencing pointer: " + expr);
+ CmdQueueItem* cmd;
+ if (immediate) {
+ cmd = m_d->queueCmd(DCprintDeref, expr, DebuggerDriver::QMoverrideMoreEqual);
+ } else {
+ cmd = m_d->queueCmd(DCprintDeref, expr, DebuggerDriver::QMoverride);
+ }
+ // remember which expr this was
+ cmd->m_expr = exprItem;
+ cmd->m_exprWnd = wnd;
+}
+
+void KDebugger::determineType(ExprWnd* wnd, VarTree* exprItem)
+{
+ ASSERT(exprItem->m_varKind == VarTree::VKstruct);
+
+ QString expr = exprItem->computeExpr();
+ TRACE("get type of: " + expr);
+ CmdQueueItem* cmd;
+ cmd = m_d->queueCmd(DCfindType, expr, DebuggerDriver::QMoverride);
+
+ // remember which expr this was
+ cmd->m_expr = exprItem;
+ cmd->m_exprWnd = wnd;
+}
+
+void KDebugger::handleFindType(CmdQueueItem* cmd, const char* output)
+{
+ QString type;
+ if (m_d->parseFindType(output, type))
+ {
+ ASSERT(cmd != 0 && cmd->m_expr != 0);
+
+ TypeInfo* info = m_typeTable->lookup(type);
+
+ if (info == 0) {
+ /*
+ * We've asked gdb for the type of the expression in
+ * cmd->m_expr, but it returned a name we don't know. The base
+ * class (and member) types have been checked already (at the
+ * time when we parsed that particular expression). Now it's
+ * time to derive the type from the base classes as a last
+ * resort.
+ */
+ info = cmd->m_expr->inferTypeFromBaseClass();
+ // if we found a type through this method, register an alias
+ if (info != 0) {
+ TRACE("infered alias: " + type);
+ m_typeTable->registerAlias(type, info);
+ }
+ }
+ if (info == 0) {
+ TRACE("unknown type "+type);
+ cmd->m_expr->m_type = TypeInfo::unknownType();
+ } else {
+ cmd->m_expr->m_type = info;
+ /* since this node has a new type, we get its value immediately */
+ evalInitialStructExpression(cmd->m_expr, cmd->m_exprWnd, false);
+ return;
+ }
+ }
+
+ evalExpressions(); /* queue more of them */
+}
+
+void KDebugger::handlePrintStruct(CmdQueueItem* cmd, const char* output)
+{
+ VarTree* var = cmd->m_expr;
+ ASSERT(var != 0);
+ ASSERT(var->m_varKind == VarTree::VKstruct);
+
+ ExprValue* partExpr;
+ if (cmd->m_cmd == DCprintQStringStruct) {
+ partExpr = m_d->parseQCharArray(output, false, m_typeTable->qCharIsShort());
+ } else if (cmd->m_cmd == DCprintWChar) {
+ partExpr = m_d->parseQCharArray(output, false, true);
+ } else {
+ partExpr = m_d->parsePrintExpr(output, false);
+ }
+ bool errorValue =
+ partExpr == 0 ||
+ /* we only allow simple values at the moment */
+ partExpr->m_child != 0;
+
+ QString partValue;
+ if (errorValue)
+ {
+ partValue = "?""?""?"; // 2 question marks in a row would be a trigraph
+ } else {
+ partValue = partExpr->m_value;
+ }
+ delete partExpr;
+ partExpr = 0;
+
+ /*
+ * Updating a struct value works like this: var->m_partialValue holds
+ * the value that we have gathered so far (it's been initialized with
+ * var->m_type->m_displayString[0] earlier). Each time we arrive here,
+ * we append the printed result followed by the next
+ * var->m_type->m_displayString to var->m_partialValue.
+ *
+ * If the expression we just evaluated was a guard expression, and it
+ * resulted in an error, we must not evaluate the real expression, but
+ * go on to the next index. (We must still add the question marks to
+ * the value).
+ *
+ * Next, if this was the length expression, we still have not seen the
+ * real expression, but the length of a QString.
+ */
+ ASSERT(var->m_exprIndex >= 0 && var->m_exprIndex <= typeInfoMaxExpr);
+
+ if (errorValue || !var->m_exprIndexUseGuard)
+ {
+ // add current partValue (which might be the question marks)
+ var->m_partialValue += partValue;
+ var->m_exprIndex++; /* next part */
+ var->m_exprIndexUseGuard = true;
+ var->m_partialValue += var->m_type->m_displayString[var->m_exprIndex];
+ }
+ else
+ {
+ // this was a guard expression that succeeded
+ // go for the real expression
+ var->m_exprIndexUseGuard = false;
+ }
+
+ /* go for more sub-expressions if needed */
+ if (var->m_exprIndex < var->m_type->m_numExprs) {
+ /* queue a new print command with quite high priority */
+ evalStructExpression(var, cmd->m_exprWnd, true);
+ return;
+ }
+
+ cmd->m_exprWnd->updateStructValue(var);
+
+ evalExpressions(); /* enqueue dereferenced pointers */
+}
+
+/* queues the first printStruct command for a struct */
+void KDebugger::evalInitialStructExpression(VarTree* var, ExprWnd* wnd, bool immediate)
+{
+ var->m_exprIndex = 0;
+ if (var->m_type != TypeInfo::wchartType())
+ {
+ var->m_exprIndexUseGuard = true;
+ var->m_partialValue = var->m_type->m_displayString[0];
+ evalStructExpression(var, wnd, immediate);
+ }
+ else
+ {
+ var->m_exprIndexUseGuard = false;
+ QString expr = var->computeExpr();
+ CmdQueueItem* cmd = m_d->queueCmd(DCprintWChar, expr,
+ immediate ? DebuggerDriver::QMoverrideMoreEqual
+ : DebuggerDriver::QMoverride);
+ // remember which expression this was
+ cmd->m_expr = var;
+ cmd->m_exprWnd = wnd;
+ }
+}
+
+/** queues a printStruct command; var must have been initialized correctly */
+void KDebugger::evalStructExpression(VarTree* var, ExprWnd* wnd, bool immediate)
+{
+ QString base = var->computeExpr();
+ QString expr;
+ if (var->m_exprIndexUseGuard) {
+ expr = var->m_type->m_guardStrings[var->m_exprIndex];
+ if (expr.isEmpty()) {
+ // no guard, omit it and go to expression
+ var->m_exprIndexUseGuard = false;
+ }
+ }
+ if (!var->m_exprIndexUseGuard) {
+ expr = var->m_type->m_exprStrings[var->m_exprIndex];
+ }
+
+ expr.replace("%s", base);
+
+ DbgCommand dbgCmd = DCprintStruct;
+ // check if this is a QString::Data
+ if (expr.left(15) == "/QString::Data ")
+ {
+ if (m_typeTable->parseQt2QStrings())
+ {
+ expr = expr.mid(15, expr.length()); /* strip off /QString::Data */
+ dbgCmd = DCprintQStringStruct;
+ } else {
+ /*
+ * This should not happen: the type libraries should be set up
+ * in a way that this can't happen. If this happens
+ * nevertheless it means that, eg., kdecore was loaded but qt2
+ * was not (only qt2 enables the QString feature).
+ */
+ // TODO: remove this "print"; queue the next printStruct instead
+ expr = "*0";
+ }
+ }
+ TRACE("evalStruct: " + expr + (var->m_exprIndexUseGuard ? " // guard" : " // real"));
+ CmdQueueItem* cmd = m_d->queueCmd(dbgCmd, expr,
+ immediate ? DebuggerDriver::QMoverrideMoreEqual
+ : DebuggerDriver::QMnormal);
+
+ // remember which expression this was
+ cmd->m_expr = var;
+ cmd->m_exprWnd = wnd;
+}
+
+void KDebugger::handleSharedLibs(const char* output)
+{
+ // parse the table of shared libraries
+ m_sharedLibs = m_d->parseSharedLibs(output);
+ m_sharedLibsListed = true;
+
+ // get type libraries
+ m_typeTable->loadLibTypes(m_sharedLibs);
+
+ // hand over the QString data cmd
+ m_d->setPrintQStringDataCmd(m_typeTable->printQStringDataCmd());
+}
+
+CmdQueueItem* KDebugger::loadCoreFile()
+{
+ return m_d->queueCmd(DCcorefile, m_corefile, DebuggerDriver::QMoverride);
+}
+
+void KDebugger::slotExpanding(QListViewItem* item)
+{
+ VarTree* exprItem = static_cast<VarTree*>(item);
+ if (exprItem->m_varKind != VarTree::VKpointer) {
+ return;
+ }
+ ExprWnd* wnd = static_cast<ExprWnd*>(item->listView());
+ dereferencePointer(wnd, exprItem, true);
+}
+
+// add the expression in the edit field to the watch expressions
+void KDebugger::addWatch(const QString& t)
+{
+ QString expr = t.stripWhiteSpace();
+ // don't add a watched expression again
+ if (expr.isEmpty() || m_watchVariables.topLevelExprByName(expr) != 0)
+ return;
+ ExprValue e(expr, VarTree::NKplain);
+ m_watchVariables.insertExpr(&e, *m_typeTable);
+
+ // if we are boring ourselves, send down the command
+ if (m_programActive) {
+ m_watchEvalExpr.push_back(expr);
+ if (m_d->isIdle()) {
+ evalExpressions();
+ }
+ }
+}
+
+// delete a toplevel watch expression
+void KDebugger::slotDeleteWatch()
+{
+ // delete only allowed while debugger is idle; or else we might delete
+ // the very expression the debugger is currently working on...
+ if (m_d == 0 || !m_d->isIdle())
+ return;
+
+ VarTree* item = m_watchVariables.currentItem();
+ if (item == 0 || !item->isToplevelExpr())
+ return;
+
+ // remove the variable from the list to evaluate
+ QStringList::iterator i = m_watchEvalExpr.find(item->getText());
+ if (i != m_watchEvalExpr.end()) {
+ m_watchEvalExpr.erase(i);
+ }
+ m_watchVariables.removeExpr(item);
+ // item is invalid at this point!
+}
+
+void KDebugger::handleRegisters(const char* output)
+{
+ emit registersChanged(m_d->parseRegisters(output));
+}
+
+/*
+ * The output of the DCbreak* commands has more accurate information about
+ * the file and the line number.
+ *
+ * All newly set breakpoints are inserted in the m_brkpts, even those that
+ * were not set sucessfully. The unsuccessful breakpoints ("orphaned
+ * breakpoints") are assigned negative ids, and they are tried to set later
+ * when the program stops again at a breakpoint.
+ */
+void KDebugger::newBreakpoint(CmdQueueItem* cmd, const char* output)
+{
+ BrkptIterator bp;
+ if (cmd->m_brkpt != 0) {
+ // a new breakpoint, put it in the list
+ assert(cmd->m_brkpt->id == 0);
+ m_brkpts.push_back(*cmd->m_brkpt);
+ delete cmd->m_brkpt;
+ bp = m_brkpts.end();
+ --bp;
+ } else {
+ // an existing breakpoint was retried
+ assert(cmd->m_existingBrkpt != 0);
+ bp = breakpointById(cmd->m_existingBrkpt);
+ if (bp == m_brkpts.end())
+ return;
+ }
+
+ // parse the output to determine success or failure
+ int id;
+ QString file;
+ int lineNo;
+ QString address;
+ if (!m_d->parseBreakpoint(output, id, file, lineNo, address))
+ {
+ /*
+ * Failure, the breakpoint could not be set. If this is a new
+ * breakpoint, assign it a negative id. We look for the minimal id
+ * of all breakpoints (that are already in the list) to get the new
+ * id.
+ */
+ if (bp->id == 0)
+ {
+ int minId = 0;
+ for (BrkptIterator i = m_brkpts.begin(); i != m_brkpts.end(); ++i) {
+ if (i->id < minId)
+ minId = i->id;
+ }
+ bp->id = minId-1;
+ }
+ return;
+ }
+
+ // The breakpoint was successfully set.
+ if (bp->id <= 0)
+ {
+ // this is a new or orphaned breakpoint:
+ // set the remaining properties
+ if (!bp->enabled) {
+ m_d->executeCmd(DCdisable, id);
+ }
+ if (!bp->condition.isEmpty()) {
+ m_d->executeCmd(DCcondition, bp->condition, id);
+ }
+ }
+
+ bp->id = id;
+ bp->fileName = file;
+ bp->lineNo = lineNo;
+ if (!address.isEmpty())
+ bp->address = address;
+}
+
+void KDebugger::updateBreakList(const char* output)
+{
+ // get the new list
+ std::list<Breakpoint> brks;
+ m_d->parseBreakList(output, brks);
+
+ // merge existing information into the new list
+ // then swap the old and new lists
+
+ for (BrkptIterator bp = brks.begin(); bp != brks.end(); ++bp)
+ {
+ BrkptIterator i = breakpointById(bp->id);
+ if (i != m_brkpts.end())
+ {
+ // preserve accurate location information
+ // note that xsldbg doesn't have a location in
+ // the listed breakpoint if it has just been set
+ // therefore, we copy it as well if necessary
+ bp->text = i->text;
+ if (!i->fileName.isEmpty()) {
+ bp->fileName = i->fileName;
+ bp->lineNo = i->lineNo;
+ }
+ }
+ }
+
+ // orphaned breakpoints must be copied
+ for (BrkptIterator bp = m_brkpts.begin(); bp != m_brkpts.end(); ++bp)
+ {
+ if (bp->isOrphaned())
+ brks.push_back(*bp);
+ }
+
+ m_brkpts.swap(brks);
+ emit breakpointsChanged();
+}
+
+// look if there is at least one temporary breakpoint
+// or a watchpoint
+bool KDebugger::stopMayChangeBreakList() const
+{
+ for (BrkptROIterator bp = m_brkpts.begin(); bp != m_brkpts.end(); ++bp)
+ {
+ if (bp->temporary || bp->type == Breakpoint::watchpoint)
+ return true;
+ }
+ return false;
+}
+
+KDebugger::BrkptIterator KDebugger::breakpointByFilePos(QString file, int lineNo,
+ const DbgAddr& address)
+{
+ // look for exact file name match
+ for (BrkptIterator bp = m_brkpts.begin(); bp != m_brkpts.end(); ++bp)
+ {
+ if (bp->lineNo == lineNo &&
+ bp->fileName == file &&
+ (address.isEmpty() || bp->address == address))
+ {
+ return bp;
+ }
+ }
+ // not found, so try basename
+ // strip off directory part of file name
+ int offset = file.findRev("/");
+ file.remove(0, offset+1);
+
+ for (BrkptIterator bp = m_brkpts.begin(); bp != m_brkpts.end(); ++bp)
+ {
+ // get base name of breakpoint's file
+ QString basename = bp->fileName;
+ int offset = basename.findRev("/");
+ if (offset >= 0) {
+ basename.remove(0, offset+1);
+ }
+
+ if (bp->lineNo == lineNo &&
+ basename == file &&
+ (address.isEmpty() || bp->address == address))
+ {
+ return bp;
+ }
+ }
+
+ // not found
+ return m_brkpts.end();
+}
+
+KDebugger::BrkptIterator KDebugger::breakpointById(int id)
+{
+ for (BrkptIterator bp = m_brkpts.begin(); bp != m_brkpts.end(); ++bp)
+ {
+ if (bp->id == id) {
+ return bp;
+ }
+ }
+ // not found
+ return m_brkpts.end();
+}
+
+void KDebugger::slotValuePopup(const QString& expr)
+{
+ // search the local variables for a match
+ VarTree* v = m_localVariables.topLevelExprByName(expr);
+ if (v == 0) {
+ // not found, check watch expressions
+ v = m_watchVariables.topLevelExprByName(expr);
+ if (v == 0) {
+ // try a member of 'this'
+ v = m_localVariables.topLevelExprByName("this");
+ if (v != 0)
+ v = ExprWnd::ptrMemberByName(v, expr);
+ if (v == 0) {
+ // nothing found; do nothing
+ return;
+ }
+ }
+ }
+
+ // construct the tip
+ QString tip = v->getText() + " = ";
+ if (!v->value().isEmpty())
+ {
+ tip += v->value();
+ }
+ else
+ {
+ // no value: we use some hint
+ switch (v->m_varKind) {
+ case VarTree::VKstruct:
+ tip += "{...}";
+ break;
+ case VarTree::VKarray:
+ tip += "[...]";
+ break;
+ default:
+ tip += "?""?""?"; // 2 question marks in a row would be a trigraph
+ break;
+ }
+ }
+ emit valuePopup(tip);
+}
+
+void KDebugger::slotDisassemble(const QString& fileName, int lineNo)
+{
+ if (m_haveExecutable) {
+ CmdQueueItem* cmd = m_d->queueCmd(DCinfoline, fileName, lineNo,
+ DebuggerDriver::QMoverrideMoreEqual);
+ cmd->m_fileName = fileName;
+ cmd->m_lineNo = lineNo;
+ }
+}
+
+void KDebugger::handleInfoLine(CmdQueueItem* cmd, const char* output)
+{
+ QString addrFrom, addrTo;
+ if (cmd->m_lineNo >= 0) {
+ // disassemble
+ if (m_d->parseInfoLine(output, addrFrom, addrTo)) {
+ // got the address range, now get the real code
+ CmdQueueItem* c = m_d->queueCmd(DCdisassemble, addrFrom, addrTo,
+ DebuggerDriver::QMoverrideMoreEqual);
+ c->m_fileName = cmd->m_fileName;
+ c->m_lineNo = cmd->m_lineNo;
+ } else {
+ // no code
+ emit disassembled(cmd->m_fileName, cmd->m_lineNo, std::list<DisassembledCode>());
+ }
+ } else {
+ // set program counter
+ if (m_d->parseInfoLine(output, addrFrom, addrTo)) {
+ // move the program counter to the start address
+ m_d->executeCmd(DCsetpc, addrFrom);
+ }
+ }
+}
+
+void KDebugger::handleDisassemble(CmdQueueItem* cmd, const char* output)
+{
+ emit disassembled(cmd->m_fileName, cmd->m_lineNo,
+ m_d->parseDisassemble(output));
+}
+
+void KDebugger::handleThreadList(const char* output)
+{
+ emit threadsChanged(m_d->parseThreadList(output));
+}
+
+void KDebugger::setThread(int id)
+{
+ m_d->queueCmd(DCthread, id, DebuggerDriver::QMoverrideMoreEqual);
+}
+
+void KDebugger::setMemoryExpression(const QString& memexpr)
+{
+ m_memoryExpression = memexpr;
+
+ // queue the new expression
+ if (!m_memoryExpression.isEmpty() &&
+ isProgramActive() &&
+ !isProgramRunning())
+ {
+ queueMemoryDump(true);
+ }
+}
+
+void KDebugger::queueMemoryDump(bool immediate)
+{
+ m_d->queueCmd(DCexamine, m_memoryExpression, m_memoryFormat,
+ immediate ? DebuggerDriver::QMoverrideMoreEqual :
+ DebuggerDriver::QMoverride);
+}
+
+void KDebugger::handleMemoryDump(const char* output)
+{
+ std::list<MemoryDump> memdump;
+ QString msg = m_d->parseMemoryDump(output, memdump);
+ emit memoryDumpChanged(msg, memdump);
+}
+
+void KDebugger::setProgramCounter(const QString& file, int line, const DbgAddr& addr)
+{
+ if (addr.isEmpty()) {
+ // find address of the specified line
+ CmdQueueItem* cmd = m_d->executeCmd(DCinfoline, file, line);
+ cmd->m_lineNo = -1; /* indicates "Set PC" UI command */
+ } else {
+ // move the program counter to that address
+ m_d->executeCmd(DCsetpc, addr.asString());
+ }
+}
+
+void KDebugger::handleSetPC(const char* /*output*/)
+{
+ // TODO: handle errors
+
+ // now go to the top-most frame
+ // this also modifies the program counter indicator in the UI
+ gotoFrame(0);
+}
+
+void KDebugger::slotValueEdited(VarTree* expr, const QString& text)
+{
+ if (text.simplifyWhiteSpace().isEmpty())
+ return; /* no text entered: ignore request */
+
+ ExprWnd* wnd = static_cast<ExprWnd*>(expr->listView());
+ TRACE(QString().sprintf("Changing %s to ",
+ wnd->name()) + text);
+
+ // determine the lvalue to edit
+ QString lvalue = expr->computeExpr();
+ CmdQueueItem* cmd = m_d->executeCmd(DCsetvariable, lvalue, text);
+ cmd->m_expr = expr;
+ cmd->m_exprWnd = wnd;
+}
+
+void KDebugger::handleSetVariable(CmdQueueItem* cmd, const char* output)
+{
+ QString msg = m_d->parseSetVariable(output);
+ if (!msg.isEmpty())
+ {
+ // there was an error; display it in the status bar
+ m_statusMessage = msg;
+ emit updateStatusMessage();
+ return;
+ }
+
+ // get the new value
+ QString expr = cmd->m_expr->computeExpr();
+ CmdQueueItem* printCmd =
+ m_d->queueCmd(DCprint, expr, DebuggerDriver::QMoverrideMoreEqual);
+ printCmd->m_expr = cmd->m_expr;
+ printCmd->m_exprWnd = cmd->m_exprWnd;
+}
+
+
+#include "debugger.moc"
diff --git a/kdbg/debugger.h b/kdbg/debugger.h
new file mode 100644
index 0000000..7d2a367
--- /dev/null
+++ b/kdbg/debugger.h
@@ -0,0 +1,556 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef DEBUGGER_H
+#define DEBUGGER_H
+
+#include <qtimer.h>
+#include <qdict.h>
+#include <qstringlist.h>
+#include "envvar.h"
+#include "exprwnd.h" /* some compilers require this */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+class ExprWnd;
+class VarTree;
+struct ExprValue;
+class ProgramTypeTable;
+class KTreeViewItem;
+class KConfig;
+class KConfigBase;
+class ProgramConfig;
+class QListBox;
+class RegisterInfo;
+class ThreadInfo;
+class DebuggerDriver;
+class CmdQueueItem;
+class Breakpoint;
+struct DisassembledCode;
+struct MemoryDump;
+struct DbgAddr;
+class KProcess;
+
+
+class KDebugger : public QObject
+{
+ Q_OBJECT
+public:
+ KDebugger(QWidget* parent, /* will be used as the parent for dialogs */
+ ExprWnd* localVars,
+ ExprWnd* watchVars,
+ QListBox* backtrace);
+ ~KDebugger();
+
+ /**
+ * This function starts to debug the specified executable using the
+ * specified driver. If a program is currently being debugged, it is
+ * terminated first. Ownership of driver is taken if and only if
+ * true is returned.
+ *
+ * @return false if an error occurs.
+ */
+ bool debugProgram(const QString& executable,
+ DebuggerDriver* driver);
+
+ /**
+ * Uses the specified core to debug the active program.
+ * @param batch tells whether the core file was given on the
+ * command line.
+ */
+ void useCoreFile(QString corefile, bool batch);
+
+ /**
+ * Overrides the program argument in the per-program config
+ * with a new value.
+ */
+ void overrideProgramArguments(const QString& args);
+
+
+ /**
+ * Uses the specified pid to attach to the active program.
+ */
+ void setAttachPid(const QString& pid);
+
+ /**
+ * Attaches to the specified process and debugs it.
+ */
+ void attachProgram(const QString& pid);
+
+ /**
+ * Returns the file name of the per-program config file for the
+ * specified program.
+ */
+ static QString getConfigForExe(const QString& exe);
+
+ /**
+ * The driver name entry in the per-program config file.
+ */
+ static const char DriverNameEntry[];
+
+public slots:
+ /**
+ * Runs the program or continues it if it is stopped at a breakpoint.
+ */
+ void programRun();
+
+ /**
+ * Restarts the debuggee.
+ */
+ void programRunAgain();
+
+ /**
+ * Performs a single-step, possibly stepping into a function call.
+ * If byInsn is true, a step by instruction is performed.
+ */
+ void programStep();
+
+ /**
+ * Performs a single-step, stepping over a function call.
+ * If byInsn is true, a step by instruction is performed.
+ */
+ void programNext();
+
+ /**
+ * Performs a single-step by instruction, possibly stepping into a
+ * function call.
+ */
+ void programStepi();
+
+ /**
+ * Performs a single-step by instruction, stepping over a function
+ * call.
+ */
+ void programNexti();
+
+ /**
+ * Runs the program until it returns from the current function.
+ */
+ void programFinish();
+
+ /**
+ * Kills the program (removes it from memory).
+ */
+ void programKill();
+
+ /**
+ * Interrupts the program if it is currently running.
+ */
+ void programBreak();
+
+ /**
+ * Moves the program counter to the specified line.
+ * If an address is given, it is moved to the address.
+ */
+ void setProgramCounter(const QString&, int, const DbgAddr&);
+
+public:
+ /**
+ * Queries the user for program arguments.
+ */
+ void programArgs(QWidget* parent);
+
+ /**
+ * Queries the user for program settings: Debugger command, terminal
+ * emulator.
+ */
+ void programSettings(QWidget* parent);
+
+ /**
+ * Setup remote debugging device
+ */
+ void setRemoteDevice(const QString& remoteDevice) { m_remoteDevice = remoteDevice; }
+
+ /**
+ * Run the debuggee until the specified line in the specified file is
+ * reached.
+ *
+ * @return false if the command was not executed, e.g. because the
+ * debuggee is running at the moment.
+ */
+ bool runUntil(const QString& fileName, int lineNo);
+
+ /**
+ * Set a breakpoint.
+ *
+ * @param fileName The source file in which to set the breakpoint.
+ * @param lineNo The zero-based line number.
+ * @param address The exact address of the breakpoint.
+ * @param temporary Specifies whether this is a temporary breakpoint
+ * @return false if the command was not executed, e.g. because the
+ * debuggee is running at the moment.
+ */
+ bool setBreakpoint(QString fileName, int lineNo,
+ const DbgAddr& address, bool temporary);
+
+ /**
+ * Set a breakpoint.
+ *
+ * @param bp Describes the breakpoint.
+ * @param queueOnly If false, the breakpoint is set using a high-priority command.
+ */
+ void setBreakpoint(Breakpoint* bp, bool queueOnly);
+
+ /**
+ * Enable or disable a breakpoint at the specified location.
+ *
+ * @param fileName The source file in which the breakpoint is.
+ * @param lineNo The zero-based line number.
+ * @param address The exact address of the breakpoint.
+ * @return false if the command was not executed, e.g. because the
+ * debuggee is running at the moment.
+ */
+ bool enableDisableBreakpoint(QString fileName, int lineNo,
+ const DbgAddr& address);
+
+ /**
+ * Enables or disables the specified breakpoint.
+ *
+ * @return false if the command was not executed, e.g. because the
+ * debuggee is running at the moment.
+ */
+ bool enableDisableBreakpoint(int id)
+ { return enableDisableBreakpoint(breakpointById(id)); }
+
+ /**
+ * Removes the specified breakpoint. Note that if bp is an orphaned
+ * breakpoint, then bp is an invalid pointer if (and only if) this
+ * function returns true.
+ *
+ * @return false if the command was not executed, e.g. because the
+ * debuggee is running at the moment.
+ */
+ bool deleteBreakpoint(int id)
+ { return deleteBreakpoint(breakpointById(id)); }
+
+ /**
+ * Changes the specified breakpoint's condition and ignore count.
+ *
+ * @return false if the command was not executed, e.g. because the
+ * debuggee is running at the moment.
+ */
+ bool conditionalBreakpoint(int id,
+ const QString& condition,
+ int ignoreCount)
+ { return conditionalBreakpoint(breakpointById(id), condition, ignoreCount); }
+
+ /**
+ * Tells whether one of the single stepping commands can be invoked
+ * (step, next, finish, until, also run).
+ */
+ bool canSingleStep();
+
+ /**
+ * Tells whether a breakpoints can be set, deleted, enabled, or disabled.
+ */
+ bool canChangeBreakpoints();
+
+ /**
+ * Tells whether a the program is loaded, but not active.
+ */
+ bool canStart();
+
+ /**
+ * Add a watch expression.
+ */
+ void addWatch(const QString& expr);
+
+ /**
+ * Retrieves the current status message.
+ */
+ const QString& statusMessage() const { return m_statusMessage; }
+
+ /**
+ * Is the debugger ready to receive another high-priority command?
+ */
+ bool isReady() const;
+
+ /**
+ * Is the debuggee running (not just active)?
+ */
+ bool isProgramRunning() { return m_haveExecutable && m_programRunning; }
+
+ /**
+ * Do we have an executable set?
+ */
+ bool haveExecutable() { return m_haveExecutable; }
+
+ /**
+ * Is the debuggee active, i.e. was it started by the debugger?
+ */
+ bool isProgramActive() { return m_programActive; }
+
+ /**
+ * Is the debugger driver idle?
+ */
+ bool isIdle() const;
+
+ /* The list of breakpoints. */
+ typedef std::list<Breakpoint>::const_iterator BrkptROIterator;
+ BrkptROIterator breakpointsBegin() const { return m_brkpts.begin(); }
+ BrkptROIterator breakpointsEnd() const { return m_brkpts.end(); }
+
+ const QString& executable() const { return m_executable; }
+
+ /**
+ * Terminal emulation level.
+ */
+ enum TTYLevel {
+ ttyNone = 0, /* ignore output, input triggers EOF */
+ ttySimpleOutputOnly = 1, /* minmal output emulation, input triggers EOF */
+ ttyFull = 7 /* program needs full emulation */
+ };
+
+ /**
+ * Returns the level of terminal emulation requested by the inferior.
+ */
+ TTYLevel ttyLevel() const { return m_ttyLevel; }
+
+ /** Sets the terminal that is to be used by the debugger. */
+ void setTerminal(const QString& term) { m_inferiorTerminal = term; }
+
+ /** Returns the debugger driver. */
+ DebuggerDriver* driver() { return m_d; }
+
+ /** Returns the pid that the debugger is currently attached to. */
+ const QString& attachedPid() const { return m_attachedPid; }
+
+ /**
+ * The memory at that the expression evaluates to is watched. Can be
+ * empty. Triggers a redisplay even if the expression did not change.
+ */
+ void setMemoryExpression(const QString& memexpr);
+
+ /**
+ * Sets how the watched memory location is displayed.
+ * Call setMemoryExpression() to force a redisplay.
+ */
+ void setMemoryFormat(unsigned format) { m_memoryFormat = format; }
+
+ // settings
+ void saveSettings(KConfig*);
+ void restoreSettings(KConfig*);
+
+protected:
+ QString m_inferiorTerminal;
+ QString m_debuggerCmd; /* per-program setting */
+ TTYLevel m_ttyLevel; /* level of terminal emulation */
+ bool startDriver();
+ void stopDriver();
+ void writeCommand();
+
+ QStringList m_watchEvalExpr; /* exprs to evaluate for watch window */
+ std::list<Breakpoint> m_brkpts;
+ QString m_memoryExpression; /* memory location to watch */
+ unsigned m_memoryFormat; /* how that output should look */
+
+protected slots:
+ void parse(CmdQueueItem* cmd, const char* output);
+protected:
+ void handleRunCommands(const char* output);
+ void updateAllExprs();
+ void updateProgEnvironment(const QString& args, const QString& wd,
+ const QDict<EnvVar>& newVars,
+ const QStringList& newOptions);
+ void parseLocals(const char* output, std::list<ExprValue*>& newVars);
+ void handleLocals(const char* output);
+ bool handlePrint(CmdQueueItem* cmd, const char* output);
+ bool handlePrintDeref(CmdQueueItem* cmd, const char* output);
+ void handleBacktrace(const char* output);
+ void handleFrameChange(const char* output);
+ void handleFindType(CmdQueueItem* cmd, const char* output);
+ void handlePrintStruct(CmdQueueItem* cmd, const char* output);
+ void handleSharedLibs(const char* output);
+ void handleRegisters(const char* output);
+ void handleMemoryDump(const char* output);
+ void handleInfoLine(CmdQueueItem* cmd, const char* output);
+ void handleDisassemble(CmdQueueItem* cmd, const char* output);
+ void handleThreadList(const char* output);
+ void handleSetPC(const char* output);
+ void handleSetVariable(CmdQueueItem* cmd, const char* output);
+ void evalExpressions();
+ void evalInitialStructExpression(VarTree* var, ExprWnd* wnd, bool immediate);
+ void evalStructExpression(VarTree* var, ExprWnd* wnd, bool immediate);
+ void dereferencePointer(ExprWnd* wnd, VarTree* var, bool immediate);
+ void determineType(ExprWnd* wnd, VarTree* var);
+ void queueMemoryDump(bool immediate);
+ CmdQueueItem* loadCoreFile();
+ void openProgramConfig(const QString& name);
+
+ typedef std::list<Breakpoint>::iterator BrkptIterator;
+ BrkptIterator breakpointByFilePos(QString file, int lineNo,
+ const DbgAddr& address);
+ BrkptIterator breakpointById(int id);
+ CmdQueueItem* executeBreakpoint(const Breakpoint* bp, bool queueOnly);
+ void newBreakpoint(CmdQueueItem* cmd, const char* output);
+ void updateBreakList(const char* output);
+ bool stopMayChangeBreakList() const;
+ void saveBreakpoints(ProgramConfig* config);
+ void restoreBreakpoints(ProgramConfig* config);
+ bool enableDisableBreakpoint(BrkptIterator bp);
+ bool deleteBreakpoint(BrkptIterator bp);
+ bool conditionalBreakpoint(BrkptIterator bp,
+ const QString& condition,
+ int ignoreCount);
+
+ bool m_haveExecutable; /* has an executable been specified */
+ bool m_programActive; /* is the program active (possibly halting in a brkpt)? */
+ bool m_programRunning; /* is the program executing (not stopped)? */
+ bool m_sharedLibsListed; /* do we know the shared libraries loaded by the prog? */
+ QString m_executable;
+ QString m_corefile;
+ QString m_attachedPid; /* user input of attaching to pid */
+ QString m_programArgs;
+ QString m_remoteDevice;
+ QString m_programWD; /* working directory of gdb */
+ QDict<EnvVar> m_envVars; /* environment variables set by user */
+ QStringList m_boolOptions; /* boolean options */
+ QStringList m_sharedLibs; /* shared libraries used by program */
+ ProgramTypeTable* m_typeTable; /* known types used by the program */
+ ProgramConfig* m_programConfig; /* program-specific settings (brkpts etc) */
+ void saveProgramSettings();
+ void restoreProgramSettings();
+ QString readDebuggerCmd();
+
+ // debugger process
+ DebuggerDriver* m_d;
+ bool m_explicitKill; /* whether we are killing gdb ourselves */
+
+ QString m_statusMessage;
+
+protected slots:
+ void gdbExited(KProcess*);
+ void slotInferiorRunning();
+ void backgroundUpdate();
+ void gotoFrame(int);
+ void slotExpanding(QListViewItem*);
+ void slotDeleteWatch();
+ void slotValuePopup(const QString&);
+ void slotDisassemble(const QString&, int);
+ void slotValueEdited(VarTree*, const QString&);
+public slots:
+ void setThread(int);
+ void shutdown();
+
+signals:
+ /**
+ * This signal is emitted before the debugger is started. The slot is
+ * supposed to set up m_inferiorTerminal.
+ */
+ void debuggerStarting();
+
+ /**
+ * This signal is emitted whenever a part of the debugger needs to
+ * highlight the specfied source code line (e.g. when the program
+ * stops).
+ *
+ * @param file specifies the file; this is not necessarily a full path
+ * name, and if it is relative, you won't know relative to what, you
+ * can only guess.
+ * @param lineNo specifies the line number (0-based!) (this may be
+ * negative, in which case the file should be activated, but the line
+ * should NOT be changed).
+ * @param address specifies the exact address of the PC or is empty.
+ */
+ void activateFileLine(const QString& file, int lineNo, const DbgAddr& address);
+
+ /**
+ * This signal indicates that the program counter has changed.
+ *
+ * @param filename specifies the filename where the program stopped
+ * @param lineNo specifies the line number (zero-based); it can be -1
+ * if it is unknown
+ * @param address specifies the address that the instruction pointer
+ * points to.
+ * @param frameNo specifies the frame number: 0 is the innermost frame,
+ * positive numbers are frames somewhere up the stack (indicates points
+ * where a function was called); the latter cases should be indicated
+ * differently in the source window.
+ */
+ void updatePC(const QString& filename, int lineNo,
+ const DbgAddr& address, int frameNo);
+
+ /**
+ * This signal is emitted when gdb detects that the executable has been
+ * updated, e.g. recompiled. (You usually need not handle this signal
+ * if you are the editor which changed the executable.)
+ */
+ void executableUpdated();
+
+ /**
+ * Indicates that a new status message is available.
+ */
+ void updateStatusMessage();
+
+ /**
+ * Indicates that the internal state of the debugger has changed, and
+ * that this will very likely have an impact on the UI.
+ */
+ void updateUI();
+
+ /**
+ * Indicates that the list of breakpoints has possibly changed.
+ */
+ void breakpointsChanged();
+
+ /**
+ * Indicates that the register values have possibly changed.
+ */
+ void registersChanged(const std::list<RegisterInfo>&);
+
+ /**
+ * Indicates that the list of threads has possibly changed.
+ */
+ void threadsChanged(const std::list<ThreadInfo>&);
+
+ /**
+ * Indicates that the value for a value popup is ready.
+ */
+ void valuePopup(const QString&);
+
+ /**
+ * Provides the disassembled code of the location given by file and
+ * line number (zero-based).
+ */
+ void disassembled(const QString& file, int line, const std::list<DisassembledCode>& code);
+
+ /**
+ * Indicates that the program has stopped for any reason: by a
+ * breakpoint, by a signal that the debugger driver caught, by a single
+ * step instruction.
+ */
+ void programStopped();
+
+ /**
+ * Indicates that a new memory dump output is ready.
+ * @param msg is an error message or empty
+ * @param memdump is the memory dump
+ */
+ void memoryDumpChanged(const QString&, const std::list<MemoryDump>&);
+
+ /**
+ * Gives other objects a chance to save program specific settings.
+ */
+ void saveProgramSpecific(KConfigBase* config);
+
+ /**
+ * Gives other objects a chance to restore program specific settings.
+ */
+ void restoreProgramSpecific(KConfigBase* config);
+
+protected:
+ ExprWnd& m_localVariables;
+ ExprWnd& m_watchVariables;
+ QListBox& m_btWindow;
+
+ // implementation helpers
+protected:
+ QWidget* parentWidget() { return static_cast<QWidget*>(parent()); }
+};
+
+#endif // DEBUGGER_H
diff --git a/kdbg/doc/Makefile.am b/kdbg/doc/Makefile.am
new file mode 100644
index 0000000..081febf
--- /dev/null
+++ b/kdbg/doc/Makefile.am
@@ -0,0 +1,3 @@
+
+# add here all the languages, you have docu for
+SUBDIRS = de en ru
diff --git a/kdbg/doc/Makefile.in b/kdbg/doc/Makefile.in
new file mode 100644
index 0000000..e2d019d
--- /dev/null
+++ b/kdbg/doc/Makefile.in
@@ -0,0 +1,721 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = kdbg/doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+#>- html-recursive info-recursive install-data-recursive \
+#>- install-dvi-recursive install-exec-recursive \
+#>- install-html-recursive install-info-recursive \
+#>- install-pdf-recursive install-ps-recursive install-recursive \
+#>- installcheck-recursive installdirs-recursive pdf-recursive \
+#>- ps-recursive uninstall-recursive
+#>+ 7
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PS_COMMAND = @PS_COMMAND@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+
+# add here all the languages, you have docu for
+SUBDIRS = de en ru
+#>- all: all-recursive
+#>+ 1
+all: docs-am all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu kdbg/doc/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/doc/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/doc/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-recursive
+#>+ 1
+clean: kde-rpo-clean clean-recursive
+
+#>- clean-am: clean-generic clean-libtool mostlyclean-am
+#>+ 1
+clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am check check-am clean clean-generic clean-libtool \
+ ctags ctags-recursive distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am
+
+# 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
+KDE_DIST=Makefile.in Makefile.am
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/doc/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/doc/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-recursive
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 3
+final:
+ $(MAKE) all-am
+
+#>+ 3
+final-install:
+ $(MAKE) install-am
+
+#>+ 3
+no-final:
+ $(MAKE) all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 3
+nmcheck:
+nmcheck-am: nmcheck
diff --git a/kdbg/doc/de/Makefile.am b/kdbg/doc/de/Makefile.am
new file mode 100644
index 0000000..2981d8b
--- /dev/null
+++ b/kdbg/doc/de/Makefile.am
@@ -0,0 +1,27 @@
+html_DATA = \
+ argspwdenv.html \
+ breakptlist.html \
+ globaloptions.html \
+ howdoi.html \
+ localvars.html \
+ memory.html \
+ pgmoutput.html \
+ pgmsettings.html \
+ registers.html \
+ sourcecode.html \
+ stack.html \
+ threads.html \
+ tips.html \
+ watches.html \
+ index.html
+
+htmldir = $(kde_htmldir)/de/kdbg
+
+EXTRA_DIST = $(html_DATA)
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(htmldir)
+ cd $(DESTDIR)$(htmldir) && ln -s -f ../../en/kdbg/types.html .
+
+uninstall-local:
+ -rm -f $(DESTDIR)$(htmldir)/types.html
diff --git a/kdbg/doc/de/Makefile.in b/kdbg/doc/de/Makefile.in
new file mode 100644
index 0000000..2091f62
--- /dev/null
+++ b/kdbg/doc/de/Makefile.in
@@ -0,0 +1,609 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = kdbg/doc/de
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(htmldir)"
+htmlDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(html_DATA)
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PS_COMMAND = @PS_COMMAND@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = $(kde_htmldir)/de/kdbg
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+html_DATA = \
+ argspwdenv.html \
+ breakptlist.html \
+ globaloptions.html \
+ howdoi.html \
+ localvars.html \
+ memory.html \
+ pgmoutput.html \
+ pgmsettings.html \
+ registers.html \
+ sourcecode.html \
+ stack.html \
+ threads.html \
+ tips.html \
+ watches.html \
+ index.html
+
+EXTRA_DIST = $(html_DATA)
+#>- all: all-am
+#>+ 1
+all: docs-am all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/de/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu kdbg/doc/de/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/de/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/doc/de/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/doc/de/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-htmlDATA: $(html_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+ @list='$(html_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+
+uninstall-htmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(html_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \
+ rm -f "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(htmldir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-am
+#>+ 1
+clean: kde-rpo-clean clean-am
+
+#>- clean-am: clean-generic clean-libtool mostlyclean-am
+#>+ 1
+clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local install-htmlDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-htmlDATA uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-htmlDATA install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am uninstall uninstall-am uninstall-htmlDATA \
+ uninstall-local
+
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(htmldir)
+ cd $(DESTDIR)$(htmldir) && ln -s -f ../../en/kdbg/types.html .
+
+uninstall-local:
+ -rm -f $(DESTDIR)$(htmldir)/types.html
+# 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
+KDE_DIST=stack.html memory.html index.html watches.html sourcecode.html howdoi.html pgmsettings.html globaloptions.html pgmoutput.html Makefile.in threads.html argspwdenv.html localvars.html registers.html breakptlist.html tips.html Makefile.am
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/de/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/doc/de/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/doc/de/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-am
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 3
+final:
+ $(MAKE) all-am
+
+#>+ 3
+final-install:
+ $(MAKE) install-am
+
+#>+ 3
+no-final:
+ $(MAKE) all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 3
+nmcheck:
+nmcheck-am: nmcheck
diff --git a/kdbg/doc/de/argspwdenv.html b/kdbg/doc/de/argspwdenv.html
new file mode 100644
index 0000000..696221f
--- /dev/null
+++ b/kdbg/doc/de/argspwdenv.html
@@ -0,0 +1,50 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Argumente, Arbeitsverzeichnis, Umgebungsvariablen</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h3>
+<a NAME="Environment"></a>Programmargumente, Arbeitsverzeichnis, Umgebungsvariablen
+setzen</h3>
+Mit <i>Ausf&uuml;hren|Argumente</i> &ouml;ffnen Sie einen Dialog, in dem
+Sie Programmargumente, das Arbeitsverzeichnis sowie Umgebungsvariablen
+setzen k&ouml;nnen.
+<h3>
+Programmargumente</h3>
+In der obersten Eingabezeile k&ouml;nnen Sie die Programmargumente eingeben,
+die an das Programm &uuml;bergeben werden sollen. Diese werden beim n&auml;chsten
+Programmstart verwendet.
+<h3>
+Arbeitsverzeichnis</h3>
+Im Eingabefeld darunter k&ouml;nnen Sie das Arbeitsverzeichnis angeben.
+Dieses wird sofort an gdb &uuml;bergeben, sobald Sie <i>OK</i> dr&uuml;cken.
+Das Programm verwendet das neue Arbeitsverzeichnis allerdings erst beim
+n&auml;chsten Start.
+<p>Das Arbeitsverzeichnis gilt auch f&uuml;r gdb selbst! Das angegebene
+Arbeitsverzeichnis wird sofort an gdb weitergegeben, d.h. gdb wird die
+neue Einstellung verwenden, sobald Sie <i>OK</i> dr&uuml;cken. Das kann
+einen Einfluss darauf haben, ob gdb Quellcodedateien findet.
+<h3>
+Umgebungsvariablen</h3>
+Im Bereich f&uuml;r Umgebungsvariablen k&ouml;nnen Sie einen Ausdruck in
+der Form
+<tt>VARIABLE=Wert</tt> eingeben und dann <i>&Auml;ndern</i> klicken,
+um der Umgebungsvariablen <tt>VARIABLE</tt> einen <tt>Wert</tt> zuzuweisen.
+Um eine Variable zu entfernen, w&auml;hlen Sie diese zuerst aus der Liste
+darunter aus und klicken dan <i>L&ouml;schen</i>. Um einen Wert zu &auml;ndern,
+geben Sie einfach den neuen Wert ein und klicken <i>&Auml;ndern</i>. Wenn
+Sie den Namen der Variable &auml;ndern und <i>&Auml;ndern</i> clicken,
+erzeugen Sie eine neue Variable! Die neuen Umgebungsvariablen werden erst
+beim n&auml;chsten Programmstart verwendet.
+<p>Wenn Sie glibc2 unter Linux verwenden, ist es sehr wichtig, dass Sie
+der Umgebungsvariablen <tt>LD_BIND_NOW</tt> den Wert <tt>1</tt> zuweisen.
+Wenn diese Variable nicht gesetzt ist, k&ouml;nnen solche Funktionen nicht
+betreten werden, die von der Bibliothek <tt>libc</tt> und anderen Shared
+Libraries importiert werden.
+</body>
+</html>
diff --git a/kdbg/doc/de/breakptlist.html b/kdbg/doc/de/breakptlist.html
new file mode 100644
index 0000000..0acb4d2
--- /dev/null
+++ b/kdbg/doc/de/breakptlist.html
@@ -0,0 +1,82 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Haltepunkte</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Die Liste der Haltepunkte</h1>
+Die Liste der Haltepunkte zeigt alle gesetzten Haltepunkte und Watchpoints
+und erm&ouml;glicht, diese zu manipulieren. Die Liste der Haltepunkte k&ouml;nnen
+Sie mit dem Men&uuml;punkt <i>Ansicht|Haltepunkte</i> anzeigen.
+<h2>
+Die &Uuml;bersicht</h2>
+F&uuml;r jeden Haltepunkt wird folgendes angezeigt:
+<ul>
+<li>
+der Ort,</li>
+
+<li>
+die Anzahl der Stopps,</li>
+
+<li>
+die Anzahl der n&auml;chsten zu ignorierenden Stopps (falls gesetzt)</li>
+
+<li>
+die Haltebedingung (falls gesetzt).</li>
+</ul>
+Das Piktogramm links zeigt an, ob der Haltepunkt aktiviert (tiefroter Punkt)
+oder deaktiviert (hellroter Punkt) ist, ob es sich um einen tempor&auml;ren
+Haltepunkt handelt (eine winzige Uhr ist sichtbar) und ob der Haltepunkt
+bedingt ist (ein Fragezeichen ist sichtbar).
+<p>Watchpoints werden durch ein Brillensymbol gekennzeichnet.
+<h2>
+Haltepunkte manipulieren</h2>
+<a NAME="StopProg"></a>Beachten Sie bitte, dass Haltepunkte und Watchpoints
+nicht manipuliert werden k&ouml;nnen solange das zu debuggende Programm
+l&auml;uft. Wenn das Programm bereits gestartet wurde, muss es zuerst angehalten
+werden - entweder indem es auf einen bereits gesetzten Haltepunkt trifft
+oder "gewaltsam" indem Sie <i>Ausf&uuml;hrung|Unterbrechen</i> w&auml;hlen.
+Dadurch wird das Programm nicht beendet, sondern nur unterbrochen. Sie
+k&ouml;nnen die Haltepunkte jetzt ver&auml;ndern. W&auml;hlen Sie danach
+<i>Ausf&uuml;hrung|Ausf&uuml;hren</i>,
+um das Programm fortzusetzen.
+<p>Am einfachsten kann ein Haltepunkt im <a href="sourcecode.html">Quellcode-Fenster</a>
+gesetzt werden. Wenn Sie den genauen Dateinamen und die Zeilennummer einer
+Funktion nicht kennen, k&ouml;nnen Sie den Funktionsnamen im Feld &uuml;ber
+der Liste eingeben und <i>Haltepunkt</i> w&auml;hlen.
+<p>Sie k&ouml;nnen eine Haltepunkt in der Liste ausw&auml;hlen seine Zustand
+mittels <i>Deaktivieren</i> oder <i>Aktivieren</i> &auml;ndern. Oder Sie
+klicken auf den Haltepunkt mit der mittleren Maustaste - genau so, wie
+Sie im Quellcode-Fenster Haltepunkte aktivieren und deaktivieren.
+<p>Sie k&ouml;nnen eine Bedingung setzen (sodass das Programm nur stehen
+bleibt, wenn die Bedingung erf&uuml;llt ist) oder die Anzahl der zu ignorierenden
+Stopps setzen (sodass das Programm die n&auml;chsten n Male nicht stehen
+bleibt, die es &uuml;ber diesen Haltepunkt l&auml;uft). Dazu w&auml;hlen
+sie den Schalter <i>Bedingt</i> und geben die Anzahl der zu ignorierenden
+Treffer und/oder die Bedingung ein.
+<h2>
+Watchpoints manipulieren</h2>
+Watchpoints sind den Haltepunkten &auml;hnlich, nur dass das Programm angehalten
+wird, sobald sich der Inhalt einer Speicherstelle &auml;ndert. Ebenso wie
+Haltepunkte k&ouml;nnen Watchpoints nicht manipuliert werden, solange das
+Programm l&auml;uft. Weitere Hinweise dazu <a href="#StopProg">siehe oben</a>.
+<p>Einen Watchpoint k&ouml;nnen Sie setzen, indem Sie einen Ausdruck im
+Feld &uuml;ber der Liste eingeben und <i>Watchpoint</i> klicken. Das Programm
+wird dann angehalten, sobald sich der Wert des Ausdrucks &auml;ndert. Beachten
+Sie, dass Sie Watchpoints, die eine lokale Variable ben&ouml;tigen, nur
+setzen k&ouml;nnen, wenn das Programm von einem Haltepunkt (oder mittels
+Ausf&uuml;hrung|Unterbrechen) angehalten wurde.
+<p>Zum Entfernen eines Watchpoints w&auml;hlen Sie diesen in der Liste
+aus und klicken <i>Entfernen</i>. Falls der Ausdruck eine lokale Variable
+enth&auml;lt, wird der Watchpoint automatisch entfernt, sobald das Programm
+die aktive Funktion verl&auml;sst.
+<p>Wie mit Haltepunkten k&ouml;nnen Sie eine Bedingung oder eine Anzahl
+zu ignorierender Stopps setzen, indem Sie den Watchpoint ausw&auml;hlen
+und <i>Bedingt</i> klicken.
+</body>
+</html>
diff --git a/kdbg/doc/de/globaloptions.html b/kdbg/doc/de/globaloptions.html
new file mode 100644
index 0000000..4c0de83
--- /dev/null
+++ b/kdbg/doc/de/globaloptions.html
@@ -0,0 +1,72 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Globale Einstellungen</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Globale Einstellungen</h1>
+Mit dem Men&uuml;punkt <i>Datei|Globale Einstellungen</i> k&ouml;nnen Sie
+folgende Optionen einstellen:
+<ul>
+<li>
+den Befehl, mit dem gdb aufgerufen wird;</li>
+
+<li>
+den Befehl, der das Fenster f&uuml;r die Programmausgabe &ouml;ffnet,</li>
+
+<li>
+ob KDbg in den Vordergrund kommen soll, sobald das Programm stoppt, und
+eine Verz&ouml;gerung, wann er sich wieder zur&uuml;ckzieht,</li>
+
+<li>
+die Tabulatorweite.</li>
+</ul>
+
+<h4>
+Aufruf von gdb</h4>
+
+<blockquote>Wenn Sie eine alternative Version von gdb verwenden wollen,
+geben sie diese unter <i>Aufruf von GDB</i> an. Die Standardeinstellung
+ist <tt>gdb --fullname --nx</tt>. Achtung: Sie m&uuml;ssen jedenfalls diese
+beiden Argumente &uuml;bergeben; wenn Sie sie weglassen, kann KDbg nicht
+funktionieren. Wenn Sie das Eingabefeld leer lassen, wird die Standardeinstellung
+verwendet.</blockquote>
+
+<h4>
+Aufruf eines Terminal-Emulators</h4>
+
+<blockquote>Falls Sie ein anderes Terminal-Programm verwenden wollen, das
+die Ausgabe des Programms anzeigt, geben Sie dieses unter <i>Terminal f&uuml;r
+die Programmausgabe</i> an. Die Standardeinstellung ist <tt>xterm -name
+kdbgio -title %T -e sh -c %C</tt>. In diesem Eintrag wird <tt>%T</tt> durch
+eine &Uuml;berschrift und <tt>%C</tt> durch ein Bourne-Shell-Skript ersetzt,
+das in eine Endlosschleife landet, damit sich das Fenster nicht schlie&szlig;t.
+(Keine Sorge, das Skript frisst keine CPU-Zeit, sondern ruft einfach nur
+<tt>sleep
+3600</tt> in einer Schleife auf :) Eine alternative f&uuml;r diesen Eintrag
+w&auml;re zm Beispiel <tt>konsole --name kdbgio --caption %T -e
+sh -c %C</tt>.</blockquote>
+
+<h4>
+In den Vordergrund</h4>
+
+<blockquote>Sie k&ouml;nnen angeben, ob das KDbg-Fenster in den Vordergrund
+gebracht werden soll, sobald das kontrollierte Programm anh&auml;lt (bei
+einem Breakpoint oder wegen eines Signals). Das Fenster wird allerdings
+nicht aktiviert (zumindest nicht unter KWM, dem Window Manger von KDE).
+Manche Benutzer werden dieses Verhalten als st&ouml;rend empfinden, weshalb
+diese Option standardm&auml;ssig ausgeschaltet ist.</blockquote>
+
+<blockquote>Wenn diese Option eingeschaltet ist, zieht sich das KDbg-Fenster
+auch wieder in den Hintergrund zur&uuml;ck, sobald das Programm fortgesetzt
+wird. Allerdings geschieht das erst nach einer Verz&ouml;gerung, die ebenfalls
+angegeben werden kann. Dadurch wird verhindert, dass das Fenster st&auml;ndig
+nach hinten und vorne blinkt, sobald Sie einen Einzelschritt-Befehl absetzen.</blockquote>
+
+</body>
+</html>
diff --git a/kdbg/doc/de/howdoi.html b/kdbg/doc/de/howdoi.html
new file mode 100644
index 0000000..87d08ae
--- /dev/null
+++ b/kdbg/doc/de/howdoi.html
@@ -0,0 +1,83 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Wie kann ich...?</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Wie kann ich...?</h1>
+
+<h4>
+... eine Haltepunkt setzen?</h4>
+Daf&uuml;r gibt's mehrere M&ouml;glichkeiten:
+<ul>
+<li>
+Sie k&ouml;nnen im <a href="sourcecode.html">Quellcode-Fenster</a> in den
+"aktiven Bereich" am linken Ende der Zeile klicken.</li>
+
+<li>
+Sie k&ouml;nnen im Quellcode-Fenster eine Zeile ausw&auml;hlen und dann
+im Men&uuml; <i>Haltepunkt</i> eine Auswahl treffen.</li>
+
+<li>
+Sie k&ouml;nnen einen Haltepunkt in der <a href="breakptlist.html">Liste
+der Haltepunkte</a> setzen.</li>
+</ul>
+Wenn Sie keinen Haltepunkt setzen k&ouml;nnen, k&ouml;nnte es sein, dass
+das Programm gerade l&auml;uft. Sie k&ouml;nnen keine Haltepunkte setzen,
+solange das Programm l&auml;uft. Halten Sie es zuerst mit <i>Ausf&uuml;hrung|Unterbrechen</i>
+an. Falls Sie dann noch immer keine Haltepunkte setzen k&ouml;nnen, versichern
+Sie sich, dass Sie das Programm mit Debug-Information &uuml;bersetzt <i>und
+gebunden</i> haben.
+<h4>
+... den Wert einer globalen Variablen oder eines beliebigen Ausdrucks anzeigen?</h4>
+Benutzen Sie das <a href="watches.html">Ausdr&uuml;cke-Fenster</a>.
+<h4>
+... Watchpoints setzen?</h4>
+Watchpoints k&ouml;nnen &uuml;ber die <a href="breakptlist.html">Liste
+der Haltepunkte</a> bearbeitet werden.
+<h4>
+... einen Core-Dump benutzen?</h4>
+Laden Sie zuerst das Programm mittels <i>Datei|Programm</i>, dann geben
+Sie den Core-Dump mittels <i>Datei|Core dump</i> an.
+<h4>
+... ein Programm debuggen, das sich in eine Endlosschleife verlaufen hat?</h4>
+Starten Sie das Programm und lassen Sie es laufen, bis es in die Endlosschleife
+gelangt. Dann schalten Sie um zu KDbg und w&auml;hlen <i>Ausf&uuml;hrung|Unterbrechen</i>.
+Hiermit haben Sie das Programm <i>in flagranti</i> erwischt!
+<h4>
+... erreichen, dass das Programm einigemale &uuml;ber einen Haltepunkt
+dr&uuml;berl&auml;uft, ohne anzuhalten?</h4>
+In der <a href="breakptlist.html">Liste der Haltepunkte</a> w&auml;hlen
+Sie den Haltepunkt; dann klicken Sie <i>Bedingt</i> und geben die Anzahl
+in <i>Ignoriere n&auml;chste Treffer</i> an.
+<h4>
+... eine Umgebungsvariable f&uuml;r das Programm setzen?</h4>
+W&auml;hlen Sie <i>Ausf&uuml;hrung|Argumente</i> und geben die Umgebungsvariable
+im <a href="argspwdenv.html#Environment">Argumente-Dialog</a> an.
+<h4>
+... ein Arbeitsverzeichnis f&uuml;r das Programm w&auml;hlen?</h4>
+W&auml;hlen Sie <i>Ausf&uuml;hrung|Argumente</i> und geben das Arbeitsverzeichnis
+im <a href="argspwdenv.html#Environment">Argumente-Dialog</a> an.
+<h4>
+... das Terminal-Fenster los werden?</h4>
+W&auml;hlen Sie <i>Datei|Einstellungen</i> und schalten auf das Register
+<a href="pgmsettings.html#output">Ausgabe</a>
+um. W&auml;hlen Sie <i>Nur Ausgabe, einfache Terminalemulation</i> und
+klicken Sie <i>OK</i>. Nun m&uuml;ssen Sie das Programm neu laden (am einfachsten
+w&auml;hlen Sie es aus der Liste unter <i>Datei|Zuletzt ge&ouml;ffnete
+Programme</i>). Die Programmausgaben werden nun in das eingebaute <a href="pgmoutput.html">Ausgabefenster</a>
+geschrieben und stdin ist auf <tt>/dev/null</tt> umgeleitet.
+<p>Sie m&uuml;ssen diese Einstellungen f&uuml;r jedes neue Programm wiederholen,
+das Sie debuggen.
+<p><b><i>Wichtig:</i></b> Sie sollten dies nicht tun, falls Ihr Programm
+Eingaben vom Terminal (normalerweise stdin) erwartet oder falls mehr als
+nur einfache Terminalemultionen ben&ouml;tigt werden (mehr als nur Wagenr&uuml;cklauf
+und Zeilenvorschub). Das eingebaute Ausgabefenster unterst&uuml;tzt keine
+Eingaben oder Terminalemulationen.
+</body>
+</html>
diff --git a/kdbg/doc/de/index.html b/kdbg/doc/de/index.html
new file mode 100644
index 0000000..5a69b7e
--- /dev/null
+++ b/kdbg/doc/de/index.html
@@ -0,0 +1,190 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+
+<h1>
+KDbg - Benutzerhandbuch</h1>
+
+<h2>
+Inhalt</h2>
+
+<ul>
+<li>
+<a href="#Introduction">Einleitung</a></li>
+
+<li>
+<a href="#UsingKDbg">Mit KDbg arbeiten</a></li>
+
+<li>
+<a href="#InfoWindows">Die Informationsfenster von KDbg</a></li>
+
+<li>
+<a href="#TipsTricks">Tipps und so weiter</a></li>
+
+<li>
+F&uuml;r Fortgeschrittene: <a href="../../en/kdbg/types.html">Typentabellen</a>
+(nur Englisch)</li>
+
+<li>
+<a href="#KnownProblems">Bekannte Probleme</a></li>
+
+<li>
+<a href="#Author">Autor</a></li>
+</ul>
+
+<hr>
+<h2>
+<a NAME="Introduction"></a>Einleitung</h2>
+KDbg ist eine grafische Benutzeroberfl&auml;che f&uuml;r <tt>gdb</tt>,
+den GNU-Debugger.
+<p>Das bedeutet, dass KDbg selbst nicht der Debugger ist. Vielmehr kommuniziert
+KDbg mit <tt>gdb</tt>, indem Befehlszeilen and diesen geschickt werden
+und die Ausgabe, wie z.B. Variablenwerte, entgegengenommen werden. Die
+Men&uuml;befehle und Mausklicks werden in <tt>gdb</tt>-Befehle umgesetzt,
+und die Ausgabe von <tt>gdb</tt> wird in (mehr oder weniger) sichtbare
+Information umgesetzt, wie zum Beispiel die Struktur von Variablen.
+<p>Eine Folge davon ist, dass KDbg vollst&auml;ndig von den F&auml;higkeiten
+des verwendeten Befehlszeilendebuggers, <tt>gdb</tt>, abh&auml;ngig ist.
+KDbg kann nicht mehr als <tt>gdb</tt> leisten. Wenn Sie zum Beispiel einen
+<tt>gdb</tt>
+haben, der Programme mit Threads nicht unterst&uuml;tzt, dann kann auch
+KDbg das nicht (obwohl ein Threads-Fenster vorhanden ist).
+<h2>
+<a NAME="UsingKDbg"></a>Mit KDbg arbeiten</h2>
+Bevor Sie mit der Arbeit beginnen, sollten Sie die <a href="globaloptions.html">globalen
+Einstellungen</a> pr&uuml;fen, indem Sie <i>Datei|Globale Einstellungen</i>
+aufrufen.
+<h4>
+Ein zu debuggendes Program angeben</h4>
+Um ein Programm zu debuggen, w&auml;hlen Sie <i>Datei|Programm</i>. Wenn
+Sie das Programm schon einmal debuggt haben, k&ouml;nnen Sie es auch aus
+der Liste unter <i>Datei|Zuletzt g&ouml;ffnete Programme</i> w&auml;hlen.
+Das Programm wird jetzt geladen.
+<p>Wenn Sie einen Core-Dump verwenden wollen, m&uuml;ssen Sie zuerst das
+Programm, das den Core-Dump erzeugt hat wie gerade erw&auml;hnt laden,
+dann w&auml;hlen Sie <i>Datei|Core dump</i> aus dem Men&uuml;. KDbg zeigt
+die Stelle an, die den Core-Dump verursacht hat.
+<p>Sie k&ouml;nnen nun Haltepunkte setzen, indem Sie die Eintr&auml;ge
+im Men&uuml; <i>Haltepunkt</i> oder im Rechte-Maus-Men&uuml; oder in der
+<a href="breakptlist.html">Liste
+der Haltepunkte</a> verwenden.
+<p>Sie k&ouml;nnen auch <a href="pgmsettings.html">programmspezifische
+Einstellungen</a> vornehmen, indem Sie <i>Datei|Einstellungen</i> w&auml;hlen.
+<h4>
+Das Programm ausf&uuml;hren</h4>
+Nun f&uuml;hren Sie das Programm aus, indem Sie <i>Ausf&uuml;hrung|Ausf&uuml;hren</i>
+w&auml;hlen. Das Programm arbeitet nun wie gew&ouml;hnlich, bis es beendet
+wird, auf einen Haltepunkt oder Watchpoint trifft, oder ein Signal empf&auml;ngt.
+<p>Sie k&ouml;nnen das Programm mit Argumenten ausf&uuml;hren, ein Arbeitsverzeichnis
+festlegen und auch Umgebungsvariablen definieren. Dazu w&auml;hlen Sie
+<i>Ausf&uuml;hrung|Argumente</i>
+und machen Ihre Angaben im <a href="argspwdenv.html">Programmargumente-Dialog</a>.
+<p>Weiters k&ouml;nnen Sie sich in ein Programm einh&auml;ngen (<i>attachen</i>),
+das bereits ausgef&uuml;hrt wird. Dazu laden Sie das Programm zuerst wie
+oben beschrieben, dann w&auml;hlen Sie <i>Ausf&uuml;hrung|Attachen</i>.
+Geben Sie die Prozessnummer an und klicken Sie <i>OK</i>. Das Programm
+wird jetzt angehalten (aber nicht beendet), und der derzeitige Stand des
+Programms wird im <a href="sourcecode.html">Quellcode-Fenster</a> angezeigt.
+<h4>
+Das Programm wurde angehalten - was nun?</h4>
+Wenn das Programm an einem Haltepunkt, Watchpoint oder wegen eines Signals
+angehalten wird, zeigt das <a href="sourcecode.html">Quellcode-Fenster</a>
+die Zeile, in der das Programm gerade arbeitete. Es passiert h&auml;ufig,
+dass das Programm wegen eine Signals (oftmals <tt>SIGSEGV</tt>, Speicherzugriffsfehler)
+in einer Funktion angehalten wird, die sich nicht in jenem Programmteil
+befindet, den Sie geschrieben haben. In diesem Fall betrachten Sie das
+<a href="stack.html">Stack-Fenster</a>
+genauer: Suchen Sie nach einer Funktion, die Sie geschrieben haben (beginnen
+Sie am oberen Ende) und klicken Sie darauf. Das bringt Sie an eine Stelle,
+an der Sie mit der Suche nach dem tats&auml;chlichen Programmfehler beginnen
+k&ouml;nnen.
+<p>Im Men&uuml; <i>Ausf&uuml;hrung</i> finden Sie Befehle, die Sie zum
+Ausf&uuml;hren und schrittweisen Abarbeiten des Programms verwenden. Weiters
+k&ouml;nnen Sie das laufende Programm unterbrechen. Die wichtigen Befehle
+k&ouml;nnen auch mit Funktionstasten gegeben werden. Zum effizienten Arbeiten
+empfehle ich, dass Sie sich diese Tasten eingew&ouml;hnen.
+<br><font size=-1>Diese Funktionen sind nicht konfigurierbar, aber vielleicht
+wollen Sie ein St&uuml;ckchen Code beisteuern, mit dem das geht?</font>
+<p>Im Men&uuml; <i>Haltepunkt</i> finden Sie Befehle zum Setzen, Entfernen,
+Aktivieren und Inaktivieren von permanenten und tempor&auml;ren Haltepunkten.
+Nat&uuml;rlich k&ouml;nnen Sie auch eine <a href="breakptlist.html">Liste
+der Haltepunkte</a> anzeigen. Sie k&ouml;nnen einen Haltepunkt auch setzen,
+indem Sie mit der Maus in den Freiraum links der entsprechenden Quellcode-Zeile
+klicken (mit der linken Maustaste); weiters k&ouml;nnen sie einen vorhandenen
+Haltepunkt mit der mittleren Maustaste aktivieren und deaktivieren.
+<p>Das Zahnrad in der Werkzeugleiste zeigt an, ob <tt>gdb</tt> gerade arbeitet:
+Dies ist der Fall, wenn es rotiert. Solange es schnell rotiert, nimmt KDbg
+kein Eingaben an; wenn es langsam rotiert, aktualisiert KDbg gerade alle
+Variablenanzeigen.
+<h2>
+<a NAME="InfoWindows"></a>Die Informationsfenster von KDbg</h2>
+KDbg zeigt Information in einer Reihe verschiedener Fenster an. Im Men&uuml;
+<i>Ansicht</i>
+finden Sie die Befehle, die diese Fenster anzeigen und schliessen. Es handelt
+sich dabei um <i>dockende</i> Fenster, sodass Sie deren Anordnung beliebig
+ver&auml;ndern k&ouml;nnen.
+<ul>
+<li>
+<a href="sourcecode.html">Das Quellcode-Fenster</a></li>
+
+<li>
+<a href="localvars.html">Lokale Variablen</a></li>
+
+<li>
+<a href="stack.html">Der Programm-Stack</a></li>
+
+<li>
+<a href="watches.html">Ausdr&uuml;cke (<i>Watches</i>)</a></li>
+
+<li>
+<a href="breakptlist.html">Die Liste der Haltepunkte</a></li>
+
+<li>
+<a href="pgmoutput.html">Das Programmausgabefenster</a></li>
+
+<li>
+<a href="registers.html">Die Registerinhalt</a></li>
+
+<li>
+<a href="memory.html">Der Speicherinhalt</a></li>
+
+<li>
+<a href="threads.html">Die Programm-Threads</a></li>
+</ul>
+
+<h2>
+<a NAME="TipsTricks"></a>Tipps und so weiter</h2>
+
+<ul>
+<li>
+<a href="tips.html">Tipps</a></li>
+
+<li>
+<a href="howdoi.html">Wie kann ich...?</a></li>
+</ul>
+
+<h2>
+<a NAME="KnownProblems"></a>Bekannte Probleme</h2>
+<tt>gdb </tt>4.16 hat Probleme bei der Handhabung von C++-Klassen mit virtuellen
+Basisklassen. (Diese kommen h&auml;ufig in CORBA-Programmen vor.) Gdb st&uuml;rzt
+dabei h&auml;ufig aufgrund eines Speicherzugriffsfehlers ab. KDbg erkennt,
+wenn <tt>gdb</tt> unerwartet beendet wird. Leider l&auml;sst sich nicht
+wirklich was dagegen unternehmen. Sie m&uuml;ssen <tt>gdb</tt> mittels
+<i>Datei|Programm</i>
+neu starten, das hei&szlig;t auch f&uuml;r die Debug-Sitzung zur&uuml;ck
+an den Start :-(.
+<p>Die Typerkennung von KDbg arbeitet nur, wenn die Bibilotheken dynamisch
+ins Programm gebunden sind.
+<h2>
+<a NAME="Author"></a>Autor</h2>
+KDbg wurde von <a href="mailto:j6t@kdbg.org">Johannes Sixt</a>
+mit vielen weiteren Helfern geschrieben.
+<br>Die KDbg-Homepage befindet sich unter <a href="http://www.kdbg.org/">http://www.kdbg.org/</a>.
+</body>
+</html>
diff --git a/kdbg/doc/de/localvars.html b/kdbg/doc/de/localvars.html
new file mode 100644
index 0000000..8b1d36c
--- /dev/null
+++ b/kdbg/doc/de/localvars.html
@@ -0,0 +1,25 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; Linux 2.2.18-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Lokale Variablen</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Lokale Variablen</h1>
+Mittels <i>Ansicht|Lokale Variablen</i> wird das Fenster f&uuml;r die lokalen
+Variablen angezeigt. Darin wird der Inhalt der lokalen Variablen des aktiven
+Stack-Frames angezeigt.
+<p>Das im <a href="stack.html">Stack-Fenster</a> ausgew&auml;hlte Frame
+bestimmt die lokalen Variablen, die hier angezeigt werden.
+<p>Sobald das Programm angehalten wird (z.B. durch einen Haltepunkt), wird
+die Anzeige aktualisiert. Variablenwerte, die sich seit dem letzten Anhalten
+ge&auml;ndert haben, werden rot hervorgehoben.
+<p>Sie k&ouml;nnen die ausgew&auml;hlte Variable oder Struktur-Member in
+das <a href="watches.html">Ausdr&uuml;ckefenster</a> kopieren, indem Sie
+mittels der rechten Maustaste das kleine Kontextmen&uuml; aufrufen.
+</body>
+</html>
diff --git a/kdbg/doc/de/memory.html b/kdbg/doc/de/memory.html
new file mode 100644
index 0000000..06a2a5e
--- /dev/null
+++ b/kdbg/doc/de/memory.html
@@ -0,0 +1,29 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Speicherinhalt</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Der Speicherinhalt</h1>
+Das Fenster zur Anzeige des Speicherinhalts k&ouml;nnen Sie mittels <i>Ansicht|Speicher</i>
+aufrufen. Es zeigt den Inhalt des Speichers des Programms an beliebigen
+Adressen an.
+<p>Um Speicherinhalt anzuzeigen, geben Sie eine Adresse an. Die Adresse
+braucht nicht in Hexadezimalform eingegeben werden und es kann sich auch
+um einen beliebigen Ausdruck handeln.
+<p>Sie k&ouml;nnen ein Format w&auml;hlen, wie der Speicherinhalt dargestellt
+werden soll, indem Sie die entsprechenden Optionen im Rechte-Maus-Men&uuml;
+w&auml;hlen.
+<p>Die zuletzt verwendeten Adressen werden zwischengespeichert und k&ouml;nnen
+&uuml;ber die Popup-Liste ausgew&auml;hlt werden. Bitte beachten Sie, dass
+zusammen mit der Adresse auch das Darstellungsformat gespeichert wird.
+<p>Wenn Sie keinen Speicherinhalt ansehen wollen, empfehlen wir, dass Sie
+die Adresse l&ouml;schen, damit kein Speicherinhalt angezeigt wird - dadurch
+arbeitet KDbg etwas schneller.
+</body>
+</html>
diff --git a/kdbg/doc/de/pgmoutput.html b/kdbg/doc/de/pgmoutput.html
new file mode 100644
index 0000000..65cf563
--- /dev/null
+++ b/kdbg/doc/de/pgmoutput.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Programmausgabe</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Das Programmausgabefenster</h1>
+Das Programmausgabefenster wird mit <i>Ansicht|Ausgabe</i> ge&ouml;ffnet.
+Das Ausgabefenster zeichnet den Text auf, den das Programm auf <tt>stdout</tt>
+und <tt>stderr</tt> ausgibt.
+<p>Das Ausgabefenster l&auml;sst keine Eingabe zu und unterst&uuml;tzt
+nur eine &auml;u&szlig;erst minimale Terminalemulation: Lediglich <tt>\n</tt>
+(Zeilenvorschub, line-feed), <tt>\t</tt> (horizontaler Tabulator) und
+<tt>\r</tt> (Wagenr&uuml;cklauf, carriage-return) werden behandelt.
+Das reicht im Allgemeinen f&uuml;r Programme mit grafischer Benutzeroberfl&auml;che
+aus, die nur Debug-Ausgaben schreiben.
+<p>Wenn ein Programm zum ersten Mal in KDbg geladen wird, wird dieses Ausgabefenster
+<i>nicht</i> benutzt. Der Grund daf&uuml;r ist, dass KDbg nicht wissen
+kann, ob das Programm eine ausgefeilte Terminalemulation ben&ouml;tigt
+oder ob es Eingaben &uuml;ber das Terminal erwartet. Deshalb wird standardm&auml;ssig
+ein Terminalemulator verwendet. Um die Ausgaben in das Ausgabefenster umzuleiten,
+gehen sie wie folgt vor:
+<ol>
+<li>
+Rufen Sie mittels <i>Datei|Einstellungen</i> die <a href="pgmsettings.html">programmspezifischen
+Einstellungen</a> auf.</li>
+
+<li>
+Schalten Sie auf das Register <i>Ausgabe</i> um.</li>
+
+<li>
+W&auml;hlen Sie <i>Nur Ausgabe, einfache Terminalemulation</i> und klicken
+Sie <i>OK</i>.</li>
+
+<li>
+Laden Sie das Programm erneut, indem Sie es aus der Liste unter <i>Datei|Zuletzt
+ge&ouml;ffnete Programme</i> w&auml;hlen.</li>
+</ol>
+Sie k&ouml;nnen den Inhalt des Fensters jederzeit l&ouml;schen, indem Sie
+<i>L&ouml;schen</i> aus dem Popup-Men&uuml; w&auml;hlen, das Sie mit der
+rechten Maustaste aufrufen k&ouml;nnen.
+<p>Falls die letzte Zeile des Ausgabefensters sichtbar ist, verschiebt
+sich der Fensterinhalt automatisch, sodass die letzte Zeile immer sichtbar
+bleibt, wenn neuer Text ankommt. Wenn Sie hingegen den Fensterinhalt verschieben,
+sodass die letzte Zeile nicht sichtbar ist, bleibt der sichtbare Teil unver&auml;ndert.
+</body>
+</html>
diff --git a/kdbg/doc/de/pgmsettings.html b/kdbg/doc/de/pgmsettings.html
new file mode 100644
index 0000000..b6a163e
--- /dev/null
+++ b/kdbg/doc/de/pgmsettings.html
@@ -0,0 +1,83 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <title>KDbg - Benutzerhandbuch - Programmspezifische Einstellungen</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Programmspezifische Einstellungen</h1>
+In diesem Dialog k&ouml;nnen programmspezifischen Einstellungen getroffen
+werden. Der Dialog wird mittels <i>Datei|Einstellungen</i> aufgerufen.
+Die Einstellungen werden nur auf das geladene Programm angewendet und bleiben
+&uuml;ber Sitzungen hinweg erhalten.
+<blockquote><b><i>Wichtiger Hinweis:</i></b> Die getroffenen Einstellungen
+werden erst wirksam, wenn das Programm das <i>n&auml;chste Mal geladen</i>
+wird. Das bedeutet, dass Sie nach dem Dr&uuml;cken von OK in diesem Dialog
+das Programm erneut laden m&uuml;ssen (mittels <i>Datei|Programm</i>)!!</blockquote>
+
+<ul>
+<li>
+<a href="#driver">Debugger</a></li>
+
+<li>
+<a href="#output">Ausgabe</a></li>
+</ul>
+
+<h2>
+<a NAME="driver"></a>Debugger</h2>
+Hier kann der Debugger gew&auml;hlt werden, der f&uuml;r dieses Programm
+verwendet werden soll.
+<h4>
+Aufruf von GDB</h4>
+
+<blockquote>Geben Sie den Befehl an, mit dem <tt>gdb</tt> aufgerufen werden
+soll. Wenn Sie das Feld leer lassen, wird die <a href="globaloptions.html">globale
+Einstellung</a> &uuml;bernommen. Wenn Sie cross-compilieren oder remote
+debuggen, werden Sie hier einen <tt>gdb</tt>-Befehl angeben, der f&uuml;r
+die Zielplattform geeignet ist. Die Standardeinstellung ist <tt>gdb&nbsp;--fullname&nbsp;--nx</tt>.
+Sie m&uuml;ssen auf jeden Fall auch diese Optionen angeben, andernfalls
+funktioniert KDbg nicht.</blockquote>
+
+<h2>
+<a NAME="output"></a>Ausgabe</h2>
+Hier geben Sie an, unter welcher Terminalemulation das Programm arbeitet.
+<h4>
+Keine Ein- und Ausgabe</h4>
+
+<blockquote>W&auml;hlen Sie diese Option, falls Ihr Programm keine Eingabe
+vom Terminal erwartet und Sie keine Ausgabe sehen wollen, die auf <tt>stdout</tt>
+oder <tt>stderr</tt> geschrieben wird. Alle drei Standardkan&auml;le (<tt>stdin</tt>,
+<tt>stdout</tt>
+und <tt>stderr</tt>) werden praktisch nach <tt>/dev/null</tt> umgeleitet.</blockquote>
+
+<h4>
+Nur Ausgabe, einfache Terminalemulation</h4>
+
+<blockquote>W&auml;hlen Sie diese Option, falls Ihr Programm keine Eingabe
+vom Terminal erwartet (<tt>stdin</tt> wird nach <tt>/dev/null</tt> umgeleitet)
+und die Ausgabe, die auf <tt>stdout</tt> und <tt>stderr</tt> geschrieben
+wird, keine besondere Terminalemulation erfordert. Die Ausgabe wird im
+<a href="pgmoutput.html">Ausgabefenster</a>
+angezeigt.
+<br><i>Wichtig:</i> Die eingebaute Terminalemulation interpretiert nur
+den Zeilenvorschub <tt>\n</tt> (line-feed, ASCII 10) als Zeilenumbruch.
+Das Zeichen f&uuml;r den Wager&uuml;cklauf <tt>\r</tt> (carriage-return,
+ASCII 13) wird <i>nicht</i> behandelt. Das ist ausreichend f&uuml;r Debug-Ausgaben,
+wie sie h&auml;ufig beim Programmierern grafischer Benutzeroberfl&auml;chen
+verwendet wird.</blockquote>
+
+<h4>
+Volle Terminalemulation</h4>
+
+<blockquote>W&auml;hlen Sie diese Option, falls Ihr Programm Eingaben &uuml;ber
+<tt>stdin</tt>
+liest oder falls die Ausgabe auf <tt>stdout</tt> oder <tt>stderr</tt> Terminalemulation
+erfordert. Ein Terminalemulator kann in den <a href="globaloptions.html">globalen
+Einstellungen</a> angegeben werden.</blockquote>
+
+</body>
+</html>
diff --git a/kdbg/doc/de/registers.html b/kdbg/doc/de/registers.html
new file mode 100644
index 0000000..2d99bcb
--- /dev/null
+++ b/kdbg/doc/de/registers.html
@@ -0,0 +1,37 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Registerinhalt</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Der Registerinhalt</h1>
+Das Fenster zur Anzeige des Registerinhalts wird mittels <i>Ansicht|Register</i>
+angezeigt. Jedesmal, wenn das Programm angehalten wird, zeigt Kdbg hier
+den Inhalt der CPU-Register an.
+<p>Das Fenster ist in 3 Spalten aufgeteilt:
+<ol>
+<li>
+Die Spalte <i>Register</i> zeigt die Namen der Register.</li>
+
+<li>
+Die Spalte <i>Wert</i> zeigt den Inhalt der Register in einer mehr oder
+weniger rohen Form an. Diese rohe Form wird &uuml;blicherweise in Hexadezimaldarstellung
+angezeigt, selbst der Inhalt der Flie&szlig;kommaregister.</li>
+
+<li>
+Die Spalte <i>Dekodierter Wert</i> zeigt den Inhalt der Register in dekotierter
+Form an. Bei den arithmetischen Registern ist das meist eine vorzeichenbehaftete
+Dezimalzahl, bei Flie&szlig;kommaregistern wird die Flie&szlig;kommazahl
+angezeigt, die Flag-Register werden manchmal die gesetzten Flags in Worten
+dargestellt (h&auml;ngt von der verwendeten Version von <tt>gdb</tt> ab).</li>
+</ol>
+Durch Klicken mit der rechten Maustaste k&ouml;nnen Sie ein Kontextmen&uuml;
+aufrufen, &uuml;ber das Sie die Darstellung der Werte in der zweiten Spalte
+w&auml;hlen k&ouml;nnen.
+</body>
+</html>
diff --git a/kdbg/doc/de/sourcecode.html b/kdbg/doc/de/sourcecode.html
new file mode 100644
index 0000000..56b462f
--- /dev/null
+++ b/kdbg/doc/de/sourcecode.html
@@ -0,0 +1,30 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Quellcode</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Das Quellcode-Fenster</h1>
+Das Quellcode-Fenster ist das Hauptfenster und ist immer sichtbar.
+<p>Das Quellcode-Fenster zeigt den Quellcode von Programmen an. Am linken
+Rand jeder Zeile befindet sich ein "aktiver Bereich". Dort wird ein mit
+einem Pfeil angezeigt, an welcher Stelle das Programm gerade ausgef&uuml;hrt
+wird. Weiters wird hier angezeigt, an welchen Stellen Haltepunkte gesetzt
+sind.
+<p>Neue Haltepunkte k&ouml;nnen gesetzt werden, indem Sie mit der linken
+Maustaste in den aktiven Bereich klicken. Mit der mittleren Maustaste k&ouml;nnen
+Sie vorhandene Haltepunkte aktivieren und deaktivieren.
+<p>Das kleine Pluszeichen '+' zwischen dem "aktiven Bereich" und der Quellcodezeile
+zeigt den Assembler-Code der Quellcodezeile an, wenn Sie darauf klicken.
+Dabei wird das Zeichen zu einem Minus '-', das den Assemblercode wieder
+verbirgt, wenn Sie darauf klicken.
+<p>Meistens werden Quellcode-Dateien automatisch ge&ouml;ffnet. Sie k&ouml;nnen
+Dateien manuell &ouml;ffnen, indem Sie <i>Datei|Quellcode &ouml;ffnen</i>
+w&auml;hlen oder <i>Quellcode &ouml;ffnen</i> aus dem Rechte-Maus-Men&uuml;.
+</body>
+</html>
diff --git a/kdbg/doc/de/stack.html b/kdbg/doc/de/stack.html
new file mode 100644
index 0000000..ae6e576
--- /dev/null
+++ b/kdbg/doc/de/stack.html
@@ -0,0 +1,25 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Stack</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Das Stack-Fenster</h1>
+Das Stack-Fenster wird mittels <i>Ansicht|Stack</i> angezeigt. Hierin wird
+der Call-Stack (Backtrace, Stack-Frames) angezeigt, d.h. die Funktionen,
+die das Programm im Augenblick betreten und noch nicht verlassen hat.
+<p>Das innerste Frame (in dem sich das Programm gerade befindet) befindet
+sich an erster Stelle.
+<p>Sie k&ouml;nnen in ein anderes Stack-Frame umschalten, indem Sie einfach
+auf die entsprechende Zeile klicken. Das <a href="sourcecode.html">Quellcode-Fenster</a>
+zeigt die Stelle an, in der der Aufruf in das n&auml;chst-innere Frame
+stattfand; die Anzeige der <a href="localvars.html">lokalen Variablen</a>
+und die <a href="watches.html">Ausdr&uuml;cke</a> werden umgeschaltet,
+sodass die lokalen Variablen des gew&auml;hlten Frames angezeigt werden.
+</body>
+</html>
diff --git a/kdbg/doc/de/threads.html b/kdbg/doc/de/threads.html
new file mode 100644
index 0000000..924eea4
--- /dev/null
+++ b/kdbg/doc/de/threads.html
@@ -0,0 +1,44 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Threads</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Die Programm-Threads</h1>
+Das Fenster mit der Liste der Programm-Threas wird mittels <i>Ansicht|Threads</i>
+aufgerufen. Dieses Fenster listet die aktiven Threads des Programms auf.
+<p><b><i>Wichtig:</i></b> Das Debuggen von Programm-Threads muss von der
+verwendeten <tt>gdb</tt>-Version unterst&uuml;tzt werden - es handelt sich
+hierbei nicht um ein Feature von KDbg. F&uuml;r Linux-Systeme (i386) funktioniert
+<tt>gdb5</tt>
+am besten.
+<p>Der Inhalt des Fensters wird jedesmal erneuert, wenn das Programm vom
+Debugger angehalten wird. (Das heisst, dass <i>nicht</i> der aktuelle Zustand
+des Programms angezeigt wird, w&auml;hrend es l&auml;uft.)
+<p>Die erste Spalte zeigt die Thread-ID an, die zweite Spalte zeigt die
+Stelle, an der der Thread gerade abgearbeitet wird.
+<p>Die Markierung am Zeilenanfang benennt den <i>aktiven</i> Thread:
+<ul>
+<li>
+Das&nbsp; <a href="stack.html">Stack-Fenster</a> zeigt den Call-Stack des
+aktiven Threads.</li>
+
+<li>
+Das <a href="localvars.html">Fenster mit den lokalen Variablen</a> zeigt
+die lokalen Variablen des aktiven Threads.</li>
+
+<li>
+Das <a href="watches.html">Ausdr&uuml;cke-Fenster</a> verwendet zur Evaluierung
+der Ausdr&uuml;cke die lokalen Variablen des aktiven Threads.</li>
+</ul>
+Indem Sie auf einen Thread klicken, wechseln Sie den aktiven Thread und
+die genannten Fenster werden entsprechend auf den aktuellen Stand gebracht.
+Ausserdem schaltet das <a href="sourcecode.html">Quellcode-Fenster</a>
+zu der Programmstelle um, an der der aktive Thread angehalten wurde.
+</body>
+</html>
diff --git a/kdbg/doc/de/tips.html b/kdbg/doc/de/tips.html
new file mode 100644
index 0000000..f27e5a3
--- /dev/null
+++ b/kdbg/doc/de/tips.html
@@ -0,0 +1,45 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.16-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Tipps</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h2>
+Tipps und Tricks</h2>
+
+<ul>
+<li>
+Setzen Sie immer die Umgebungsvariable <tt>LD_BIND_NOW=1</tt> auf glibc2-Systems.
+Wie Umgebungsvariablen gesetzt werden, wird <a href="argspwdenv.html#Environment">hier
+erkl&auml;rt</a>.</li>
+
+<li>
+Sie k&ouml;nnen Haltepunkte als Lesezeichen verwenden: Setzen Sie einfach
+einen Haltepunkt und deaktivieren Sie diesen. Sp&auml;ter k&ouml;nnen Sie
+rasch an die entsprechende Stelle zur&uuml;ckkehren, indem Sie in der Liste
+der Haltepunkte doppel-klicken (oder&nbsp; <i>Code anzeigen</i> klicken).
+Da sich KDbg alle Haltepunkte &uuml;ber Sitzungen hinaus merkt, werden
+sie sofort wieder gesetzt, sobald sie das entsprechende Programm das n&auml;chste
+Mal debuggen.</li>
+
+<li>
+Auf folgende Weise k&ouml;nnen Sie Programmvariablen &auml;ndern: Im Watch-Bereich
+(rechts unten) geben Sie eine Zuweisung ein, z.B. <tt>var.member=17</tt>
+und Klicken <i>Neu</i>. Die entsprechende Variable wird sofort ge&auml;ndert.
+Sie sollten die Variable nun sofort l&ouml;schen (indem Sie sie ausw&auml;hlen
+und <i>Entf</i> klicken). Das ist notwendig, weil der Ausdruck (d.h die
+Zuweisung) sonst bei jedem Programmstopp ausgewertet wird.</li>
+
+<li>
+Sie k&ouml;nnen Werte im Watch-Bereich in den verschiedenen Formaten anzeigen
+lassen, die gdb versteht. Z.B. zeigt <tt>/x&nbsp;var.member</tt> die Variable
+<tt>var.member</tt>
+in hexadezimaler Notation an.</li>
+</ul>
+
+</body>
+</html>
diff --git a/kdbg/doc/de/watches.html b/kdbg/doc/de/watches.html
new file mode 100644
index 0000000..8de3d4b
--- /dev/null
+++ b/kdbg/doc/de/watches.html
@@ -0,0 +1,27 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; Linux 2.2.18-SMP i686) [Netscape]">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Benutzerhandbuch - Ausdr&uuml;cke</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html">Inhalt</a>
+<h1>
+Ausdr&uuml;cke (Watches)</h1>
+Das Watches-Fenster wird mittels <i>Ansicht|Ausdr&uuml;cke</i> angezeigt.
+Dieses zeigt beliebige Ausdr&uuml;cke an (diese bezeichnet man auch als
+<i>Watches</i>).
+<p>Ein neuer Ausdruck wird hinzugef&uuml;gt, indem dieser im Eingabefeld
+eingegeben wird und dann auf <i>Neu</i> geklickt wird. Um einen Ausdruck
+zu entfernen, klicken Sie diesen an (an der Wurzel des entsprechenden Baums)
+und klicken dann auf <i>Entf</i>.
+<p>Sie k&ouml;nnen auch eine Variable oder einen Struktur-Member aus dem
+<a href="localvars.html">Lokale-Variablen-Fenster</a> her&uuml;berkopieren,
+indem Sie das dortige Kontextmen&uuml; zuhilfe nehmen.
+<p>Die eingegeben Ausdr&uuml;cke werden zwischen Sitzungen gespeichert.
+Wir empfehlen, Ausdr&uuml;cke zu entfernen, die nicht mehr ben&ouml;tigt,
+weil das die Arbeitsgeschwindigkeit von KDbg steigert.
+</body>
+</html>
diff --git a/kdbg/doc/en/Makefile.am b/kdbg/doc/en/Makefile.am
new file mode 100644
index 0000000..e7a6b44
--- /dev/null
+++ b/kdbg/doc/en/Makefile.am
@@ -0,0 +1,23 @@
+html_DATA = \
+ argspwdenv.html \
+ breakptlist.html \
+ globaloptions.html \
+ howdoi.html \
+ invocation.html \
+ localvars.html \
+ memory.html \
+ pgmoutput.html \
+ pgmsettings.html \
+ registers.html \
+ sourcecode.html \
+ stack.html \
+ threads.html \
+ tips.html \
+ types.html \
+ watches.html \
+ xslt.html \
+ index.html
+
+htmldir = $(kde_htmldir)/en/kdbg
+
+EXTRA_DIST = $(html_DATA)
diff --git a/kdbg/doc/en/Makefile.in b/kdbg/doc/en/Makefile.in
new file mode 100644
index 0000000..44aa133
--- /dev/null
+++ b/kdbg/doc/en/Makefile.in
@@ -0,0 +1,604 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = kdbg/doc/en
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(htmldir)"
+htmlDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(html_DATA)
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PS_COMMAND = @PS_COMMAND@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = $(kde_htmldir)/en/kdbg
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+html_DATA = \
+ argspwdenv.html \
+ breakptlist.html \
+ globaloptions.html \
+ howdoi.html \
+ invocation.html \
+ localvars.html \
+ memory.html \
+ pgmoutput.html \
+ pgmsettings.html \
+ registers.html \
+ sourcecode.html \
+ stack.html \
+ threads.html \
+ tips.html \
+ types.html \
+ watches.html \
+ xslt.html \
+ index.html
+
+EXTRA_DIST = $(html_DATA)
+#>- all: all-am
+#>+ 1
+all: docs-am all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/en/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu kdbg/doc/en/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/en/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/doc/en/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/doc/en/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-htmlDATA: $(html_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+ @list='$(html_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+
+uninstall-htmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(html_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \
+ rm -f "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(htmldir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-am
+#>+ 1
+clean: kde-rpo-clean clean-am
+
+#>- clean-am: clean-generic clean-libtool mostlyclean-am
+#>+ 1
+clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-htmlDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-htmlDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-htmlDATA install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-htmlDATA
+
+# 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
+KDE_DIST=stack.html memory.html xslt.html index.html watches.html sourcecode.html howdoi.html pgmsettings.html globaloptions.html pgmoutput.html Makefile.in threads.html types.html argspwdenv.html invocation.html localvars.html registers.html breakptlist.html tips.html Makefile.am
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/en/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/doc/en/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/doc/en/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-am
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 3
+final:
+ $(MAKE) all-am
+
+#>+ 3
+final-install:
+ $(MAKE) install-am
+
+#>+ 3
+no-final:
+ $(MAKE) all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 3
+nmcheck:
+nmcheck-am: nmcheck
diff --git a/kdbg/doc/en/argspwdenv.html b/kdbg/doc/en/argspwdenv.html
new file mode 100644
index 0000000..22482f0
--- /dev/null
+++ b/kdbg/doc/en/argspwdenv.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Arguments, Environment</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+Specifying program arguments, working directory, environment variables</h1>
+<p>Choose <i>Execution|Arguments</i> to open a dialog where you can set program
+arguments, the working directory for your program, and environment variables.</p>
+<h2><a name="PgmArgs"></a>Tab Arguments</h2>
+<p>In the edit box enter the arguments that shall be passed on to your
+program. <i>Insert file name</i> lets you browse for a file;
+the file name will be <em>inserted</em> in the edit box (at the cursor position).</p>
+<p>Next time the program is started, the new arguments will be used.</p>
+<h2><a name="WorkingDir"></a>Tab Working Directory</h2>
+<p>In the edit box you can specify the working directory for your program.
+<i>Browse</i> lets you browse for a directory.
+Your program will use the new directory only when it is run the next time.</p>
+<p>The working directory also applies to gdb itself! The directory that
+you specify will be passed to gdb immediately, i.e. gdb will work with
+the new setting as soon as you press <i>OK</i>. This can influence whether
+source code files are found.</p>
+<h2><a name="Environment"></a>Tab Environment</h2>
+<p>In the Environment tab you can set environment variables that the program
+sees in addition to those that it inherits.
+In the edit box type in an expression of the form <tt>VARIABLE=value</tt>
+to set the environment variable <tt>VARIABLE</tt> to the value <tt>value</tt>,
+and click <i>Modify</i>. To remove a variable, select it from the list
+below and click <i>Delete</i>. To change the value, edit the value in the
+edit field and click <i>Modify</i>. If you change the name of the variable
+and click <i>Modify</i>, you add a new variable! The new environment variables
+will be used by your program the next time it is run.</p>
+<h2>Tab xsldbg Settings</h2>
+<p>This tab is only available when a <a href="xslt.html">XSLT script is
+debugged</a>. Here you can specify various flags that influence the
+XSL translation and XSLDBG.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/breakptlist.html b/kdbg/doc/en/breakptlist.html
new file mode 100644
index 0000000..fb1c18e
--- /dev/null
+++ b/kdbg/doc/en/breakptlist.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Breakpoint list</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+The Breakpoint List</h1>
+<p>The breakpoint list displays all breakpoints and watchpoints that are set
+and allows you to manipulate them. It can be displayed using <i>View|Breakpoints</i>.</p>
+<h2>
+The list of breakpoints</h2>
+<p>For each breakpoint the following is shown:</p>
+<ul>
+<li>
+the breakpoint location,</li>
+
+<li>
+the hit count,</li>
+
+<li>
+the ignore count if set,</li>
+
+<li>
+the condition if set.</li>
+</ul>
+<p>The icon in front of the entry indicates whether the breakpoint is enabled
+(a red dot) or disabled (a bright red dot), whether the breakpoint is temporary
+(a tiny clock is overlaid), whether the breakpoint is conditional (a
+tiny question mark is overlaid), or whether the breakpoint is <em>orphaned</em>
+(a 'x' is overlaid).</p>
+<p>Watchpoints are indicated by an eye glas icon in front of the line.</p>
+<h2>
+<A name="orphanedbp"></A>Orphaned breakpoints</h2>
+<p><em>Orphaned breakpoints</em> are breakpoints that gdb cannot implant
+immediately. Orphaned breakpoints occur if you try to set a breakpoint in a file
+that is not part of the executable. In particular, this is the case if the file
+belongs to a shared library or dynamically loaded module: When the executable
+is loaded, gdb does not yet know about dynamic modules and, hence, cannot set
+breakpoints there. However, KDbg does not forget about requests to set
+breakpoints in dynamic modules: It tries to set orphaned breakpoints each time
+that the program stops. When the breakpoint can be set successfully, it turns
+into a normal breakpoint.</p>
+<p>But there is an important consequence: Orphaned breakpoints are not effective,
+and the program will <em>not</em> stop there. The remedy is to set a breakpoint
+in the executable at the earliest possible point after which it is known that
+the dynamic module is loaded. For shared libraries this is usually in <tt>main()</tt>
+and for dynamically loaded modules it is after the call to <tt>dlopen()</tt>
+(or equivalent). When the program stops at this breakpoint the orphaned
+breakpoints from the dynamic module are set and become effective.</p>
+<h2>
+Manipulating breakpoints</h2>
+<p><a name="StopProg"></a>It is important to note that breakpoints and watchpoints
+cannot be manipulated while the program is running. If the program has
+already been started, it must stop first - either by hitting a breakpoint
+that is already set or forcefully by choosing <i>Execution|Break</i>. Note
+that this will not terminate the program, it just interrupts it. You can
+now manipulate the breakpoints; then choose <i>Execution|Continue</i> to
+let the program continue.</p>
+<p>To set a breakpoint on a specific source line, it is easiest to do this
+in the source code window. If you don't know the exact file and line number
+of a function, you can set the breakpoint by typing the function name in
+the edit box above the list and click <i>Add Breakpoint</i>.</p>
+<p>You can disable and enable breakpoints by selecting them in the list
+and clicking <i>Disable</i> or <i>Enable</i>. Or you simply click on the
+breakpoint in the list using the middle mouse button - just like you enable
+and disable breakpoints in the source window.</p>
+<p>You can set a condition on a breakpoint (so that the program is only
+stopped if the condition is true) or set an ignore count (so that the program
+is not stopped the next n times that the breakpoint is hit). To do that,
+press the <i>Conditional</i> button and enter the condition and/or ignore
+count.</p>
+<h2>
+Manipulating watchpoints</h2>
+<p>Watchpoints are a like breakpoints, except that they interrupt the program
+when the value of a memory location changes. As with breakpoints, watchpoints
+cannot be manipulated while the program is running. See <a href="#StopProg">above</a>
+for more information.</p>
+<p>To set a watchpoint, type an expression in the edit box above the list,
+then click <i>Add Watchpoint</i>. The program will stop when the value
+of the expression changes. Note that watchpoints that involve local variables
+can only be set when the program is stopped in a breakpoint (or has been
+interrupted by <i>Execution|Break</i>).</p>
+<p>To remove the watchpoint, select it from the list and click <i>Remove</i>.
+If the expression involves a local variable, the watchpoint will be removed
+automatically when the program leaves the current frame.</p>
+<p>You can set a condition and an ignore count on the watchpoint just like
+on breakpoints by selecting it and clicking <i>Conditional</i>.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/globaloptions.html b/kdbg/doc/en/globaloptions.html
new file mode 100644
index 0000000..52faaab
--- /dev/null
+++ b/kdbg/doc/en/globaloptions.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Global Options</title>
+</head>
+<body text="#000000" bgcolor="#ffffff">
+<p><a href="index.html">Contents</a></p>
+<h1>
+Global Options Dialog</h1>
+<p>To specify some global options, choose <i>Settings|Global Options</i>. You
+can set the following:</p>
+<ul>
+<li>
+the command by which gdb is invoked,</li>
+
+<li>
+the command that opens a terminal for the program's output,</li>
+
+<li>
+whether the KDbg shall pop into the foreground when the program stops and
+a timeout when it shall go back again,</li>
+
+<li>
+the tab width,</li>
+
+<li>
+filters for source file names.</li>
+</ul>
+
+<h4>
+How to invoke gdb</h4>
+
+<blockquote>If you want to use a different version of gdb, you can specify
+it under
+<i>How to invoke GDB</i>. The default command is <tt>gdb --fullname
+--nx</tt>. Be sure to also specify these options if you change the gdb
+executable. If you leave them away, KDbg will not work. If you messed up
+the entry, you can clear it to revert to the default setting.</blockquote>
+
+<h4>
+How to invoke a terminal emulator</h4>
+
+<blockquote>If you want to use a different terminal program to show the
+output of the program, specify it under <i>Terminal for program output</i>.
+The default setting is <tt>xterm -name kdbgio -title %T -e sh -c %C</tt>.
+In this entry,
+<tt>%T</tt> will be replaced by a title string, <tt>%C</tt>
+will be replaced by a Bourne shell script that loops infinitely so that
+the terminal window doesn't close. (No, it doesn't use CPU, it calls <tt>sleep
+3600</tt> in a loop :) An alternative for this setting could be <tt>konsole
+--name kdbgio --caption %T -e sh -c %C</tt>.</blockquote>
+
+<h4>
+Pop into foreground</h4>
+
+<blockquote>You can specify whether the KDbg window shall move itself into
+the foreground as soon as the program being debugged stops (at a breakpoint
+or due to a signal). The KDbg window is not activated, however (at least
+under KWM, the KDE window manager). Some users may feel that this behavior
+is intrusive, so this option is off by default.</blockquote>
+
+<blockquote>If this option is on, KDbg will also retreat itself into the
+background when the program is continued by any command, but it does so
+only after a timeout that can be specified. This avoids that the debugger
+window flashes back and forth each time you click any of the <i>Step</i>
+commands.</blockquote>
+
+<h4>
+File filters</h4>
+
+<blockquote>You can specify wildcards for source files and header files,
+which are used in the file dialog of the <i>File|Open Source</i>
+command.</blockquote>
+
+</body>
+</html>
diff --git a/kdbg/doc/en/howdoi.html b/kdbg/doc/en/howdoi.html
new file mode 100644
index 0000000..6191144
--- /dev/null
+++ b/kdbg/doc/en/howdoi.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - How Do I...?</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+How Do I...?</h1>
+
+<h4>
+... set breakpoints?</h4>
+<p>There's more than one way to set a breakpoint:</p>
+<ul>
+<li>
+You can set it in the source window by clicking on the "active area" at
+the far left of the line.</li>
+
+<li>
+You can set it by selecting the line in the source window and choosing
+an option from the <i>Breakpoint</i> menu.</li>
+
+<li>
+You can set it in the <a href="breakptlist.html">breakpoint list</a>.</li>
+</ul>
+<p>If you can't set breakpoints, maybe the program is currently running. You
+can't set breakpoints while the program is running. Stop it first using
+<i>Execution|Break</i>.
+If you still can't set breakpoints, make sure that you have compiled <em>and
+linked</em> your program with debugging information enabled.</p>
+<h4>
+... display the value of a global variable or an arbitrary expression?</h4>
+<p>Use the <A href="watches.html">Watch window</A>.</p>
+<h4>
+... set watchpoints?</h4>
+<p>Watchpoints are manipulated in the <a href="breakptlist.html">breakpoint
+list</a>.</p>
+<h4>
+... use a core dump?</h4>
+<p>First load the executable using <i>File|Executable</i>, then specify the
+core dump using <i>File|Core dump</i>.</p>
+<h4>
+... debug a program that's caught in an endless loop?</h4>
+<p>Start the program and let it run until it is in the endless loop. Then
+switch to KDbg and choose <i>Execution|Break</i>. You've just caught the
+nasty program <em>in flagranti</em>!</p>
+<h4>
+... achieve that the program passes over a breakpoint a number of times
+before it stops?</h4>
+<p>In the <a href="breakptlist.html">breakpoint list</a> select the breakpoint;
+then click <i>Conditional</i> and specify the number of times to skip the
+breakpoint in the <i>Ignore count</i> field.</p>
+<h4>
+... set environment variables for the executable?</h4>
+<p>Select <i>Execution|Arguments</i> and specify the environment variables
+in the <a href="argspwdenv.html#Environment">program arguments dialog</a>.</p>
+<h4>
+... set a working directory for the executable?</h4>
+<p>Select <i>Execution|Arguments</i> and specify the working directory in
+the <a href="argspwdenv.html#WorkingDir">program arguments dialog</a>.</p>
+<h4>
+... get rid of this terminal window?</h4>
+<p>Select <i>Settings|This Program</i> and switch to the <a href="pgmsettings.html#output">Output</a> tab.
+Select <i>Only output, simple terminal emulation</i> and click <i>OK</i>.
+Now restart the program (choose it from the list under <i>File|Recent Executables</i>).
+The program output goes now to the built-in <a href="pgmoutput.html">output
+window</a> and stdin is redirected to <tt>/dev/null</tt>.</p>
+<p>You must do this for every new program that you debug.</p>
+<p><b><i>Important:</i></b> You should not do this if your program expects
+input from the terminal (usually stdin) or if its output requires nifty
+terminal emulation (more than carriage-return and line-feed). The built-in
+output window does not support input and terminal emulation.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/index.html b/kdbg/doc/en/index.html
new file mode 100644
index 0000000..454cd08
--- /dev/null
+++ b/kdbg/doc/en/index.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+
+<h1>
+KDbg - User's Manual</h1>
+
+<h2>
+Contents</h2>
+
+<ul>
+<li>
+<a href="#Introduction">Introduction</a></li>
+
+<li>
+<a href="#UsingKDbg">Using KDbg</a></li>
+
+<li>
+<a href="#InfoWindows">KDbg's information windows</a></li>
+
+<li>
+<a href="#Tips">Tips and such</a></li>
+
+<li>
+Advanced topic: <a href="types.html">Type tables</a></li>
+
+<li>
+<a href="invocation.html">How to invoke KDbg from the command line</a></li>
+
+<li>
+<a href="#Author">Author</a></li>
+</ul>
+
+<hr>
+<h2>
+<a name="Introduction"></a>Introduction</h2>
+<p>KDbg is a front-end for <tt>gdb</tt>, the GNU debugger.</p>
+<p>This means that KDbg itself is not the debugger. Rather, it communicates
+with <tt>gdb</tt>, a command line debugger, by sending commands to it and
+receiving the output, such as variable values. The menu commands and mouse
+clicks are translated into <tt>gdb</tt> commands, and the output of <tt>gdb</tt>
+is translated into (more or less) visible information, such as structured
+variable contents.</p>
+<p>The upshot of all this is that KDbg completely relies on the capabilities
+of the underlying command line debugger, <tt>gdb</tt>. KDbg can do no more
+than <tt>gdb</tt> can. For example, if you have a <tt>gdb</tt> that does
+not supports debugging of threaded programs, KDbg cannot, either (even
+though it offers a threads window).</p>
+<h2>
+<a name="UsingKDbg"></a>Using KDbg</h2>
+<p>Before you start using KDbg, you may want to review the options in the
+<a href="globaloptions.html">Global Options</a> dialog that you invoke
+with <i>Settings|Global Options</i>.</p>
+<h4>
+Specifying a debugging target</h4>
+<p>To debug a program, choose <i>File|Executable</i> from the menu. If you
+have debugged the program earlier, you can choose it from <i>File|Recent
+Executables</i>. The program is loaded.</p>
+<p>If you want to debug a core dump, you must first load the executable
+that produced the core dump, then choose
+<i>File|Core Dump</i> from the
+menu. Now KDbg goes to the point in the program that caused the core dump.</p>
+<p>You can now set breakpoints, using the <i>Breakpoint</i> menu, the right
+mouse button menu, or the <a href="breakptlist.html">breakpoint window</a>.</p>
+<p>You can also choose program specific settings that apply only to the
+currently loaded executable using <i>Settings|This Program</i>, in the
+<a href="pgmsettings.html">Program Settings</a> dialog.</p>
+<p>Furthermore, it is possible to <a href="xslt.html">debug XSLT scripts</a>.</p>
+<h4>
+Running the program</h4>
+<p>Now run the program by selecting <i>Execution|Run</i>. The program now
+executes as usual until it either exits, hits a breakpoint or watchpoint,
+or receives a signal.</p>
+<p>You can run the program with arguments, set a working directory, or
+set environment variables. To do this, choose <i>Execution|Arguments</i>
+and specify your options in the <a href="argspwdenv.html">Program Arguments</a>
+dialog (before you start the program).</p>
+<p>You can also attach to a program that is currently running. To do this,
+first load the executable file like above. Then choose <i>Execution|Attach</i>.
+From the list processes specify the one you want to attach to
+and click <i>OK</i>. The running program is
+halted (not terminated), and the current point of execution is displayed
+in the source window.</p>
+<p><font size="-1">On some systems the list of processes may not be available.
+In this case a simple edit box is available where the process number can be
+specified.</font></p>
+<h4>
+The program stopped - now what?</h4>
+<p>When the program stops at a breakpoint, watchpoint, or due to a signal,
+the <a href="sourcecode.html">source code window</a> displays the line
+where the program stopped. It is very common that the program stops due
+to a signal (usually a <tt>SIGSEGV</tt>, segmentation violation) in a function
+that is not part of the program, that you have written. In this case you
+investigate the <a href="stack.html">stack window</a> and look for a function
+that you have written (start at the top of the list) and click on it. This
+will bring you to a location that you can start your search for the real
+bug.</p>
+<p>In the menu <i>Execution</i> you find the commands that you need to
+run
+the program, step through code, and to interrupt the program (<i>Break</i>)
+while it is running. The important commands (<i>Run</i> and all kinds of
+<i>Step</i>) are bound to function keys. For efficient debugging it is
+strongly recommend that you get used to using them. You can use
+<i>Settings|Configure Shortcuts</i> if you want to bind the functions
+to different keys.</p>
+<p>In the menu <i>Breakpoint</i> you find commands to set, clear, disable,
+and enable permanent and temporary breakpoints. You can display a list
+of breakpoints in the <a href="breakptlist.html">breakpoints window</a>.
+You can also set a breakpoint by clicking at the left end of the source
+line (using the left mouse button), and you can enable and disable a breakpoint
+by clicking it using the middle mouse button.</p>
+<p>The animation in the toolbar indicates whether the program
+is running. It stops when the program stopped in a breakpoint or for
+some other reason or when the program exited. This animated button is a shortcut
+for <i>Execution|Break</i>.</p>
+<h2>
+<a name="InfoWindows"></a>KDbg's information windows</h2>
+<p>KDbg displays information and accepts commands in number of different windows.
+In the menu <i>View</i> you find commands to show and hide these windows.
+They are docking windows, which means that you can drag them around and
+arrange them in any manner you like.</p>
+<ul>
+<li>
+<a href="sourcecode.html">The source code window</a></li>
+
+<li>
+<a href="localvars.html">The local variables window</a></li>
+
+<li>
+<a href="stack.html">The stack window</a></li>
+
+<li>
+<a href="watches.html">The watched expressions window</a></li>
+
+<li>
+<a href="breakptlist.html">The breakpoint list</a></li>
+
+<li>
+<a href="pgmoutput.html">The output window</a></li>
+
+<li>
+<a href="registers.html">The register dump window</a></li>
+
+<li>
+<a href="memory.html">The memory dump window</a></li>
+
+<li>
+<a href="threads.html">The threads window</a></li>
+</ul>
+
+<h2>
+<a name="Tips"></a>Tips and such</h2>
+<p>The following topics give some useful hints on using KDbg.</p>
+<ul>
+<li>
+<a href="tips.html">Tips and Tricks</a></li>
+
+<li>
+<a href="howdoi.html">How do I...?</a></li>
+</ul>
+
+<h2>
+<a name="Author"></a>Author</h2>
+<p>KDbg is written by <a href="mailto:j6t@kdbg.org">Johannes Sixt</a>
+with contributions from these people (in no particular order):</p>
+<ul>
+<li>Keith Isdale</li>
+<li>Ben Burton</li>
+<li>Daniel Thor Kristjansson</li>
+<li>Matthew Allen</li>
+<li>Ron Lerech</li>
+<li>Neil Butterworth</li>
+<li>Thomas Sparr</li>
+<li>Max Judin</li>
+<li>Johnny Chan</li>
+<li>Ilmar S. Habibulin</li>
+</ul>
+<p>KDbg homepage is at <a href="http://www.kdbg.org/">http://www.kdbg.org/</a>.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/invocation.html b/kdbg/doc/en/invocation.html
new file mode 100644
index 0000000..d09b07c
--- /dev/null
+++ b/kdbg/doc/en/invocation.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - Invocation</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>Invoking KDbg from the command line</h1>
+<p><pre>
+Usage: kdbg [Qt-options] [KDE-options] [options] [program] [core]
+
+Generic options:
+ --help Show help about options
+ --help-qt Show Qt specific options
+ --help-kde Show KDE specific options
+ --help-all Show all options
+ --author Show author information
+ -v, --version Show version information
+ --license Show license information
+ -- End of options
+
+Options:
+ -t &lt;file&gt; transcript of conversation with the debugger
+ -r &lt;device&gt; remote debugging via &lt;device&gt;
+ -l &lt;language&gt; specify language: C, XSLT []
+ -p &lt;pid&gt; specify PID of process to debug
+
+Arguments:
+ program path of executable to debug
+ core a core file to use
+</pre></p></body>
+</html>
diff --git a/kdbg/doc/en/localvars.html b/kdbg/doc/en/localvars.html
new file mode 100644
index 0000000..1461f70
--- /dev/null
+++ b/kdbg/doc/en/localvars.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Local Variables</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+The Local Variables Window</h1>
+<p>The local variables window is opened using <i>View|Locals</i>. The local
+variables window displays the contents of the local variables at the currently
+selected stack frame.</p>
+<p>The set of local variables that are displayed is determined by the stack
+frame that is selected in the <A href="stack.html">stack window</A>.</p>
+<p>Variable values that changed between stops of the program are displayed
+in red color.</p>
+<p>The values of most variables can be changed. For this purpose, press F2
+while the input focus is in the window or choose <i>Edit value</i> from the
+context menu. Then edit the value and hit Enter. Note that you cannot modify
+the strings that <tt>char*</tt> values point to in this way, just the pointer
+value.</p>
+<p>Using the context menu you can move
+the active variable or structure member to the <a href="watches.html">watched
+expressions window</a>.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/memory.html b/kdbg/doc/en/memory.html
new file mode 100644
index 0000000..75693f9
--- /dev/null
+++ b/kdbg/doc/en/memory.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Memory Dump</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+The Memory Dump Window</h1>
+<p>The memory dump window is displayed using <i>View|Memory</i>. It displays
+the contents of the program's memory at arbitrary adresses.</p>
+<p>To display memory contents, enter an address in the edit field. The
+address need not be given in hexadecimal form - it can be an expression.</p>
+<p>You can specifiy a format how the memory contents shall be displayed
+by chooseing the appropriate options from the popup menu that you invoke
+by clicking the right mouse button.</p>
+<p>A number of address expressions are remembered. You can recall such
+an expression from the drop-down list. Please note that the address expression
+is remembered together with the format.</p>
+<p>If you don't need to investigate memory contents, it is recommended
+that you clear the expression so that no memory dump is displayed - this
+speeds up the debugging process.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/pgmoutput.html b/kdbg/doc/en/pgmoutput.html
new file mode 100644
index 0000000..3e18902
--- /dev/null
+++ b/kdbg/doc/en/pgmoutput.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Program Output</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+The Program Output Window</h1>
+<p>The program output window is displayed using <i>View|Output</i>. The output
+window captures text that is written to stdout and stderr by the program
+being debugged.</p>
+<p>The output window does not allow to type input for the program and it
+features only minimal terminal emulation: <tt>\n</tt> (line-feed),
+<tt>\t</tt> (horizontal tab), and <tt>\r</tt> (carriage-return)
+are treated. These capabilities are usually sufficient to debug GUI programs
+which only write debugging output to stdout and stderr.</p>
+<p>When a program is debugged with KDbg for the first time, the program
+output window is <em>not</em> used. The reason for this is that KDbg cannot
+know whether the program requires sophisticated terminal emulation or if
+it expects input through a terminal. So, a terminal emulator program is
+used by default. In order to redirect the output to the output window,
+you must do the following:</p>
+<ol>
+<li>
+Open the <a href="pgmsettings.html">Settings dialog</a> by selecting <i>Settings|This Program</i>.</li>
+
+<li>
+Switch to the <i>Output</i> tab.</li>
+
+<li>
+Choose <i>Only output, simple terminal emulation</i> and click <i>OK</i>.</li>
+
+<li>
+Reload the program by selecting it from the list in <i>File|Recent Executables</i>.</li>
+</ol>
+<p>You can clear the contents of the output window by selecting <i>Clear</i>
+from the popup menu that appears when you click the right mouse button.</p>
+<p>If the last line of the output is visible, the window always scrolls
+automatically so that the last line remains visible when new output arrives.
+If, however, you manually scroll up so that the last line is not visible,
+the visible portion of text will not change.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/pgmsettings.html b/kdbg/doc/en/pgmsettings.html
new file mode 100644
index 0000000..64225fb
--- /dev/null
+++ b/kdbg/doc/en/pgmsettings.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Program Settings</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+The Program Settings Dialog</h1>
+<p>In this dialog, program specific settings can be selected. It is invoked
+by <i>Settings|This Program</i>. The settings apply only to the currently loaded
+executable and will be saved across sessions.</p>
+<blockquote><b><i>Important note:</i></b> The chosen settings will only
+apply the next time the executable is loaded into KDbg. This means that
+after pressing
+<i>OK</i> in this dialog, you must reload the executable
+using <i>File|Recent Executables</i>!!</blockquote>
+
+<ul>
+<li>
+<a href="#driver">Debugger</a></li>
+
+<li>
+<a href="#output">Output</a></li>
+</ul>
+
+<h2>
+<a name="driver"></a>Debugger</h2>
+<p>In this section, the debugger to be used for the program can be chosen.</p>
+<h4>
+How to invoke GDB</h4>
+
+<blockquote>Enter the command to invoke gdb. Leave this field empty to
+use the default gdb command as specified in the <a href="globaloptions.html">global
+options</a>. When you are cross-compiling and remote-debugging, you will
+probably want to use a different gdb suitable for the target platform.
+The default command is <tt>gdb --fullname --nx</tt>. Be sure to specify
+at least <tt>--fullname</tt> if you change the gdb command.
+If you remove this command switch, KDbg will not work.
+</blockquote>
+
+<h2>
+<a name="output"></a>Output</h2>
+<p>In this section, the terminal emulation under which the program will run
+can be selected.</p>
+<h4>
+No input and output</h4>
+
+<blockquote>Check this option if your program does not receive input from
+the terminal and you do not want to see the output that the program writes
+to <tt>stdout</tt> and <tt>stderr</tt> (if any). All three standard channels
+(<tt>stdin</tt>, <tt>stdout</tt>, and <tt>stderr</tt>) are effectively
+redirected to <tt>/dev/null</tt>.</blockquote>
+
+<h4>
+Only output, simple terminal emulation</h4>
+
+<blockquote>Check this option if your program does not receive input from
+the terminal (<tt>stdin</tt> will be redirected to <tt>/dev/null</tt>),
+and the output that it writes to <tt>stdout</tt> and <tt>stderr</tt> does
+not require sophisticated terminal emulation. The output will be shown
+in the <a href="pgmoutput.html">Output window</a>.
+<br><i>Important:</i> The integrated terminal emulator will only interpret
+the line-feed character <tt>\n</tt> (ASCII 10) to break lines. It will
+<em>not</em>
+handle the carriage-return character <tt>\r</tt> (ASCII 13). This is sufficient
+for displaying plain debugging output that is often used by developers
+of GUI programs.</blockquote>
+
+<h4>
+Full terminal emulation</h4>
+
+<blockquote>Check this option if your program reads input from <tt>stdin</tt>
+or if the output to <tt>stdout</tt> or <tt>stderr</tt> requires terminal
+emulation. A terminal emulator will be invoked as specified in the <a href="globaloptions.html">global
+options</a>.</blockquote>
+
+</body>
+</html>
diff --git a/kdbg/doc/en/registers.html b/kdbg/doc/en/registers.html
new file mode 100644
index 0000000..fc9fb5b
--- /dev/null
+++ b/kdbg/doc/en/registers.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Register Dump</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+The Register Dump Window</h1>
+<p>Whenever the program stops, KDbg displays the contents of the CPU registers
+in the register dump window. To display this window, choose <i>View|Registers</i>.</p>
+<p>The registers are grouped by the kind of register. The window contains 3 columns:</p>
+<ol>
+<li>
+The column <i>Register</i> displays the register name.</li>
+
+<li>
+The column <i>Value</i> displays the contents of the registers in a more
+or less raw form. The raw form is usually displayed as hexadecimal numbers,
+even the contents of floating point registers.</li>
+
+<li>
+The column <i>Decoded value</i> displays the contents of the registers
+in a decoded form. For arithmetic registers this is generally a signed
+decimal value, floating point registers are displayed as floating point
+numbers, the flag registers are sometimes decoded into named flags.</li>
+</ol>
+<p>By clicking the right mouse button a context menu is popped up which lets
+you select how the value in the third column is displayed.
+You can change the type to use for all registers of a group at once if you
+choose the format for the group header.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/sourcecode.html b/kdbg/doc/en/sourcecode.html
new file mode 100644
index 0000000..9d1bb7f
--- /dev/null
+++ b/kdbg/doc/en/sourcecode.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Source Code</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+The Source Code Window</h1>
+<p>The source code window is the main window and is always visible.</p>
+<p>The source code window displays program source code. At the left of
+each source line is an "active area". It displays a pointer to indicate
+which source line the program currently executes, and it indicates on which
+source lines breakpoints have been set.</p>
+<p>New breakpoints can be set by clicking into the active area with the
+left mouse button. An existing breakpoint can be enabled and disabled by
+clicking with the middle mouse button.</p>
+<p>The tiny plus '+' between the "active area" and the source line can
+be clicked on. If you do so, the source line's assembler code will be displayed.
+The plus turns into a minus '-', which, if clicked, will hide the disassembled
+code.</p>
+<p>Mostly, source code windows are opened automatically. To open a new
+source file manually, click the right mouse button and choose <i>Open Source</i>
+or choose <i>File|Open Source</i>.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/stack.html b/kdbg/doc/en/stack.html
new file mode 100644
index 0000000..0db570b
--- /dev/null
+++ b/kdbg/doc/en/stack.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Stack</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+The Stack Window</h1>
+<p>The stack window is displayed using <i>View|Stack</i>. The stack window
+lists the stack frames, i.e. the functions that the program has entered,
+but not yet left.</p>
+<p>The innermost frame (where the program currently executes) is shown
+at the top.</p>
+<p>To switch to a different stack frame, simply click on that stack frame.
+The <a href="sourcecode.html">source window</a> displays the source line
+where the function invocation took place and the <a href="localvars.html">local
+variables window</a> and the <a href="watches.html">watch window</a> change
+to reflect the local variables of the selected stack frame.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/threads.html b/kdbg/doc/en/threads.html
new file mode 100644
index 0000000..3f0d7fb
--- /dev/null
+++ b/kdbg/doc/en/threads.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Threads</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+The Threads Window</h1>
+<p>The threads window is displayed using <i>View|Threads</i>. The threads
+window lists the active threads of the program.</p>
+<p><b><i>Note:</i></b> Debugging threaded programs must be supported by
+the version of gdb that is used - it is not a feature of KDbg. For Linux
+systems this works best with gdb5 and later. However, at the time of this writing gdb
+still poorly supports threads on NPTL- (New Posix Threads Library) enabled
+systems (glibc 2.3.x and kernel 2.6.x).</p>
+<p>The contents of the threads window are updated every time the program
+is stopped by the debugger. (That is, the window does <em>not</em> reflect
+the state while the program is running.)</p>
+<p>The first column shows the thread ID, the second column identifies the
+location where the thread currently executes.</p>
+<p>The marker in front of the line tells which thread currently is <em>active</em>:</p>
+<ul>
+<li>
+The <a href="stack.html">stack window</a> displays the active threads's
+backtrace.</li>
+
+<li>
+The <a href="localvars.html">local variables</a> window displays the active
+thread's local variables.</li>
+
+<li>
+The <a href="watches.html">watch window</a> uses the active thread's local
+variables to evaluate the expressions.</li>
+</ul>
+<p>By clicking a listed thread, the active thread is switched, and the corresponding
+windows are updated. In particular, the <a href="sourcecode.html">source
+window</a> displays the location where the active thread is currently halted.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/tips.html b/kdbg/doc/en/tips.html
new file mode 100644
index 0000000..6a0292a
--- /dev/null
+++ b/kdbg/doc/en/tips.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Tips and Tricks</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+Tips and Tricks</h1>
+
+<ul>
+<li>
+You can use breakpoints as bookmarks: Just set a breakpoint and disable
+it. Later, you can quickly come back to that breakpoint by double-clicking
+it in the breakpoint list (or select it and click <i>View Code</i>). Since
+breakpoints are persistent (i.e. KDbg remembers them across invocations
+of a program), you get them back next time you invoke KDbg for that particular
+program.</li>
+
+<li>
+You can display a value in the watch section in different ways by prepending
+gdb's format specifiers in front of the variable to display. E.g. <tt>/x
+var.member</tt> displays the <tt>var.member</tt> in hexadecimal notation.</li>
+
+<li>
+You can set breakpoints in a source files that belong to a shared library.
+Such breakpoints will be marked as <em>orphaned</em> if the program is not active.
+<A href="breakptlist.html#orphanedbp">Orphaned breakpoints</A> are not effective.
+In order to make them effective, the program must stop at a time when the shared
+library is loaded. For this it is usually sufficient to set a breakpoint in
+<tt>main()</tt>. At the time when this breakpoint is hit, the orphaned breakpoints
+in the shared library become effective.</li>
+
+<li>
+Debugging multi-threaded programs on NPTL-enabled Linux systems (kernel 2.6.x
+or later and glibc 2.3.x or later) may sometimes fails; gdb stops the program
+at unexpected instances. In this case the following may help (using bash):
+<pre>
+LD_ASSUME_KERNEL=2.4.19 kdbg myprogram
+</pre>I.e. you run KDbg from the command line such that the old
+Linuxthreads implementation is used.</li>
+</ul>
+
+</body>
+</html>
diff --git a/kdbg/doc/en/types.html b/kdbg/doc/en/types.html
new file mode 100644
index 0000000..10587b9
--- /dev/null
+++ b/kdbg/doc/en/types.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Type Tables</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+KDbg's Type Table</h1>
+<p>KDbg can display a short description of structured types, so
+that it is not necessary to expand the variable in the <a href="localvars.html">local
+variables window</a> or <a href="watches.html">watched expressions window</a>.
+The information which member variable is displayed is stored in <em>type
+tables</em>. There is generally one type table per shared library.</p>
+
+<p>KDbg's default type tables are located under <tt>$prefix/share/apps/kdbg/types</tt>.
+User defined type tables can be placed in <tt>${KDEHOME}/share/apps/kdbg/types</tt>, where
+<tt>${KDEHOME}</tt> is <tt>~/.kde</tt> if it is not a defined environment variable.
+The file names end with <tt>.kdbgtt</tt>. Example: The type table for <tt>libqt.so</tt>
+is named <tt>qt.kdbgtt</tt>.
+User defined type tables override the type tables provided by the system.</p>
+<p>A type table file obeys the regular KDE configuration file syntax. The
+file has the following groups:</p>
+<ul>
+<li>
+A group <tt>[Type Table]</tt> which lists the types and information how
+the debugger can identify whether the program is linked against the library.</li>
+
+<li>
+A group for each type which has information about how the value of such
+a type is displayed by KDbg.</li>
+</ul>
+<p>In order to determine which type tables apply to the program being debugged
+KDbg lists the shared libraries it is linked to. Then it matches the names
+against the <tt>ShlibRE</tt> entries of all type tables. Those that match
+are used. If a type appears in several type tables, it is unspecified which
+one will be used.</p>
+<p>KDbg's type recognition only works for libraries that are linked dynamically
+to the program being debugged.</p>
+<h2>
+The <tt>[Type Table]</tt> group</h2>
+<p>This group contains the following entries:</p>
+<ul>
+<li>
+<tt>Types1</tt>, <tt>Types2</tt>, etc. These entries name the types,
+separated by commas.
+Each of the entries can list any number of types. The entries must be numbered
+consecutively (KDbg stops reading at the first gap), although an entry may be
+empty (i.e. contain no type at all).
+Sometimes the order in which the names are listed is important
+(see <tt>Alias</tt> types below).</li>
+
+<li>
+<tt>ShlibRE</tt>. KDbg uses this entry to determine if the type table applies
+to the program being debugged. For this purpose KDbg determines the shared
+libraries to which the program is linked. If any of the libraries matches
+this entry, the type table applies. The regular expression is a Qt-regular
+expression (the metacharacters <tt>.*?[]^$\</tt> are recognized in the
+usual way, but there is no possibility to group characters.)</li>
+
+<li>
+<tt>LibDisplayName</tt>. This entry is used in lists where the available
+type tables are listed to identify this type table.
+
+<br><font size=-1>This is not used currently.</font></li>
+
+<li>
+<tt>EnableBuiltin</tt> lists extensions that must be enabled if this
+library is used. Currently, two builtins are supported:
+<ul>
+<li>
+<tt>QString::Data</tt> is used to display unicode strings of Qt's <tt>QString</tt>
+class. See below.</li>
+<li><tt>QCharIsShort</tt> is used only in connection with <tt>QString::Data</tt>
+to specify that a unicode character is stored in an object of type <tt>short</tt>.
+See <tt>qt3.kdbgtt</tt> for examples.</li></ul></li>
+</ul>
+
+<p>In the case of regular types the names of types should follow the output of the
+<tt>whatis</tt> gdb command less any <tt>const</tt>, <i>spaces</i>, or trailing
+<tt>&</tt>.
+If the type contains a a comma in its name, it must be escaped with a backslash.
+But note that the comma should not be escaped in the type's group (which is described
+in the next section).
+</p>
+<p>In the case of template types the name can be arbitrary because the type's group
+will mention the template name and a type parameter list.</p>
+
+<h2>
+The type's group</h2>
+<p>There is one group for each type that is named exactly as the type. <font size=-1>At
+the moment C++ template classes are not supported.</font> Each group contains
+the following entries:</p>
+<ul>
+<li>An optional <tt>Template</tt> entry that specifies the exact template type
+name as it is reported by gdb's <tt>whatis</tt> command. However, it is
+possible to replace template parameter types at the top-most level by an
+asterisk&nbsp;<tt>*</tt>, which acts as a wildcard: It matches <b>one</b>
+template type argument that is reported by <tt>whatis</tt> (except that an
+asterisk in the last position matches all remaining template type arguments).
+</li>
+<li>
+<tt>Display</tt> determines how the value of the type is displayed by KDbg.
+The string must contain 1 to 5 percent characters '<tt>%</tt>'. These are
+replaced by the results of the expressions printed by the <tt>Expr</tt><i>x</i>
+entries.</li>
+
+<li>
+One or more of <tt>Expr1</tt>, <tt>Expr2</tt>, etc. Each of them must contain
+one or more <tt>%s</tt> sequence, which will be replaced by the expression
+whose value is investigated. The so constructed expression is submitted
+to gdb, and the result substituted back for the corresponding percent character
+in the <tt>Display</tt> string.</li>
+
+<li>
+An optional <tt>FunctionGuard</tt><i>x</i> that is associated with the corresponding <tt>Expr</tt><i>x</i>.
+If the evaluation of the resulting gdb expression returns an error, the corresponding expression from <tt>Expr</tt><i>x</i> is not evaluated. (This is used to guard function calls.)
+<li>
+<tt>Alias</tt> names an alias type. If this entry is present, the type
+is treated like the specified type. That alias type must appear before
+this type in the <tt>Types</tt><i>x</i> entries in the <tt>Type Table</tt>.</li>
+</ul>
+<p><font size=-1>Currently the number of expressions per type is limited to
+5. This can easily be changed if it's too restrictive, but I recommend
+not to go to that limit at all - it will slow down the debugging process.</font></p>
+<p>KDbg recognizes a special extension that is used to display Qt 2.x's and Qt 3.x's
+unicode strings: If an <tt>Expr</tt><i>x</i> is prepended with <tt>/QString::Data</tt>,
+it is assumed that the result of the expression is a pointer to a <tt>QString::Data</tt>.
+The value displayed is the unicode string that this instance of <tt>QString::Data</tt>
+represents (which can be <tt>QString::null</tt> if it is Qt's well-defined
+null string or <tt>(null)</tt> if the <tt>unicode</tt> member is the null
+pointer). See <tt>qt2.kdbgtt</tt> for examples.</p>
+<p>Tip: It is not necessary to define derived types if they ought to be
+treated the same as the base class - KDbg can deduce derived types and
+uses the type specification of the (leftmost) base class. You can use the
+<tt>Alias</tt>
+entry to quickly specify that a type should be treated like a non-leftmost
+base class for a multiple-inheritance class.</p>
+<h2>
+An example</h2>
+<p>The example shows how <tt>QString</tt> and <tt>QRect</tt> are defined
+in <tt>qt3.kdbgtt</tt>. Furthermore, the template type <tt>QValueVector</tt>
+is defined. This example applies to Qt 3.x, which is located in shared library
+whose name ends in <tt>libqt-mt.so.3</tt>.</p>
+<pre>[Type Table]
+Types1=QString,QRect
+Types2=QValueVector
+LibDisplayName=libqt 3.x
+ShlibRE=libqt-mt\.so\.3$
+EnableBuiltin=QString::Data,QCharIsShort
+
+[QString]
+Display={ % }
+Expr1=/QString::Data (%s).d
+
+[QValueVector]
+Template=QValueVector<*>
+Display={ size=% shared=% capacity=% }
+Expr1=($tmp=(%s).sh)->finish-$tmp->start
+Expr2=(%s).sh->count
+Expr3=($tmp=(%s).sh)->end-$tmp->start
+
+[QRect]
+Display={ tl=(%,%) br=(%,%) }
+Expr1=(%s).x1
+Expr2=(%s).y1
+Expr3=(%s).x2
+Expr4=(%s).y2</pre>
+<p>This example shows these features:</p>
+<ul>
+<li>The name of the template type, <tt>QValueVector</tt> is irrelevant.
+The exact type name is specified under the <tt>Template=</tt> entry.
+It specifies a single wildcard so that it applies to all specializations.
+</li>
+<li>In order to evaluate the expression that was supplied in the <tt>%s</tt>
+only once, the result is stored in a temporary gdb variable and reused later in
+the same expression.</li>
+<li>Note that it is safer to wrap the <tt>%s</tt> in parentheses.</li>
+</ul>
+</body>
+</html>
diff --git a/kdbg/doc/en/watches.html b/kdbg/doc/en/watches.html
new file mode 100644
index 0000000..395cc61
--- /dev/null
+++ b/kdbg/doc/en/watches.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Watched Expressions</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>
+The Watched Expressions Window</h1>
+<p>The watched expressions window is opened using <i>View|Watched Expressions</i>.
+It displays arbitrary expressions.</p>
+<p>To add an expression, type it into the edit field and press Enter or
+click <i>Add</i>. To remove an expression, click on it (choose the root
+of the expression) and click <i>Del</i>.</p>
+<p>You can also move a variable or structure member from the <a href="localvars.html">local
+variables window</a> to this window using the context menu in the local
+variables window.</p>
+<p>The values of most expressions can be changed. For this purpose, press F2
+while the input focus is in the window. Then edit the value and hit Enter.
+Note that you cannot modify the strings that <tt>char*</tt> values point
+to in this way, just the pointer value.</p>
+<p>Watched expressions are stored across debugging sessions. It is recommended
+that you remove expressions that your don't need any longer because that
+speeds up the debugging process.</p>
+</body>
+</html>
diff --git a/kdbg/doc/en/xslt.html b/kdbg/doc/en/xslt.html
new file mode 100644
index 0000000..fdc5ec3
--- /dev/null
+++ b/kdbg/doc/en/xslt.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - User's Manual - Debugging XSLT scripts</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<p><a href="index.html">Contents</a></p>
+<h1>Debugging XSLT scripts</h1>
+<p>KDbg allows to debug XSLT (XML stylesheet translation) scripts using
+<a href="http://xsldbg.sourceforge.net/">xsldbg</a>, which must be available
+on your system.</p>
+<h2>Specifying the script and an XML file to transform</h2>
+<p>XSLT mode is automatically entered if a &quot;program&quot; is loaded
+that has a file name that ends in <tt>.xsl</tt>. In addition, the
+<A href="invocation.html">command line option</A> <tt>-l XSL</tt> can be
+specified to explicitly choose this mode.</p>
+<p>To debug an XSLT script it is necessary to specify an XML data file
+that the script can transform. This is done in the
+<a href="argspwdenv.html">Program Arguments</a> dialog, where the XML
+file is specified in the <em>Program Arguments</em> edit box.</p>
+</body>
+</html>
diff --git a/kdbg/doc/ru/Makefile.am b/kdbg/doc/ru/Makefile.am
new file mode 100644
index 0000000..7fc29b8
--- /dev/null
+++ b/kdbg/doc/ru/Makefile.am
@@ -0,0 +1,27 @@
+html_DATA = \
+ argspwdenv.html \
+ breakptlist.html \
+ globaloptions.html \
+ howdoi.html \
+ localvars.html \
+ memory.html \
+ pgmoutput.html \
+ pgmsettings.html \
+ registers.html \
+ sourcecode.html \
+ stack.html \
+ threads.html \
+ tips.html \
+ watches.html \
+ index.html
+
+htmldir = $(kde_htmldir)/ru/kdbg
+
+EXTRA_DIST = $(html_DATA)
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(htmldir)
+ cd $(DESTDIR)$(htmldir) && ln -s -f ../../en/kdbg/types.html .
+
+uninstall-local:
+ -rm -f $(DESTDIR)$(htmldir)/types.html
diff --git a/kdbg/doc/ru/Makefile.in b/kdbg/doc/ru/Makefile.in
new file mode 100644
index 0000000..c70aeeb
--- /dev/null
+++ b/kdbg/doc/ru/Makefile.in
@@ -0,0 +1,609 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = kdbg/doc/ru
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(htmldir)"
+htmlDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(html_DATA)
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PS_COMMAND = @PS_COMMAND@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = $(kde_htmldir)/ru/kdbg
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+html_DATA = \
+ argspwdenv.html \
+ breakptlist.html \
+ globaloptions.html \
+ howdoi.html \
+ localvars.html \
+ memory.html \
+ pgmoutput.html \
+ pgmsettings.html \
+ registers.html \
+ sourcecode.html \
+ stack.html \
+ threads.html \
+ tips.html \
+ watches.html \
+ index.html
+
+EXTRA_DIST = $(html_DATA)
+#>- all: all-am
+#>+ 1
+all: docs-am all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/ru/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu kdbg/doc/ru/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/ru/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/doc/ru/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/doc/ru/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-htmlDATA: $(html_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+ @list='$(html_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+
+uninstall-htmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(html_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \
+ rm -f "$(DESTDIR)$(htmldir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(htmldir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-am
+#>+ 1
+clean: kde-rpo-clean clean-am
+
+#>- clean-am: clean-generic clean-libtool mostlyclean-am
+#>+ 1
+clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local install-htmlDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-htmlDATA uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-htmlDATA install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am uninstall uninstall-am uninstall-htmlDATA \
+ uninstall-local
+
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(htmldir)
+ cd $(DESTDIR)$(htmldir) && ln -s -f ../../en/kdbg/types.html .
+
+uninstall-local:
+ -rm -f $(DESTDIR)$(htmldir)/types.html
+# 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
+KDE_DIST=stack.html memory.html index.html watches.html sourcecode.html howdoi.html pgmsettings.html globaloptions.html pgmoutput.html Makefile.in threads.html types.html argspwdenv.html localvars.html registers.html breakptlist.html tips.html Makefile.am
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/doc/ru/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/doc/ru/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/doc/ru/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-am
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 3
+final:
+ $(MAKE) all-am
+
+#>+ 3
+final-install:
+ $(MAKE) install-am
+
+#>+ 3
+no-final:
+ $(MAKE) all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 3
+nmcheck:
+nmcheck-am: nmcheck
diff --git a/kdbg/doc/ru/argspwdenv.html b/kdbg/doc/ru/argspwdenv.html
new file mode 100644
index 0000000..9108a91
--- /dev/null
+++ b/kdbg/doc/ru/argspwdenv.html
@@ -0,0 +1,43 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - , </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> , , </h1>
+ <i>|</i> ,
+ ,
+ .
+<h2>
+<a NAME="PgmArgs"></a> </h2>
+ ,
+ .
+ .
+<h2>
+<a NAME="WorkingDir"></a> </h2>
+ ,
+. .
+<p> gdb!
+ gdb <i>OK</i>.
+ .
+<h2>
+<a NAME="Environment"></a> </h2>
+ <tt>VARIABLE=value</tt>
+ <tt>VARIABLE</tt> <tt>value</tt>
+ <i></i>. ,
+ <i></i>. ,
+ ,
+ <i></i>.
+ <i></i>, !
+ .
+<p> Linux glibc2,
+ <tt>LD_BIND_NOW</tt>. ,
+ <tt>1</tt> .
+ , gdb ( )
+ , <tt>libc</tt>
+.
+</body>
+</html>
diff --git a/kdbg/doc/ru/breakptlist.html b/kdbg/doc/ru/breakptlist.html
new file mode 100644
index 0000000..b3007b3
--- /dev/null
+++ b/kdbg/doc/ru/breakptlist.html
@@ -0,0 +1,68 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+
+ .
+<i>| </i>.
+<h2> </h2>
+ :
+<ul>
+<li> ,</li>
+
+<li> ,</li>
+
+<li> , ,</li>
+
+<li> , .</li>
+</ul>
+ : -
+, - - , -
+ - .
+<p> .
+<h2> </h2>
+<a NAME="StopProg"></a> ,
+ . ,
+, ,
+ <i>|</i>.
+ , .
+ ,
+<i>|</i> .
+<p>
+ .
+ , ,
+
+<i> </i>.
+<p> , ,
+ <i></i> <i></i>.
+ -
+ , .
+<p>
+ , ,
+ . <i></i>
+ / .
+<h2> </h2>
+ , ,
+ .
+, .
+ . <a href="#StopProg"></a>.
+<p> ,
+ <i> </i>.
+ . , ,
+ ,
+ (
+ <i>|</i>).
+<p> ,
+<i></i>. ,
+
+ ().
+<p> ,
+ <i></i>.
+</body>
+</html>
diff --git a/kdbg/doc/ru/globaloptions.html b/kdbg/doc/ru/globaloptions.html
new file mode 100644
index 0000000..c82a73d
--- /dev/null
+++ b/kdbg/doc/ru/globaloptions.html
@@ -0,0 +1,72 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1>
+ </h1>
+
+<i>| </i>. :
+<ul>
+<li>
+, gdb,</li>
+
+<li>
+, ,</li>
+
+<li>
+ KDbg
+ ,</li>
+
+<li>
+ .</li>
+</ul>
+
+<h4>
+ gdb</h4>
+
+<blockquote> gdb,
+ <i> gdb</i>.
+ <tt>gdb --fullname
+--nx</tt>. , ,
+ gdb. , KDbg
+ . , ,
+ .</blockquote>
+
+<h4>
+ </h4>
+
+<blockquote>
+ ,
+<i> </i>. &#150;
+<tt>xterm -name kdbgio -title %T -e sh -c %C</tt>.
+ ,
+<tt>%T</tt> , <tt>%C</tt>
+ ,
+, .
+( <tt>sleep
+3600</tt>). \
+<tt>konsole --name kdbgio --caption %T -e sh -c %C</tt>.</blockquote>
+
+<h4>
+ </h4>
+
+<blockquote> KDbg ,
+ ( ).
+ KDbg ( KWM &150;
+KDE). ,
+ .
+</blockquote>
+
+<blockquote> , KDbg ,
+ ,
+. ,
+ , .
+</blockquote>
+
+</body>
+</html>
diff --git a/kdbg/doc/ru/howdoi.html b/kdbg/doc/ru/howdoi.html
new file mode 100644
index 0000000..1549702
--- /dev/null
+++ b/kdbg/doc/ru/howdoi.html
@@ -0,0 +1,78 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - ...?</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1>
+ ...?</h1>
+
+<h4>
+... ?</h4>
+ :
+<ul>
+<li> " ",
+ .</li>
+
+<li>
+ <i> </i>.</li>
+
+<li> <a href="breakptlist.html"> </a>.</li>
+</ul>
+ ,
+ . , .
+ <i>|</i>.
+ - , ,
+<i> </i> .
+<h4>... - ?</h4>
+ .
+<h4>
+... ?</h4>
+ <a href="breakptlist.html">
+ </a>.
+<h4>
+... ?</h4>
+ ,
+<i>| </i>, ,
+ <i>| </i>.
+<h4>
+... , ?</h4>
+ , .
+ KDbg <i>|</i>.
+ .
+<h4>
+... ,
+ , ?</h4>
+ <a href="breakptlist.html"> </a>
+; <i></i>
+ <i> </i>.
+<h4>
+... ?</h4>
+ <i>|</i>
+<a href="argspwdenv.html#Environment"> </a>.
+<h4>
+... ?</h4>
+ <i>|</i>
+<a href="argspwdenv.html#WorkingDir"> </a>.
+<h4>
+... ?</h4>
+ <i>|</i>
+<a href="pgmsettings.html#output"></a>.
+ <i> , </i>
+<i>OK</i>.
+ (
+<i>| </i>).
+ <a href="pgmoutput.html"> </a>,
+ <tt>/dev/null</tt>.
+<p>
+.
+<p><b><i>:</i></b> ,
+ ( )
+ (
+ ).
+ .
+</body>
+</html>
diff --git a/kdbg/doc/ru/index.html b/kdbg/doc/ru/index.html
new file mode 100644
index 0000000..08e0d88
--- /dev/null
+++ b/kdbg/doc/ru/index.html
@@ -0,0 +1,177 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+
+<h1>KDbg - </h1>
+
+<h2></h2>
+
+<ul>
+<li>
+<a href="#Introduction"></a></li>
+
+<li>
+<a href="#UsingKDbg"> KDbg</a></li>
+
+<li>
+<a href="#InfoWindows"> KDbg</a></li>
+
+<li>
+<a href="#Tips"> .</a></li>
+
+<li> : <a href="types.html"> </a></li>
+
+<li>
+<a href="#KnownProblems"> </a></li>
+
+<li>
+<a href="#Author"></a></li>
+</ul>
+
+<hr>
+<h2>
+<a NAME="Introduction"></a></h2>
+KDbg <tt>gdb</tt>, GNU.
+<p> , KDbg . ,
+ <tt>gdb</tt>, , ,
+ , , .
+ <tt>gdb</tt>,
+ - ,
+ .
+<p> - KDbg
+ <tt>gdb</tt>. KDbg ,
+<tt>gdb</tt>. , <tt>gdb</tt>
+ , KDbg
+( , ).
+
+<h2>
+<a NAME="UsingKDbg"></a> KDbg</h2>
+ KDbg
+ <a href="globaloptions.html"> </a>,
+ <i>| </i>.
+<h4> </h4>
+ <i>| </i>.
+ ,
+<i>| </i>. .
+<p> ,
+ , , ,
+ <i>| </i>. KDbg ,
+ .
+<p> ,
+<i>Breakpoint</i>, , ,
+<a href="breakptlist.html"> </a>.
+<p>
+ <a href="pgmsettings.html"> </a>,
+ <i>|</i>.
+
+<h4> </h4>
+ , <i>|</i>.
+ ,
+, ,
+ .
+<p> , ,
+ .
+<i>|</i>
+<a href="argspwdenv.html"> </a> ( ).
+<p> .
+ , .
+<i>|</i>.
+<i>OK</i>. ( ),
+ .
+
+<h4> - ?</h4>
+ ,
+, <a href="sourcecode.html"> </a>
+ . ,
+, ( <tt>SIGSEGV</tt>), ,
+ , .
+ <a href="stack.html"> </a> ,
+ ( ) .
+, .
+<p> <i></i> ,
+ , ,
+(<i></i>). , <i></i>
+<i></i>, ,
+ .
+<br><font size=-1> ,
+ ?</font>
+<p> <i> </i> , ,
+ .
+ <a href="breakptlist.html"> </a>.
+ ,
+ .
+ .
+<p> , gdb ,
+ . , KDbg
+ , , KDbg
+.
+<h2>
+<a NAME="InfoWindows"></a> KDbg</h2>
+KDbg .
+<i></i> .
+ , .
+
+<ul>
+<li>
+<a href="sourcecode.html"> </a></li>
+
+<li>
+<a href="localvars.html"> </a></li>
+
+<li>
+<a href="stack.html"> </a></li>
+
+<li>
+<a href="watches.html"> </a></li>
+
+<li>
+<a href="breakptlist.html"> </a></li>
+
+<li>
+<a href="pgmoutput.html"> </a></li>
+
+<li>
+<a href="registers.html"> </a></li>
+
+<li>
+<a href="memory.html"> </a></li>
+
+<li>
+<a href="threads.html"> </a></li>
+</ul>
+
+<h2>
+<a NAME="Tips"></a> .</h2>
+ KDbg.
+<ul>
+<li>
+<a href="tips.html"> </a></li>
+
+<li>
+<a href="howdoi.html"> ...?</a></li>
+</ul>
+
+<h2>
+<a NAME="KnownProblems"></a> </h2>
+gdb 4.16 ++ .
+( , CORBA.)
+ , KDbg , gdb
+. , .
+ gdb, <i>| </i>,
+ .
+<p> KDbg ,
+ .
+
+<h2>
+<a NAME="Author"></a></h2>
+KDbg <a href="mailto:j6t@kdbg.org">Johannes Sixt</a>
+ .
+<br> KDbg
+<a href="http://www.kdbg.org/">http://www.kdbg.org/</a>.
+</body>
+</html>
diff --git a/kdbg/doc/ru/localvars.html b/kdbg/doc/ru/localvars.html
new file mode 100644
index 0000000..31b9a8b
--- /dev/null
+++ b/kdbg/doc/ru/localvars.html
@@ -0,0 +1,19 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+ <i>|</i>.
+ ,
+ (stack frame).
+<p> (stack
+frame), .
+<p> , ,
+ .
+</body>
+</html>
diff --git a/kdbg/doc/ru/memory.html b/kdbg/doc/ru/memory.html
new file mode 100644
index 0000000..e8ba057
--- /dev/null
+++ b/kdbg/doc/ru/memory.html
@@ -0,0 +1,26 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+ <i>|</i>.
+ .
+<p> , .
+
+ .
+<p>
+ ,
+ .
+<p>
+ . ,
+ .
+<p> ,
+ ,
+&#150; .
+</body>
+</html>
diff --git a/kdbg/doc/ru/pgmoutput.html b/kdbg/doc/ru/pgmoutput.html
new file mode 100644
index 0000000..2a17c69
--- /dev/null
+++ b/kdbg/doc/ru/pgmoutput.html
@@ -0,0 +1,43 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+ , <i>|</i>.
+ .
+<p> -
+ : <tt>\n</tt> ( )
+ - , <tt>\r</tt> ( )
+. GUI ,
+
+.
+<p> ,
+<i></i>. KDbg ,
+ .
+ .
+ :
+<ol>
+<li>
+ <a href="pgmsettings.html"></a>
+ <i>|</i>.</li>
+
+<li> <i></i>.</li>
+
+<li> <i> , </i>
+ <i>OK</i>.</li>
+
+<li> <i>| </i>.</li>
+</ol>
+ <i></i> ,
+ .
+<p> ,
+ ,
+ . ,
+ .
+</body>
+</html>
diff --git a/kdbg/doc/ru/pgmsettings.html b/kdbg/doc/ru/pgmsettings.html
new file mode 100644
index 0000000..ca14b4b
--- /dev/null
+++ b/kdbg/doc/ru/pgmsettings.html
@@ -0,0 +1,73 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+ .
+ <i>|</i>.
+
+.
+<blockquote><b><i> :</i></b>
+ KDbg. ,
+ <i>OK</i>
+ <i>| </i>!!</blockquote>
+
+<ul>
+<li>
+<a href="#driver"></a></li>
+
+<li>
+<a href="#output"></a></li>
+</ul>
+
+<h2>
+<a NAME="driver"></a></h2>
+ , .
+<h4> GDB</h4>
+
+<blockquote> gdb.
+gdb ,
+<a href="globaloptions.html"> </a>.
+- ,
+ gdb, .
+<tt>gdb --fullname --nx</tt>.
+ . , KDbg .
+</blockquote>
+
+<h2>
+<a NAME="output"></a></h2>
+ ,
+ .
+<h4> </h4>
+
+<blockquote> ,
+ ,
+ . (<tt>stdin</tt>, <tt>stdout</tt>
+<tt>stderr</tt>) <tt>/dev/null</tt>.</blockquote>
+
+<h4> , </h4>
+
+<blockquote> ,
+ (<tt>stdin</tt> <tt>/dev/null</tt>),
+(<tt>stdout</tt> <tt>stderr</tt>) .
+ <i> </i>.
+
+<br><i>:</i>
+ <tt>\n</tt> (ASCII 10) . <i></i>
+ <tt>\r</tt> (ASCII 13).
+ ,
+ , .</blockquote>
+
+<h4> </h4>
+
+<blockquote> ,
+<tt>stdin</tt>, <tt>stdout</tt> or <tt>stderr</tt>
+ . ,
+ <a href="globaloptions.html"> </a>.</blockquote>
+</body>
+</html>
diff --git a/kdbg/doc/ru/registers.html b/kdbg/doc/ru/registers.html
new file mode 100644
index 0000000..eb5c216
--- /dev/null
+++ b/kdbg/doc/ru/registers.html
@@ -0,0 +1,31 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+ , ,
+KDbg . ,
+ , <i>|</i>.
+<p> 3 :
+<ol>
+<li> <i></i> .</li>
+
+<li> <i></i>
+ .
+, .</li>
+
+<li> <i> </i>
+ .
+ ,
+&#150; ,
+.</li>
+</ol>
+ ,
+ .
+</body>
+</html>
diff --git a/kdbg/doc/ru/sourcecode.html b/kdbg/doc/ru/sourcecode.html
new file mode 100644
index 0000000..fba5f3b
--- /dev/null
+++ b/kdbg/doc/ru/sourcecode.html
@@ -0,0 +1,31 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+ .
+<p> .
+ " ".
+ ,
+, ,
+ .
+<p>
+" ".
+ .
+<p> '+' " "
+ .
+. ,
+ '-'.
+<p> .
+ ,
+ <i> </i>
+ <i>| </i>.
+<p> ,
+ <i></i>.
+</body>
+</html>
diff --git a/kdbg/doc/ru/stack.html b/kdbg/doc/ru/stack.html
new file mode 100644
index 0000000..082ba9b
--- /dev/null
+++ b/kdbg/doc/ru/stack.html
@@ -0,0 +1,23 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+ <i>|</i>.
+ (stack frames), , , ,
+ .
+<p> () ( )
+ .
+<p> ,
+. <a href="sourcecode.html"> </a>
+ , ,
+<a href="localvars.html"> </a>
+<a href="watches.html"> </a> ,
+ .
+</body>
+</html>
diff --git a/kdbg/doc/ru/threads.html b/kdbg/doc/ru/threads.html
new file mode 100644
index 0000000..674c309
--- /dev/null
+++ b/kdbg/doc/ru/threads.html
@@ -0,0 +1,38 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+ , <i>|</i>.
+ .
+<p><b><i>:</i></b>
+ gdb - KDbg.
+Linux- gdb5.
+<p>
+. (.. <i></i>
+ .)
+<p> ,
+ .
+<p> <i></i> :
+<ul>
+<li>
+<a href="stack.html"> </a> .
+</li>
+
+<li><a href="localvars.html"> </a>
+ .</li>
+
+<li><a href="watches.html"> </a>
+ .</li>
+</ul>
+ ,
+ . ,
+<a href="sourcecode.html"> </a> ,
+ .
+</body>
+</html>
diff --git a/kdbg/doc/ru/tips.html b/kdbg/doc/ru/tips.html
new file mode 100644
index 0000000..7739496
--- /dev/null
+++ b/kdbg/doc/ru/tips.html
@@ -0,0 +1,43 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+
+<ul>
+<li> <tt>LD_BIND_NOW=1</tt>
+, glibc2.
+
+
+<a href="argspwdenv.html#Environment"></a>.</li>
+
+<li> , :
+ . ,
+ (
+ <i> </i>). ..
+ (.. KDbg
+),
+ .
+</li>
+
+<li> :
+ ( ) <tt>var.member=17</tt>
+ <i></i>.
+. (
+ <i></i>). ,
+
+ !</li>
+
+<li> ,
+ gdb . ,
+<tt>/x var.member</tt> <tt>var.member</tt>
+.</li>
+</ul>
+
+</body>
+</html>
diff --git a/kdbg/doc/ru/types.html b/kdbg/doc/ru/types.html
new file mode 100644
index 0000000..7df4271
--- /dev/null
+++ b/kdbg/doc/ru/types.html
@@ -0,0 +1,126 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> KDbg</h1>
+KDbg
+,
+<a href="localvars.html"> </a>
+<a href="watches.html"> </a>. ,
+ , <i> </i>.
+ .
+<p> KDbg
+<tt>$KDEDIR/share/apps/kdbg/types</tt>.
+<tt>.kdbgtt</tt>. , <tt>libqt.so</tt>
+<tt>qt.kdbgtt</tt>.
+<p>
+KDE. :
+<ul>
+<li>
+ <tt>[Type Table]</tt>, ,
+ , .</li>
+
+<li> , ,
+ KDbg .</li>
+</ul>
+ , , KDbg
+ , .
+
+<tt>ShlibRE</tt>. ,
+ . ,
+, .
+<h2> <tt>[Type Table]</tt></h2>
+ :
+<ul>
+<li>
+<tt>Types1</tt>, <tt>Types2</tt>, . .
+ .
+ . (
+ ,
+.) .
+ (KDbg ),
+ (.. ).
+ (. <tt>Alias</tt> ).
+</li>
+
+<li>
+<tt>ShlibRE</tt>. KDbg ,
+ . KDbg
+ , .
+ , .
+ Qt (
+<tt>.*?[]^$\</tt> ,
+ .)</li>
+
+<li>
+<tt>LibDisplayName</tt>. ,
+ .</li>
+
+<br><font size=-1> .</font></ul>
+
+<h2> </h2>
+ , .
+<font size=-1> ++ .</font>
+ :
+<ul>
+<li>
+<tt>Display</tt> , KDbg .
+ 1 5 '<tt>%</tt>'.
+ , <tt>Expr</tt><i>x</i>.</li>
+
+<li> <tt>Expr1</tt>, <tt>Expr2</tt>, .
+ <b> </b> <tt>%s</tt>,
+ , .
+ gdb,
+ <tt>Display</tt>.</li>
+
+<li>
+<tt>Alias</tt> -. ,
+ , , .
+-
+<tt>Types</tt><i>x</i> <tt>[Type Table]</tt>.</li>
+</ul>
+<font size=-1>
+. ,
+ - .</font>
+<p>KDbg ,
+ Qt 2.0 unicode: <tt>Expr</tt><i>x</i>
+<tt>/QString::Data</tt>, ,
+ <tt>QString::Data</tt>.
+unicode, <tt>QString::Data</tt> (
+<tt>QString::null</tt>, Qt, <tt>(null)</tt>,
+<tt>unicode</tt> ). .
+<tt>qt2.kdbgtt</tt>.
+
+<p>: ,
+ - KDbg
+ () .
+ <tt>Alias</tt>
+ , .
+<h2></h2>
+ , <tt>QString</tt> <tt>QObject</tt>
+<tt>qt.kdbgtt</tt>. <tt>QTableView</tt>,
+ <tt>QObject</tt>. Qt 1.x,
+ , <tt>libqt.so.1</tt>.
+<pre>[Type Table]
+Types1=QString
+Types2=QObject,QTableView
+LibDisplayName=libqt 1.x
+ShlibRE=libqt\.so\.1$
+[QString]
+Display={ % }
+Expr1=(%s).shd->data
+[QObject]
+Display={ name=% #chld=% }
+Expr1=(%s).objname
+Expr2=(%s).childObjects->numNodes
+[QTableView]
+Alias=QObject</pre>
+: <tt>%s</tt> .
+</body>
+</html>
diff --git a/kdbg/doc/ru/watches.html b/kdbg/doc/ru/watches.html
new file mode 100644
index 0000000..0953b7c
--- /dev/null
+++ b/kdbg/doc/ru/watches.html
@@ -0,0 +1,20 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <meta name="Author" content="Johannes Sixt">
+ <title>KDbg - - </title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+<a href="index.html"></a>
+<h1> </h1>
+
+<i>| </i>. .
+<p> , Enter
+ <i></i>. ,
+( ?) <i>Del</i>.
+<p> .
+ , , ..
+ .
+</body>
+</html>
diff --git a/kdbg/envvar.h b/kdbg/envvar.h
new file mode 100644
index 0000000..20339b2
--- /dev/null
+++ b/kdbg/envvar.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef ENVVAR_H
+#define ENVVAR_H
+
+/*
+ * Description of environment variables. Note that the name of the variable
+ * is given as the key in the QDict, so we don't repeat it here.
+ */
+
+class QListViewItem;
+
+struct EnvVar {
+ QString value;
+ enum EnvVarStatus { EVclean, EVdirty, EVnew, EVdeleted };
+ EnvVarStatus status;
+ QListViewItem* item;
+};
+
+#endif // ENVVAR_H
diff --git a/kdbg/exprwnd.cpp b/kdbg/exprwnd.cpp
new file mode 100644
index 0000000..fc0fc8b
--- /dev/null
+++ b/kdbg/exprwnd.cpp
@@ -0,0 +1,831 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "exprwnd.h"
+#include "exprwnd.moc"
+#include "typetable.h"
+#include <qstringlist.h>
+#include <qpainter.h>
+#include <qscrollbar.h>
+#include <kapplication.h>
+#include <kiconloader.h> /* icons */
+#include <klocale.h> /* i18n */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "mydebug.h"
+
+VarTree::VarTree(VarTree* parent, QListViewItem* after, ExprValue* v) :
+ QListViewItem(parent, after),
+ m_varKind(v->m_varKind),
+ m_nameKind(v->m_nameKind),
+ m_type(0),
+ m_exprIndex(0),
+ m_exprIndexUseGuard(false),
+ m_baseValue(v->m_value),
+ m_baseChanged(false),
+ m_structChanged(false)
+{
+ QListViewItem::setText(0, v->m_name);
+ updateValueText();
+ setExpandable(m_varKind == VarTree::VKpointer);
+ setOpen(v->m_initiallyExpanded);
+}
+
+VarTree::VarTree(ExprWnd* parent, QListViewItem* after, const QString& name) :
+ QListViewItem(parent, after),
+ m_varKind(VKsimple),
+ m_nameKind(VarTree::NKplain),
+ m_type(0),
+ m_exprIndex(0),
+ m_exprIndexUseGuard(false),
+ m_baseChanged(false),
+ m_structChanged(false)
+{
+ QListViewItem::setText(0, name);
+}
+
+VarTree::~VarTree()
+{
+}
+
+void VarTree::paintCell(QPainter* p, const QColorGroup& cg, int column, int width, int align)
+{
+ if (column == 1 && (m_baseChanged || m_structChanged)) {
+ QColorGroup cgChg = cg;
+ cgChg.setColor(QColorGroup::Text, Qt::red);
+ QListViewItem::paintCell(p, cgChg, column, width, align);
+ } else {
+ QListViewItem::paintCell(p, cg, column, width, align);
+ }
+}
+
+QString VarTree::computeExpr() const
+{
+ // top-level items are special
+ if (isToplevelExpr())
+ return getText();
+
+ // get parent expr
+ VarTree* par = static_cast<VarTree*>(parent());
+ QString parentExpr = par->computeExpr();
+
+ // skip this item's name if it is a base class or anonymous struct or union
+ if (m_nameKind == NKtype || m_nameKind == NKanonymous) {
+ return parentExpr;
+ }
+ /* augment by this item's text */
+ QString result;
+ /* if this is an address, dereference it */
+ if (m_nameKind == NKaddress) {
+ ASSERT(par->m_varKind == VKpointer);
+ result = "*" + parentExpr;
+ return result;
+ }
+ switch (par->m_varKind) {
+ case VKarray:
+ {
+ QString index = getText();
+ int i = 1;
+ // skip past the index
+ while (index[i].isDigit())
+ i++;
+ /*
+ * Some array indices are actually ranges due to repeated array
+ * values. We use the first index in these cases.
+ */
+ if (index[i] != ']') {
+ // remove second index
+ index.remove(i, index.length()-i-1);
+ }
+ result = "(" + parentExpr + ")" + index;
+ }
+ break;
+ case VKstruct:
+ result = "(" + parentExpr + ")." + getText();
+ break;
+ case VKsimple: /* parent can't be simple */
+ case VKpointer: /* handled in NKaddress */
+ case VKdummy: /* can't occur at all */
+ ASSERT(false);
+ result = parentExpr; /* paranoia */
+ break;
+ }
+ return result;
+}
+
+bool VarTree::isToplevelExpr() const
+{
+ return parent() == 0;
+}
+
+bool VarTree::isAncestorEq(const VarTree* child) const
+{
+ const QListViewItem* c = child;
+ while (c != 0 && c != this) {
+ c = c->parent();
+ }
+ return c != 0;
+}
+
+bool VarTree::updateValue(const QString& newValue)
+{
+ // check whether the value changed
+ bool prevValueChanged = m_baseChanged;
+ if ((m_baseChanged = m_baseValue != newValue)) {
+ m_baseValue = newValue;
+ updateValueText();
+ }
+ /*
+ * We must repaint the cell if the value changed. If it did not change,
+ * we still must repaint the cell if the value changed previously,
+ * because the color of the display must be changed (from red to
+ * black).
+ */
+ return m_baseChanged || prevValueChanged;
+}
+
+bool VarTree::updateStructValue(const QString& newValue)
+{
+ // check whether the value changed
+ bool prevValueChanged = m_structChanged;
+ if ((m_structChanged = m_structValue != newValue)) {
+ m_structValue = newValue;
+ updateValueText();
+ }
+ /*
+ * We must repaint the cell if the value changed. If it did not change,
+ * we still must repaint the cell if the value changed previously,
+ * because the color of the display must be changed (from red to
+ * black).
+ */
+ return m_structChanged || prevValueChanged;
+}
+
+void VarTree::updateValueText()
+{
+ if (m_baseValue.isEmpty()) {
+ QListViewItem::setText(1, m_structValue);
+ } else if (m_structValue.isEmpty()) {
+ QListViewItem::setText(1, m_baseValue);
+ } else {
+ QListViewItem::setText(1, m_baseValue + " " + m_structValue);
+ }
+}
+
+void VarTree::inferTypesOfChildren(ProgramTypeTable& typeTable)
+{
+ /*
+ * Type inference works like this: We use type information of those
+ * children that have a type name in their name (base classes) or in
+ * their value (pointers)
+ */
+
+ // first recurse children
+ VarTree* child = firstChild();
+ while (child != 0) {
+ child->inferTypesOfChildren(typeTable);
+ child = child->nextSibling();
+ }
+
+ // if this is a pointer, get the type from the value (less the pointer)
+ if (m_varKind == VKpointer) {
+ if (isWcharT())
+ {
+ /*
+ * wchart_t pointers must be treated as struct, because the array
+ * of characters is printed similar to how QStrings are decoded.
+ */
+ m_varKind = VKstruct;
+ setExpandable(false);
+ }
+ // don't know how to do this cleanly
+ } else if (m_varKind == VKstruct) {
+ // check if this is a base class part
+ if (m_nameKind == NKtype) {
+ const QString& typeName =
+ getText().mid(1, getText().length()-2); // strip < and >
+ m_type = typeTable.lookup(typeName);
+
+ /* if we don't have a type yet, get it from the base class */
+ if (m_type == 0) {
+ m_type = inferTypeFromBaseClass();
+ /*
+ * If there is a known type now, it is the one from the
+ * first base class whose type we know.
+ */
+ }
+
+ /*
+ * If we still don't have a type, the type is really unknown.
+ */
+ if (m_type == 0) {
+ m_type = TypeInfo::unknownType();
+ }
+ } // else
+ /*
+ * This is not a base class part. We don't assign a type so
+ * that later we can ask gdb.
+ */
+ }
+}
+
+// the value contains the pointer type in parenthesis
+bool VarTree::isWcharT() const
+{
+ return value().startsWith("(const wchar_t *)") ||
+ value().startsWith("(wchar_t *)");
+}
+
+/*
+ * Get the type of the first base class whose type we know.
+ */
+TypeInfo* VarTree::inferTypeFromBaseClass()
+{
+ if (m_varKind == VKstruct) {
+ VarTree* child = firstChild();
+ while (child != 0 &&
+ // only check base class parts (i.e. type names)
+ child->m_nameKind == NKtype)
+ {
+ if (child->m_type != 0 &&
+ child->m_type != TypeInfo::unknownType())
+ {
+ // got a type!
+ return child->m_type;
+ }
+ child = child->nextSibling();
+ }
+ }
+ return 0;
+}
+
+ExprValue::ExprValue(const QString& name, VarTree::NameKind aKind) :
+ m_name(name),
+ m_varKind(VarTree::VKsimple),
+ m_nameKind(aKind),
+ m_child(0),
+ m_next(0),
+ m_initiallyExpanded(false)
+{
+}
+
+ExprValue::~ExprValue()
+{
+ delete m_child;
+ delete m_next;
+}
+
+void ExprValue::appendChild(ExprValue* newChild)
+{
+ if (m_child == 0) {
+ m_child = newChild;
+ } else {
+ // walk chain of children to find the last one
+ ExprValue* last = m_child;
+ while (last->m_next != 0)
+ last = last->m_next;
+ last->m_next = newChild;
+ }
+ newChild->m_next = 0; // just to be sure
+}
+
+int ExprValue::childCount() const
+{
+ int i = 0;
+ ExprValue* c = m_child;
+ while (c) {
+ ++i;
+ c = c->m_next;
+ }
+ return i;
+}
+
+
+
+ExprWnd::ExprWnd(QWidget* parent, const QString& colHeader, const char* name) :
+ QListView(parent, name),
+ m_edit(0)
+{
+ addColumn(colHeader);
+ addColumn(i18n("Value"));
+ setSorting(-1); // do not sort items
+ setColumnWidthMode(0, Manual);
+ setColumnWidthMode(1, Maximum);
+ setRootIsDecorated(true);
+ setAllColumnsShowFocus(true);
+
+ m_pixPointer = UserIcon("pointer.xpm");
+ if (m_pixPointer.isNull())
+ TRACE("Can't load pointer.xpm");
+}
+
+ExprWnd::~ExprWnd()
+{
+}
+
+QStringList ExprWnd::exprList() const
+{
+ QStringList exprs;
+ VarTree* item;
+ for (item = firstChild(); item != 0; item = item->nextSibling()) {
+ exprs.append(item->getText());
+ }
+ return exprs;
+}
+
+VarTree* ExprWnd::insertExpr(ExprValue* expr, ProgramTypeTable& typeTable)
+{
+ // append a new dummy expression
+ VarTree* last = 0; // last top-level item
+ for (VarTree* i = firstChild(); i != 0; i = i->nextSibling()) {
+ last = i;
+ }
+ VarTree* display = new VarTree(this, last, expr->m_name);
+
+ // replace it right away
+ updateExpr(display, expr, typeTable);
+ return display;
+}
+
+void ExprWnd::updateExpr(ExprValue* expr, ProgramTypeTable& typeTable)
+{
+ // search the root variable
+ VarTree* item = firstChild();
+ while (item != 0 && item->getText() != expr->m_name)
+ item = item->nextSibling();
+ if (item == 0) {
+ return;
+ }
+ // now update it
+ updateExprRec(item, expr, typeTable);
+ collectUnknownTypes(item);
+}
+
+void ExprWnd::updateExpr(VarTree* display, ExprValue* newValues, ProgramTypeTable& typeTable)
+{
+ updateExprRec(display, newValues, typeTable);
+ collectUnknownTypes(display);
+}
+
+/*
+ * returns true if there's a visible change
+ */
+void ExprWnd::updateExprRec(VarTree* display, ExprValue* newValues, ProgramTypeTable& typeTable)
+{
+ bool isExpanded = display->isOpen();
+
+ /*
+ * If we are updating a pointer without children by a dummy, we don't
+ * collapse it, but simply insert the new children. This happens when a
+ * pointer has just been expanded by the user.
+ */
+ if (display->m_varKind == VarTree::VKpointer &&
+ display->childCount() == 0 &&
+ newValues->m_varKind == VarTree::VKdummy)
+ {
+ replaceChildren(display, newValues);
+ return;
+ }
+
+ /*
+ * If the display and newValues have different kind or if their number
+ * of children is different, replace the whole sub-tree.
+ */
+ if (// the next two lines mean: not(m_varKind remains unchanged)
+ !(newValues->m_varKind == VarTree::VKdummy ||
+ display->m_varKind == newValues->m_varKind)
+ ||
+ (display->childCount() != newValues->childCount() &&
+ /*
+ * If this is a pointer and newValues doesn't have children, we
+ * don't replace the sub-tree; instead, below we mark this
+ * sub-tree for requiring an update.
+ */
+ (display->m_varKind != VarTree::VKpointer ||
+ newValues->m_child != 0)))
+ {
+ if (isExpanded) {
+ display->setOpen(false);
+ }
+
+ // since children changed, it is likely that the type has also changed
+ display->m_type = 0; /* will re-evaluate the type */
+
+ // display the new value
+ updateSingleExpr(display, newValues);
+ replaceChildren(display, newValues);
+
+ // update the m_varKind
+ if (newValues->m_varKind != VarTree::VKdummy) {
+ display->m_varKind = newValues->m_varKind;
+ display->setExpandable(newValues->m_varKind == VarTree::VKpointer);
+ }
+
+ // get some types (after the new m_varKind has been set!)
+ display->inferTypesOfChildren(typeTable);
+
+ // (note that the new value might not have a sub-tree at all)
+ return;
+ }
+
+ // display the new value
+ updateSingleExpr(display, newValues);
+
+ /*
+ * If this is an expanded pointer, record it for being updated.
+ */
+ if (display->m_varKind == VarTree::VKpointer) {
+ if (isExpanded &&
+ // if newValues is a dummy, we have already updated this pointer
+ newValues->m_varKind != VarTree::VKdummy)
+ {
+ m_updatePtrs.push_back(display);
+ }
+ /*
+ * If the visible sub-tree has children, but newValues doesn't, we
+ * can stop here.
+ */
+ if (newValues->m_child == 0) {
+ return;
+ }
+ }
+
+ ASSERT(display->childCount() == newValues->childCount());
+
+ // go for children
+ VarTree* vDisplay = display->firstChild();
+ ExprValue* vNew = newValues->m_child;
+ while (vDisplay != 0) {
+ // check whether the names are the same
+ if (vDisplay->getText() != vNew->m_name) {
+ // set new name
+ vDisplay->setText(vNew->m_name);
+ }
+ // recurse
+ updateExprRec(vDisplay, vNew, typeTable);
+
+ vDisplay = vDisplay->nextSibling();
+ vNew = vNew->m_next;
+ }
+}
+
+void ExprWnd::updateSingleExpr(VarTree* display, ExprValue* newValue)
+{
+ /*
+ * If newValues is a VKdummy, we are only interested in its children.
+ * No need to update anything here.
+ */
+ if (newValue->m_varKind == VarTree::VKdummy) {
+ return;
+ }
+
+ /*
+ * If this node is a struct and we know its type then we know how to
+ * find a nested value. So register the node for an update.
+ *
+ * wchar_t types are also treated specially here: We consider them
+ * as struct (has been set in inferTypesOfChildren()).
+ */
+ if (display->m_varKind == VarTree::VKstruct &&
+ display->m_type != 0 &&
+ display->m_type != TypeInfo::unknownType())
+ {
+ ASSERT(newValue->m_varKind == VarTree::VKstruct);
+ if (display->m_type == TypeInfo::wchartType())
+ {
+ display->m_partialValue = "L";
+ }
+ else
+ display->m_partialValue = display->m_type->m_displayString[0];
+ m_updateStruct.push_back(display);
+ }
+
+ if (display->updateValue(newValue->m_value)) {
+ triggerUpdate();
+ }
+}
+
+void ExprWnd::updateStructValue(VarTree* display)
+{
+ ASSERT(display->m_varKind == VarTree::VKstruct);
+
+ if (display->updateStructValue(display->m_partialValue)) {
+ triggerUpdate();
+ }
+ // reset the value
+ display->m_partialValue = "";
+ display->m_exprIndex = -1;
+}
+
+void ExprWnd::replaceChildren(VarTree* display, ExprValue* newValues)
+{
+ ASSERT(display->childCount() == 0 || display->m_varKind != VarTree::VKsimple);
+
+ // delete all children of display
+ while (VarTree* c = display->firstChild()) {
+ unhookSubtree(c);
+ delete c;
+ }
+ // insert copies of the newValues
+ VarTree* vNew = 0;
+ for (ExprValue* v = newValues->m_child; v != 0; v = v->m_next)
+ {
+ vNew = new VarTree(display, vNew, v);
+ // recurse
+ replaceChildren(vNew, v);
+ }
+}
+
+void ExprWnd::collectUnknownTypes(VarTree* var)
+{
+ QListViewItemIterator i(var);
+ for (; i.current(); ++i)
+ {
+ checkUnknownType(static_cast<VarTree*>(i.current()));
+ }
+}
+
+void ExprWnd::checkUnknownType(VarTree* var)
+{
+ ASSERT(var->m_varKind != VarTree::VKpointer || var->m_nameKind != VarTree::NKtype);
+ if (var->m_type == 0 &&
+ var->m_varKind == VarTree::VKstruct &&
+ var->m_nameKind != VarTree::NKtype &&
+ var->m_nameKind != VarTree::NKanonymous)
+ {
+ if (!var->isWcharT())
+ {
+ /* this struct node doesn't have a type yet: register it */
+ m_updateType.push_back(var);
+ }
+ else
+ {
+ var->m_type = TypeInfo::wchartType();
+ var->m_partialValue = "L";
+ m_updateStruct.push_back(var);
+ }
+ }
+ // add pointer pixmap to pointers
+ if (var->m_varKind == VarTree::VKpointer) {
+ var->setPixmap(m_pixPointer);
+ }
+}
+
+QString ExprWnd::formatWCharPointer(QString value)
+{
+ int pos = value.find(") ");
+ if (pos > 0)
+ value = value.mid(pos+2);
+ return value + " L";
+}
+
+
+VarTree* ExprWnd::topLevelExprByName(const QString& name) const
+{
+ VarTree* item = firstChild();
+ while (item != 0 && item->getText() != name)
+ item = item->nextSibling();
+
+ return item;
+}
+
+VarTree* ExprWnd::ptrMemberByName(VarTree* v, const QString& name)
+{
+ // v must be a pointer variable, must have children
+ if (v->m_varKind != VarTree::VKpointer || v->childCount() == 0)
+ return 0;
+
+ // the only child of v is the pointer value that represents the struct
+ VarTree* item = v->firstChild();
+ return memberByName(item, name);
+}
+
+VarTree* ExprWnd::memberByName(VarTree* v, const QString& name)
+{
+ // search immediate children for name
+ VarTree* item = v->firstChild();
+ while (item != 0 && item->getText() != name)
+ item = item->nextSibling();
+
+ if (item != 0)
+ return item;
+
+ // try in base classes and members that are anonymous structs or unions
+ item = v->firstChild();
+ while (item != 0)
+ {
+ if (item->m_nameKind == VarTree::NKtype ||
+ item->m_nameKind == VarTree::NKanonymous)
+ {
+ v = memberByName(item, name);
+ if (v != 0)
+ return v;
+ }
+ item = item->nextSibling();
+ }
+ return 0;
+}
+
+void ExprWnd::removeExpr(VarTree* item)
+{
+ unhookSubtree(item);
+
+ delete item;
+}
+
+void ExprWnd::unhookSubtree(VarTree* subTree)
+{
+ // must remove any pointers scheduled for update from the list
+ unhookSubtree(m_updatePtrs, subTree);
+ unhookSubtree(m_updateType, subTree);
+ unhookSubtree(m_updateStruct, subTree);
+ emit removingItem(subTree);
+}
+
+void ExprWnd::unhookSubtree(std::list<VarTree*>& list, VarTree* subTree)
+{
+ if (subTree == 0)
+ return;
+
+ std::list<VarTree*>::iterator i = list.begin();
+ while (i != list.end()) {
+ std::list<VarTree*>::iterator checkItem = i;
+ ++i;
+ if (subTree->isAncestorEq(*checkItem)) {
+ // checkItem is an item from subTree
+ list.erase(checkItem);
+ }
+ }
+}
+
+void ExprWnd::clearPendingUpdates()
+{
+ m_updatePtrs.clear();
+ m_updateType.clear();
+ m_updateStruct.clear();
+}
+
+VarTree* ExprWnd::nextUpdatePtr()
+{
+ VarTree* ptr = 0;
+ if (!m_updatePtrs.empty()) {
+ ptr = m_updatePtrs.front();
+ m_updatePtrs.pop_front();
+ }
+ return ptr;
+}
+
+VarTree* ExprWnd::nextUpdateType()
+{
+ VarTree* ptr = 0;
+ if (!m_updateType.empty()) {
+ ptr = m_updateType.front();
+ m_updateType.pop_front();
+ }
+ return ptr;
+}
+
+VarTree* ExprWnd::nextUpdateStruct()
+{
+ VarTree* ptr = 0;
+ if (!m_updateStruct.empty()) {
+ ptr = m_updateStruct.front();
+ m_updateStruct.pop_front();
+ }
+ return ptr;
+}
+
+
+void ExprWnd::editValue(VarTree* item, const QString& text)
+{
+ if (m_edit == 0)
+ m_edit = new ValueEdit(this);
+
+ QRect r = itemRect(item);
+ int x = r.x()+columnWidth(0);
+ int y = r.y();
+ int w = columnWidth(1);
+ int h = r.height();
+ QListView* lv = item->listView();
+
+ /*
+ * Make the edit widget at least 5 characters wide (but not wider than
+ * this widget). If less than half of this widget is used to display
+ * the text, scroll this widget so that half of it shows the text (or
+ * less than half of it if the text is shorter).
+ */
+ QFontMetrics metr = m_edit->font();
+ int wMin = metr.width("88888");
+ if (w < wMin)
+ w = wMin;
+ int wThis = lv->visibleWidth();
+ if (x >= wThis/2 && // less than half the width displays text
+ x+w > wThis) // not all text is visible
+ {
+ // scroll so that more text is visible
+ int wScroll = QMIN(x-wThis/2, x+w-wThis);
+ lv->scrollBy(wScroll, 0);
+ x -= wScroll;
+ }
+ else if (x < 0)
+ {
+ // don't let the edit move out at the left
+ x = 0;
+ }
+
+ // make the edit box as wide as the visible column
+ QRect rect(x,y, wThis-x,h);
+ m_edit->setText(text);
+ m_edit->selectAll();
+
+ m_edit->setGeometry(rect);
+ m_edit->m_finished = false;
+ m_edit->m_item = item;
+ m_edit->show();
+ m_edit->setFocus();
+}
+
+bool ExprWnd::isEditing() const
+{
+ return m_edit != 0 && m_edit->isVisible();
+}
+
+
+ValueEdit::ValueEdit(ExprWnd* parent) :
+ QLineEdit(parent->viewport(), "valueedit")
+{
+ setFrame(false);
+ hide();
+ lower(); // lower the window below scrollbars
+ connect(parent, SIGNAL(selectionChanged()), SLOT(slotSelectionChanged()));
+ connect(parent, SIGNAL(currentChanged(QListViewItem*)), SLOT(slotSelectionChanged()));
+ connect(parent, SIGNAL(expanded(QListViewItem*)), SLOT(slotSelectionChanged()));
+ connect(parent, SIGNAL(collapsed(QListViewItem*)), SLOT(slotSelectionChanged()));
+ connect(this, SIGNAL(done(VarTree*, const QString&)),
+ parent, SIGNAL(editValueCommitted(VarTree*, const QString&)));
+}
+
+ValueEdit::~ValueEdit()
+{
+}
+
+void ValueEdit::terminate(bool commit)
+{
+ TRACE(commit?"ValueEdit::terminate(true)":"ValueEdit::terminate(false)");
+ if (!m_finished)
+ {
+ m_finished = true;
+ hide(); // will call focusOutEvent, that's why we need m_finished
+ if (commit) {
+ emit done(m_item, text());
+ }
+ }
+}
+
+void ValueEdit::keyPressEvent(QKeyEvent *e)
+{
+ if(e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter)
+ terminate(true);
+ else if(e->key() == Qt::Key_Escape)
+ terminate(false);
+ else
+ QLineEdit::keyPressEvent(e);
+}
+
+void ValueEdit::paintEvent(QPaintEvent* e)
+{
+ QLineEdit::paintEvent(e);
+
+ QPainter p(this);
+ p.drawRect(rect());
+}
+
+void ValueEdit::focusOutEvent(QFocusEvent* ev)
+{
+ TRACE("ValueEdit::focusOutEvent");
+ QFocusEvent* focusEv = static_cast<QFocusEvent*>(ev);
+ if (focusEv->reason() == QFocusEvent::ActiveWindow)
+ {
+ // Switching to a different window should terminate the edit,
+ // because if the window with this variable display is floating
+ // then that different window could be the main window, where
+ // the user had clicked one of the Execute buttons. This in turn
+ // may pull the item away that we are editing here.
+ terminate(false);
+ }
+ // Don't let a RMB close the editor
+ else if (focusEv->reason() != QFocusEvent::Popup)
+ {
+ terminate(true);
+ }
+}
+
+void ValueEdit::slotSelectionChanged()
+{
+ TRACE("ValueEdit::slotSelectionChanged");
+ terminate(false);
+}
diff --git a/kdbg/exprwnd.h b/kdbg/exprwnd.h
new file mode 100644
index 0000000..6281296
--- /dev/null
+++ b/kdbg/exprwnd.h
@@ -0,0 +1,180 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef EXPRWND_H
+#define EXPRWND_H
+
+#include "qlistview.h"
+#include <qlineedit.h>
+#include <qpixmap.h>
+#include <list>
+
+class ProgramTypeTable;
+class TypeInfo;
+struct ExprValue;
+class ExprWnd;
+class QStringList;
+
+/*! \brief a variable's value is the tree of sub-variables */
+class VarTree : public QListViewItem
+{
+public:
+ enum VarKind { VKsimple, VKpointer, VKstruct, VKarray,
+ VKdummy //!< used to update only children
+ };
+ VarKind m_varKind;
+ enum NameKind { NKplain, NKstatic, NKtype,
+ NKanonymous, //!< an anonymous struct or union
+ NKaddress //!< a dereferenced pointer
+ };
+ NameKind m_nameKind;
+ TypeInfo* m_type; //!< the type of struct if it could be derived
+ int m_exprIndex; //!< used in struct value update
+ bool m_exprIndexUseGuard; //!< ditto; if guard expr should be used
+ QString m_partialValue; //!< while struct value update is in progress
+
+ VarTree(VarTree* parent, QListViewItem* after, ExprValue* v);
+ VarTree(ExprWnd* parent, QListViewItem* after, const QString& name);
+ virtual ~VarTree();
+public:
+ virtual void paintCell(QPainter* p, const QColorGroup& cg, int column, int width, int align);
+ QString computeExpr() const;
+ bool isToplevelExpr() const;
+ /** is this element an ancestor of (or equal to) child? */
+ bool isAncestorEq(const VarTree* child) const;
+ /** update the regular value; returns whether a repaint is necessary */
+ bool updateValue(const QString& newValue);
+ /** update the "quick member" value; returns whether repaint is necessary */
+ bool updateStructValue(const QString& newValue);
+ /** find out the type of this value using the child values */
+ void inferTypesOfChildren(ProgramTypeTable& typeTable);
+ /** get the type from base class part */
+ TypeInfo* inferTypeFromBaseClass();
+ /** returns whether the pointer is a wchar_t */
+ bool isWcharT() const;
+
+ QString getText() const { return text(0); }
+ void setText(const QString& t) { QListViewItem::setText(0, t); }
+ void setPixmap(const QPixmap& p) { QListViewItem::setPixmap(0, p); }
+ QString value() const { return m_baseValue; }
+ VarTree* firstChild() const { return static_cast<VarTree*>(QListViewItem::firstChild()); }
+ VarTree* nextSibling() const { return static_cast<VarTree*>(QListViewItem::nextSibling()); }
+
+private:
+ void updateValueText();
+ QString m_baseValue; //!< The "normal value" that the driver reported
+ QString m_structValue; //!< The "quick member" value
+ bool m_baseChanged : 1;
+ bool m_structChanged : 1;
+};
+
+/**
+ * Represents the value tree that is parsed by the debugger drivers.
+ */
+struct ExprValue
+{
+ QString m_name;
+ QString m_value;
+ VarTree::VarKind m_varKind;
+ VarTree::NameKind m_nameKind;
+ ExprValue* m_child; /* the first child expression */
+ ExprValue* m_next; /* the next sibling expression */
+ bool m_initiallyExpanded;
+
+ ExprValue(const QString& name, VarTree::NameKind kind);
+ ~ExprValue();
+
+ void appendChild(ExprValue* newChild);
+ int childCount() const;
+};
+
+
+class ValueEdit : public QLineEdit
+{
+ Q_OBJECT
+public:
+ ValueEdit(ExprWnd* parent);
+ ~ValueEdit();
+
+ void terminate(bool commit);
+ VarTree* m_item;
+ bool m_finished;
+protected:
+ void keyPressEvent(QKeyEvent *e);
+ void focusOutEvent(QFocusEvent* ev);
+ void paintEvent(QPaintEvent* e);
+public slots:
+ void slotSelectionChanged();
+signals:
+ void done(VarTree*, const QString&);
+};
+
+
+class ExprWnd : public QListView
+{
+ Q_OBJECT
+public:
+ ExprWnd(QWidget* parent, const QString& colHeader, const char* name);
+ ~ExprWnd();
+
+ /** returns the list with the expressions at the topmost level */
+ QStringList exprList() const;
+ /** appends a copy of expr to the end of the tree at the topmost level;
+ * returns a pointer to the inserted top-level item */
+ VarTree* insertExpr(ExprValue* expr, ProgramTypeTable& typeTable);
+ /** updates an existing expression */
+ void updateExpr(ExprValue* expr, ProgramTypeTable& typeTable);
+ void updateExpr(VarTree* display, ExprValue* newValues, ProgramTypeTable& typeTable);
+ /** updates the value and repaints it for a single item (not the children) */
+ void updateSingleExpr(VarTree* display, ExprValue* newValues);
+ /** updates only the value of the node */
+ void updateStructValue(VarTree* display);
+ /** get a top-level expression by name */
+ VarTree* topLevelExprByName(const QString& name) const;
+ /** return a member of the struct that pointer \a v refers to */
+ static VarTree* ptrMemberByName(VarTree* v, const QString& name);
+ /** return a member of the struct \a v */
+ static VarTree* memberByName(VarTree* v, const QString& name);
+ /** removes an expression; must be on the topmost level*/
+ void removeExpr(VarTree* item);
+ /** clears the list of pointers needing updates */
+ void clearPendingUpdates();
+ /** returns a pointer to update (or 0) and removes it from the list */
+ VarTree* nextUpdatePtr();
+ VarTree* nextUpdateType();
+ VarTree* nextUpdateStruct();
+ void editValue(VarTree* item, const QString& text);
+ /** tells whether the a value is currently edited */
+ bool isEditing() const;
+
+ VarTree* firstChild() const { return static_cast<VarTree*>(QListView::firstChild()); }
+ VarTree* currentItem() const { return static_cast<VarTree*>(QListView::currentItem()); }
+ VarTree* selectedItem() const { return static_cast<VarTree*>(QListView::selectedItem()); }
+
+protected:
+ void updateExprRec(VarTree* display, ExprValue* newValues, ProgramTypeTable& typeTable);
+ void replaceChildren(VarTree* display, ExprValue* newValues);
+ void collectUnknownTypes(VarTree* item);
+ void checkUnknownType(VarTree* item);
+ static QString formatWCharPointer(QString value);
+ QPixmap m_pixPointer;
+
+ std::list<VarTree*> m_updatePtrs; //!< dereferenced pointers that need update
+ std::list<VarTree*> m_updateType; //!< structs whose type must be determined
+ std::list<VarTree*> m_updateStruct; //!< structs whose nested value needs update
+
+ ValueEdit* m_edit;
+
+ /** remove items that are in the subTree from the list */
+ void unhookSubtree(VarTree* subTree);
+ static void unhookSubtree(std::list<VarTree*>& list, VarTree* subTree);
+
+signals:
+ void removingItem(VarTree*);
+ void editValueCommitted(VarTree*, const QString&);
+};
+
+#endif // EXPRWND_H
diff --git a/kdbg/gdbdriver.cpp b/kdbg/gdbdriver.cpp
new file mode 100644
index 0000000..c0fcc94
--- /dev/null
+++ b/kdbg/gdbdriver.cpp
@@ -0,0 +1,2572 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "gdbdriver.h"
+#include "exprwnd.h"
+#include <qregexp.h>
+#include <qstringlist.h>
+#include <klocale.h> /* i18n */
+#include <ctype.h>
+#include <stdlib.h> /* strtol, atoi */
+#include <string.h> /* strcpy */
+
+#include "assert.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "mydebug.h"
+
+static void skipString(const char*& p);
+static void skipNested(const char*& s, char opening, char closing);
+static ExprValue* parseVar(const char*& s);
+static bool parseName(const char*& s, QString& name, VarTree::NameKind& kind);
+static bool parseValue(const char*& s, ExprValue* variable);
+static bool parseNested(const char*& s, ExprValue* variable);
+static bool parseVarSeq(const char*& s, ExprValue* variable);
+static bool parseValueSeq(const char*& s, ExprValue* variable);
+
+#define PROMPT "(kdbg)"
+#define PROMPT_LEN 6
+#define PROMPT_LAST_CHAR ')' /* needed when searching for prompt string */
+
+
+// TODO: make this cmd info stuff non-static to allow multiple
+// simultaneous gdbs to run!
+
+struct GdbCmdInfo {
+ DbgCommand cmd;
+ const char* fmt; /* format string */
+ enum Args {
+ argNone, argString, argNum,
+ argStringNum, argNumString,
+ argString2, argNum2
+ } argsNeeded;
+};
+
+#if 0
+// This is how the QString data print statement generally looks like.
+// It is set by KDebugger via setPrintQStringDataCmd().
+
+static const char printQStringStructFmt[] =
+ // if the string data is junk, fail early
+ "print ($qstrunicode=($qstrdata=(%s))->unicode)?"
+ // print an array of shorts
+ "(*(unsigned short*)$qstrunicode)@"
+ // limit the length
+ "(($qstrlen=(unsigned int)($qstrdata->len))>100?100:$qstrlen)"
+ // if unicode data is 0, report a special value
+ ":1==0\n";
+#endif
+static const char printQStringStructFmt[] = "print (0?\"%s\":$kdbgundef)\n";
+
+/*
+ * The following array of commands must be sorted by the DC* values,
+ * because they are used as indices.
+ */
+static GdbCmdInfo cmds[] = {
+ { DCinitialize, "", GdbCmdInfo::argNone },
+ { DCtty, "tty %s\n", GdbCmdInfo::argString },
+ { DCexecutable, "file \"%s\"\n", GdbCmdInfo::argString },
+ { DCtargetremote, "target remote %s\n", GdbCmdInfo::argString },
+ { DCcorefile, "core-file %s\n", GdbCmdInfo::argString },
+ { DCattach, "attach %s\n", GdbCmdInfo::argString },
+ { DCinfolinemain, "kdbg_infolinemain\n", GdbCmdInfo::argNone },
+ { DCinfolocals, "kdbg__alllocals\n", GdbCmdInfo::argNone },
+ { DCinforegisters, "info all-registers\n", GdbCmdInfo::argNone},
+ { DCexamine, "x %s %s\n", GdbCmdInfo::argString2 },
+ { DCinfoline, "info line %s:%d\n", GdbCmdInfo::argStringNum },
+ { DCdisassemble, "disassemble %s %s\n", GdbCmdInfo::argString2 },
+ { DCsetargs, "set args %s\n", GdbCmdInfo::argString },
+ { DCsetenv, "set env %s %s\n", GdbCmdInfo::argString2 },
+ { DCunsetenv, "unset env %s\n", GdbCmdInfo::argString },
+ { DCsetoption, "setoption %s %d\n", GdbCmdInfo::argStringNum},
+ { DCcd, "cd %s\n", GdbCmdInfo::argString },
+ { DCbt, "bt\n", GdbCmdInfo::argNone },
+ { DCrun, "run\n", GdbCmdInfo::argNone },
+ { DCcont, "cont\n", GdbCmdInfo::argNone },
+ { DCstep, "step\n", GdbCmdInfo::argNone },
+ { DCstepi, "stepi\n", GdbCmdInfo::argNone },
+ { DCnext, "next\n", GdbCmdInfo::argNone },
+ { DCnexti, "nexti\n", GdbCmdInfo::argNone },
+ { DCfinish, "finish\n", GdbCmdInfo::argNone },
+ { DCuntil, "until %s:%d\n", GdbCmdInfo::argStringNum },
+ { DCkill, "kill\n", GdbCmdInfo::argNone },
+ { DCbreaktext, "break %s\n", GdbCmdInfo::argString },
+ { DCbreakline, "break %s:%d\n", GdbCmdInfo::argStringNum },
+ { DCtbreakline, "tbreak %s:%d\n", GdbCmdInfo::argStringNum },
+ { DCbreakaddr, "break *%s\n", GdbCmdInfo::argString },
+ { DCtbreakaddr, "tbreak *%s\n", GdbCmdInfo::argString },
+ { DCwatchpoint, "watch %s\n", GdbCmdInfo::argString },
+ { DCdelete, "delete %d\n", GdbCmdInfo::argNum },
+ { DCenable, "enable %d\n", GdbCmdInfo::argNum },
+ { DCdisable, "disable %d\n", GdbCmdInfo::argNum },
+ { DCprint, "print %s\n", GdbCmdInfo::argString },
+ { DCprintDeref, "print *(%s)\n", GdbCmdInfo::argString },
+ { DCprintStruct, "print %s\n", GdbCmdInfo::argString },
+ { DCprintQStringStruct, printQStringStructFmt, GdbCmdInfo::argString},
+ { DCframe, "frame %d\n", GdbCmdInfo::argNum },
+ { DCfindType, "whatis %s\n", GdbCmdInfo::argString },
+ { DCinfosharedlib, "info sharedlibrary\n", GdbCmdInfo::argNone },
+ { DCthread, "thread %d\n", GdbCmdInfo::argNum },
+ { DCinfothreads, "info threads\n", GdbCmdInfo::argNone },
+ { DCinfobreak, "info breakpoints\n", GdbCmdInfo::argNone },
+ { DCcondition, "condition %d %s\n", GdbCmdInfo::argNumString},
+ { DCsetpc, "set variable $pc=%s\n", GdbCmdInfo::argString },
+ { DCignore, "ignore %d %d\n", GdbCmdInfo::argNum2},
+ { DCprintWChar, "print ($s=%s)?*$s@wcslen($s):0x0\n", GdbCmdInfo::argString },
+ { DCsetvariable, "set variable %s=%s\n", GdbCmdInfo::argString2 },
+};
+
+#define NUM_CMDS (int(sizeof(cmds)/sizeof(cmds[0])))
+#define MAX_FMTLEN 200
+
+GdbDriver::GdbDriver() :
+ DebuggerDriver(),
+ m_gdbMajor(4), m_gdbMinor(16)
+{
+ strcpy(m_prompt, PROMPT);
+ m_promptMinLen = PROMPT_LEN;
+ m_promptLastChar = PROMPT_LAST_CHAR;
+
+#ifndef NDEBUG
+ // check command info array
+ const char* perc;
+ for (int i = 0; i < NUM_CMDS; i++) {
+ // must be indexable by DbgCommand values, i.e. sorted by DbgCommand values
+ assert(i == cmds[i].cmd);
+ // a format string must be associated
+ assert(cmds[i].fmt != 0);
+ assert(strlen(cmds[i].fmt) <= MAX_FMTLEN);
+ // format string must match arg specification
+ switch (cmds[i].argsNeeded) {
+ case GdbCmdInfo::argNone:
+ assert(strchr(cmds[i].fmt, '%') == 0);
+ break;
+ case GdbCmdInfo::argString:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 's');
+ assert(strchr(perc+2, '%') == 0);
+ break;
+ case GdbCmdInfo::argNum:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 'd');
+ assert(strchr(perc+2, '%') == 0);
+ break;
+ case GdbCmdInfo::argStringNum:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 's');
+ perc = strchr(perc+2, '%');
+ assert(perc != 0 && perc[1] == 'd');
+ assert(strchr(perc+2, '%') == 0);
+ break;
+ case GdbCmdInfo::argNumString:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 'd');
+ perc = strchr(perc+2, '%');
+ assert(perc != 0 && perc[1] == 's');
+ assert(strchr(perc+2, '%') == 0);
+ break;
+ case GdbCmdInfo::argString2:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 's');
+ perc = strchr(perc+2, '%');
+ assert(perc != 0 && perc[1] == 's');
+ assert(strchr(perc+2, '%') == 0);
+ break;
+ case GdbCmdInfo::argNum2:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 'd');
+ perc = strchr(perc+2, '%');
+ assert(perc != 0 && perc[1] == 'd');
+ assert(strchr(perc+2, '%') == 0);
+ break;
+ }
+ }
+ assert(strlen(printQStringStructFmt) <= MAX_FMTLEN);
+#endif
+}
+
+GdbDriver::~GdbDriver()
+{
+}
+
+
+QString GdbDriver::driverName() const
+{
+ return "GDB";
+}
+
+QString GdbDriver::defaultGdb()
+{
+ return
+ "gdb"
+ " --fullname" /* to get standard file names each time the prog stops */
+ " --nx"; /* do not execute initialization files */
+}
+
+QString GdbDriver::defaultInvocation() const
+{
+ if (m_defaultCmd.isEmpty()) {
+ return defaultGdb();
+ } else {
+ return m_defaultCmd;
+ }
+}
+
+QStringList GdbDriver::boolOptionList() const
+{
+ // no options
+ return QStringList();
+}
+
+bool GdbDriver::startup(QString cmdStr)
+{
+ if (!DebuggerDriver::startup(cmdStr))
+ return false;
+
+ static const char gdbInitialize[] =
+ /*
+ * Work around buggy gdbs that do command line editing even if they
+ * are not on a tty. The readline library echos every command back
+ * in this case, which is confusing for us.
+ */
+ "set editing off\n"
+ "set confirm off\n"
+ "set print static-members off\n"
+ "set print asm-demangle on\n"
+ /*
+ * Don't assume that program functions invoked from a watch expression
+ * always succeed.
+ */
+ "set unwindonsignal on\n"
+ /*
+ * Write a short macro that prints all locals: local variables and
+ * function arguments.
+ */
+ "define kdbg__alllocals\n"
+ "info locals\n" /* local vars supersede args with same name */
+ "info args\n" /* therefore, arguments must come last */
+ "end\n"
+ /*
+ * Work around a bug in gdb-6.3: "info line main" crashes gdb.
+ */
+ "define kdbg_infolinemain\n"
+ "list\n"
+ "info line\n"
+ "end\n"
+ // change prompt string and synchronize with gdb
+ "set prompt " PROMPT "\n"
+ ;
+
+ executeCmdString(DCinitialize, gdbInitialize, false);
+
+ // assume that QString::null is ok
+ cmds[DCprintQStringStruct].fmt = printQStringStructFmt;
+
+ return true;
+}
+
+void GdbDriver::commandFinished(CmdQueueItem* cmd)
+{
+ // command string must be committed
+ if (!cmd->m_committed) {
+ // not commited!
+ TRACE("calling " + (__PRETTY_FUNCTION__ + (" with uncommited command:\n\t" +
+ cmd->m_cmdString)));
+ return;
+ }
+
+ switch (cmd->m_cmd) {
+ case DCinitialize:
+ // get version number from preamble
+ {
+ int len;
+ QRegExp GDBVersion("\\nGDB [0-9]+\\.[0-9]+");
+ int offset = GDBVersion.match(m_output, 0, &len);
+ if (offset >= 0) {
+ char* start = m_output + offset + 5; // skip "\nGDB "
+ char* end;
+ m_gdbMajor = strtol(start, &end, 10);
+ m_gdbMinor = strtol(end + 1, 0, 10); // skip "."
+ if (start == end) {
+ // nothing was parsed
+ m_gdbMajor = 4;
+ m_gdbMinor = 16;
+ }
+ } else {
+ // assume some default version (what would make sense?)
+ m_gdbMajor = 4;
+ m_gdbMinor = 16;
+ }
+ // use a feasible core-file command
+ if (m_gdbMajor > 4 || (m_gdbMajor == 4 && m_gdbMinor >= 16)) {
+#ifdef __FreeBSD__
+ cmds[DCcorefile].fmt = "target FreeBSD-core %s\n";
+#else
+ cmds[DCcorefile].fmt = "target core %s\n";
+#endif
+ } else {
+ cmds[DCcorefile].fmt = "core-file %s\n";
+ }
+ }
+ {
+ /*
+ * Check for GDB 7.1 or later; the syntax for the disassemble
+ * command has changed.
+ * This RE picks the last version number in the first line,
+ * because at least OpenSUSE writes its own version number
+ * in the first line (but before GDB's version number).
+ */
+ QRegExp re(
+ " " // must be preceded by space
+ "[(]?" // SLES 10 embeds in parentheses
+ "(\\d+)\\.(\\d+)" // major, minor
+ "[^ ]*\\n" // no space until end of line
+ );
+ int pos = re.search(m_output);
+ const char* disass = "disassemble %s %s\n";
+ if (pos >= 0) {
+ int major = re.cap(1).toInt();
+ int minor = re.cap(2).toInt();
+ if (major > 7 || (major == 7 && minor >= 1))
+ {
+ disass = "disassemble %s, %s\n";
+ }
+ }
+ cmds[DCdisassemble].fmt = disass;
+ }
+ break;
+ default:;
+ }
+
+ /* ok, the command is ready */
+ emit commandReceived(cmd, m_output);
+
+ switch (cmd->m_cmd) {
+ case DCcorefile:
+ case DCinfolinemain:
+ case DCframe:
+ case DCattach:
+ case DCrun:
+ case DCcont:
+ case DCstep:
+ case DCstepi:
+ case DCnext:
+ case DCnexti:
+ case DCfinish:
+ case DCuntil:
+ parseMarker();
+ default:;
+ }
+}
+
+/*
+ * The --fullname option makes gdb send a special normalized sequence print
+ * each time the program stops and at some other points. The sequence has
+ * the form "\032\032filename:lineno:charoffset:(beg|middle):address".
+ */
+void GdbDriver::parseMarker()
+{
+ char* startMarker = strstr(m_output, "\032\032");
+ if (startMarker == 0)
+ return;
+
+ // extract the marker
+ startMarker += 2;
+ TRACE(QString("found marker: ") + startMarker);
+ char* endMarker = strchr(startMarker, '\n');
+ if (endMarker == 0)
+ return;
+
+ *endMarker = '\0';
+
+ // extract filename and line number
+ static QRegExp MarkerRE(":[0-9]+:[0-9]+:[begmidl]+:0x");
+
+ int len;
+ int lineNoStart = MarkerRE.match(startMarker, 0, &len);
+ if (lineNoStart >= 0) {
+ int lineNo = atoi(startMarker + lineNoStart+1);
+
+ // get address
+ const char* addrStart = startMarker + lineNoStart + len - 2;
+ DbgAddr address = QString(addrStart).stripWhiteSpace();
+
+ // now show the window
+ startMarker[lineNoStart] = '\0'; /* split off file name */
+ emit activateFileLine(startMarker, lineNo-1, address);
+ }
+}
+
+
+/*
+ * Escapes characters that might lead to problems when they appear on gdb's
+ * command line.
+ */
+static void normalizeStringArg(QString& arg)
+{
+ /*
+ * Remove trailing backslashes. This approach is a little simplistic,
+ * but we know that there is at the moment no case where a trailing
+ * backslash would make sense.
+ */
+ while (!arg.isEmpty() && arg[arg.length()-1] == '\\') {
+ arg = arg.left(arg.length()-1);
+ }
+}
+
+
+QString GdbDriver::makeCmdString(DbgCommand cmd, QString strArg)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == GdbCmdInfo::argString);
+
+ normalizeStringArg(strArg);
+
+ if (cmd == DCcd) {
+ // need the working directory when parsing the output
+ m_programWD = strArg;
+ } else if (cmd == DCsetargs && !m_redirect.isEmpty()) {
+ /*
+ * Use saved redirection. We prepend it in front of the user's
+ * arguments so that the user can override the redirections.
+ */
+ strArg = m_redirect + " " + strArg;
+ }
+
+ QString cmdString;
+ cmdString.sprintf(cmds[cmd].fmt, strArg.latin1());
+ return cmdString;
+}
+
+QString GdbDriver::makeCmdString(DbgCommand cmd, int intArg)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == GdbCmdInfo::argNum);
+
+ QString cmdString;
+ cmdString.sprintf(cmds[cmd].fmt, intArg);
+ return cmdString;
+}
+
+QString GdbDriver::makeCmdString(DbgCommand cmd, QString strArg, int intArg)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == GdbCmdInfo::argStringNum ||
+ cmds[cmd].argsNeeded == GdbCmdInfo::argNumString ||
+ cmd == DCexamine ||
+ cmd == DCtty);
+
+ normalizeStringArg(strArg);
+
+ QString cmdString;
+
+ if (cmd == DCtty)
+ {
+ /*
+ * intArg specifies which channels should be redirected to
+ * /dev/null. It is a value or'ed together from RDNstdin,
+ * RDNstdout, RDNstderr. We store the value for a later DCsetargs
+ * command.
+ *
+ * Note: We rely on that after the DCtty a DCsetargs will follow,
+ * which will ultimately apply the redirection.
+ */
+ static const char* const runRedir[8] = {
+ "",
+ "</dev/null",
+ ">/dev/null",
+ "</dev/null >/dev/null",
+ "2>/dev/null",
+ "</dev/null 2>/dev/null",
+ ">/dev/null 2>&1",
+ "</dev/null >/dev/null 2>&1"
+ };
+ if (strArg.isEmpty())
+ intArg = 7; /* failsafe if no tty */
+ m_redirect = runRedir[intArg & 7];
+
+ return makeCmdString(DCtty, strArg); /* note: no problem if strArg empty */
+ }
+
+ if (cmd == DCexamine) {
+ // make a format specifier from the intArg
+ static const char size[16] = {
+ '\0', 'b', 'h', 'w', 'g'
+ };
+ static const char format[16] = {
+ '\0', 'x', 'd', 'u', 'o', 't',
+ 'a', 'c', 'f', 's', 'i'
+ };
+ assert(MDTsizemask == 0xf); /* lowest 4 bits */
+ assert(MDTformatmask == 0xf0); /* next 4 bits */
+ int count = 16; /* number of entities to print */
+ char sizeSpec = size[intArg & MDTsizemask];
+ char formatSpec = format[(intArg & MDTformatmask) >> 4];
+ assert(sizeSpec != '\0');
+ assert(formatSpec != '\0');
+ // adjust count such that 16 lines are printed
+ switch (intArg & MDTformatmask) {
+ case MDTstring: case MDTinsn:
+ break; /* no modification needed */
+ default:
+ // all cases drop through:
+ switch (intArg & MDTsizemask) {
+ case MDTbyte:
+ case MDThalfword:
+ count *= 2;
+ case MDTword:
+ count *= 2;
+ case MDTgiantword:
+ count *= 2;
+ }
+ break;
+ }
+ QString spec;
+ spec.sprintf("/%d%c%c", count, sizeSpec, formatSpec);
+
+ return makeCmdString(DCexamine, spec, strArg);
+ }
+
+ if (cmds[cmd].argsNeeded == GdbCmdInfo::argStringNum)
+ {
+ // line numbers are zero-based
+ if (cmd == DCuntil || cmd == DCbreakline ||
+ cmd == DCtbreakline || cmd == DCinfoline)
+ {
+ intArg++;
+ }
+ if (cmd == DCinfoline)
+ {
+ // must split off file name part
+ int slash = strArg.findRev('/');
+ if (slash >= 0)
+ strArg = strArg.right(strArg.length()-slash-1);
+ }
+ cmdString.sprintf(cmds[cmd].fmt, strArg.latin1(), intArg);
+ }
+ else
+ {
+ cmdString.sprintf(cmds[cmd].fmt, intArg, strArg.latin1());
+ }
+ return cmdString;
+}
+
+QString GdbDriver::makeCmdString(DbgCommand cmd, QString strArg1, QString strArg2)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == GdbCmdInfo::argString2);
+
+ normalizeStringArg(strArg1);
+ normalizeStringArg(strArg2);
+
+ QString cmdString;
+ cmdString.sprintf(cmds[cmd].fmt, strArg1.latin1(), strArg2.latin1());
+ return cmdString;
+}
+
+QString GdbDriver::makeCmdString(DbgCommand cmd, int intArg1, int intArg2)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == GdbCmdInfo::argNum2);
+
+ QString cmdString;
+ cmdString.sprintf(cmds[cmd].fmt, intArg1, intArg2);
+ return cmdString;
+}
+
+CmdQueueItem* GdbDriver::executeCmd(DbgCommand cmd, bool clearLow)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == GdbCmdInfo::argNone);
+
+ if (cmd == DCrun) {
+ m_haveCoreFile = false;
+ }
+
+ return executeCmdString(cmd, cmds[cmd].fmt, clearLow);
+}
+
+CmdQueueItem* GdbDriver::executeCmd(DbgCommand cmd, QString strArg,
+ bool clearLow)
+{
+ return executeCmdString(cmd, makeCmdString(cmd, strArg), clearLow);
+}
+
+CmdQueueItem* GdbDriver::executeCmd(DbgCommand cmd, int intArg,
+ bool clearLow)
+{
+
+ return executeCmdString(cmd, makeCmdString(cmd, intArg), clearLow);
+}
+
+CmdQueueItem* GdbDriver::executeCmd(DbgCommand cmd, QString strArg, int intArg,
+ bool clearLow)
+{
+ return executeCmdString(cmd, makeCmdString(cmd, strArg, intArg), clearLow);
+}
+
+CmdQueueItem* GdbDriver::executeCmd(DbgCommand cmd, QString strArg1, QString strArg2,
+ bool clearLow)
+{
+ return executeCmdString(cmd, makeCmdString(cmd, strArg1, strArg2), clearLow);
+}
+
+CmdQueueItem* GdbDriver::executeCmd(DbgCommand cmd, int intArg1, int intArg2,
+ bool clearLow)
+{
+ return executeCmdString(cmd, makeCmdString(cmd, intArg1, intArg2), clearLow);
+}
+
+CmdQueueItem* GdbDriver::queueCmd(DbgCommand cmd, QueueMode mode)
+{
+ return queueCmdString(cmd, cmds[cmd].fmt, mode);
+}
+
+CmdQueueItem* GdbDriver::queueCmd(DbgCommand cmd, QString strArg,
+ QueueMode mode)
+{
+ return queueCmdString(cmd, makeCmdString(cmd, strArg), mode);
+}
+
+CmdQueueItem* GdbDriver::queueCmd(DbgCommand cmd, int intArg,
+ QueueMode mode)
+{
+ return queueCmdString(cmd, makeCmdString(cmd, intArg), mode);
+}
+
+CmdQueueItem* GdbDriver::queueCmd(DbgCommand cmd, QString strArg, int intArg,
+ QueueMode mode)
+{
+ return queueCmdString(cmd, makeCmdString(cmd, strArg, intArg), mode);
+}
+
+CmdQueueItem* GdbDriver::queueCmd(DbgCommand cmd, QString strArg1, QString strArg2,
+ QueueMode mode)
+{
+ return queueCmdString(cmd, makeCmdString(cmd, strArg1, strArg2), mode);
+}
+
+void GdbDriver::terminate()
+{
+ kill(SIGTERM);
+ m_state = DSidle;
+}
+
+void GdbDriver::detachAndTerminate()
+{
+ kill(SIGINT);
+ flushCommands();
+ executeCmdString(DCinitialize, "detach\nquit\n", true);
+}
+
+void GdbDriver::interruptInferior()
+{
+ kill(SIGINT);
+ // remove accidentally queued commands
+ flushHiPriQueue();
+}
+
+static bool isErrorExpr(const char* output)
+{
+ return
+ strncmp(output, "Cannot access memory at", 23) == 0 ||
+ strncmp(output, "Attempt to dereference a generic pointer", 40) == 0 ||
+ strncmp(output, "Attempt to take contents of ", 28) == 0 ||
+ strncmp(output, "Attempt to use a type name as an expression", 43) == 0 ||
+ strncmp(output, "There is no member or method named", 34) == 0 ||
+ strncmp(output, "A parse error in expression", 27) == 0 ||
+ strncmp(output, "No symbol \"", 11) == 0 ||
+ strncmp(output, "Internal error: ", 16) == 0;
+}
+
+/**
+ * Returns true if the output is an error message. If wantErrorValue is
+ * true, a new ExprValue object is created and filled with the error message.
+ * If there are warnings, they are skipped and output points past the warnings
+ * on return (even if there \e are errors).
+ */
+static bool parseErrorMessage(const char*& output,
+ ExprValue*& variable, bool wantErrorValue)
+{
+ // skip warnings
+ while (strncmp(output, "warning:", 8) == 0)
+ {
+ const char* end = strchr(output+8, '\n');
+ if (end == 0)
+ output += strlen(output);
+ else
+ output = end+1;
+ }
+
+ if (isErrorExpr(output))
+ {
+ if (wantErrorValue) {
+ // put the error message as value in the variable
+ variable = new ExprValue(QString(), VarTree::NKplain);
+ const char* endMsg = strchr(output, '\n');
+ if (endMsg == 0)
+ endMsg = output + strlen(output);
+ variable->m_value = QString::fromLatin1(output, endMsg-output);
+ } else {
+ variable = 0;
+ }
+ return true;
+ }
+ return false;
+}
+
+#if QT_VERSION >= 300
+union Qt2QChar {
+ short s;
+ struct {
+ uchar row;
+ uchar cell;
+ } qch;
+};
+#endif
+
+void GdbDriver::setPrintQStringDataCmd(const char* cmd)
+{
+ // don't accept the command if it is empty
+ if (cmd == 0 || *cmd == '\0')
+ return;
+ assert(strlen(cmd) <= MAX_FMTLEN);
+ cmds[DCprintQStringStruct].fmt = cmd;
+}
+
+ExprValue* GdbDriver::parseQCharArray(const char* output, bool wantErrorValue, bool qt3like)
+{
+ ExprValue* variable = 0;
+
+ /*
+ * Parse off white space. gdb sometimes prints white space first if the
+ * printed array leaded to an error.
+ */
+ while (isspace(*output))
+ output++;
+
+ // special case: empty string (0 repetitions)
+ if (strncmp(output, "Invalid number 0 of repetitions", 31) == 0)
+ {
+ variable = new ExprValue(QString(), VarTree::NKplain);
+ variable->m_value = "\"\"";
+ return variable;
+ }
+
+ // check for error conditions
+ if (parseErrorMessage(output, variable, wantErrorValue))
+ return variable;
+
+ // parse the array
+
+ // find '='
+ const char* p = output;
+ p = strchr(p, '=');
+ if (p == 0) {
+ goto error;
+ }
+ // skip white space
+ do {
+ p++;
+ } while (isspace(*p));
+
+ if (*p == '{')
+ {
+ // this is the real data
+ p++; /* skip '{' */
+
+ // parse the array
+ QString result;
+ QString repeatCount;
+ enum { wasNothing, wasChar, wasRepeat } lastThing = wasNothing;
+ /*
+ * A matrix for separators between the individual "things"
+ * that are added to the string. The first index is a bool,
+ * the second index is from the enum above.
+ */
+ static const char* separator[2][3] = {
+ { "\"", 0, ", \"" }, /* normal char is added */
+ { "'", "\", '", ", '" } /* repeated char is added */
+ };
+
+ while (isdigit(*p)) {
+ // parse a number
+ char* end;
+ unsigned short value = (unsigned short) strtoul(p, &end, 0);
+ if (end == p)
+ goto error; /* huh? no valid digits */
+ // skip separator and search for a repeat count
+ p = end;
+ while (isspace(*p) || *p == ',')
+ p++;
+ bool repeats = strncmp(p, "<repeats ", 9) == 0;
+ if (repeats) {
+ const char* start = p;
+ p = strchr(p+9, '>'); /* search end and advance */
+ if (p == 0)
+ goto error;
+ p++; /* skip '>' */
+ repeatCount = QString::fromLatin1(start, p-start);
+ while (isspace(*p) || *p == ',')
+ p++;
+ }
+ // p is now at the next char (or the end)
+
+ // interpret the value as a QChar
+ // TODO: make cross-architecture compatible
+ QChar ch;
+ if (qt3like) {
+ ch = QChar(value);
+ } else {
+#if QT_VERSION < 300
+ (unsigned short&)ch = value;
+#else
+ Qt2QChar c;
+ c.s = value;
+ ch.setRow(c.qch.row);
+ ch.setCell(c.qch.cell);
+#endif
+ }
+
+ // escape a few frequently used characters
+ char escapeCode = '\0';
+ switch (ch.latin1()) {
+ case '\n': escapeCode = 'n'; break;
+ case '\r': escapeCode = 'r'; break;
+ case '\t': escapeCode = 't'; break;
+ case '\b': escapeCode = 'b'; break;
+ case '\"': escapeCode = '\"'; break;
+ case '\\': escapeCode = '\\'; break;
+ case '\0': if (value == 0) { escapeCode = '0'; } break;
+ }
+
+ // add separator
+ result += separator[repeats][lastThing];
+ // add char
+ if (escapeCode != '\0') {
+ result += '\\';
+ ch = escapeCode;
+ }
+ result += ch;
+
+ // fixup repeat count and lastThing
+ if (repeats) {
+ result += "' ";
+ result += repeatCount;
+ lastThing = wasRepeat;
+ } else {
+ lastThing = wasChar;
+ }
+ }
+ if (*p != '}')
+ goto error;
+
+ // closing quote
+ if (lastThing == wasChar)
+ result += "\"";
+
+ // assign the value
+ variable = new ExprValue(QString(), VarTree::NKplain);
+ variable->m_value = result;
+ }
+ else if (strncmp(p, "true", 4) == 0)
+ {
+ variable = new ExprValue(QString(), VarTree::NKplain);
+ variable->m_value = "QString::null";
+ }
+ else if (strncmp(p, "false", 5) == 0)
+ {
+ variable = new ExprValue(QString(), VarTree::NKplain);
+ variable->m_value = "(null)";
+ }
+ else
+ goto error;
+ return variable;
+
+error:
+ if (wantErrorValue) {
+ variable = new ExprValue(QString(), VarTree::NKplain);
+ variable->m_value = "internal parse error";
+ }
+ return variable;
+}
+
+static ExprValue* parseVar(const char*& s)
+{
+ const char* p = s;
+
+ // skip whitespace
+ while (isspace(*p))
+ p++;
+
+ QString name;
+ VarTree::NameKind kind;
+ /*
+ * Detect anonymouse struct values: The 'name =' part is missing:
+ * s = { a = 1, { b = 2 }}
+ * Note that this detection works only inside structs when the anonymous
+ * struct is not the first member:
+ * s = {{ a = 1 }, b = 2}
+ * This is misparsed (by parseNested()) because it is mistakenly
+ * interprets the second opening brace as the first element of an array
+ * of structs.
+ */
+ if (*p == '{')
+ {
+ name = i18n("<anonymous struct or union>");
+ kind = VarTree::NKanonymous;
+ }
+ else
+ {
+ if (!parseName(p, name, kind)) {
+ return 0;
+ }
+
+ // go for '='
+ while (isspace(*p))
+ p++;
+ if (*p != '=') {
+ TRACE(QString().sprintf("parse error: = not found after %s", (const char*)name));
+ return 0;
+ }
+ // skip the '=' and more whitespace
+ p++;
+ while (isspace(*p))
+ p++;
+ }
+
+ ExprValue* variable = new ExprValue(name, kind);
+
+ if (!parseValue(p, variable)) {
+ delete variable;
+ return 0;
+ }
+ s = p;
+ return variable;
+}
+
+static void skipNested(const char*& s, char opening, char closing)
+{
+ const char* p = s;
+
+ // parse a nested type
+ int nest = 1;
+ p++;
+ /*
+ * Search for next matching `closing' char, skipping nested pairs of
+ * `opening' and `closing'.
+ */
+ while (*p && nest > 0) {
+ if (*p == opening) {
+ nest++;
+ } else if (*p == closing) {
+ nest--;
+ }
+ p++;
+ }
+ if (nest != 0) {
+ TRACE(QString().sprintf("parse error: mismatching %c%c at %-20.20s", opening, closing, s));
+ }
+ s = p;
+}
+
+/**
+ * This function skips text that is delimited by nested angle bracktes, '<>'.
+ * A complication arises because the delimited text can contain the names of
+ * operator<<, operator>>, operator<, and operator>, which have to be treated
+ * specially so that they do not count towards the nesting of '<>'.
+ * This function assumes that the delimited text does not contain strings.
+ */
+static void skipNestedAngles(const char*& s)
+{
+ const char* p = s;
+
+ int nest = 1;
+ p++; // skip the initial '<'
+ while (*p && nest > 0)
+ {
+ // Below we can check for p-s >= 9 instead of 8 because
+ // *s is '<' and cannot be part of "operator".
+ if (*p == '<')
+ {
+ if (p-s >= 9 && strncmp(p-8, "operator", 8) == 0) {
+ if (p[1] == '<')
+ p++;
+ } else {
+ nest++;
+ }
+ }
+ else if (*p == '>')
+ {
+ if (p-s >= 9 && strncmp(p-8, "operator", 8) == 0) {
+ if (p[1] == '>')
+ p++;
+ } else {
+ nest--;
+ }
+ }
+ p++;
+ }
+ if (nest != 0) {
+ TRACE(QString().sprintf("parse error: mismatching <> at %-20.20s", s));
+ }
+ s = p;
+}
+
+/**
+ * Find the end of line that is not inside braces
+ */
+static void findEnd(const char*& s)
+{
+ const char* p = s;
+ while (*p && *p!='\n') {
+ while (*p && *p!='\n' && *p!='{')
+ p++;
+ if (*p=='{') {
+ p++;
+ skipNested(p, '{', '}'); p--;
+ }
+ }
+ s = p;
+}
+
+static bool isNumberish(const char ch)
+{
+ return (ch>='0' && ch<='9') || ch=='.' || ch=='x';
+}
+
+void skipString(const char*& p)
+{
+moreStrings:
+ // opening quote
+ char quote = *p++;
+ while (*p != quote) {
+ if (*p == '\\') {
+ // skip escaped character
+ // no special treatment for octal values necessary
+ p++;
+ }
+ // simply return if no more characters
+ if (*p == '\0')
+ return;
+ p++;
+ }
+ // closing quote
+ p++;
+ /*
+ * Strings can consist of several parts, some of which contain repeated
+ * characters.
+ */
+ if (quote == '\'') {
+ // look ahaead for <repeats 123 times>
+ const char* q = p+1;
+ while (isspace(*q))
+ q++;
+ if (strncmp(q, "<repeats ", 9) == 0) {
+ p = q+9;
+ while (*p != '\0' && *p != '>')
+ p++;
+ if (*p != '\0') {
+ p++; /* skip the '>' */
+ }
+ }
+ }
+ // is the string continued?
+ if (*p == ',') {
+ // look ahead for another quote
+ const char* q = p+1;
+ while (isspace(*q))
+ q++;
+ if (*q == '"' || *q == '\'') {
+ // yes!
+ p = q;
+ goto moreStrings;
+ }
+ }
+ /* very long strings are followed by `...' */
+ if (*p == '.' && p[1] == '.' && p[2] == '.') {
+ p += 3;
+ }
+}
+
+static void skipNestedWithString(const char*& s, char opening, char closing)
+{
+ const char* p = s;
+
+ // parse a nested expression
+ int nest = 1;
+ p++;
+ /*
+ * Search for next matching `closing' char, skipping nested pairs of
+ * `opening' and `closing' as well as strings.
+ */
+ while (*p && nest > 0) {
+ if (*p == opening) {
+ nest++;
+ } else if (*p == closing) {
+ nest--;
+ } else if (*p == '\'' || *p == '\"') {
+ skipString(p);
+ continue;
+ }
+ p++;
+ }
+ if (nest > 0) {
+ TRACE(QString().sprintf("parse error: mismatching %c%c at %-20.20s", opening, closing, s));
+ }
+ s = p;
+}
+
+inline void skipName(const char*& p)
+{
+ // allow : (for enumeration values) and $ and . (for _vtbl.)
+ while (isalnum(*p) || *p == '_' || *p == ':' || *p == '$' || *p == '.')
+ p++;
+}
+
+static bool parseName(const char*& s, QString& name, VarTree::NameKind& kind)
+{
+ kind = VarTree::NKplain;
+
+ const char* p = s;
+ // examples of names:
+ // name
+ // <Object>
+ // <string<a,b<c>,7> >
+
+ if (*p == '<') {
+ skipNestedAngles(p);
+ name = QString::fromLatin1(s, p - s);
+ kind = VarTree::NKtype;
+ }
+ else
+ {
+ // name, which might be "static"; allow dot for "_vtbl."
+ skipName(p);
+ if (p == s) {
+ TRACE(QString().sprintf("parse error: not a name %-20.20s", s));
+ return false;
+ }
+ int len = p - s;
+ if (len == 6 && strncmp(s, "static", 6) == 0) {
+ kind = VarTree::NKstatic;
+
+ // its a static variable, name comes now
+ while (isspace(*p))
+ p++;
+ s = p;
+ skipName(p);
+ if (p == s) {
+ TRACE(QString().sprintf("parse error: not a name after static %-20.20s", s));
+ return false;
+ }
+ len = p - s;
+ }
+ name = QString::fromLatin1(s, len);
+ }
+ // return the new position
+ s = p;
+ return true;
+}
+
+static bool parseValue(const char*& s, ExprValue* variable)
+{
+ variable->m_value = "";
+
+repeat:
+ if (*s == '{') {
+ // Sometimes we find the following output:
+ // {<text variable, no debug info>} 0x40012000 <access>
+ // {<data variable, no debug info>}
+ // {<variable (not text or data), no debug info>}
+ if (strncmp(s, "{<text variable, ", 17) == 0 ||
+ strncmp(s, "{<data variable, ", 17) == 0 ||
+ strncmp(s, "{<variable (not text or data), ", 31) == 0)
+ {
+ const char* start = s;
+ skipNested(s, '{', '}');
+ variable->m_value = QString::fromLatin1(start, s-start);
+ variable->m_value += ' '; // add only a single space
+ while (isspace(*s))
+ s++;
+ goto repeat;
+ }
+ else
+ {
+ s++;
+ if (!parseNested(s, variable)) {
+ return false;
+ }
+ // must be the closing brace
+ if (*s != '}') {
+ TRACE("parse error: missing } of " + variable->m_name);
+ return false;
+ }
+ s++;
+ // final white space
+ while (isspace(*s))
+ s++;
+ }
+ } else {
+ // examples of leaf values (cannot be the empty string):
+ // 123
+ // -123
+ // 23.575e+37
+ // 0x32a45
+ // @0x012ab4
+ // (DwContentType&) @0x8123456: {...}
+ // 0x32a45 "text"
+ // 10 '\n'
+ // <optimized out>
+ // 0x823abc <Array<int> virtual table>
+ // (void (*)()) 0x8048480 <f(E *, char)>
+ // (E *) 0xbffff450
+ // red
+ // &parseP (HTMLClueV *, char *)
+ // Variable "x" is not available.
+ // The value of variable 'x' is distributed...
+ // -nan(0xfffff081defa0)
+
+ const char*p = s;
+
+ // check for type
+ QString type;
+ if (*p == '(') {
+ skipNested(p, '(', ')');
+
+ while (isspace(*p))
+ p++;
+ variable->m_value = QString::fromLatin1(s, p - s);
+ }
+
+ bool reference = false;
+ if (*p == '@') {
+ // skip reference marker
+ p++;
+ reference = true;
+ }
+ const char* start = p;
+ if (*p == '-')
+ p++;
+
+ // some values consist of more than one token
+ bool checkMultiPart = false;
+
+ if (p[0] == '0' && p[1] == 'x') {
+ // parse hex number
+ p += 2;
+ while (isxdigit(*p))
+ p++;
+
+ /*
+ * Assume this is a pointer, but only if it's not a reference, since
+ * references can't be expanded.
+ */
+ if (!reference) {
+ variable->m_varKind = VarTree::VKpointer;
+ } else {
+ /*
+ * References are followed by a colon, in which case we'll
+ * find the value following the reference address.
+ */
+ if (*p == ':') {
+ p++;
+ } else {
+ // Paranoia. (Can this happen, i.e. reference not followed by ':'?)
+ reference = false;
+ }
+ }
+ checkMultiPart = true;
+ } else if (isdigit(*p)) {
+ // parse decimal number, possibly a float
+ while (isdigit(*p))
+ p++;
+ if (*p == '.') { /* TODO: obey i18n? */
+ // In long arrays an integer may be followed by '...'.
+ // We test for this situation and don't gobble the '...'.
+ if (p[1] != '.' || p[0] != '.') {
+ // fractional part
+ p++;
+ while (isdigit(*p))
+ p++;
+ }
+ }
+ if (*p == 'e' || *p == 'E') {
+ p++;
+ // exponent
+ if (*p == '-' || *p == '+')
+ p++;
+ while (isdigit(*p))
+ p++;
+ }
+
+ // for char variables there is the char, eg. 10 '\n'
+ checkMultiPart = true;
+ } else if (*p == '<') {
+ // e.g. <optimized out>
+ skipNestedAngles(p);
+ } else if (*p == '"' || *p == '\'') {
+ // character may have multipart: '\000' <repeats 11 times>
+ checkMultiPart = *p == '\'';
+ // found a string
+ skipString(p);
+ } else if (*p == '&') {
+ // function pointer
+ p++;
+ skipName(p);
+ while (isspace(*p)) {
+ p++;
+ }
+ if (*p == '(') {
+ skipNested(p, '(', ')');
+ }
+ } else if (strncmp(p, "Variable \"", 10) == 0) {
+ // Variable "x" is not available.
+ p += 10; // skip to "
+ skipName(p);
+ if (strncmp(p, "\" is not available.", 19) == 0) {
+ p += 19;
+ }
+ } else if (strncmp(p, "The value of variable '", 23) == 0) {
+ p += 23;
+ skipName(p);
+ const char* e = strchr(p, '.');
+ if (e == 0) {
+ p += strlen(p);
+ } else {
+ p = e+1;
+ }
+ } else {
+ // must be an enumeration value
+ skipName(p);
+ // hmm, not necessarily: nan (floating point Not a Number)
+ // is followed by a number in ()
+ if (*p == '(')
+ skipNested(p, '(', ')');
+ }
+ variable->m_value += QString::fromLatin1(start, p - start);
+
+ // remove line breaks from the value; this is ok since
+ // string values never contain a literal line break
+ variable->m_value.replace('\n', ' ');
+
+ if (checkMultiPart) {
+ // white space
+ while (isspace(*p))
+ p++;
+ // may be followed by a string or <...>
+ start = p;
+
+ if (*p == '"' || *p == '\'') {
+ skipString(p);
+ } else if (*p == '<') {
+ // if this value is part of an array, it might be followed
+ // by <repeats 15 times>, which we don't skip here
+ if (strncmp(p, "<repeats ", 9) != 0)
+ skipNestedAngles(p);
+ }
+ if (p != start) {
+ // there is always a blank before the string,
+ // which we will include in the final string value
+ variable->m_value += QString::fromLatin1(start-1, (p - start)+1);
+ // if this was a pointer, reset that flag since we
+ // now got the value
+ variable->m_varKind = VarTree::VKsimple;
+ }
+ }
+
+ if (variable->m_value.length() == 0) {
+ TRACE("parse error: no value for " + variable->m_name);
+ return false;
+ }
+
+ // final white space
+ while (isspace(*p))
+ p++;
+ s = p;
+
+ /*
+ * If this was a reference, the value follows. It might even be a
+ * composite variable!
+ */
+ if (reference) {
+ goto repeat;
+ }
+ }
+
+ return true;
+}
+
+static bool parseNested(const char*& s, ExprValue* variable)
+{
+ // could be a structure or an array
+ while (isspace(*s))
+ s++;
+
+ const char* p = s;
+ bool isStruct = false;
+ /*
+ * If there is a name followed by an = or an < -- which starts a type
+ * name -- or "static", it is a structure
+ */
+ if (*p == '<' || *p == '}') {
+ isStruct = true;
+ } else if (strncmp(p, "static ", 7) == 0) {
+ isStruct = true;
+ } else if (isalpha(*p) || *p == '_' || *p == '$') {
+ // look ahead for a comma after the name
+ skipName(p);
+ while (isspace(*p))
+ p++;
+ if (*p == '=') {
+ isStruct = true;
+ }
+ p = s; /* rescan the name */
+ }
+ if (isStruct) {
+ if (!parseVarSeq(p, variable)) {
+ return false;
+ }
+ variable->m_varKind = VarTree::VKstruct;
+ } else {
+ if (!parseValueSeq(p, variable)) {
+ return false;
+ }
+ variable->m_varKind = VarTree::VKarray;
+ }
+ s = p;
+ return true;
+}
+
+static bool parseVarSeq(const char*& s, ExprValue* variable)
+{
+ // parse a comma-separated sequence of variables
+ ExprValue* var = variable; /* var != 0 to indicate success if empty seq */
+ for (;;) {
+ if (*s == '}')
+ break;
+ if (strncmp(s, "<No data fields>}", 17) == 0)
+ {
+ // no member variables, so break out immediately
+ s += 16; /* go to the closing brace */
+ break;
+ }
+ var = parseVar(s);
+ if (var == 0)
+ break; /* syntax error */
+ variable->appendChild(var);
+ if (*s != ',')
+ break;
+ // skip the comma and whitespace
+ s++;
+ while (isspace(*s))
+ s++;
+ }
+ return var != 0;
+}
+
+static bool parseValueSeq(const char*& s, ExprValue* variable)
+{
+ // parse a comma-separated sequence of variables
+ int index = 0;
+ bool good;
+ for (;;) {
+ QString name;
+ name.sprintf("[%d]", index);
+ ExprValue* var = new ExprValue(name, VarTree::NKplain);
+ good = parseValue(s, var);
+ if (!good) {
+ delete var;
+ return false;
+ }
+ // a value may be followed by "<repeats 45 times>"
+ if (strncmp(s, "<repeats ", 9) == 0) {
+ s += 9;
+ char* end;
+ int l = strtol(s, &end, 10);
+ if (end == s || strncmp(end, " times>", 7) != 0) {
+ // should not happen
+ delete var;
+ return false;
+ }
+ TRACE(QString().sprintf("found <repeats %d times> in array", l));
+ // replace name and advance index
+ name.sprintf("[%d .. %d]", index, index+l-1);
+ var->m_name = name;
+ index += l;
+ // skip " times>" and space
+ s = end+7;
+ // possible final space
+ while (isspace(*s))
+ s++;
+ } else {
+ index++;
+ }
+ variable->appendChild(var);
+ // long arrays may be terminated by '...'
+ if (strncmp(s, "...", 3) == 0) {
+ s += 3;
+ ExprValue* var = new ExprValue("...", VarTree::NKplain);
+ var->m_value = i18n("<additional entries of the array suppressed>");
+ variable->appendChild(var);
+ break;
+ }
+ if (*s != ',') {
+ break;
+ }
+ // skip the comma and whitespace
+ s++;
+ while (isspace(*s))
+ s++;
+ // sometimes there is a closing brace after a comma
+// if (*s == '}')
+// break;
+ }
+ return true;
+}
+
+/**
+ * Parses a stack frame.
+ */
+static void parseFrameInfo(const char*& s, QString& func,
+ QString& file, int& lineNo, DbgAddr& address)
+{
+ const char* p = s;
+
+ // next may be a hexadecimal address
+ if (*p == '0') {
+ const char* start = p;
+ p++;
+ if (*p == 'x')
+ p++;
+ while (isxdigit(*p))
+ p++;
+ address = QString::fromLatin1(start, p-start);
+ if (strncmp(p, " in ", 4) == 0)
+ p += 4;
+ } else {
+ address = DbgAddr();
+ }
+ const char* start = p;
+ // check for special signal handler frame
+ if (strncmp(p, "<signal handler called>", 23) == 0) {
+ func = QString::fromLatin1(start, 23);
+ file = QString();
+ lineNo = -1;
+ s = p+23;
+ if (*s == '\n')
+ s++;
+ return;
+ }
+
+ /*
+ * Skip the function name. It is terminated by a left parenthesis
+ * which does not delimit "(anonymous namespace)" and which is
+ * outside the angle brackets <> of template parameter lists
+ * and is preceded by a space.
+ */
+ while (*p != '\0')
+ {
+ if (*p == '<') {
+ // check for operator<< and operator<
+ if (p-start >= 8 && strncmp(p-8, "operator", 8) == 0)
+ {
+ p++;
+ if (*p == '<')
+ p++;
+ }
+ else
+ {
+ // skip template parameter list
+ skipNestedAngles(p);
+ }
+ } else if (*p == '(') {
+ // this skips "(anonymous namespace)" as well as the formal
+ // parameter list of the containing function if this is a member
+ // of a nested class
+ skipNestedWithString(p, '(', ')');
+ } else if (*p == ' ') {
+ ++p;
+ if (*p == '(')
+ break; // parameter list found
+ } else {
+ p++;
+ }
+ }
+
+ if (*p == '\0') {
+ func = start;
+ file = QString();
+ lineNo = -1;
+ s = p;
+ return;
+ }
+ /*
+ * Skip parameters. But notice that for complicated conversion
+ * functions (eg. "operator int(**)()()", ie. convert to pointer to
+ * pointer to function) as well as operator()(...) we have to skip
+ * additional pairs of parentheses. Furthermore, recent gdbs write the
+ * demangled name followed by the arguments in a pair of parentheses,
+ * where the demangled name can end in "const".
+ */
+ do {
+ skipNestedWithString(p, '(', ')');
+ while (isspace(*p))
+ p++;
+ // skip "const"
+ if (strncmp(p, "const", 5) == 0) {
+ p += 5;
+ while (isspace(*p))
+ p++;
+ }
+ } while (*p == '(');
+
+ // check for file position
+ if (strncmp(p, "at ", 3) == 0) {
+ p += 3;
+ const char* fileStart = p;
+ // go for the end of the line
+ while (*p != '\0' && *p != '\n')
+ p++;
+ // search back for colon
+ const char* colon = p;
+ do {
+ --colon;
+ } while (*colon != ':');
+ file = QString::fromLatin1(fileStart, colon-fileStart);
+ lineNo = atoi(colon+1)-1;
+ // skip new-line
+ if (*p != '\0')
+ p++;
+ } else {
+ // check for "from shared lib"
+ if (strncmp(p, "from ", 5) == 0) {
+ p += 5;
+ // go for the end of the line
+ while (*p != '\0' && *p != '\n')
+ p++;
+ // skip new-line
+ if (*p != '\0')
+ p++;
+ }
+ file = "";
+ lineNo = -1;
+ }
+ // construct the function name (including file info)
+ if (*p == '\0') {
+ func = start;
+ } else {
+ func = QString::fromLatin1(start, p-start-1); /* don't include \n */
+ }
+ s = p;
+
+ /*
+ * Replace \n (and whitespace around it) in func by a blank. We cannot
+ * use QString::simplifyWhiteSpace() for this because this would also
+ * simplify space that belongs to a string arguments that gdb sometimes
+ * prints in the argument lists of the function.
+ */
+ ASSERT(!isspace(func[0].latin1())); /* there must be non-white before first \n */
+ int nl = 0;
+ while ((nl = func.find('\n', nl)) >= 0) {
+ // search back to the beginning of the whitespace
+ int startWhite = nl;
+ do {
+ --startWhite;
+ } while (isspace(func[startWhite].latin1()));
+ startWhite++;
+ // search forward to the end of the whitespace
+ do {
+ nl++;
+ } while (isspace(func[nl].latin1()));
+ // replace
+ func.replace(startWhite, nl-startWhite, " ");
+ /* continue searching for more \n's at this place: */
+ nl = startWhite+1;
+ }
+}
+
+
+/**
+ * Parses a stack frame including its frame number
+ */
+static bool parseFrame(const char*& s, int& frameNo, QString& func,
+ QString& file, int& lineNo, DbgAddr& address)
+{
+ // Example:
+ // #1 0x8048881 in Dl::Dl (this=0xbffff418, r=3214) at testfile.cpp:72
+ // Breakpoint 3, Cl::f(int) const (this=0xbffff3c0, x=17) at testfile.cpp:155
+
+ // must start with a hash mark followed by number
+ // or with "Breakpoint " followed by number and comma
+ if (s[0] == '#') {
+ if (!isdigit(s[1]))
+ return false;
+ s++; /* skip the hash mark */
+ } else if (strncmp(s, "Breakpoint ", 11) == 0) {
+ if (!isdigit(s[11]))
+ return false;
+ s += 11; /* skip "Breakpoint" */
+ } else
+ return false;
+
+ // frame number
+ frameNo = atoi(s);
+ while (isdigit(*s))
+ s++;
+ // space and comma
+ while (isspace(*s) || *s == ',')
+ s++;
+ parseFrameInfo(s, func, file, lineNo, address);
+ return true;
+}
+
+void GdbDriver::parseBackTrace(const char* output, std::list<StackFrame>& stack)
+{
+ QString func, file;
+ int lineNo, frameNo;
+ DbgAddr address;
+
+ while (::parseFrame(output, frameNo, func, file, lineNo, address)) {
+ stack.push_back(StackFrame());
+ StackFrame* frm = &stack.back();
+ frm->frameNo = frameNo;
+ frm->fileName = file;
+ frm->lineNo = lineNo;
+ frm->address = address;
+ frm->var = new ExprValue(func, VarTree::NKplain);
+ }
+}
+
+bool GdbDriver::parseFrameChange(const char* output, int& frameNo,
+ QString& file, int& lineNo, DbgAddr& address)
+{
+ QString func;
+ return ::parseFrame(output, frameNo, func, file, lineNo, address);
+}
+
+
+bool GdbDriver::parseBreakList(const char* output, std::list<Breakpoint>& brks)
+{
+ // skip first line, which is the headline
+ const char* p = strchr(output, '\n');
+ if (p == 0)
+ return false;
+ p++;
+ if (*p == '\0')
+ return false;
+
+ // split up a line
+ const char* end;
+ char* dummy;
+ while (*p != '\0') {
+ Breakpoint bp;
+ // get Num
+ bp.id = strtol(p, &dummy, 10); /* don't care about overflows */
+ p = dummy;
+ // get Type
+ while (isspace(*p))
+ p++;
+ if (strncmp(p, "breakpoint", 10) == 0) {
+ p += 10;
+ } else if (strncmp(p, "hw watchpoint", 13) == 0) {
+ bp.type = Breakpoint::watchpoint;
+ p += 13;
+ } else if (strncmp(p, "watchpoint", 10) == 0) {
+ bp.type = Breakpoint::watchpoint;
+ p += 10;
+ }
+ while (isspace(*p))
+ p++;
+ if (*p == '\0')
+ break;
+ // get Disp
+ bp.temporary = *p++ == 'd';
+ while (*p != '\0' && !isspace(*p)) /* "keep" or "del" */
+ p++;
+ while (isspace(*p))
+ p++;
+ if (*p == '\0')
+ break;
+ // get Enb
+ bp.enabled = *p++ == 'y';
+ while (*p != '\0' && !isspace(*p)) /* "y" or "n" */
+ p++;
+ while (isspace(*p))
+ p++;
+ if (*p == '\0')
+ break;
+ // the address, if present
+ if (bp.type == Breakpoint::breakpoint &&
+ strncmp(p, "0x", 2) == 0)
+ {
+ const char* start = p;
+ while (*p != '\0' && !isspace(*p))
+ p++;
+ bp.address = QString::fromLatin1(start, p-start);
+ while (isspace(*p) && *p != '\n')
+ p++;
+ if (*p == '\0')
+ break;
+ }
+ // remainder is location, hit and ignore count, condition
+ end = strchr(p, '\n');
+ if (end == 0) {
+ bp.location = p;
+ p += bp.location.length();
+ } else {
+ bp.location = QString::fromLatin1(p, end-p).stripWhiteSpace();
+ p = end+1; /* skip over \n */
+ }
+
+ // may be continued in next line
+ while (isspace(*p)) { /* p points to beginning of line */
+ // skip white space at beginning of line
+ while (isspace(*p))
+ p++;
+
+ // seek end of line
+ end = strchr(p, '\n');
+ if (end == 0)
+ end = p+strlen(p);
+
+ if (strncmp(p, "breakpoint already hit", 22) == 0) {
+ // extract the hit count
+ p += 22;
+ bp.hitCount = strtol(p, &dummy, 10);
+ TRACE(QString("hit count %1").arg(bp.hitCount));
+ } else if (strncmp(p, "stop only if ", 13) == 0) {
+ // extract condition
+ p += 13;
+ bp.condition = QString::fromLatin1(p, end-p).stripWhiteSpace();
+ TRACE("condition: "+bp.condition);
+ } else if (strncmp(p, "ignore next ", 12) == 0) {
+ // extract ignore count
+ p += 12;
+ bp.ignoreCount = strtol(p, &dummy, 10);
+ TRACE(QString("ignore count %1").arg(bp.ignoreCount));
+ } else {
+ // indeed a continuation
+ bp.location += " " + QString::fromLatin1(p, end-p).stripWhiteSpace();
+ }
+ p = end;
+ if (*p != '\0')
+ p++; /* skip '\n' */
+ }
+ brks.push_back(bp);
+ }
+ return true;
+}
+
+std::list<ThreadInfo> GdbDriver::parseThreadList(const char* output)
+{
+ std::list<ThreadInfo> threads;
+ if (strcmp(output, "\n") == 0 || strncmp(output, "No stack.", 9) == 0) {
+ // no threads
+ return threads;
+ }
+
+ const char* p = output;
+ while (*p != '\0') {
+ ThreadInfo thr;
+ // seach look for thread id, watching out for the focus indicator
+ thr.hasFocus = false;
+ while (isspace(*p)) /* may be \n from prev line: see "No stack" below */
+ p++;
+ if (*p == '*') {
+ thr.hasFocus = true;
+ p++;
+ // there follows only whitespace
+ }
+ const char* end;
+ char *temp_end = NULL; /* we need a non-const 'end' for strtol to use...*/
+ thr.id = strtol(p, &temp_end, 10);
+ end = temp_end;
+ if (p == end) {
+ // syntax error: no number found; bail out
+ return threads;
+ }
+ p = end;
+
+ // skip space
+ while (isspace(*p))
+ p++;
+
+ /*
+ * Now follows the thread's SYSTAG. It is terminated by two blanks.
+ */
+ end = strstr(p, " ");
+ if (end == 0) {
+ // syntax error; bail out
+ return threads;
+ }
+ thr.threadName = QString::fromLatin1(p, end-p);
+ p = end+2;
+
+ /*
+ * Now follows a standard stack frame. Sometimes, however, gdb
+ * catches a thread at an instant where it doesn't have a stack.
+ */
+ if (strncmp(p, "[No stack.]", 11) != 0) {
+ ::parseFrameInfo(p, thr.function, thr.fileName, thr.lineNo, thr.address);
+ } else {
+ thr.function = "[No stack]";
+ thr.lineNo = -1;
+ p += 11; /* \n is skipped above */
+ }
+
+ threads.push_back(thr);
+ }
+ return threads;
+}
+
+static bool parseNewBreakpoint(const char* o, int& id,
+ QString& file, int& lineNo, QString& address);
+static bool parseNewWatchpoint(const char* o, int& id,
+ QString& expr);
+
+bool GdbDriver::parseBreakpoint(const char* output, int& id,
+ QString& file, int& lineNo, QString& address)
+{
+ const char* o = output;
+ // skip lines of that begin with "(Cannot find"
+ while (strncmp(o, "(Cannot find", 12) == 0) {
+ o = strchr(o, '\n');
+ if (o == 0)
+ return false;
+ o++; /* skip newline */
+ }
+
+ if (strncmp(o, "Breakpoint ", 11) == 0) {
+ output += 11; /* skip "Breakpoint " */
+ return ::parseNewBreakpoint(output, id, file, lineNo, address);
+ } else if (strncmp(o, "Hardware watchpoint ", 20) == 0) {
+ output += 20;
+ return ::parseNewWatchpoint(output, id, address);
+ } else if (strncmp(o, "Watchpoint ", 11) == 0) {
+ output += 11;
+ return ::parseNewWatchpoint(output, id, address);
+ }
+ return false;
+}
+
+static bool parseNewBreakpoint(const char* o, int& id,
+ QString& file, int& lineNo, QString& address)
+{
+ // breakpoint id
+ char* p;
+ id = strtoul(o, &p, 10);
+ if (p == o)
+ return false;
+
+ // check for the address
+ if (strncmp(p, " at 0x", 6) == 0) {
+ char* start = p+4; /* skip " at ", but not 0x */
+ p += 6;
+ while (isxdigit(*p))
+ ++p;
+ address = QString::fromLatin1(start, p-start);
+ }
+
+ // file name
+ char* fileStart = strstr(p, "file ");
+ if (fileStart == 0)
+ return !address.isEmpty(); /* parse error only if there's no address */
+ fileStart += 5;
+
+ // line number
+ char* numStart = strstr(fileStart, ", line ");
+ QString fileName = QString::fromLatin1(fileStart, numStart-fileStart);
+ numStart += 7;
+ int line = strtoul(numStart, &p, 10);
+ if (numStart == p)
+ return false;
+
+ file = fileName;
+ lineNo = line-1; /* zero-based! */
+ return true;
+}
+
+static bool parseNewWatchpoint(const char* o, int& id,
+ QString& expr)
+{
+ // watchpoint id
+ char* p;
+ id = strtoul(o, &p, 10);
+ if (p == o)
+ return false;
+
+ if (strncmp(p, ": ", 2) != 0)
+ return false;
+ p += 2;
+
+ // all the rest on the line is the expression
+ expr = QString::fromLatin1(p, strlen(p)).stripWhiteSpace();
+ return true;
+}
+
+void GdbDriver::parseLocals(const char* output, std::list<ExprValue*>& newVars)
+{
+ // check for possible error conditions
+ if (strncmp(output, "No symbol table", 15) == 0)
+ {
+ return;
+ }
+
+ while (*output != '\0') {
+ while (isspace(*output))
+ output++;
+ if (*output == '\0')
+ break;
+ // skip occurrences of "No locals" and "No args"
+ if (strncmp(output, "No locals", 9) == 0 ||
+ strncmp(output, "No arguments", 12) == 0)
+ {
+ output = strchr(output, '\n');
+ if (output == 0) {
+ break;
+ }
+ continue;
+ }
+
+ ExprValue* variable = parseVar(output);
+ if (variable == 0) {
+ break;
+ }
+ // do not add duplicates
+ for (std::list<ExprValue*>::iterator o = newVars.begin(); o != newVars.end(); ++o) {
+ if ((*o)->m_name == variable->m_name) {
+ delete variable;
+ goto skipDuplicate;
+ }
+ }
+ newVars.push_back(variable);
+ skipDuplicate:;
+ }
+}
+
+ExprValue* GdbDriver::parsePrintExpr(const char* output, bool wantErrorValue)
+{
+ ExprValue* var = 0;
+ // check for error conditions
+ if (!parseErrorMessage(output, var, wantErrorValue))
+ {
+ // parse the variable
+ var = parseVar(output);
+ }
+ return var;
+}
+
+bool GdbDriver::parseChangeWD(const char* output, QString& message)
+{
+ bool isGood = false;
+ message = QString(output).simplifyWhiteSpace();
+ if (message.isEmpty()) {
+ message = i18n("New working directory: ") + m_programWD;
+ isGood = true;
+ }
+ return isGood;
+}
+
+bool GdbDriver::parseChangeExecutable(const char* output, QString& message)
+{
+ message = output;
+
+ m_haveCoreFile = false;
+
+ /*
+ * Lines starting with the following do not indicate errors:
+ * Using host libthread_db
+ * (no debugging symbols found)
+ */
+ while (strncmp(output, "Using host libthread_db", 23) == 0 ||
+ strncmp(output, "(no debugging symbols found)", 28) == 0)
+ {
+ // this line is good, go to the next one
+ const char* end = strchr(output, '\n');
+ if (end == 0)
+ output += strlen(output);
+ else
+ output = end+1;
+ }
+
+ /*
+ * If we've parsed all lines, there was no error.
+ */
+ return output[0] == '\0';
+}
+
+bool GdbDriver::parseCoreFile(const char* output)
+{
+ // if command succeeded, gdb emits a line starting with "#0 "
+ m_haveCoreFile = strstr(output, "\n#0 ") != 0;
+ return m_haveCoreFile;
+}
+
+uint GdbDriver::parseProgramStopped(const char* output, QString& message)
+{
+ // optionally: "program changed, rereading symbols",
+ // followed by:
+ // "Program exited normally"
+ // "Program terminated with wignal SIGSEGV"
+ // "Program received signal SIGINT" or other signal
+ // "Breakpoint..."
+
+ // go through the output, line by line, checking what we have
+ const char* start = output - 1;
+ uint flags = SFprogramActive;
+ message = QString();
+ do {
+ start++; /* skip '\n' */
+
+ if (strncmp(start, "Program ", 8) == 0 ||
+ strncmp(start, "ptrace: ", 8) == 0) {
+ /*
+ * When we receive a signal, the program remains active.
+ *
+ * Special: If we "stopped" in a corefile, the string "Program
+ * terminated with signal"... is displayed. (Normally, we see
+ * "Program received signal"... when a signal happens.)
+ */
+ if (strncmp(start, "Program exited", 14) == 0 ||
+ (strncmp(start, "Program terminated", 18) == 0 && !m_haveCoreFile) ||
+ strncmp(start, "ptrace: ", 8) == 0)
+ {
+ flags &= ~SFprogramActive;
+ }
+
+ // set message
+ const char* endOfMessage = strchr(start, '\n');
+ if (endOfMessage == 0)
+ endOfMessage = start + strlen(start);
+ message = QString::fromLatin1(start, endOfMessage-start);
+ } else if (strncmp(start, "Breakpoint ", 11) == 0) {
+ /*
+ * We stopped at a (permanent) breakpoint (gdb doesn't tell us
+ * that it stopped at a temporary breakpoint).
+ */
+ flags |= SFrefreshBreak;
+ } else if (strstr(start, "re-reading symbols.") != 0) {
+ flags |= SFrefreshSource;
+ }
+
+ // next line, please
+ start = strchr(start, '\n');
+ } while (start != 0);
+
+ /*
+ * Gdb only notices when new threads have appeared, but not when a
+ * thread finishes. So we always have to assume that the list of
+ * threads has changed.
+ */
+ flags |= SFrefreshThreads;
+
+ return flags;
+}
+
+QStringList GdbDriver::parseSharedLibs(const char* output)
+{
+ QStringList shlibs;
+ if (strncmp(output, "No shared libraries loaded", 26) == 0)
+ return shlibs;
+
+ // parse the table of shared libraries
+
+ // strip off head line
+ output = strchr(output, '\n');
+ if (output == 0)
+ return shlibs;
+ output++; /* skip '\n' */
+ QString shlibName;
+ while (*output != '\0') {
+ // format of a line is
+ // 0x404c5000 0x40580d90 Yes /lib/libc.so.5
+ // 3 blocks of non-space followed by space
+ for (int i = 0; *output != '\0' && i < 3; i++) {
+ while (*output != '\0' && !isspace(*output)) { /* non-space */
+ output++;
+ }
+ while (isspace(*output)) { /* space */
+ output++;
+ }
+ }
+ if (*output == '\0')
+ return shlibs;
+ const char* start = output;
+ output = strchr(output, '\n');
+ if (output == 0)
+ output = start + strlen(start);
+ shlibName = QString::fromLatin1(start, output-start);
+ if (*output != '\0')
+ output++;
+ shlibs.append(shlibName);
+ TRACE("found shared lib " + shlibName);
+ }
+ return shlibs;
+}
+
+bool GdbDriver::parseFindType(const char* output, QString& type)
+{
+ if (strncmp(output, "type = ", 7) != 0)
+ return false;
+
+ /*
+ * Everything else is the type. We strip off any leading "const" and any
+ * trailing "&" on the grounds that neither affects the decoding of the
+ * object. We also strip off all white-space from the type.
+ */
+ output += 7;
+ if (strncmp(output, "const ", 6) == 0)
+ output += 6;
+ type = output;
+ type.replace(QRegExp("\\s+"), "");
+ if (type.endsWith("&"))
+ type.truncate(type.length() - 1);
+ return true;
+}
+
+std::list<RegisterInfo> GdbDriver::parseRegisters(const char* output)
+{
+ std::list<RegisterInfo> regs;
+ if (strncmp(output, "The program has no registers now", 32) == 0) {
+ return regs;
+ }
+
+ QString value;
+
+ // parse register values
+ while (*output != '\0')
+ {
+ RegisterInfo reg;
+ // skip space at the start of the line
+ while (isspace(*output))
+ output++;
+
+ // register name
+ const char* start = output;
+ while (*output != '\0' && !isspace(*output))
+ output++;
+ if (*output == '\0')
+ break;
+ reg.regName = QString::fromLatin1(start, output-start);
+
+ // skip space
+ while (isspace(*output))
+ output++;
+
+ /*
+ * If we find a brace now, this is a vector register. We look for
+ * the closing brace and treat the result as cooked value.
+ */
+ if (*output == '{')
+ {
+ start = output;
+ skipNested(output, '{', '}');
+ value = QString::fromLatin1(start, output-start).simplifyWhiteSpace();
+ // skip space, but not the end of line
+ while (isspace(*output) && *output != '\n')
+ output++;
+ // get rid of the braces at the begining and the end
+ value.remove(0, 1);
+ if (value[value.length()-1] == '}') {
+ value = value.left(value.length()-1);
+ }
+ // gdb 5.3 doesn't print a separate set of raw values
+ if (*output == '{') {
+ // another set of vector follows
+ // what we have so far is the raw value
+ reg.rawValue = value;
+
+ start = output;
+ skipNested(output, '{', '}');
+ value = QString::fromLatin1(start, output-start).simplifyWhiteSpace();
+ } else {
+ // for gdb 5.3
+ // find first type that does not have an array, this is the RAW value
+ const char* end=start;
+ findEnd(end);
+ const char* cur=start;
+ while (cur<end) {
+ while (*cur != '=' && cur<end)
+ cur++;
+ cur++;
+ while (isspace(*cur) && cur<end)
+ cur++;
+ if (isNumberish(*cur)) {
+ end=cur;
+ while (*end && (*end!='}') && (*end!=',') && (*end!='\n'))
+ end++;
+ QString rawValue = QString::fromLatin1(cur, end-cur).simplifyWhiteSpace();
+ reg.rawValue = rawValue;
+
+ if (rawValue.left(2)=="0x") {
+ // ok we have a raw value, now get it's type
+ end=cur-1;
+ while (isspace(*end) || *end=='=') end--;
+ end++;
+ cur=end-1;
+ while (*cur!='{' && *cur!=' ')
+ cur--;
+ cur++;
+ reg.type = QString::fromLatin1(cur, end-cur);
+ }
+
+ // end while loop
+ cur=end;
+ }
+ }
+ // skip to the end of line
+ while (*output != '\0' && *output != '\n')
+ output++;
+ // get rid of the braces at the begining and the end
+ value.remove(0, 1);
+ if (value[value.length()-1] == '}') {
+ value.truncate(value.length()-1);
+ }
+ }
+ reg.cookedValue = value;
+ }
+ else
+ {
+ // the rest of the line is the register value
+ start = output;
+ output = strchr(output,'\n');
+ if (output == 0)
+ output = start + strlen(start);
+ value = QString::fromLatin1(start, output-start).simplifyWhiteSpace();
+
+ /*
+ * We split the raw from the cooked values.
+ * Some modern gdbs explicitly say: "0.1234 (raw 0x3e4567...)".
+ * Here, the cooked value comes first, and the raw value is in
+ * the second part.
+ */
+ int pos = value.find(" (raw ");
+ if (pos >= 0)
+ {
+ reg.cookedValue = value.left(pos);
+ reg.rawValue = value.mid(pos+6);
+ if (reg.rawValue.right(1) == ")") // remove closing bracket
+ reg.rawValue.truncate(reg.rawValue.length()-1);
+ }
+ else
+ {
+ /*
+ * In other cases we split off the first token (separated by
+ * whitespace). It is the raw value. The remainder of the line
+ * is the cooked value.
+ */
+ int pos = value.find(' ');
+ if (pos < 0) {
+ reg.rawValue = value;
+ reg.cookedValue = QString();
+ } else {
+ reg.rawValue = value.left(pos);
+ reg.cookedValue = value.mid(pos+1);
+ }
+ }
+ }
+ if (*output != '\0')
+ output++; /* skip '\n' */
+
+ regs.push_back(reg);
+ }
+ return regs;
+}
+
+bool GdbDriver::parseInfoLine(const char* output, QString& addrFrom, QString& addrTo)
+{
+ // "is at address" or "starts at address"
+ const char* start = strstr(output, "s at address ");
+ if (start == 0)
+ return false;
+
+ start += 13;
+ const char* p = start;
+ while (*p != '\0' && !isspace(*p))
+ p++;
+ addrFrom = QString::fromLatin1(start, p-start);
+
+ start = strstr(p, "and ends at ");
+ if (start == 0) {
+ addrTo = addrFrom;
+ return true;
+ }
+
+ start += 12;
+ p = start;
+ while (*p != '\0' && !isspace(*p))
+ p++;
+ addrTo = QString::fromLatin1(start, p-start);
+
+ return true;
+}
+
+std::list<DisassembledCode> GdbDriver::parseDisassemble(const char* output)
+{
+ std::list<DisassembledCode> code;
+
+ if (strncmp(output, "Dump of assembler", 17) != 0) {
+ // error message?
+ DisassembledCode c;
+ c.code = output;
+ code.push_back(c);
+ return code;
+ }
+
+ // remove first line
+ const char* p = strchr(output, '\n');
+ if (p == 0)
+ return code; /* not a regular output */
+
+ p++;
+
+ // remove last line
+ const char* end = strstr(output, "End of assembler");
+ if (end == 0)
+ end = p + strlen(p);
+
+ // remove function offsets from the lines
+ while (p != end)
+ {
+ DisassembledCode c;
+ const char* start = p;
+ // address
+ while (p != end && !isspace(*p))
+ p++;
+ c.address = QString::fromLatin1(start, p-start);
+
+ // function name (enclosed in '<>', followed by ':')
+ while (p != end && *p != '<')
+ p++;
+ if (*p == '<')
+ skipNestedAngles(p);
+ if (*p == ':')
+ p++;
+
+ // space until code
+ while (p != end && isspace(*p))
+ p++;
+
+ // code until end of line
+ start = p;
+ while (p != end && *p != '\n')
+ p++;
+ if (p != end) /* include '\n' */
+ p++;
+
+ c.code = QString::fromLatin1(start, p-start);
+ code.push_back(c);
+ }
+ return code;
+}
+
+QString GdbDriver::parseMemoryDump(const char* output, std::list<MemoryDump>& memdump)
+{
+ if (isErrorExpr(output)) {
+ // error; strip space
+ QString msg = output;
+ return msg.stripWhiteSpace();
+ }
+
+ const char* p = output; /* save typing */
+
+ // the address
+ while (*p != 0) {
+ MemoryDump md;
+
+ const char* start = p;
+ while (*p != '\0' && *p != ':' && !isspace(*p))
+ p++;
+ md.address = QString::fromLatin1(start, p-start);
+ if (*p != ':') {
+ // parse function offset
+ while (isspace(*p))
+ p++;
+ start = p;
+ while (*p != '\0' && !(*p == ':' && isspace(p[1])))
+ p++;
+ md.address.fnoffs = QString::fromLatin1(start, p-start);
+ }
+ if (*p == ':')
+ p++;
+ // skip space; this may skip a new-line char!
+ while (isspace(*p))
+ p++;
+ // everything to the end of the line is the memory dump
+ const char* end = strchr(p, '\n');
+ if (end != 0) {
+ md.dump = QString::fromLatin1(p, end-p);
+ p = end+1;
+ } else {
+ md.dump = QString::fromLatin1(p, strlen(p));
+ p += strlen(p);
+ }
+ memdump.push_back(md);
+ }
+
+ return QString();
+}
+
+QString GdbDriver::editableValue(VarTree* value)
+{
+ const char* s = value->value().latin1();
+
+ // if the variable is a pointer value that contains a cast,
+ // remove the cast
+ if (*s == '(') {
+ skipNested(s, '(', ')');
+ // skip space
+ while (isspace(*s))
+ ++s;
+ }
+
+repeat:
+ const char* start = s;
+
+ if (strncmp(s, "0x", 2) == 0)
+ {
+ s += 2;
+ while (isxdigit(*s))
+ ++s;
+
+ /*
+ * What we saw so far might have been a reference. If so, edit the
+ * referenced value. Otherwise, edit the pointer.
+ */
+ if (*s == ':') {
+ // a reference
+ ++s;
+ goto repeat;
+ }
+ // a pointer
+ // if it's a pointer to a string, remove the string
+ const char* end = s;
+ while (isspace(*s))
+ ++s;
+ if (*s == '"') {
+ // a string
+ return QString::fromLatin1(start, end-start);
+ } else {
+ // other pointer
+ return QString::fromLatin1(start, strlen(start));
+ }
+ }
+
+ // else leave it unchanged (or stripped of the reference preamble)
+ return s;
+}
+
+QString GdbDriver::parseSetVariable(const char* output)
+{
+ // if there is any output, it is an error message
+ QString msg = output;
+ return msg.stripWhiteSpace();
+}
+
+
+#include "gdbdriver.moc"
diff --git a/kdbg/gdbdriver.h b/kdbg/gdbdriver.h
new file mode 100644
index 0000000..c92248a
--- /dev/null
+++ b/kdbg/gdbdriver.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef GDBDRIVER_H
+#define GDBDRIVER_H
+
+#include "dbgdriver.h"
+
+
+class GdbDriver : public DebuggerDriver
+{
+ Q_OBJECT
+public:
+ GdbDriver();
+ ~GdbDriver();
+
+ virtual QString driverName() const;
+ virtual QString defaultInvocation() const;
+ virtual QStringList boolOptionList() const;
+ void setDefaultInvocation(QString cmd) { m_defaultCmd = cmd; }
+ static QString defaultGdb();
+ virtual bool startup(QString cmdStr);
+ virtual void commandFinished(CmdQueueItem* cmd);
+ virtual CmdQueueItem* executeCmd(DbgCommand,
+ bool clearLow = false);
+ virtual CmdQueueItem* executeCmd(DbgCommand, QString strArg,
+ bool clearLow = false);
+ virtual CmdQueueItem* executeCmd(DbgCommand, int intArg,
+ bool clearLow = false);
+ virtual CmdQueueItem* executeCmd(DbgCommand, QString strArg, int intArg,
+ bool clearLow = false);
+ virtual CmdQueueItem* executeCmd(DbgCommand, QString strArg1, QString strArg2,
+ bool clearLow = false);
+ virtual CmdQueueItem* executeCmd(DbgCommand, int intArg1, int intArg2,
+ bool clearLow = false);
+ virtual CmdQueueItem* queueCmd(DbgCommand,
+ QueueMode mode);
+ virtual CmdQueueItem* queueCmd(DbgCommand, QString strArg,
+ QueueMode mode);
+ virtual CmdQueueItem* queueCmd(DbgCommand, int intArg,
+ QueueMode mode);
+ virtual CmdQueueItem* queueCmd(DbgCommand, QString strArg, int intArg,
+ QueueMode mode);
+ virtual CmdQueueItem* queueCmd(DbgCommand, QString strArg1, QString strArg2,
+ QueueMode mode);
+
+ virtual void terminate();
+ virtual void detachAndTerminate();
+ virtual void interruptInferior();
+ virtual void setPrintQStringDataCmd(const char* cmd);
+ virtual ExprValue* parseQCharArray(const char* output, bool wantErrorValue, bool qt3like);
+ virtual void parseBackTrace(const char* output, std::list<StackFrame>& stack);
+ virtual bool parseFrameChange(const char* output, int& frameNo,
+ QString& file, int& lineNo, DbgAddr& address);
+ virtual bool parseBreakList(const char* output, std::list<Breakpoint>& brks);
+ virtual std::list<ThreadInfo> parseThreadList(const char* output);
+ virtual bool parseBreakpoint(const char* output, int& id,
+ QString& file, int& lineNo, QString& address);
+ virtual void parseLocals(const char* output, std::list<ExprValue*>& newVars);
+ virtual ExprValue* parsePrintExpr(const char* output, bool wantErrorValue);
+ virtual bool parseChangeWD(const char* output, QString& message);
+ virtual bool parseChangeExecutable(const char* output, QString& message);
+ virtual bool parseCoreFile(const char* output);
+ virtual uint parseProgramStopped(const char* output, QString& message);
+ virtual QStringList parseSharedLibs(const char* output);
+ virtual bool parseFindType(const char* output, QString& type);
+ virtual std::list<RegisterInfo> parseRegisters(const char* output);
+ virtual bool parseInfoLine(const char* output,
+ QString& addrFrom, QString& addrTo);
+ virtual std::list<DisassembledCode> parseDisassemble(const char* output);
+ virtual QString parseMemoryDump(const char* output, std::list<MemoryDump>& memdump);
+ virtual QString parseSetVariable(const char* output);
+ virtual QString editableValue(VarTree* value);
+protected:
+ int m_gdbMajor, m_gdbMinor;
+ QString m_programWD; /* just an intermediate storage */
+ QString m_redirect; /* redirection to /dev/null */
+ bool m_haveCoreFile;
+ QString m_defaultCmd; /* how to invoke gdb */
+
+ QString makeCmdString(DbgCommand cmd, QString strArg);
+ QString makeCmdString(DbgCommand cmd, int intArg);
+ QString makeCmdString(DbgCommand cmd, QString strArg, int intArg);
+ QString makeCmdString(DbgCommand cmd, QString strArg1, QString strArg2);
+ QString makeCmdString(DbgCommand cmd, int intArg1, int intArg2);
+ void parseMarker();
+};
+
+#endif // GDBDRIVER_H
diff --git a/kdbg/kdbg.desktop b/kdbg/kdbg.desktop
new file mode 100644
index 0000000..f80fb55
--- /dev/null
+++ b/kdbg/kdbg.desktop
@@ -0,0 +1,42 @@
+[Desktop Entry]
+Exec=kdbg -caption "%c" %i
+Icon=kdbg
+Type=Application
+X-DocPath=kdbg/index.html
+Name=KDbg
+GenericName=Debugger
+GenericName[br]=Dizraener
+GenericName[da]=Afluser
+GenericName[es]=Depurador
+GenericName[fi]=Debuggeri
+GenericName[fr]=Débogueur
+GenericName[is]=Aflúsun
+GenericName[no]=Avluser
+GenericName[pt]=Depurador
+GenericName[pt_BR]=Depurador
+GenericName[ro]=Depanator
+GenericName[ru]=Отладчик
+GenericName[sk]=Ladiaci program
+GenericName[sl]=Razhroščevalnik
+GenericName[sv]=Avlusare
+Comment=Debug programs
+Comment[br]=Goulevioù dizraenañ
+Comment[ca]=Programes per localització d'errors
+Comment[cs]=Ladídí program
+Comment[da]=Afluseprogrammer
+Comment[de]=Programme debuggen
+Comment[es]=Depurador de programas
+Comment[fi]=Tutki ohjelmien toimintaa
+Comment[fr]=Déboguer un programme
+Comment[is]=kdbg: Forrit til ađ aflúsa önnur forrit
+Comment[no]=Avluse programmer
+Comment[pl]=Program do debugowania
+Comment[pt]=Depurador de programas
+Comment[pt_BR]=Depurador de programas
+Comment[ro]=Depanator de programe
+Comment[ru]=Отлаживает программы
+Comment[sk]=Ladiaci program
+Comment[sl]=Odpravljanje napak v programih
+Comment[sv]=Avlusar program
+Terminal=false
+Categories=Qt;KDE;Development;Debugger;
diff --git a/kdbg/kdbgrc b/kdbg/kdbgrc
new file mode 100644
index 0000000..5c3eb17
--- /dev/null
+++ b/kdbg/kdbgrc
@@ -0,0 +1,50 @@
+[dock_setting_default]
+Breakpoints:type=DOCK
+Locals,Watches:first_name=Locals
+Locals,Watches:last_name=Watches
+Locals,Watches:orientation=1
+Locals,Watches:parent=yes
+Locals,Watches:sepPos=68
+Locals,Watches:type=GROUP
+Locals:type=DOCK
+Main:Geometry=0,0,880,778
+Main:dock=Source
+Main:view=Source,Stack,Breakpoints,Output,Locals,Watches
+Main:visible=false
+Memory:dockBackTo=
+Memory:dockBackToPos=0
+Memory:geometry=0,0,640,409
+Memory:type=NULL_DOCK
+Memory:visible=false
+NameList=Source,Stack,Locals,Watches,Registers,Breakpoints,Output,Threads,Memory,Locals\\,Watches,Stack\\,Breakpoints\\,Output,Source\\,Stack\\,Breakpoints\\,Output,Source\\,Stack\\,Breakpoints\\,Output\\,Locals\\,Watches
+Output:type=DOCK
+Registers:dockBackTo=
+Registers:dockBackToPos=0
+Registers:geometry=0,0,640,409
+Registers:type=NULL_DOCK
+Registers:visible=false
+Source,Stack,Breakpoints,Output,Locals,Watches:first_name=Source,Stack,Breakpoints,Output
+Source,Stack,Breakpoints,Output,Locals,Watches:last_name=Locals,Watches
+Source,Stack,Breakpoints,Output,Locals,Watches:orientation=0
+Source,Stack,Breakpoints,Output,Locals,Watches:parent=yes
+Source,Stack,Breakpoints,Output,Locals,Watches:sepPos=63
+Source,Stack,Breakpoints,Output,Locals,Watches:type=GROUP
+Source,Stack,Breakpoints,Output:first_name=Source
+Source,Stack,Breakpoints,Output:last_name=Stack,Breakpoints,Output
+Source,Stack,Breakpoints,Output:orientation=1
+Source,Stack,Breakpoints,Output:parent=yes
+Source,Stack,Breakpoints,Output:sepPos=59
+Source,Stack,Breakpoints,Output:type=GROUP
+Source:type=DOCK
+Stack,Breakpoints,Output:curTab=1
+Stack,Breakpoints,Output:parent=yes
+Stack,Breakpoints,Output:tabNames=Stack,Breakpoints,Output
+Stack,Breakpoints,Output:type=TAB_GROUP
+Stack:type=DOCK
+Threads:dockBackTo=
+Threads:dockBackToPos=0
+Threads:geometry=0,0,640,409
+Threads:type=NULL_DOCK
+Threads:visible=false
+Version=0.0.4
+Watches:type=DOCK
diff --git a/kdbg/kdbgui.rc b/kdbg/kdbgui.rc
new file mode 100644
index 0000000..5d93a80
--- /dev/null
+++ b/kdbg/kdbgui.rc
@@ -0,0 +1,88 @@
+<!DOCTYPE kpartgui>
+<kpartgui name="kdbg" version="2">
+<MenuBar>
+ <Menu name="file"><text>&amp;File</text>
+ <Action name="file_executable" append="open_merge"/>
+ <Action name="file_executable_recent"/>
+ <Action name="file_core_dump"/>
+ <Action name="file_reload" append="close_merge"/>
+
+ </Menu>
+ <Menu name="view"><text>&amp;View</text>
+ <Action name="view_find"/>
+ <Action name="view_findnext"/>
+ <Action name="view_findprev"/>
+ <Separator/>
+ <Action name="view_stack"/>
+ <Action name="view_locals"/>
+ <Action name="view_watched_expressions"/>
+ <Action name="view_registers"/>
+ <Action name="view_breakpoints"/>
+ <Action name="view_threads"/>
+ <Action name="view_output"/>
+ <Action name="view_memory"/>
+ </Menu>
+ <Menu name="execution"><text>E&amp;xecution</text>
+ <Action name="exec_run"/>
+ <Action name="exec_step_into"/>
+ <Action name="exec_step_over"/>
+ <Action name="exec_step_out"/>
+ <Action name="exec_run_to_cursor"/>
+ <Action name="exec_step_into_by_insn"/>
+ <Action name="exec_step_over_by_insn"/>
+ <Action name="exec_movepc"/>
+ <Separator/>
+ <Action name="exec_break"/>
+ <Action name="exec_kill"/>
+ <Action name="exec_restart"/>
+ <Action name="exec_attach"/>
+ <Separator/>
+ <Action name="exec_arguments"/>
+ </Menu>
+ <Menu name="breakpoint"><text>&amp;Breakpoint</text>
+ <Action name="breakpoint_set"/>
+ <Action name="breakpoint_set_temporary"/>
+ <Action name="breakpoint_enable"/>
+ </Menu>
+ <Menu name="settings"><text>&amp;Settings</text>
+ <Action name="settings_program"/>
+ <Action name="settings_global"/>
+ </Menu>
+</MenuBar>
+<Menu name="popup_files">
+ <Action name="file_open"/>
+ <Separator/>
+ <Action name="exec_step_into"/>
+ <Action name="exec_step_over"/>
+ <Action name="exec_step_out"/>
+ <Action name="exec_step_run_to_cursor"/>
+ <Action name="exec_movepc"/>
+ <Separator/>
+ <Action name="breakpoint_set"/>
+</Menu>
+<Menu name="popup_files_empty">
+ <Action name="file_open"/>
+ <Separator/>
+ <Action name="file_executable"/>
+ <Action name="file_core_dump"/>
+</Menu>
+<Menu name="popup_locals">
+ <Action name="watch_expression"/>
+ <Action name="edit_value"/>
+</Menu>
+<ToolBar name="mainToolBar">
+ <Action name="file_reload"/>
+ <Action name="file_executable"/>
+ <Separator/>
+ <Action name="exec_run"/>
+ <Action name="exec_step_into"/>
+ <Action name="exec_step_over"/>
+ <Action name="exec_step_out"/>
+ <Action name="exec_step_into_by_insn"/>
+ <Action name="exec_step_over_by_insn"/>
+ <Separator/>
+ <Action name="breakpoint_set"/>
+ <Separator/>
+ <Action name="view_find"/>
+</ToolBar>
+</kpartgui>
diff --git a/kdbg/main.cpp b/kdbg/main.cpp
new file mode 100644
index 0000000..0f067e3
--- /dev/null
+++ b/kdbg/main.cpp
@@ -0,0 +1,139 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <kapplication.h>
+#include <klocale.h> /* i18n */
+#include <kmessagebox.h>
+#include <kglobal.h>
+#include <kstandarddirs.h>
+#include <kcmdlineargs.h>
+#include <kaboutdata.h>
+#include <kpopupmenu.h>
+#include <kmenubar.h>
+#include "dbgmainwnd.h"
+#include "typetable.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#ifndef VERSION
+#define VERSION ""
+#endif
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h> /* open(2) */
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h> /* getopt(3) */
+#endif
+#include <stdlib.h> /* getenv(3) */
+#include "mydebug.h"
+
+
+int main(int argc, char** argv)
+{
+ KAboutData aboutData("kdbg", "KDbg",
+ VERSION,
+ I18N_NOOP("A Debugger"),
+ KAboutData::License_GPL,
+ "(c) 1998-2010 Johannes Sixt",
+ 0, /* any text */
+ "http://www.kdbg.org/",
+ "j6t@kdbg.org");
+ aboutData.addAuthor("Johannes Sixt", 0, "j6t@kdbg.org");
+ aboutData.addCredit("Keith Isdale",
+ I18N_NOOP("XSLT debugging"),
+ "k_isdale@tpg.com.au");
+ aboutData.addCredit("Daniel Kristjansson",
+ I18N_NOOP("Register groups and formating"),
+ "danielk@cat.nyu.edu");
+ KCmdLineArgs::init( argc, argv, &aboutData );
+
+ static KCmdLineOptions options[] = {
+ { "t <file>", I18N_NOOP("transcript of conversation with the debugger"), 0 },
+ { "r <device>", I18N_NOOP("remote debugging via <device>"), 0 },
+ { "l <language>", I18N_NOOP("specify language: C, XSLT"), ""},
+ { "x", I18N_NOOP("use language XSLT (deprecated)"), 0 },
+ { "a <args>", I18N_NOOP("specify arguments of debugged executable"), 0},
+ { "p <pid>", I18N_NOOP("specify PID of process to debug"), 0},
+ { "+[program]", I18N_NOOP("path of executable to debug"), 0 },
+ { "+[core]", I18N_NOOP("a core file to use"), 0},
+ { 0, 0, 0 }
+ };
+ KCmdLineArgs::addCmdLineOptions(options);
+
+ KApplication app;
+
+ KGlobal::dirs()->addResourceType("types", "share/apps/kdbg/types");
+
+ DebuggerMainWnd* debugger = new DebuggerMainWnd("kdbg_main");
+
+ /* type libraries */
+ TypeTable::initTypeLibraries();
+
+ // session management
+ bool restored = false;
+ if (app.isRestored()) {
+ if (KMainWindow::canBeRestored(1)) {
+ debugger->restore(1);
+ restored = true;
+ }
+ }
+
+ app.setMainWidget(debugger);
+
+ debugger->show();
+
+ // handle options
+
+ KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
+ QString transcript = args->getOption("t");
+ QString remote = args->getOption("r");
+ if (!remote.isEmpty())
+ debugger->setRemoteDevice(remote);
+
+ QString lang = args->getOption("l");
+
+ // deprecated option; overrides -l
+ if (args->isSet("x")){
+ /* run in xsldbg mode */
+ lang = "xslt";
+ }
+
+ // check environment variable for transcript file name
+ if (transcript.isEmpty()) {
+ transcript = getenv("KDBG_TRANSCRIPT");
+ }
+ debugger->setTranscript(transcript);
+
+ QString pid = args->getOption("p");
+ QString programArgs = args->getOption("a");
+
+ if (!restored && args->count() > 0) {
+ // attach to process?
+ if (!pid.isEmpty()) {
+ TRACE("pid: " + pid);
+ debugger->setAttachPid(pid);
+ }
+ // check for core file; use it only if we're not attaching to a process
+ else if (args->count() > 1 && pid.isEmpty()) {
+ debugger->setCoreFile(args->arg(1));
+ }
+ if (!debugger->debugProgram(args->arg(0), lang)) {
+ // failed
+ TRACE("cannot start debugger");
+ KMessageBox::error(debugger, i18n("Cannot start debugger."));
+
+ debugger->setCoreFile(QString());
+ debugger->setAttachPid(QString());
+ } else {
+ if (!programArgs.isEmpty()) {
+ debugger->overrideProgramArguments(programArgs);
+ }
+ }
+ }
+
+ int rc = app.exec();
+ return rc;
+}
diff --git a/kdbg/mainwndbase.cpp b/kdbg/mainwndbase.cpp
new file mode 100644
index 0000000..924e5a7
--- /dev/null
+++ b/kdbg/mainwndbase.cpp
@@ -0,0 +1,637 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <kapplication.h>
+#include <klocale.h> /* i18n */
+#include <kconfig.h>
+#include <kmessagebox.h>
+#include <kstatusbar.h>
+#include <kfiledialog.h>
+#include <qtabdialog.h>
+#include <qfile.h>
+#include <qdragobject.h>
+#include "mainwndbase.h"
+#include "debugger.h"
+#include "gdbdriver.h"
+#include "xsldbgdriver.h"
+#include "prefdebugger.h"
+#include "prefmisc.h"
+#include "ttywnd.h"
+#include "commandids.h"
+#ifdef HAVE_CONFIG
+#include "config.h"
+#endif
+#include "mydebug.h"
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h> /* mknod(2) */
+#endif
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h> /* open(2) */
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h> /* getpid, unlink etc. */
+#endif
+
+#define MAX_RECENT_FILES 4
+
+WatchWindow::WatchWindow(QWidget* parent, const char* name, WFlags f) :
+ QWidget(parent, name, f),
+ m_watchEdit(this, "watch_edit"),
+ m_watchAdd(i18n(" Add "), this, "watch_add"),
+ m_watchDelete(i18n(" Del "), this, "watch_delete"),
+ m_watchVariables(this, i18n("Expression"), "watch_variables"),
+ m_watchV(this, 0),
+ m_watchH(0)
+{
+ // setup the layout
+ m_watchAdd.setMinimumSize(m_watchAdd.sizeHint());
+ m_watchDelete.setMinimumSize(m_watchDelete.sizeHint());
+ m_watchV.addLayout(&m_watchH, 0);
+ m_watchV.addWidget(&m_watchVariables, 10);
+ m_watchH.addWidget(&m_watchEdit, 10);
+ m_watchH.addWidget(&m_watchAdd, 0);
+ m_watchH.addWidget(&m_watchDelete, 0);
+
+ connect(&m_watchEdit, SIGNAL(returnPressed()), SIGNAL(addWatch()));
+ connect(&m_watchAdd, SIGNAL(clicked()), SIGNAL(addWatch()));
+ connect(&m_watchDelete, SIGNAL(clicked()), SIGNAL(deleteWatch()));
+ connect(&m_watchVariables, SIGNAL(currentChanged(QListViewItem*)),
+ SLOT(slotWatchHighlighted()));
+
+ m_watchVariables.installEventFilter(this);
+ setAcceptDrops(true);
+}
+
+WatchWindow::~WatchWindow()
+{
+}
+
+bool WatchWindow::eventFilter(QObject*, QEvent* ev)
+{
+ if (ev->type() == QEvent::KeyPress)
+ {
+ QKeyEvent* kev = static_cast<QKeyEvent*>(ev);
+ if (kev->key() == Key_Delete) {
+ emit deleteWatch();
+ return true;
+ }
+ }
+ return false;
+}
+
+void WatchWindow::dragEnterEvent(QDragEnterEvent* event)
+{
+ event->accept(QTextDrag::canDecode(event));
+}
+
+void WatchWindow::dropEvent(QDropEvent* event)
+{
+ QString text;
+ if (QTextDrag::decode(event, text))
+ {
+ // pick only the first line
+ text = text.stripWhiteSpace();
+ int pos = text.find('\n');
+ if (pos > 0)
+ text.truncate(pos);
+ text = text.stripWhiteSpace();
+ if (!text.isEmpty())
+ emit textDropped(text);
+ }
+}
+
+
+// place the text of the hightlighted watch expr in the edit field
+void WatchWindow::slotWatchHighlighted()
+{
+ VarTree* expr = m_watchVariables.selectedItem();
+ QString text = expr ? expr->computeExpr() : QString();
+ m_watchEdit.setText(text);
+}
+
+
+const char defaultTermCmdStr[] = "xterm -name kdbgio -title %T -e sh -c %C";
+const char defaultSourceFilter[] = "*.c *.cc *.cpp *.c++ *.C *.CC";
+const char defaultHeaderFilter[] = "*.h *.hh *.hpp *.h++";
+
+
+DebuggerMainWndBase::DebuggerMainWndBase() :
+ m_outputTermCmdStr(defaultTermCmdStr),
+ m_outputTermProc(0),
+ m_ttyLevel(-1), /* no tty yet */
+#ifdef GDB_TRANSCRIPT
+ m_transcriptFile(GDB_TRANSCRIPT),
+#endif
+ m_popForeground(false),
+ m_backTimeout(1000),
+ m_tabWidth(0),
+ m_sourceFilter(defaultSourceFilter),
+ m_headerFilter(defaultHeaderFilter),
+ m_debugger(0)
+{
+ m_statusActive = i18n("active");
+}
+
+DebuggerMainWndBase::~DebuggerMainWndBase()
+{
+ delete m_debugger;
+
+ // if the output window is open, close it
+ if (m_outputTermProc != 0) {
+ m_outputTermProc->disconnect(); /* ignore signals */
+ m_outputTermProc->kill();
+ shutdownTermWindow();
+ }
+}
+
+void DebuggerMainWndBase::setupDebugger(QWidget* parent,
+ ExprWnd* localVars,
+ ExprWnd* watchVars,
+ QListBox* backtrace)
+{
+ m_debugger = new KDebugger(parent, localVars, watchVars, backtrace);
+
+ QObject::connect(m_debugger, SIGNAL(updateStatusMessage()),
+ parent, SLOT(slotNewStatusMsg()));
+ QObject::connect(m_debugger, SIGNAL(updateUI()),
+ parent, SLOT(updateUI()));
+
+ QObject::connect(m_debugger, SIGNAL(breakpointsChanged()),
+ parent, SLOT(updateLineItems()));
+
+ QObject::connect(m_debugger, SIGNAL(debuggerStarting()),
+ parent, SLOT(slotDebuggerStarting()));
+}
+
+
+void DebuggerMainWndBase::setCoreFile(const QString& corefile)
+{
+ assert(m_debugger != 0);
+ m_debugger->useCoreFile(corefile, true);
+}
+
+void DebuggerMainWndBase::setRemoteDevice(const QString& remoteDevice)
+{
+ if (m_debugger != 0) {
+ m_debugger->setRemoteDevice(remoteDevice);
+ }
+}
+
+void DebuggerMainWndBase::overrideProgramArguments(const QString& args)
+{
+ assert(m_debugger != 0);
+ m_debugger->overrideProgramArguments(args);
+}
+
+void DebuggerMainWndBase::setTranscript(const QString& name)
+{
+ m_transcriptFile = name;
+ if (m_debugger != 0 && m_debugger->driver() != 0)
+ m_debugger->driver()->setLogFileName(m_transcriptFile);
+}
+
+const char OutputWindowGroup[] = "OutputWindow";
+const char TermCmdStr[] = "TermCmdStr";
+const char KeepScript[] = "KeepScript";
+const char DebuggerGroup[] = "Debugger";
+const char DebuggerCmdStr[] = "DebuggerCmdStr";
+const char PreferencesGroup[] = "Preferences";
+const char PopForeground[] = "PopForeground";
+const char BackTimeout[] = "BackTimeout";
+const char TabWidth[] = "TabWidth";
+const char FilesGroup[] = "Files";
+const char SourceFileFilter[] = "SourceFileFilter";
+const char HeaderFileFilter[] = "HeaderFileFilter";
+const char GeneralGroup[] = "General";
+
+void DebuggerMainWndBase::saveSettings(KConfig* config)
+{
+ if (m_debugger != 0) {
+ m_debugger->saveSettings(config);
+ }
+
+ KConfigGroupSaver g(config, OutputWindowGroup);
+ config->writeEntry(TermCmdStr, m_outputTermCmdStr);
+
+ config->setGroup(DebuggerGroup);
+ config->writeEntry(DebuggerCmdStr, m_debuggerCmdStr);
+
+ config->setGroup(PreferencesGroup);
+ config->writeEntry(PopForeground, m_popForeground);
+ config->writeEntry(BackTimeout, m_backTimeout);
+ config->writeEntry(TabWidth, m_tabWidth);
+ config->writeEntry(SourceFileFilter, m_sourceFilter);
+ config->writeEntry(HeaderFileFilter, m_headerFilter);
+}
+
+void DebuggerMainWndBase::restoreSettings(KConfig* config)
+{
+ if (m_debugger != 0) {
+ m_debugger->restoreSettings(config);
+ }
+
+ KConfigGroupSaver g(config, OutputWindowGroup);
+ /*
+ * For debugging and emergency purposes, let the config file override
+ * the shell script that is used to keep the output window open. This
+ * string must have EXACTLY 1 %s sequence in it.
+ */
+ setTerminalCmd(config->readEntry(TermCmdStr, defaultTermCmdStr));
+ m_outputTermKeepScript = config->readEntry(KeepScript);
+
+ config->setGroup(DebuggerGroup);
+ setDebuggerCmdStr(config->readEntry(DebuggerCmdStr));
+
+ config->setGroup(PreferencesGroup);
+ m_popForeground = config->readBoolEntry(PopForeground, false);
+ m_backTimeout = config->readNumEntry(BackTimeout, 1000);
+ m_tabWidth = config->readNumEntry(TabWidth, 0);
+ m_sourceFilter = config->readEntry(SourceFileFilter, m_sourceFilter);
+ m_headerFilter = config->readEntry(HeaderFileFilter, m_headerFilter);
+}
+
+void DebuggerMainWndBase::setAttachPid(const QString& pid)
+{
+ assert(m_debugger != 0);
+ m_debugger->setAttachPid(pid);
+}
+
+bool DebuggerMainWndBase::debugProgram(const QString& executable,
+ QString lang, QWidget* parent)
+{
+ assert(m_debugger != 0);
+
+ TRACE(QString("trying language '%1'...").arg(lang));
+ DebuggerDriver* driver = driverFromLang(lang);
+
+ if (driver == 0)
+ {
+ // see if there is a language in the per-program config file
+ QString configName = m_debugger->getConfigForExe(executable);
+ if (QFile::exists(configName))
+ {
+ KSimpleConfig c(configName, true); // read-only
+ c.setGroup(GeneralGroup);
+
+ // Using "GDB" as default here is for backwards compatibility:
+ // The config file exists but doesn't have an entry,
+ // so it must have been created by an old version of KDbg
+ // that had only the GDB driver.
+ lang = c.readEntry(KDebugger::DriverNameEntry, "GDB");
+
+ TRACE(QString("...bad, trying config driver %1...").arg(lang));
+ driver = driverFromLang(lang);
+ }
+
+ }
+ if (driver == 0)
+ {
+ QString name = driverNameFromFile(executable);
+
+ TRACE(QString("...no luck, trying %1 derived"
+ " from file contents").arg(name));
+ driver = driverFromLang(name);
+ }
+ if (driver == 0)
+ {
+ // oops
+ QString msg = i18n("Don't know how to debug language `%1'");
+ KMessageBox::sorry(parent, msg.arg(lang));
+ return false;
+ }
+
+ driver->setLogFileName(m_transcriptFile);
+
+ bool success = m_debugger->debugProgram(executable, driver);
+
+ if (!success)
+ {
+ delete driver;
+
+ QString msg = i18n("Could not start the debugger process.\n"
+ "Please shut down KDbg and resolve the problem.");
+ KMessageBox::sorry(parent, msg);
+ }
+
+ return success;
+}
+
+// derive driver from language
+DebuggerDriver* DebuggerMainWndBase::driverFromLang(QString lang)
+{
+ // lang is needed in all lowercase
+ lang = lang.lower();
+
+ // The following table relates languages and debugger drivers
+ static const struct L {
+ const char* shortest; // abbreviated to this is still unique
+ const char* full; // full name of language
+ int driver;
+ } langs[] = {
+ { "c", "c++", 1 },
+ { "f", "fortran", 1 },
+ { "p", "python", 3 },
+ { "x", "xslt", 2 },
+ // the following are actually driver names
+ { "gdb", "gdb", 1 },
+ { "xsldbg", "xsldbg", 2 },
+ };
+ const int N = sizeof(langs)/sizeof(langs[0]);
+
+ // lookup the language name
+ int driverID = 0;
+ for (int i = 0; i < N; i++)
+ {
+ const L& l = langs[i];
+
+ // shortest must match
+ if (!lang.startsWith(l.shortest))
+ continue;
+
+ // lang must not be longer than the full name, and it must match
+ if (QString(l.full).startsWith(lang))
+ {
+ driverID = l.driver;
+ break;
+ }
+ }
+ DebuggerDriver* driver = 0;
+ switch (driverID) {
+ case 1:
+ {
+ GdbDriver* gdb = new GdbDriver;
+ gdb->setDefaultInvocation(m_debuggerCmdStr);
+ driver = gdb;
+ }
+ break;
+ case 2:
+ driver = new XsldbgDriver;
+ break;
+ default:
+ // unknown language
+ break;
+ }
+ return driver;
+}
+
+/**
+ * Try to guess the language to use from the contents of the file.
+ */
+QString DebuggerMainWndBase::driverNameFromFile(const QString& exe)
+{
+ /* Inprecise but simple test to see if file is in XSLT language */
+ if (exe.right(4).lower() == ".xsl")
+ return "XSLT";
+
+ return "GDB";
+}
+
+// helper that gets a file name (it only differs in the caption of the dialog)
+QString DebuggerMainWndBase::myGetFileName(QString caption,
+ QString dir, QString filter,
+ QWidget* parent)
+{
+ QString filename;
+ KFileDialog dlg(dir, filter, parent, "filedialog", true);
+
+ dlg.setCaption(caption);
+
+ if (dlg.exec() == QDialog::Accepted)
+ filename = dlg.selectedFile();
+
+ return filename;
+}
+
+void DebuggerMainWndBase::newStatusMsg(KStatusBar* statusbar)
+{
+ QString msg = m_debugger->statusMessage();
+ statusbar->changeItem(msg, ID_STATUS_MSG);
+}
+
+void DebuggerMainWndBase::doGlobalOptions(QWidget* parent)
+{
+ QTabDialog dlg(parent, "global_options", true);
+ QString title = kapp->caption();
+ title += i18n(": Global options");
+ dlg.setCaption(title);
+ dlg.setCancelButton(i18n("Cancel"));
+ dlg.setOKButton(i18n("OK"));
+
+ PrefDebugger prefDebugger(&dlg);
+ prefDebugger.setDebuggerCmd(m_debuggerCmdStr.isEmpty() ?
+ GdbDriver::defaultGdb() : m_debuggerCmdStr);
+ prefDebugger.setTerminal(m_outputTermCmdStr);
+
+ PrefMisc prefMisc(&dlg);
+ prefMisc.setPopIntoForeground(m_popForeground);
+ prefMisc.setBackTimeout(m_backTimeout);
+ prefMisc.setTabWidth(m_tabWidth);
+ prefMisc.setSourceFilter(m_sourceFilter);
+ prefMisc.setHeaderFilter(m_headerFilter);
+
+ dlg.addTab(&prefDebugger, i18n("&Debugger"));
+ dlg.addTab(&prefMisc, i18n("&Miscellaneous"));
+ if (dlg.exec() == QDialog::Accepted)
+ {
+ setDebuggerCmdStr(prefDebugger.debuggerCmd());
+ setTerminalCmd(prefDebugger.terminal());
+ m_popForeground = prefMisc.popIntoForeground();
+ m_backTimeout = prefMisc.backTimeout();
+ m_tabWidth = prefMisc.tabWidth();
+ m_sourceFilter = prefMisc.sourceFilter();
+ if (m_sourceFilter.isEmpty())
+ m_sourceFilter = defaultSourceFilter;
+ m_headerFilter = prefMisc.headerFilter();
+ if (m_headerFilter.isEmpty())
+ m_headerFilter = defaultHeaderFilter;
+ }
+}
+
+const char fifoNameBase[] = "/tmp/kdbgttywin%05d";
+
+/*
+ * We use the scope operator :: in this function, so that we don't
+ * accidentally use the wrong close() function (I've been bitten ;-),
+ * outch!) (We use it for all the libc functions, to be consistent...)
+ */
+QString DebuggerMainWndBase::createOutputWindow()
+{
+ // create a name for a fifo
+ QString fifoName;
+ fifoName.sprintf(fifoNameBase, ::getpid());
+
+ // create a fifo that will pass in the tty name
+ QFile::remove(fifoName); // remove remnants
+#ifdef HAVE_MKFIFO
+ if (::mkfifo(fifoName.local8Bit(), S_IRUSR|S_IWUSR) < 0) {
+ // failed
+ TRACE("mkfifo " + fifoName + " failed");
+ return QString();
+ }
+#else
+ if (::mknod(fifoName.local8Bit(), S_IFIFO | S_IRUSR|S_IWUSR, 0) < 0) {
+ // failed
+ TRACE("mknod " + fifoName + " failed");
+ return QString();
+ }
+#endif
+
+ m_outputTermProc = new KProcess;
+
+ {
+ /*
+ * Spawn an xterm that in turn runs a shell script that passes us
+ * back the terminal name and then only sits and waits.
+ */
+ static const char shellScriptFmt[] =
+ "tty>%s;"
+ "trap \"\" INT QUIT TSTP;" /* ignore various signals */
+ "exec<&-;exec>&-;" /* close stdin and stdout */
+ "while :;do sleep 3600;done";
+ // let config file override this script
+ QString shellScript;
+ if (!m_outputTermKeepScript.isEmpty()) {
+ shellScript = m_outputTermKeepScript;
+ } else {
+ shellScript = shellScriptFmt;
+ }
+
+ shellScript.replace("%s", fifoName);
+ TRACE("output window script is " + shellScript);
+
+ QString title = kapp->caption();
+ title += i18n(": Program output");
+
+ // parse the command line specified in the preferences
+ QStringList cmdParts = QStringList::split(' ', m_outputTermCmdStr);
+
+ /*
+ * Build the argv array. Thereby substitute special sequences:
+ */
+ struct {
+ char seq[4];
+ QString replace;
+ } substitute[] = {
+ { "%T", title },
+ { "%C", shellScript }
+ };
+
+ for (QStringList::iterator i = cmdParts.begin(); i != cmdParts.end(); ++i)
+ {
+ QString& str = *i;
+ for (int j = sizeof(substitute)/sizeof(substitute[0])-1; j >= 0; j--) {
+ int pos = str.find(substitute[j].seq);
+ if (pos >= 0) {
+ str.replace(pos, 2, substitute[j].replace);
+ break; /* substitute only one sequence */
+ }
+ }
+ *m_outputTermProc << str;
+ }
+
+ }
+
+ if (m_outputTermProc->start())
+ {
+ QString tty;
+
+ // read the ttyname from the fifo
+ QFile f(fifoName);
+ if (f.open(IO_ReadOnly))
+ {
+ QByteArray t = f.readAll();
+ tty = QString::fromLocal8Bit(t, t.size());
+ f.close();
+ }
+ f.remove();
+
+ // remove whitespace
+ tty = tty.stripWhiteSpace();
+ TRACE("tty=" + tty);
+ return tty;
+ }
+ else
+ {
+ // error, could not start xterm
+ TRACE("fork failed for fifo " + fifoName);
+ QFile::remove(fifoName);
+ shutdownTermWindow();
+ return QString();
+ }
+}
+
+void DebuggerMainWndBase::shutdownTermWindow()
+{
+ delete m_outputTermProc;
+ m_outputTermProc = 0;
+}
+
+void DebuggerMainWndBase::setTerminalCmd(const QString& cmd)
+{
+ m_outputTermCmdStr = cmd;
+ // revert to default if empty
+ if (m_outputTermCmdStr.isEmpty()) {
+ m_outputTermCmdStr = defaultTermCmdStr;
+ }
+}
+
+void DebuggerMainWndBase::slotDebuggerStarting()
+{
+ if (m_debugger == 0) /* paranoia check */
+ return;
+
+ if (m_ttyLevel == m_debugger->ttyLevel())
+ {
+ }
+ else
+ {
+ // shut down terminal emulations we will not need
+ switch (m_ttyLevel) {
+ case KDebugger::ttySimpleOutputOnly:
+ ttyWindow()->deactivate();
+ break;
+ case KDebugger::ttyFull:
+ if (m_outputTermProc != 0) {
+ m_outputTermProc->kill();
+ // will be deleted in slot
+ }
+ break;
+ default: break;
+ }
+
+ m_ttyLevel = m_debugger->ttyLevel();
+
+ QString ttyName;
+ switch (m_ttyLevel) {
+ case KDebugger::ttySimpleOutputOnly:
+ ttyName = ttyWindow()->activate();
+ break;
+ case KDebugger::ttyFull:
+ if (m_outputTermProc == 0) {
+ // create an output window
+ ttyName = createOutputWindow();
+ TRACE(ttyName.isEmpty() ?
+ "createOuputWindow failed" : "successfully created output window");
+ }
+ break;
+ default: break;
+ }
+
+ m_debugger->setTerminal(ttyName);
+ }
+}
+
+void DebuggerMainWndBase::setDebuggerCmdStr(const QString& cmd)
+{
+ m_debuggerCmdStr = cmd;
+ // make empty if it is the default
+ if (m_debuggerCmdStr == GdbDriver::defaultGdb()) {
+ m_debuggerCmdStr = QString();
+ }
+}
+
+
+#include "mainwndbase.moc"
diff --git a/kdbg/mainwndbase.h b/kdbg/mainwndbase.h
new file mode 100644
index 0000000..36b1c6d
--- /dev/null
+++ b/kdbg/mainwndbase.h
@@ -0,0 +1,153 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef MAINWNDBASE_H
+#define MAINWNDBASE_H
+
+#include <qlineedit.h>
+#include <qlayout.h>
+#include <qpushbutton.h>
+#include <qcstring.h>
+#include "exprwnd.h"
+#include "sys/types.h" /* pid_t */
+
+// forward declarations
+class KDebugger;
+class TTYWindow;
+class UpdateUI;
+class KToolBar;
+class KStatusBar;
+class KProcess;
+class DebuggerDriver;
+
+class WatchWindow : public QWidget
+{
+ Q_OBJECT
+public:
+ WatchWindow(QWidget* parent, const char* name, WFlags f = 0);
+ ~WatchWindow();
+ ExprWnd* watchVariables() { return &m_watchVariables; }
+ QString watchText() const { return m_watchEdit.text(); }
+ int columnWidth(int i) const { return m_watchVariables.columnWidth(i); }
+ void setColumnWidth(int i, int w) { m_watchVariables.setColumnWidth(i, w); }
+
+protected:
+ QLineEdit m_watchEdit;
+ QPushButton m_watchAdd;
+ QPushButton m_watchDelete;
+ ExprWnd m_watchVariables;
+ QVBoxLayout m_watchV;
+ QHBoxLayout m_watchH;
+
+ virtual bool eventFilter(QObject* ob, QEvent* ev);
+ virtual void dragEnterEvent(QDragEnterEvent* event);
+ virtual void dropEvent(QDropEvent* event);
+
+signals:
+ void addWatch();
+ void deleteWatch();
+ void textDropped(const QString& text);
+
+protected slots:
+ void slotWatchHighlighted();
+};
+
+
+class DebuggerMainWndBase
+{
+public:
+ DebuggerMainWndBase();
+ virtual ~DebuggerMainWndBase();
+
+ /**
+ * Sets the command to invoke the terminal that displays the program
+ * output. If cmd is the empty string, the default is substituted.
+ */
+ void setTerminalCmd(const QString& cmd);
+ /**
+ * Sets the command to invoke the debugger.
+ */
+ void setDebuggerCmdStr(const QString& cmd);
+ /**
+ * Specifies the file where to write the transcript.
+ */
+ void setTranscript(const QString& name);
+ /**
+ * Starts to debug the specified program using the specified language
+ * driver.
+ */
+ bool debugProgram(const QString& executable, QString lang, QWidget* parent);
+ /**
+ * Specifies the process to attach to after the program is loaded.
+ */
+ void setAttachPid(const QString& pid);
+
+ // the following are needed to handle program arguments
+ void setCoreFile(const QString& corefile);
+ void setRemoteDevice(const QString &remoteDevice);
+ void overrideProgramArguments(const QString& args);
+ /** helper around KFileDialog */
+ static QString myGetFileName(QString caption,
+ QString dir, QString filter,
+ QWidget* parent);
+ /** invokes the global options dialog */
+ virtual void doGlobalOptions(QWidget* parent);
+
+protected:
+ // settings
+ virtual void saveSettings(KConfig*);
+ virtual void restoreSettings(KConfig*);
+
+ // override must return the integrated output window
+ virtual TTYWindow* ttyWindow() = 0;
+
+ // statusbar texts
+ QString m_statusActive;
+
+ // output window
+ QString m_outputTermCmdStr;
+ QString m_outputTermKeepScript;
+ KProcess* m_outputTermProc;
+ int m_ttyLevel;
+ virtual QString createOutputWindow(); /* returns terminal name */
+ void shutdownTermWindow();
+
+ QString m_lastDirectory; /* the dir of the most recently opened file */
+
+ QString m_transcriptFile; /* where gdb dialog is logged */
+
+ bool m_popForeground; /* whether main wnd raises when prog stops */
+ int m_backTimeout; /* when wnd goes back */
+ int m_tabWidth; /* tab width in characters (can be 0) */
+ QString m_sourceFilter;
+ QString m_headerFilter;
+
+ // the debugger proper
+ QString m_debuggerCmdStr;
+ KDebugger* m_debugger;
+ void setupDebugger(QWidget* parent,
+ ExprWnd* localVars,
+ ExprWnd* watchVars,
+ QListBox* backtrace);
+ DebuggerDriver* driverFromLang(QString lang);
+ /**
+ * This function derives a driver name from the contents of the named
+ * file.
+ */
+ QString driverNameFromFile(const QString& exe);
+
+public:
+ /*
+ * Important! The following functions must be overridden in derived
+ * classes and be declared as slots! Note: These must not be declared
+ * virtual here since Qt signal mechanism fails miserably (because this
+ * class will not be the left-most base class!).
+ */
+ void newStatusMsg(KStatusBar* statusbar);
+ void slotDebuggerStarting();
+};
+
+#endif // MAINWNDBASE_H
diff --git a/kdbg/memwindow.cpp b/kdbg/memwindow.cpp
new file mode 100644
index 0000000..5c51346
--- /dev/null
+++ b/kdbg/memwindow.cpp
@@ -0,0 +1,316 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "memwindow.h"
+#include <qheader.h>
+#include <klocale.h>
+#include <kconfigbase.h>
+#include "debugger.h"
+
+
+class MemoryViewItem : public QListViewItem
+{
+public:
+ MemoryViewItem(QListView* parent, QListViewItem* insertAfter, QString raw, QString cooked)
+ : QListViewItem(parent, insertAfter, raw, cooked) {}
+
+ void setChanged(uint pos, bool b) { m_changed[pos] = b; }
+
+protected:
+ virtual void paintCell(QPainter* p, const QColorGroup& cg,
+ int column, int width, int alignment);
+
+ bool m_changed[8];
+};
+
+void MemoryViewItem::paintCell(QPainter* p, const QColorGroup& cg,
+ int column, int width, int alignment)
+{
+ if( column > 0 && m_changed[column - 1] ) {
+ QColorGroup newcg = cg;
+ newcg.setColor(QColorGroup::Text, red);
+ QListViewItem::paintCell(p, newcg, column, width, alignment);
+ } else {
+ QListViewItem::paintCell(p, cg, column, width, alignment);
+ }
+}
+
+
+MemoryWindow::MemoryWindow(QWidget* parent, const char* name) :
+ QWidget(parent, name),
+ m_debugger(0),
+ m_expression(true, this, "expression"),
+ m_memory(this, "memory"),
+ m_layout(this, 0, 2),
+ m_format(MDTword | MDThex)
+{
+ QSize minSize = m_expression.sizeHint();
+ m_expression.setMinimumSize(minSize);
+ m_expression.setInsertionPolicy(QComboBox::NoInsertion);
+ m_expression.setMaxCount(15);
+
+ m_memory.addColumn(i18n("Address"), 80);
+
+ m_memory.setSorting(-1); /* don't sort */
+ m_memory.setAllColumnsShowFocus(true);
+ m_memory.header()->setClickEnabled(false);
+
+ // create layout
+ m_layout.addWidget(&m_expression, 0);
+ m_layout.addWidget(&m_memory, 10);
+ m_layout.activate();
+
+ connect(&m_expression, SIGNAL(activated(const QString&)),
+ this, SLOT(slotNewExpression(const QString&)));
+
+ // the popup menu
+ m_popup.insertItem(i18n("B&ytes"), MDTbyte);
+ m_popup.insertItem(i18n("Halfwords (&2 Bytes)"), MDThalfword);
+ m_popup.insertItem(i18n("Words (&4 Bytes)"), MDTword);
+ m_popup.insertItem(i18n("Giantwords (&8 Bytes)"), MDTgiantword);
+ m_popup.insertSeparator();
+ m_popup.insertItem(i18n("He&xadecimal"), MDThex);
+ m_popup.insertItem(i18n("Signed &decimal"), MDTsigned);
+ m_popup.insertItem(i18n("&Unsigned decimal"), MDTunsigned);
+ m_popup.insertItem(i18n("&Octal"), MDToctal);
+ m_popup.insertItem(i18n("&Binary"), MDTbinary);
+ m_popup.insertItem(i18n("&Addresses"), MDTaddress);
+ m_popup.insertItem(i18n("&Character"), MDTchar);
+ m_popup.insertItem(i18n("&Floatingpoint"), MDTfloat);
+ m_popup.insertItem(i18n("&Strings"), MDTstring);
+ m_popup.insertItem(i18n("&Instructions"), MDTinsn);
+ connect(&m_popup, SIGNAL(activated(int)), this, SLOT(slotTypeChange(int)));
+
+ /*
+ * Handle right mouse button. Signal righteButtonClicked cannot be
+ * used, because it works only over items, not over the blank window.
+ */
+ m_memory.viewport()->installEventFilter(this);
+}
+
+MemoryWindow::~MemoryWindow()
+{
+}
+
+bool MemoryWindow::eventFilter(QObject*, QEvent* ev)
+{
+ if (ev->type() == QEvent::MouseButtonRelease) {
+ handlePopup(static_cast<QMouseEvent*>(ev));
+ return true;
+ }
+ return false;
+}
+
+void MemoryWindow::handlePopup(QMouseEvent* ev)
+{
+ if (ev->button() == RightButton)
+ {
+ // show popup menu
+ if (m_popup.isVisible())
+ {
+ m_popup.hide();
+ }
+ else
+ {
+ m_popup.popup(mapToGlobal(ev->pos()));
+ }
+ return;
+ }
+}
+
+void MemoryWindow::slotNewExpression(const QString& newText)
+{
+ QString text = newText.simplifyWhiteSpace();
+
+ // see if the string is in the list
+ // (note: must count downwards because of removeItem!)
+ for (int i = m_expression.count()-1; i >= 0; i--)
+ {
+ if (m_expression.text(i) == text) {
+ // yes it is!
+ // look up the format that was used last time for this expr
+ QMap<QString,unsigned>::iterator pFormat = m_formatCache.find(text);
+ if (pFormat != m_formatCache.end()) {
+ m_format = *pFormat;
+ m_debugger->setMemoryFormat(m_format);
+ }
+ // remove this text, will be inserted at the top
+ m_expression.removeItem(i);
+ }
+ }
+ m_expression.insertItem(text, 0);
+
+ if (!text.isEmpty()) {
+ m_formatCache[text] = m_format;
+ }
+
+ displayNewExpression(text);
+}
+
+void MemoryWindow::displayNewExpression(const QString& expr)
+{
+ m_debugger->setMemoryExpression(expr);
+ m_expression.setEditText(expr);
+
+ // clear memory dump if no dump wanted
+ if (expr.isEmpty()) {
+ m_memory.clear();
+ m_old_memory.clear();
+ }
+}
+
+void MemoryWindow::slotTypeChange(int id)
+{
+ m_old_memory.clear();
+
+ // compute new type
+ if (id & MDTsizemask)
+ m_format = (m_format & ~MDTsizemask) | id;
+ if (id & MDTformatmask)
+ m_format = (m_format & ~MDTformatmask) | id;
+ m_debugger->setMemoryFormat(m_format);
+
+ // change the format in the cache
+ QString expr = m_expression.currentText();
+ m_formatCache[expr.simplifyWhiteSpace()] = m_format;
+
+ // force redisplay
+ displayNewExpression(expr);
+}
+
+void MemoryWindow::slotNewMemoryDump(const QString& msg, const std::list<MemoryDump>& memdump)
+{
+ m_memory.clear();
+ if (!msg.isEmpty()) {
+ new QListViewItem(&m_memory, QString(), msg);
+ return;
+ }
+
+ MemoryViewItem* after = 0;
+ std::list<MemoryDump>::const_iterator md = memdump.begin();
+
+ // remove all columns, except the address column
+ for(int k = m_memory.columns() - 1; k > 0; k--)
+ m_memory.removeColumn(k);
+
+ //add the needed columns
+ QStringList sl = QStringList::split( "\t", md->dump );
+ for (uint i = 0; i < sl.count(); i++)
+ m_memory.addColumn("", -1);
+
+ QMap<QString,QString> tmpMap;
+
+ for (; md != memdump.end(); ++md)
+ {
+ QString addr = md->address.asString() + " " + md->address.fnoffs;
+ QStringList sl = QStringList::split( "\t", md->dump );
+
+ // save memory
+ tmpMap[addr] = md->dump;
+
+ after = new MemoryViewItem(&m_memory, after, addr, "");
+
+ QStringList tmplist;
+ QMap<QString,QString>::Iterator pos = m_old_memory.find( addr );
+
+ if( pos != m_old_memory.end() )
+ tmplist = QStringList::split( "\t", pos.data() );
+
+ for (uint i = 0; i < sl.count(); i++)
+ {
+ after->setText( i+1, *sl.at(i) );
+
+ bool changed =
+ tmplist.count() > 0 &&
+ *sl.at(i) != *tmplist.at(i);
+ after->setChanged(i, changed);
+ }
+ }
+
+ m_old_memory.clear();
+ m_old_memory = tmpMap;
+}
+
+static const char MemoryGroup[] = "Memory";
+static const char NumExprs[] = "NumExprs";
+static const char ExpressionFmt[] = "Expression%d";
+static const char FormatFmt[] = "Format%d";
+static const char ColumnWidths[] = "ColumnWidths";
+
+void MemoryWindow::saveProgramSpecific(KConfigBase* config)
+{
+ KConfigGroupSaver s(config, MemoryGroup);
+
+ int numEntries = m_expression.count();
+ config->writeEntry(NumExprs, numEntries);
+ QString exprEntry;
+ QString fmtEntry;
+ for (int i = 0; i < numEntries;) {
+ QString text = m_expression.text(i);
+ i++; /* entries are counted 1-based */
+ exprEntry.sprintf(ExpressionFmt, i);
+ fmtEntry.sprintf(FormatFmt, i);
+ config->writeEntry(exprEntry, text);
+ QMap<QString,unsigned>::iterator pFormat = m_formatCache.find(text);
+ unsigned fmt = pFormat != m_formatCache.end() ? *pFormat : MDTword | MDThex;
+ config->writeEntry(fmtEntry, fmt);
+ }
+
+ // column widths
+ QStrList widths;
+ QString wStr;
+ for (int i = 0; i < 2; i++) {
+ int w = m_memory.columnWidth(i);
+ wStr.setNum(w);
+ widths.append(wStr);
+ }
+ config->writeEntry(ColumnWidths, widths);
+}
+
+void MemoryWindow::restoreProgramSpecific(KConfigBase* config)
+{
+ KConfigGroupSaver s(config, MemoryGroup);
+
+ int numEntries = config->readNumEntry(NumExprs, 0);
+ m_expression.clear();
+
+ QString exprEntry;
+ QString fmtEntry;
+ // entries are counted 1-based
+ for (int i = 1; i <= numEntries; i++) {
+ exprEntry.sprintf(ExpressionFmt, i);
+ fmtEntry.sprintf(FormatFmt, i);
+ QString expr = config->readEntry(exprEntry);
+ unsigned fmt = config->readNumEntry(fmtEntry, MDTword | MDThex);
+ m_expression.insertItem(expr);
+ m_formatCache[expr] = fmt & (MDTsizemask | MDTformatmask);
+ }
+
+ // initialize with top expression
+ if (numEntries > 0) {
+ m_expression.setCurrentItem(0);
+ QString expr = m_expression.text(0);
+ m_format = m_formatCache[expr];
+ m_debugger->setMemoryFormat(m_format);
+ displayNewExpression(expr);
+ }
+
+ // column widths
+ QStrList widths;
+ int n = config->readListEntry(ColumnWidths, widths);
+ if (n > 2)
+ n = 2;
+ for (int i = 0; i < n; i++) {
+ QString wStr = widths.at(i);
+ bool ok;
+ int w = wStr.toInt(&ok);
+ if (ok)
+ m_memory.setColumnWidth(i, w);
+ }
+}
+
+
+#include "memwindow.moc"
diff --git a/kdbg/memwindow.h b/kdbg/memwindow.h
new file mode 100644
index 0000000..af23265
--- /dev/null
+++ b/kdbg/memwindow.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef MEMWINDOW_H
+#define MEMWINDOW_H
+
+#include <qpopupmenu.h>
+#include <qlistview.h>
+#include <qcombobox.h>
+#include <qlayout.h>
+#include <qmap.h>
+#include "dbgdriver.h"
+
+class KDebugger;
+class KConfigBase;
+
+class MemoryWindow : public QWidget
+{
+ Q_OBJECT
+public:
+ MemoryWindow(QWidget* parent, const char* name);
+ ~MemoryWindow();
+
+ void setDebugger(KDebugger* deb) { m_debugger = deb; }
+
+protected:
+ KDebugger* m_debugger;
+ QComboBox m_expression;
+
+ QListView m_memory;
+ QMap<QString,QString> m_old_memory;
+
+ QVBoxLayout m_layout;
+
+ unsigned m_format;
+ QMap<QString,unsigned> m_formatCache;
+
+ QPopupMenu m_popup;
+
+ virtual bool eventFilter(QObject* o, QEvent* ev);
+ void handlePopup(QMouseEvent* ev);
+ void displayNewExpression(const QString& expr);
+
+public slots:
+ void slotNewExpression(const QString&);
+ void slotTypeChange(int id);
+ void slotNewMemoryDump(const QString&, const std::list<MemoryDump>&);
+ void saveProgramSpecific(KConfigBase* config);
+ void restoreProgramSpecific(KConfigBase* config);
+};
+
+#endif // MEMWINDOW_H
diff --git a/kdbg/mydebug.h b/kdbg/mydebug.h
new file mode 100644
index 0000000..99f4b58
--- /dev/null
+++ b/kdbg/mydebug.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <kdebug.h>
+#include <assert.h>
+
+#ifdef ASSERT
+#undef ASSERT
+#endif
+
+#ifdef NDEBUG
+# define ASSERT(x) ((void)0)
+#else
+# define ASSERT(x) ((x) ? void(0) : void(kdDebug() << \
+ (QString("assertion failed: ") + #x).ascii() << "\n"))
+#endif
+
+#ifdef WANT_TRACE_OUTPUT
+# define TRACE(x) (kdDebug() << (const char*)(x) << "\n")
+#else
+# define TRACE(x) ((void)0)
+#endif
diff --git a/kdbg/pgmargs.cpp b/kdbg/pgmargs.cpp
new file mode 100644
index 0000000..d51cf79
--- /dev/null
+++ b/kdbg/pgmargs.cpp
@@ -0,0 +1,246 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "pgmargs.h"
+#include <qlabel.h>
+#include <qpushbutton.h>
+#include <qlistview.h>
+#include <qlistbox.h>
+#include <qtabwidget.h>
+#include <kapplication.h>
+#include <kfiledialog.h>
+#include <klocale.h> /* i18n */
+#include "config.h"
+#include "mydebug.h"
+
+PgmArgs::PgmArgs(QWidget* parent, const QString& pgm, QDict<EnvVar>& envVars,
+ const QStringList& allOptions) :
+ PgmArgsBase(parent, "pgmargs", true),
+ m_envVars(envVars)
+{
+ m_envVars.setAutoDelete(false);
+
+ {
+ QFileInfo fi = pgm;
+ QString newText = labelArgs->text().arg(fi.fileName());
+ labelArgs->setText(newText);
+ }
+
+ // add options only if the option list is non-empty
+ if (!allOptions.isEmpty())
+ {
+ xsldbgOptions->insertStringList(allOptions);
+ }
+ else
+ {
+ delete xsldbgOptionsPage;
+ xsldbgOptionsPage = 0;
+ }
+
+ initEnvList();
+}
+
+PgmArgs::~PgmArgs()
+{
+}
+
+// initializes the selected options
+void PgmArgs::setOptions(const QStringList& selectedOptions)
+{
+ QStringList::ConstIterator it;
+ for (it = selectedOptions.begin(); it != selectedOptions.end(); ++it) {
+ for (uint i = 0; i < xsldbgOptions->count(); i++) {
+ if (xsldbgOptions->text(i) == *it) {
+ xsldbgOptions->setSelected(i, true);
+ break;
+ }
+ }
+ }
+}
+
+// returns the selected options
+QStringList PgmArgs::options() const
+{
+ QStringList sel;
+ if (xsldbgOptionsPage != 0)
+ {
+ for (uint i = 0; i < xsldbgOptions->count(); i++) {
+ if (xsldbgOptions->isSelected(i))
+ sel.append(xsldbgOptions->text(i));
+ }
+ }
+ return sel;
+}
+
+// this is a slot
+void PgmArgs::modifyVar()
+{
+ modifyVar(true); // re-add deleted entries
+}
+
+void PgmArgs::modifyVar(bool resurrect)
+{
+ QString name, value;
+ parseEnvInput(name, value);
+ if (name.isEmpty() || name.find(' ') >= 0) /* disallow spaces in names */
+ return;
+
+ // lookup the value in the dictionary
+ EnvVar* val = m_envVars[name];
+ if (val != 0) {
+ // see if this is a zombie
+ if (val->status == EnvVar::EVdeleted) {
+ // resurrect
+ if (resurrect)
+ {
+ val->value = value;
+ val->status = EnvVar::EVdirty;
+ val->item = new QListViewItem(envList, name, value); // inserts itself
+ m_envVars.insert(name, val);
+ }
+ } else if (value != val->value) {
+ // change the value
+ val->value = value;
+ val->status = EnvVar::EVdirty;
+ val->item->setText(1, value);
+ }
+ } else {
+ // add the value
+ val = new EnvVar;
+ val->value = value;
+ val->status = EnvVar::EVnew;
+ val->item = new QListViewItem(envList, name, value); // inserts itself
+ m_envVars.insert(name, val);
+ }
+ envList->setSelected(val->item, true);
+ buttonDelete->setEnabled(true);
+}
+
+// delete the selected item
+void PgmArgs::deleteVar()
+{
+ QListViewItem* item = envList->selectedItem();
+ if (item == 0)
+ return;
+ QString name = item->text(0);
+
+ // lookup the value in the dictionary
+ EnvVar* val = m_envVars[name];
+ if (val != 0)
+ {
+ // delete from list
+ val->item = 0;
+ // if this is a new item, delete it completely, otherwise zombie-ize it
+ if (val->status == EnvVar::EVnew) {
+ m_envVars.remove(name);
+ delete val;
+ } else {
+ // mark value deleted
+ val->status = EnvVar::EVdeleted;
+ }
+ }
+ delete item;
+ // there is no selected item anymore
+ buttonDelete->setEnabled(false);
+}
+
+void PgmArgs::parseEnvInput(QString& name, QString& value)
+{
+ // parse input from edit field
+ QString input = envVar->text();
+ int equalSign = input.find('=');
+ if (equalSign >= 0) {
+ name = input.left(equalSign).stripWhiteSpace();
+ value = input.mid(equalSign+1);
+ } else {
+ name = input.stripWhiteSpace();
+ value = QString(); /* value is empty */
+ }
+}
+
+void PgmArgs::initEnvList()
+{
+ QDictIterator<EnvVar> it = m_envVars;
+ EnvVar* val;
+ QString name;
+ for (; (val = it) != 0; ++it) {
+ val->status = EnvVar::EVclean;
+ name = it.currentKey();
+ val->item = new QListViewItem(envList, name, val->value); // inserts itself
+ }
+
+ envList->setAllColumnsShowFocus(true);
+ buttonDelete->setEnabled(envList->selectedItem() != 0);
+}
+
+void PgmArgs::envListCurrentChanged()
+{
+ QListViewItem* item = envList->selectedItem();
+ buttonDelete->setEnabled(item != 0);
+ if (item == 0)
+ return;
+
+ // must get name from list box
+ QString name = item->text(0);
+ EnvVar* val = m_envVars[name];
+ ASSERT(val != 0);
+ if (val != 0) {
+ envVar->setText(name + "=" + val->value);
+ } else {
+ envVar->setText(name);
+ }
+}
+
+void PgmArgs::accept()
+{
+ // simulate that the Modify button was pressed, but don't revive
+ // dead entries even if the user changed the edit box
+ modifyVar(false);
+ QDialog::accept();
+}
+
+void PgmArgs::browseWd()
+{
+ // browse for the working directory
+ QString newDir = KFileDialog::getExistingDirectory(wd(), this);
+ if (!newDir.isEmpty()) {
+ setWd(newDir);
+ }
+}
+
+void PgmArgs::browseArgFile()
+{
+ QString caption = i18n("Select a file name to insert as program argument");
+
+ // use the selection as default
+ QString f = programArgs->markedText();
+ f = KFileDialog::getSaveFileName(f, QString::null,
+ this, caption);
+ // don't clear the selection if no file was selected
+ if (!f.isEmpty()) {
+ programArgs->insert(f);
+ }
+}
+
+void PgmArgs::browseArgDir()
+{
+ QString caption = i18n("Select a directory to insert as program argument");
+
+ // use the selection as default
+ QString f = programArgs->markedText();
+ f = KFileDialog::getExistingDirectory(f, this, caption);
+ // don't clear the selection if no file was selected
+ if (!f.isEmpty()) {
+ programArgs->insert(f);
+ }
+}
+
+void PgmArgs::invokeHelp()
+{
+ kapp->invokeHTMLHelp("kdbg/argspwdenv.html");
+}
+
+#include "pgmargs.moc"
diff --git a/kdbg/pgmargs.h b/kdbg/pgmargs.h
new file mode 100644
index 0000000..fb1ec76
--- /dev/null
+++ b/kdbg/pgmargs.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef PgmArgs_included
+#define PgmArgs_included
+
+#include "pgmargsbase.h"
+#include <qlineedit.h>
+#include <qdict.h>
+#include "envvar.h"
+
+class QStringList;
+
+class PgmArgs : public PgmArgsBase
+{
+ Q_OBJECT
+public:
+ PgmArgs(QWidget* parent, const QString& pgm, QDict<EnvVar>& envVars,
+ const QStringList& allOptions);
+ virtual ~PgmArgs();
+
+ void setArgs(const QString& text) { programArgs->setText(text); }
+ QString args() const { return programArgs->text(); }
+ void setOptions(const QStringList& selectedOptions);
+ QStringList options() const;
+ void setWd(const QString& wd) { wdEdit->setText(wd); }
+ QString wd() const { return wdEdit->text(); }
+ QDict<EnvVar>& envVars() { return m_envVars; }
+
+protected:
+ QDict<EnvVar> m_envVars;
+
+ void initEnvList();
+ void parseEnvInput(QString& name, QString& value);
+ void modifyVar(bool resurrect);
+
+protected slots:
+ void modifyVar();
+ void deleteVar();
+ void envListCurrentChanged();
+ void accept();
+ void browseWd();
+ void browseArgFile();
+ void browseArgDir();
+ void invokeHelp();
+};
+
+#endif // PgmArgs_included
diff --git a/kdbg/pgmargsbase.cpp b/kdbg/pgmargsbase.cpp
new file mode 100644
index 0000000..efebbd9
--- /dev/null
+++ b/kdbg/pgmargsbase.cpp
@@ -0,0 +1,237 @@
+#include <kdialog.h>
+#include <klocale.h>
+/****************************************************************************
+** Form implementation generated from reading ui file '../../exper/kdbg/pgmargsbase.ui'
+**
+** Created: Sun Jun 6 14:57:15 2010
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+
+#include "pgmargsbase.h"
+
+#include <qvariant.h>
+#include <qpushbutton.h>
+#include <qtabwidget.h>
+#include <qwidget.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qheader.h>
+#include <qlistview.h>
+#include <qlistbox.h>
+#include <qlayout.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+
+/*
+ * Constructs a PgmArgsBase as 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.
+ */
+PgmArgsBase::PgmArgsBase( QWidget* parent, const char* name, bool modal, WFlags fl )
+ : QDialog( parent, name, modal, fl )
+{
+ if ( !name )
+ setName( "PgmArgsBase" );
+ setSizeGripEnabled( TRUE );
+ PgmArgsBaseLayout = new QHBoxLayout( this, 11, 6, "PgmArgsBaseLayout");
+
+ layout1 = new QVBoxLayout( 0, 0, 6, "layout1");
+
+ tabWidget = new QTabWidget( this, "tabWidget" );
+
+ argsPage = new QWidget( tabWidget, "argsPage" );
+ argsPageLayout = new QHBoxLayout( argsPage, 11, 6, "argsPageLayout");
+
+ layout2 = new QVBoxLayout( 0, 0, 6, "layout2");
+
+ labelArgs = new QLabel( argsPage, "labelArgs" );
+ layout2->addWidget( labelArgs );
+
+ programArgs = new QLineEdit( argsPage, "programArgs" );
+ layout2->addWidget( programArgs );
+
+ layout3 = new QHBoxLayout( 0, 0, 6, "layout3");
+
+ insertFile = new QPushButton( argsPage, "insertFile" );
+ layout3->addWidget( insertFile );
+
+ insertDir = new QPushButton( argsPage, "insertDir" );
+ layout3->addWidget( insertDir );
+ spacer1 = new QSpacerItem( 61, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ layout3->addItem( spacer1 );
+ layout2->addLayout( layout3 );
+ spacer2 = new QSpacerItem( 81, 180, QSizePolicy::Minimum, QSizePolicy::Expanding );
+ layout2->addItem( spacer2 );
+ argsPageLayout->addLayout( layout2 );
+ tabWidget->insertTab( argsPage, QString::fromLatin1("") );
+
+ wdPage = new QWidget( tabWidget, "wdPage" );
+ wdPageLayout = new QHBoxLayout( wdPage, 11, 6, "wdPageLayout");
+
+ layout6 = new QVBoxLayout( 0, 0, 6, "layout6");
+
+ wdEdit = new QLineEdit( wdPage, "wdEdit" );
+ layout6->addWidget( wdEdit );
+
+ layout5 = new QHBoxLayout( 0, 0, 6, "layout5");
+
+ wdBrowse = new QPushButton( wdPage, "wdBrowse" );
+ layout5->addWidget( wdBrowse );
+ spacer4 = new QSpacerItem( 321, 31, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ layout5->addItem( spacer4 );
+ layout6->addLayout( layout5 );
+ spacer5 = new QSpacerItem( 111, 161, QSizePolicy::Minimum, QSizePolicy::Expanding );
+ layout6->addItem( spacer5 );
+ wdPageLayout->addLayout( layout6 );
+ tabWidget->insertTab( wdPage, QString::fromLatin1("") );
+
+ envPage = new QWidget( tabWidget, "envPage" );
+ envPageLayout = new QHBoxLayout( envPage, 11, 6, "envPageLayout");
+
+ layout9 = new QHBoxLayout( 0, 0, 6, "layout9");
+
+ layout7 = new QVBoxLayout( 0, 0, 6, "layout7");
+
+ envLabel = new QLabel( envPage, "envLabel" );
+ layout7->addWidget( envLabel );
+
+ envVar = new QLineEdit( envPage, "envVar" );
+ layout7->addWidget( envVar );
+
+ envList = new QListView( envPage, "envList" );
+ envList->addColumn( tr2i18n( "Name" ) );
+ envList->header()->setClickEnabled( FALSE, envList->header()->count() - 1 );
+ envList->addColumn( tr2i18n( "Value" ) );
+ envList->header()->setClickEnabled( FALSE, envList->header()->count() - 1 );
+ envList->setSelectionMode( QListView::Single );
+ layout7->addWidget( envList );
+ layout9->addLayout( layout7 );
+
+ layout8 = new QVBoxLayout( 0, 0, 6, "layout8");
+
+ buttonModify = new QPushButton( envPage, "buttonModify" );
+ layout8->addWidget( buttonModify );
+
+ buttonDelete = new QPushButton( envPage, "buttonDelete" );
+ layout8->addWidget( buttonDelete );
+ spacer6 = new QSpacerItem( 51, 141, QSizePolicy::Minimum, QSizePolicy::Expanding );
+ layout8->addItem( spacer6 );
+ layout9->addLayout( layout8 );
+ envPageLayout->addLayout( layout9 );
+ tabWidget->insertTab( envPage, QString::fromLatin1("") );
+
+ xsldbgOptionsPage = new QWidget( tabWidget, "xsldbgOptionsPage" );
+ xsldbgOptionsPageLayout = new QHBoxLayout( xsldbgOptionsPage, 11, 6, "xsldbgOptionsPageLayout");
+
+ xsldbgOptions = new QListBox( xsldbgOptionsPage, "xsldbgOptions" );
+ xsldbgOptions->setSelectionMode( QListBox::Multi );
+ xsldbgOptionsPageLayout->addWidget( xsldbgOptions );
+ tabWidget->insertTab( xsldbgOptionsPage, QString::fromLatin1("") );
+ layout1->addWidget( tabWidget );
+
+ layout4 = new QHBoxLayout( 0, 0, 6, "layout4");
+
+ buttonHelp = new QPushButton( this, "buttonHelp" );
+ buttonHelp->setAutoDefault( TRUE );
+ layout4->addWidget( buttonHelp );
+ spacer3 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ layout4->addItem( spacer3 );
+
+ buttonOk = new QPushButton( this, "buttonOk" );
+ buttonOk->setAutoDefault( TRUE );
+ buttonOk->setDefault( TRUE );
+ layout4->addWidget( buttonOk );
+
+ buttonCancel = new QPushButton( this, "buttonCancel" );
+ buttonCancel->setAutoDefault( TRUE );
+ layout4->addWidget( buttonCancel );
+ layout1->addLayout( layout4 );
+ PgmArgsBaseLayout->addLayout( layout1 );
+ languageChange();
+ resize( QSize(528, 410).expandedTo(minimumSizeHint()) );
+ clearWState( WState_Polished );
+
+ // signals and slots connections
+ connect( buttonOk, SIGNAL( clicked() ), this, SLOT( accept() ) );
+ connect( buttonCancel, SIGNAL( clicked() ), this, SLOT( reject() ) );
+ connect( insertFile, SIGNAL( clicked() ), this, SLOT( browseArgFile() ) );
+ connect( wdBrowse, SIGNAL( clicked() ), this, SLOT( browseWd() ) );
+ connect( buttonModify, SIGNAL( clicked() ), this, SLOT( modifyVar() ) );
+ connect( buttonDelete, SIGNAL( clicked() ), this, SLOT( deleteVar() ) );
+ connect( envList, SIGNAL( selectionChanged() ), this, SLOT( envListCurrentChanged() ) );
+ connect( buttonHelp, SIGNAL( clicked() ), this, SLOT( invokeHelp() ) );
+ connect( insertDir, SIGNAL( clicked() ), this, SLOT( browseArgDir() ) );
+
+ // tab order
+ setTabOrder( envVar, envList );
+ setTabOrder( envList, buttonModify );
+ setTabOrder( buttonModify, buttonDelete );
+ setTabOrder( buttonDelete, programArgs );
+ setTabOrder( programArgs, insertFile );
+ setTabOrder( insertFile, insertDir );
+ setTabOrder( insertDir, buttonHelp );
+ setTabOrder( buttonHelp, buttonOk );
+ setTabOrder( buttonOk, buttonCancel );
+ setTabOrder( buttonCancel, tabWidget );
+ setTabOrder( tabWidget, wdEdit );
+ setTabOrder( wdEdit, wdBrowse );
+
+ // buddies
+ labelArgs->setBuddy( programArgs );
+ envLabel->setBuddy( envVar );
+}
+
+/*
+ * Destroys the object and frees any allocated resources
+ */
+PgmArgsBase::~PgmArgsBase()
+{
+ // no need to delete child widgets, Qt does it all for us
+}
+
+/*
+ * Sets the strings of the subwidgets using the current
+ * language.
+ */
+void PgmArgsBase::languageChange()
+{
+ setCaption( tr2i18n( "Program Arguments" ) );
+ labelArgs->setText( tr2i18n( "Run <i>%1</i> with these arguments:" ) );
+ QWhatsThis::add( programArgs, tr2i18n( "Specify the arguments with which the program shall be invoked for this debugging session. You specify the arguments just as you would on the command line, that is, you can even use quotes and environment variables, for example:<p><tt>--message 'start in: ' $HOME</tt>" ) );
+ insertFile->setText( tr2i18n( "Insert &file name..." ) );
+ insertFile->setAccel( QKeySequence( tr2i18n( "Alt+F" ) ) );
+ QWhatsThis::add( insertFile, tr2i18n( "Browse for a file; the full path name will be inserted at the current cursor location in the edit box above." ) );
+ insertDir->setText( tr2i18n( "Insert &directory name..." ) );
+ insertDir->setAccel( QKeySequence( tr2i18n( "Alt+D" ) ) );
+ QWhatsThis::add( insertDir, tr2i18n( "Browse for a directory; the full path name will be inserted at the current cursor location in the edit box above." ) );
+ tabWidget->changeTab( argsPage, tr2i18n( "&Arguments" ) );
+ QWhatsThis::add( wdEdit, tr2i18n( "Specify here the initial working directory where the program is run." ) );
+ wdBrowse->setText( tr2i18n( "&Browse..." ) );
+ wdBrowse->setAccel( QKeySequence( tr2i18n( "Alt+B" ) ) );
+ QWhatsThis::add( wdBrowse, tr2i18n( "Browse for the initial working directory where the program is run." ) );
+ tabWidget->changeTab( wdPage, tr2i18n( "&Working Directory" ) );
+ envLabel->setText( tr2i18n( "Environment variables (<tt>NAME=value</tt>):" ) );
+ QWhatsThis::add( envVar, tr2i18n( "To add a new environment variable or to modify one, specify it here in the form <tt>NAME=value</tt> and click <b>Modify</b>." ) );
+ envList->header()->setLabel( 0, tr2i18n( "Name" ) );
+ envList->header()->setLabel( 1, tr2i18n( "Value" ) );
+ QWhatsThis::add( envList, tr2i18n( "Environment variables that are set <i>in addition</i> to those that are inherited are listed in this table. To add new environment variables, specify them as <tt>NAME=value</tt> in the edit box above and click <b>Modify</b>. To modify a value, select it in this list and click <b>Modify</b>. To delete an environment variable, select it in this list and click <b>Delete</b>." ) );
+ buttonModify->setText( tr2i18n( "&Modify" ) );
+ buttonModify->setAccel( QKeySequence( tr2i18n( "Alt+M" ) ) );
+ QWhatsThis::add( buttonModify, tr2i18n( "Enters the environment variable that is currently specified in the edit box into the list. If the named variable is already in the list, it receives a new value; otherwise, a new entry is created." ) );
+ buttonDelete->setText( tr2i18n( "&Delete" ) );
+ buttonDelete->setAccel( QKeySequence( tr2i18n( "Alt+D" ) ) );
+ QWhatsThis::add( buttonDelete, tr2i18n( "Deletes the selected environment variable from the list. This cannot be used to delete environment variables that are inherited." ) );
+ tabWidget->changeTab( envPage, tr2i18n( "&Environment" ) );
+ tabWidget->changeTab( xsldbgOptionsPage, tr2i18n( "&xsldbg Options" ) );
+ buttonHelp->setText( tr2i18n( "&Help" ) );
+ buttonHelp->setAccel( QKeySequence( tr2i18n( "F1" ) ) );
+ buttonOk->setText( tr2i18n( "&OK" ) );
+ buttonOk->setAccel( QKeySequence( QString::null ) );
+ buttonCancel->setText( tr2i18n( "&Cancel" ) );
+ buttonCancel->setAccel( QKeySequence( QString::null ) );
+}
+
+#include "pgmargsbase.moc"
diff --git a/kdbg/pgmargsbase.ui b/kdbg/pgmargsbase.ui
new file mode 100644
index 0000000..0c81632
--- /dev/null
+++ b/kdbg/pgmargsbase.ui
@@ -0,0 +1,571 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>PgmArgsBase</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>PgmArgsBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>528</width>
+ <height>410</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Program Arguments</string>
+ </property>
+ <property name="sizeGripEnabled">
+ <bool>true</bool>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout1</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QTabWidget">
+ <property name="name">
+ <cstring>tabWidget</cstring>
+ </property>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>argsPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>&amp;Arguments</string>
+ </attribute>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout2</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>labelArgs</cstring>
+ </property>
+ <property name="text">
+ <string>Run &lt;i&gt;%1&lt;/i&gt; with these arguments:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>programArgs</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>programArgs</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Specify the arguments with which the program shall be invoked for this debugging session. You specify the arguments just as you would on the command line, that is, you can even use quotes and environment variables, for example:&lt;p&gt;&lt;tt&gt;--message 'start in: ' $HOME&lt;/tt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout3</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>insertFile</cstring>
+ </property>
+ <property name="text">
+ <string>Insert &amp;file name...</string>
+ </property>
+ <property name="accel">
+ <string>Alt+F</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Browse for a file; the full path name will be inserted at the current cursor location in the edit box above.</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>insertDir</cstring>
+ </property>
+ <property name="text">
+ <string>Insert &amp;directory name...</string>
+ </property>
+ <property name="accel">
+ <string>Alt+D</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Browse for a directory; the full path name will be inserted at the current cursor location in the edit box above.</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>61</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>81</width>
+ <height>180</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>wdPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>&amp;Working Directory</string>
+ </attribute>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout6</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>wdEdit</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Specify here the initial working directory where the program is run.</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout5</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>wdBrowse</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Browse...</string>
+ </property>
+ <property name="accel">
+ <string>Alt+B</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Browse for the initial working directory where the program is run.</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>321</width>
+ <height>31</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer5</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>111</width>
+ <height>161</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>envPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>&amp;Environment</string>
+ </attribute>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout9</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout7</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>envLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Environment variables (&lt;tt&gt;NAME=value&lt;/tt&gt;):</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>envVar</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>envVar</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>To add a new environment variable or to modify one, specify it here in the form &lt;tt&gt;NAME=value&lt;/tt&gt; and click &lt;b&gt;Modify&lt;/b&gt;.</string>
+ </property>
+ </widget>
+ <widget class="QListView">
+ <column>
+ <property name="text">
+ <string>Name</string>
+ </property>
+ <property name="clickable">
+ <bool>false</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Value</string>
+ </property>
+ <property name="clickable">
+ <bool>false</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>envList</cstring>
+ </property>
+ <property name="selectionMode">
+ <enum>Single</enum>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Environment variables that are set &lt;i&gt;in addition&lt;/i&gt; to those that are inherited are listed in this table. To add new environment variables, specify them as &lt;tt&gt;NAME=value&lt;/tt&gt; in the edit box above and click &lt;b&gt;Modify&lt;/b&gt;. To modify a value, select it in this list and click &lt;b&gt;Modify&lt;/b&gt;. To delete an environment variable, select it in this list and click &lt;b&gt;Delete&lt;/b&gt;.</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout8</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>buttonModify</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Modify</string>
+ </property>
+ <property name="accel">
+ <string>Alt+M</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Enters the environment variable that is currently specified in the edit box into the list. If the named variable is already in the list, it receives a new value; otherwise, a new entry is created.</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>buttonDelete</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Delete</string>
+ </property>
+ <property name="accel">
+ <string>Alt+D</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Deletes the selected environment variable from the list. This cannot be used to delete environment variables that are inherited.</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer6</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>51</width>
+ <height>141</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ </hbox>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>xsldbgOptionsPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>&amp;xsldbg Options</string>
+ </attribute>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QListBox">
+ <property name="name">
+ <cstring>xsldbgOptions</cstring>
+ </property>
+ <property name="selectionMode">
+ <enum>Multi</enum>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout4</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>buttonHelp</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Help</string>
+ </property>
+ <property name="accel">
+ <string>F1</string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>buttonOk</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>buttonCancel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+ </widget>
+ </hbox>
+</widget>
+<connections>
+ <connection>
+ <sender>buttonOk</sender>
+ <signal>clicked()</signal>
+ <receiver>PgmArgsBase</receiver>
+ <slot>accept()</slot>
+ </connection>
+ <connection>
+ <sender>buttonCancel</sender>
+ <signal>clicked()</signal>
+ <receiver>PgmArgsBase</receiver>
+ <slot>reject()</slot>
+ </connection>
+ <connection>
+ <sender>insertFile</sender>
+ <signal>clicked()</signal>
+ <receiver>PgmArgsBase</receiver>
+ <slot>browseArgFile()</slot>
+ </connection>
+ <connection>
+ <sender>wdBrowse</sender>
+ <signal>clicked()</signal>
+ <receiver>PgmArgsBase</receiver>
+ <slot>browseWd()</slot>
+ </connection>
+ <connection>
+ <sender>buttonModify</sender>
+ <signal>clicked()</signal>
+ <receiver>PgmArgsBase</receiver>
+ <slot>modifyVar()</slot>
+ </connection>
+ <connection>
+ <sender>buttonDelete</sender>
+ <signal>clicked()</signal>
+ <receiver>PgmArgsBase</receiver>
+ <slot>deleteVar()</slot>
+ </connection>
+ <connection>
+ <sender>envList</sender>
+ <signal>selectionChanged()</signal>
+ <receiver>PgmArgsBase</receiver>
+ <slot>envListCurrentChanged()</slot>
+ </connection>
+ <connection>
+ <sender>buttonHelp</sender>
+ <signal>clicked()</signal>
+ <receiver>PgmArgsBase</receiver>
+ <slot>invokeHelp()</slot>
+ </connection>
+ <connection>
+ <sender>insertDir</sender>
+ <signal>clicked()</signal>
+ <receiver>PgmArgsBase</receiver>
+ <slot>browseArgDir()</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>envVar</tabstop>
+ <tabstop>envList</tabstop>
+ <tabstop>buttonModify</tabstop>
+ <tabstop>buttonDelete</tabstop>
+ <tabstop>programArgs</tabstop>
+ <tabstop>insertFile</tabstop>
+ <tabstop>insertDir</tabstop>
+ <tabstop>buttonHelp</tabstop>
+ <tabstop>buttonOk</tabstop>
+ <tabstop>buttonCancel</tabstop>
+ <tabstop>tabWidget</tabstop>
+ <tabstop>wdEdit</tabstop>
+ <tabstop>wdBrowse</tabstop>
+</tabstops>
+<slots>
+ <slot specifier="pure virtual">browseArgFile()</slot>
+ <slot specifier="pure virtual">browseWd()</slot>
+ <slot specifier="pure virtual">modifyVar()</slot>
+ <slot specifier="pure virtual">deleteVar()</slot>
+ <slot specifier="pure virtual">envListCurrentChanged()</slot>
+ <slot specifier="pure virtual">invokeHelp()</slot>
+ <slot specifier="pure virtual">browseArgDir()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/kdbg/pgmsettings.cpp b/kdbg/pgmsettings.cpp
new file mode 100644
index 0000000..8bfebab
--- /dev/null
+++ b/kdbg/pgmsettings.cpp
@@ -0,0 +1,115 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "pgmsettings.h"
+#include <klocale.h> /* i18n */
+#include <kapplication.h>
+#include <qfileinfo.h>
+#include <qlayout.h>
+#include <qlineedit.h>
+#include <qlabel.h>
+#include <qradiobutton.h>
+#include <qbuttongroup.h>
+#include "config.h"
+#include "mydebug.h"
+
+
+ChooseDriver::ChooseDriver(QWidget* parent) :
+ QWidget(parent, "driver")
+{
+ QVBoxLayout* layout = new QVBoxLayout(this, 10);
+
+ QLabel* label = new QLabel(this);
+ label->setText(i18n("How to invoke &GDB - leave empty to use\n"
+ "the default from the global options:"));
+ label->setMinimumSize(label->sizeHint());
+ layout->addWidget(label);
+
+ m_debuggerCmd = new QLineEdit(this);
+ m_debuggerCmd->setMinimumSize(m_debuggerCmd->sizeHint());
+ layout->addWidget(m_debuggerCmd);
+ label->setBuddy(m_debuggerCmd);
+
+ layout->addStretch(10);
+}
+
+void ChooseDriver::setDebuggerCmd(const QString& cmd)
+{
+ m_debuggerCmd->setText(cmd);
+}
+
+QString ChooseDriver::debuggerCmd() const
+{
+ return m_debuggerCmd->text();
+}
+
+
+OutputSettings::OutputSettings(QWidget* parent) :
+ QWidget(parent, "output")
+{
+ // the group is invisible
+ m_group = new QButtonGroup(this);
+ m_group->hide();
+
+ QVBoxLayout* layout = new QVBoxLayout(this, 10);
+
+ QRadioButton* btn;
+
+ btn = new QRadioButton(i18n("&No input and output"), this);
+ m_group->insert(btn, 0);
+ btn->setMinimumSize(btn->sizeHint());
+ layout->addWidget(btn);
+
+ btn = new QRadioButton(i18n("&Only output, simple terminal emulation"), this);
+ m_group->insert(btn, 1);
+ btn->setMinimumSize(btn->sizeHint());
+ layout->addWidget(btn);
+
+ btn = new QRadioButton(i18n("&Full terminal emulation"), this);
+ m_group->insert(btn, 7);
+ btn->setMinimumSize(btn->sizeHint());
+ layout->addWidget(btn);
+
+ layout->addStretch(10);
+
+ // there is no simpler way to get to the active button than
+ // to connect to a signal
+ connect(m_group, SIGNAL(clicked(int)), SLOT(slotLevelChanged(int)));
+}
+
+void OutputSettings::setTTYLevel(int l)
+{
+ m_group->setButton(l);
+ m_ttyLevel = l;
+}
+
+void OutputSettings::slotLevelChanged(int id)
+{
+ m_ttyLevel = id;
+ TRACE("new ttyLevel: " + QString().setNum(id));
+}
+
+
+
+ProgramSettings::ProgramSettings(QWidget* parent, QString exeName, bool modal) :
+ QTabDialog(parent, "program_settings", modal),
+ m_chooseDriver(this),
+ m_output(this)
+{
+ // construct title
+ QFileInfo fi(exeName);
+ QString cap = kapp->caption();
+ QString title = i18n("%1: Settings for %2");
+ setCaption(title.arg(cap, fi.fileName()));
+
+ setCancelButton(i18n("Cancel"));
+ setOKButton(i18n("OK"));
+
+ addTab(&m_chooseDriver, i18n("&Debugger"));
+ addTab(&m_output, i18n("&Output"));
+}
+
+#include "pgmsettings.moc"
diff --git a/kdbg/pgmsettings.h b/kdbg/pgmsettings.h
new file mode 100644
index 0000000..27ab174
--- /dev/null
+++ b/kdbg/pgmsettings.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef PGMSETTINGS_H
+#define PGMSETTINGS_H
+
+#include <qtabdialog.h>
+
+class QButtonGroup;
+class QLineEdit;
+
+
+class ChooseDriver : public QWidget
+{
+public:
+ ChooseDriver(QWidget* parent);
+ void setDebuggerCmd(const QString& cmd);
+ QString debuggerCmd() const;
+protected:
+ QLineEdit* m_debuggerCmd;
+};
+
+
+class OutputSettings : public QWidget
+{
+ Q_OBJECT
+public:
+ OutputSettings(QWidget* parent);
+ void setTTYLevel(int l);
+ int ttyLevel() const { return m_ttyLevel; }
+protected:
+ int m_ttyLevel;
+ QButtonGroup* m_group;
+protected slots:
+ void slotLevelChanged(int);
+};
+
+
+class ProgramSettings : public QTabDialog
+{
+ Q_OBJECT
+public:
+ ProgramSettings(QWidget* parent, QString exeName, bool modal = true);
+
+public:
+ ChooseDriver m_chooseDriver;
+ OutputSettings m_output;
+};
+
+#endif
diff --git a/kdbg/pics/Makefile.am b/kdbg/pics/Makefile.am
new file mode 100644
index 0000000..d5d7163
--- /dev/null
+++ b/kdbg/pics/Makefile.am
@@ -0,0 +1,56 @@
+# toolbar icons
+
+kdbgiconsdir = $(kde_datadir)/kdbg/icons
+kdbgicons_ICON = \
+ pulse \
+ brkpt \
+ pgmfinish \
+ pgmnext \
+ pgmnexti \
+ pgmrun \
+ pgmstep \
+ pgmstepi \
+ execopen
+
+# line items and other pictograms
+PICTOGRAMS = \
+ brkena.xpm \
+ brkdis.xpm \
+ brktmp.xpm \
+ brkcond.xpm \
+ brkorph.xpm \
+ pcinner.xpm \
+ pcup.xpm \
+ regs.xpm \
+ watch.xpm \
+ watchcoded.xpm \
+ watchena.xpm \
+ watchdis.xpm \
+ pointer.xpm
+
+
+pics_DATA = $(PICTOGRAMS)
+picsdir = $(kde_datadir)/kdbg/pics
+
+# application icon
+KDE_ICON = kdbg
+
+animation = $(shell cd "$(srcdir)" && echo hi22-action-pulse0000*.png)
+
+# this requires ImageMagick
+hi22-action-pulse.png: hi22-action-pulse.pngseq
+ list="$(animation)" ; \
+ montage +frame +shadow +label -background black \
+ -geometry 22x22 \
+ -tile 1x`echo $$list | wc -w` \
+ $$list hi22-action-pulse.png
+
+hi22-action-pulse.pngseq: hi22-action-pulse.xml
+ @echo "Using cinelerra render $< into a PNG sequence $@"
+ @echo "If you do not have cinelerra, just touch $@"
+ exit 1
+
+# This file can be rendered by cinelerra into a "PNG sequence".
+# This produces the PNG sequence $(animation), which is pasted together
+# by `make hi22-action-pulse.png'.
+EXTRA_DIST = hi22-action-pulse.xml $(animation)
diff --git a/kdbg/pics/Makefile.in b/kdbg/pics/Makefile.in
new file mode 100644
index 0000000..e403f01
--- /dev/null
+++ b/kdbg/pics/Makefile.in
@@ -0,0 +1,698 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# toolbar icons
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = kdbg/pics
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(picsdir)"
+picsDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pics_DATA)
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PS_COMMAND = @PS_COMMAND@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+kdbgiconsdir = $(kde_datadir)/kdbg/icons
+kdbgicons_ICON = \
+ pulse \
+ brkpt \
+ pgmfinish \
+ pgmnext \
+ pgmnexti \
+ pgmrun \
+ pgmstep \
+ pgmstepi \
+ execopen
+
+
+# line items and other pictograms
+PICTOGRAMS = \
+ brkena.xpm \
+ brkdis.xpm \
+ brktmp.xpm \
+ brkcond.xpm \
+ brkorph.xpm \
+ pcinner.xpm \
+ pcup.xpm \
+ regs.xpm \
+ watch.xpm \
+ watchcoded.xpm \
+ watchena.xpm \
+ watchdis.xpm \
+ pointer.xpm
+
+pics_DATA = $(PICTOGRAMS)
+picsdir = $(kde_datadir)/kdbg/pics
+
+# application icon
+KDE_ICON = kdbg
+animation = $(shell cd "$(srcdir)" && echo hi22-action-pulse0000*.png)
+
+# This file can be rendered by cinelerra into a "PNG sequence".
+# This produces the PNG sequence $(animation), which is pasted together
+# by `make hi22-action-pulse.png'.
+EXTRA_DIST = hi22-action-pulse.xml $(animation)
+#>- all: all-am
+#>+ 1
+all: docs-am all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/pics/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu kdbg/pics/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/pics/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/pics/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/pics/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-picsDATA: $(pics_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(picsdir)" || $(MKDIR_P) "$(DESTDIR)$(picsdir)"
+ @list='$(pics_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(picsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(picsdir)/$$f'"; \
+ $(picsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(picsdir)/$$f"; \
+ done
+
+uninstall-picsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pics_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(picsdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(picsdir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(picsdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-am
+#>+ 1
+clean: kde-rpo-clean clean-am
+
+#>- clean-am: clean-generic clean-libtool mostlyclean-am
+#>+ 1
+clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+#>- install-data-am: install-picsDATA
+#>+ 1
+install-data-am: install-kde-icons install-picsDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+#>- uninstall-am: uninstall-picsDATA
+#>+ 1
+uninstall-am: uninstall-kde-icons uninstall-picsDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-picsDATA install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-picsDATA
+
+
+# this requires ImageMagick
+hi22-action-pulse.png: hi22-action-pulse.pngseq
+ list="$(animation)" ; \
+ montage +frame +shadow +label -background black \
+ -geometry 22x22 \
+ -tile 1x`echo $$list | wc -w` \
+ $$list hi22-action-pulse.png
+
+hi22-action-pulse.pngseq: hi22-action-pulse.xml
+ @echo "Using cinelerra render $< into a PNG sequence $@"
+ @echo "If you do not have cinelerra, just touch $@"
+ exit 1
+# 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
+KDE_DIST=hi22-action-pulse000007.png hi22-action-pulse000005.png hi22-action-pulse000010.png hi22-action-pulse000026.png hi16-action-pgmstep.png hi16-action-pgmfinish.png hi22-action-pulse000013.png regs.xpm hi22-action-pgmstepi.png hi22-action-pulse000009.png hi22-action-pulse000016.png hi22-action-pulse000000.png brktmp.xpm brkena.xpm hi22-action-pulse000011.png lo32-app-kdbg.png pointer.xpm pcinner.xpm hi22-action-pulse000018.png hi22-action-execopen.png hi22-action-pgmrun.png hi22-action-pulse000028.png hi32-app-kdbg.png hi22-action-pgmnext.png hi22-action-pulse000025.png hi22-action-pulse000021.png hi16-action-pgmnext.png watch.xpm genanim.sh watchdis.xpm hi16-action-pgmrun.png lo16-app-kdbg.png brkcond.xpm hi22-action-pulse000024.png hi22-action-pulse000020.png hi48-app-kdbg.png hi22-action-pgmstep.png hi22-action-pulse000001.png hi22-action-pulse000003.png watchena.xpm hi22-action-pgmfinish.png pcup.xpm hi22-action-pgmnexti.png hi22-action-pulse000008.png hi16-action-pgmstepi.png hi16-action-brkpt.png hi22-action-pulse000017.png hi22-action-pulse.png Makefile.in hi16-action-execopen.png hi22-action-pulse000004.png hi16-app-kdbg.png brkorph.xpm hi22-action-pulse000027.png brkdis.xpm watchcoded.xpm hi22-action-pulse000015.png hi22-action-pulse000002.png hi22-action-brkpt.png hi22-action-pulse000012.png hi22-action-pulse000022.png hi22-action-pulse000014.png hi22-action-pulse000006.png Makefile.am hi22-action-pulse000023.png hi16-action-pgmnexti.png hi22-action-pulse000019.png
+
+#>+ 2
+docs-am:
+
+#>+ 55
+install-kde-icons:
+ $(mkinstalldirs) $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions
+ $(INSTALL_DATA) $(srcdir)/hi16-action-pgmrun.png $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmrun.png
+ $(INSTALL_DATA) $(srcdir)/hi16-action-pgmfinish.png $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmfinish.png
+ $(mkinstalldirs) $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions
+ $(INSTALL_DATA) $(srcdir)/hi22-action-pgmstepi.png $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmstepi.png
+ $(INSTALL_DATA) $(srcdir)/hi16-action-pgmnext.png $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmnext.png
+ $(INSTALL_DATA) $(srcdir)/hi22-action-pgmfinish.png $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmfinish.png
+ $(INSTALL_DATA) $(srcdir)/hi16-action-pgmstepi.png $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmstepi.png
+ $(INSTALL_DATA) $(srcdir)/hi22-action-pgmrun.png $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmrun.png
+ $(INSTALL_DATA) $(srcdir)/hi22-action-brkpt.png $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/brkpt.png
+ $(INSTALL_DATA) $(srcdir)/hi16-action-brkpt.png $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/brkpt.png
+ $(INSTALL_DATA) $(srcdir)/hi22-action-pgmnexti.png $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmnexti.png
+ $(INSTALL_DATA) $(srcdir)/hi22-action-pgmstep.png $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmstep.png
+ $(INSTALL_DATA) $(srcdir)/hi22-action-execopen.png $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/execopen.png
+ $(INSTALL_DATA) $(srcdir)/hi22-action-pgmnext.png $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmnext.png
+ $(INSTALL_DATA) $(srcdir)/hi22-action-pulse.png $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pulse.png
+ $(INSTALL_DATA) $(srcdir)/hi16-action-execopen.png $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/execopen.png
+ $(INSTALL_DATA) $(srcdir)/hi16-action-pgmstep.png $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmstep.png
+ $(INSTALL_DATA) $(srcdir)/hi16-action-pgmnexti.png $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmnexti.png
+ $(mkinstalldirs) $(DESTDIR)$(kde_icondir)/hicolor/48x48/apps
+ $(INSTALL_DATA) $(srcdir)/hi48-app-kdbg.png $(DESTDIR)$(kde_icondir)/hicolor/48x48/apps/kdbg.png
+ $(mkinstalldirs) $(DESTDIR)$(kde_icondir)/locolor/16x16/apps
+ $(INSTALL_DATA) $(srcdir)/lo16-app-kdbg.png $(DESTDIR)$(kde_icondir)/locolor/16x16/apps/kdbg.png
+ $(mkinstalldirs) $(DESTDIR)$(kde_icondir)/hicolor/16x16/apps
+ $(INSTALL_DATA) $(srcdir)/hi16-app-kdbg.png $(DESTDIR)$(kde_icondir)/hicolor/16x16/apps/kdbg.png
+ $(mkinstalldirs) $(DESTDIR)$(kde_icondir)/locolor/32x32/apps
+ $(INSTALL_DATA) $(srcdir)/lo32-app-kdbg.png $(DESTDIR)$(kde_icondir)/locolor/32x32/apps/kdbg.png
+ $(mkinstalldirs) $(DESTDIR)$(kde_icondir)/hicolor/32x32/apps
+ $(INSTALL_DATA) $(srcdir)/hi32-app-kdbg.png $(DESTDIR)$(kde_icondir)/hicolor/32x32/apps/kdbg.png
+
+uninstall-kde-icons:
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmrun.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmfinish.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmstepi.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmnext.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmfinish.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmstepi.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmrun.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/brkpt.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/brkpt.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmnexti.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmstep.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/execopen.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pgmnext.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/22x22/actions/pulse.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/execopen.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmstep.png
+ -rm -f $(DESTDIR)$(kdbgiconsdir)/hicolor/16x16/actions/pgmnexti.png
+ -rm -f $(DESTDIR)$(kde_icondir)/hicolor/48x48/apps/kdbg.png
+ -rm -f $(DESTDIR)$(kde_icondir)/locolor/16x16/apps/kdbg.png
+ -rm -f $(DESTDIR)$(kde_icondir)/hicolor/16x16/apps/kdbg.png
+ -rm -f $(DESTDIR)$(kde_icondir)/locolor/32x32/apps/kdbg.png
+ -rm -f $(DESTDIR)$(kde_icondir)/hicolor/32x32/apps/kdbg.png
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/pics/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/pics/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/pics/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-am
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 3
+final:
+ $(MAKE) all-am
+
+#>+ 3
+final-install:
+ $(MAKE) install-am
+
+#>+ 3
+no-final:
+ $(MAKE) all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 3
+nmcheck:
+nmcheck-am: nmcheck
diff --git a/kdbg/pics/brkcond.xpm b/kdbg/pics/brkcond.xpm
new file mode 100644
index 0000000..203a908
--- /dev/null
+++ b/kdbg/pics/brkcond.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char*brkcond[]={
+"14 14 3 1",
+"a c #0000ff",
+". c None",
+"# c #ffffff",
+"..###.........",
+".#aaa#........",
+"#aa#aa#.......",
+".###aa#.......",
+"..#aa#........",
+".#aa#.........",
+"..##..........",
+".#aa#.........",
+"..##..........",
+"..............",
+"..............",
+"..............",
+"..............",
+".............."};
diff --git a/kdbg/pics/brkdis.xpm b/kdbg/pics/brkdis.xpm
new file mode 100644
index 0000000..dbfbfe4
--- /dev/null
+++ b/kdbg/pics/brkdis.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * brkdis_xpm[] = {
+"14 14 4 1",
+" c None",
+". c white",
+"X c #BE8383",
+"o c #D2A9A9",
+" ",
+" .... ",
+" .XXXX. ",
+" .XooooX. ",
+" .XooooooX. ",
+" .XooooooooX. ",
+" .XooooooooX. ",
+" .XooooooooX. ",
+" .XooooooooX. ",
+" .XooooooX. ",
+" .XooooX. ",
+" .XXXX. ",
+" .... ",
+" "};
diff --git a/kdbg/pics/brkena.xpm b/kdbg/pics/brkena.xpm
new file mode 100644
index 0000000..f9adf6b
--- /dev/null
+++ b/kdbg/pics/brkena.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static char * brkena_xpm[] = {
+"14 14 4 1",
+" c None",
+". c #FFFFFF",
+"+ c #8B0000",
+"@ c #FF0000",
+" ",
+" .... ",
+" .++++. ",
+" .+@@@@+. ",
+" .+@@@@@@+. ",
+" .+@@@@@@@@+. ",
+" .+@@@@@@@@+. ",
+" .+@@@@@@@@+. ",
+" .+@@@@@@@@+. ",
+" .+@@@@@@+. ",
+" .+@@@@+. ",
+" .++++. ",
+" .... ",
+" "};
diff --git a/kdbg/pics/brkorph.xpm b/kdbg/pics/brkorph.xpm
new file mode 100644
index 0000000..52704af
--- /dev/null
+++ b/kdbg/pics/brkorph.xpm
@@ -0,0 +1,19 @@
+/* XPM */
+static char * brkorph_xpm[] = {
+"14 14 2 1",
+" c None",
+". c #563131",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" .. .. ",
+" ... ... ",
+" ..... ",
+" ... ",
+" ..... ",
+" ... ... ",
+" .. .. "};
diff --git a/kdbg/pics/brktmp.xpm b/kdbg/pics/brktmp.xpm
new file mode 100644
index 0000000..9b63680
--- /dev/null
+++ b/kdbg/pics/brktmp.xpm
@@ -0,0 +1,20 @@
+/* XPM */
+static char * brktmp_xpm[] = {
+"14 14 3 1",
+" s None c None",
+". c black",
+"X c white",
+" ",
+" ... ",
+" .X.X. ",
+" .XX.XX. ",
+" .XX.... ",
+" .XXXXX. ",
+" .XXX. ",
+" ... ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "};
diff --git a/kdbg/pics/genanim.sh b/kdbg/pics/genanim.sh
new file mode 100755
index 0000000..ab213c6
--- /dev/null
+++ b/kdbg/pics/genanim.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# usage example:
+# $0 hi22-action-pulse
+
+delay=4
+
+# this is GraphicMagick
+gm convert -loop $delay -delay $delay "$1"??????.png "$1".mng
diff --git a/kdbg/pics/hi16-action-brkpt.png b/kdbg/pics/hi16-action-brkpt.png
new file mode 100644
index 0000000..77f3d5e
--- /dev/null
+++ b/kdbg/pics/hi16-action-brkpt.png
Binary files differ
diff --git a/kdbg/pics/hi16-action-execopen.png b/kdbg/pics/hi16-action-execopen.png
new file mode 100644
index 0000000..82aa996
--- /dev/null
+++ b/kdbg/pics/hi16-action-execopen.png
Binary files differ
diff --git a/kdbg/pics/hi16-action-pgmfinish.png b/kdbg/pics/hi16-action-pgmfinish.png
new file mode 100644
index 0000000..86eae86
--- /dev/null
+++ b/kdbg/pics/hi16-action-pgmfinish.png
Binary files differ
diff --git a/kdbg/pics/hi16-action-pgmnext.png b/kdbg/pics/hi16-action-pgmnext.png
new file mode 100644
index 0000000..4d70b98
--- /dev/null
+++ b/kdbg/pics/hi16-action-pgmnext.png
Binary files differ
diff --git a/kdbg/pics/hi16-action-pgmnexti.png b/kdbg/pics/hi16-action-pgmnexti.png
new file mode 100644
index 0000000..bd87517
--- /dev/null
+++ b/kdbg/pics/hi16-action-pgmnexti.png
Binary files differ
diff --git a/kdbg/pics/hi16-action-pgmrun.png b/kdbg/pics/hi16-action-pgmrun.png
new file mode 100644
index 0000000..b4f87e2
--- /dev/null
+++ b/kdbg/pics/hi16-action-pgmrun.png
Binary files differ
diff --git a/kdbg/pics/hi16-action-pgmstep.png b/kdbg/pics/hi16-action-pgmstep.png
new file mode 100644
index 0000000..d33236a
--- /dev/null
+++ b/kdbg/pics/hi16-action-pgmstep.png
Binary files differ
diff --git a/kdbg/pics/hi16-action-pgmstepi.png b/kdbg/pics/hi16-action-pgmstepi.png
new file mode 100644
index 0000000..c54a28f
--- /dev/null
+++ b/kdbg/pics/hi16-action-pgmstepi.png
Binary files differ
diff --git a/kdbg/pics/hi16-app-kdbg.png b/kdbg/pics/hi16-app-kdbg.png
new file mode 100644
index 0000000..b831d98
--- /dev/null
+++ b/kdbg/pics/hi16-app-kdbg.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-brkpt.png b/kdbg/pics/hi22-action-brkpt.png
new file mode 100644
index 0000000..ca72584
--- /dev/null
+++ b/kdbg/pics/hi22-action-brkpt.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-execopen.png b/kdbg/pics/hi22-action-execopen.png
new file mode 100644
index 0000000..fa92d54
--- /dev/null
+++ b/kdbg/pics/hi22-action-execopen.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pgmfinish.png b/kdbg/pics/hi22-action-pgmfinish.png
new file mode 100644
index 0000000..0a7fd42
--- /dev/null
+++ b/kdbg/pics/hi22-action-pgmfinish.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pgmnext.png b/kdbg/pics/hi22-action-pgmnext.png
new file mode 100644
index 0000000..5cb30c2
--- /dev/null
+++ b/kdbg/pics/hi22-action-pgmnext.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pgmnexti.png b/kdbg/pics/hi22-action-pgmnexti.png
new file mode 100644
index 0000000..07ede40
--- /dev/null
+++ b/kdbg/pics/hi22-action-pgmnexti.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pgmrun.png b/kdbg/pics/hi22-action-pgmrun.png
new file mode 100644
index 0000000..28b9beb
--- /dev/null
+++ b/kdbg/pics/hi22-action-pgmrun.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pgmstep.png b/kdbg/pics/hi22-action-pgmstep.png
new file mode 100644
index 0000000..7c59ea3
--- /dev/null
+++ b/kdbg/pics/hi22-action-pgmstep.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pgmstepi.png b/kdbg/pics/hi22-action-pgmstepi.png
new file mode 100644
index 0000000..d88464b
--- /dev/null
+++ b/kdbg/pics/hi22-action-pgmstepi.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse.png b/kdbg/pics/hi22-action-pulse.png
new file mode 100644
index 0000000..d757fe0
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse.xml b/kdbg/pics/hi22-action-pulse.xml
new file mode 100644
index 0000000..1284915
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse.xml
@@ -0,0 +1,259 @@
+<?xml version="1.0"?>
+<EDL VERSION="1.2.2" PROJECT_PATH="/home/jsixt/Src/X11/KDbg/kdbg-2/kdbg/pics/hi22-action-pulse.xml">
+<LOCALSESSION IN_POINT="-1.0000000000000000e+00" LOOP_PLAYBACK="1" LOOP_START="0.0000000000000000e+00" LOOP_END="1.4500000000000000e+00" OUT_POINT="-1.0000000000000000e+00" SELECTION_START="0.0000000000000000e+00" SELECTION_END="1.4500000000000000e+00" CLIP_TITLE="/home/jsixt/Src/X11/KDbg/kdbg-2/kdbg/pics/hi22-action-pulse.xml" CLIP_NOTES="Hello world" FOLDER="Clips" TRACK_START="0" VIEW_START="0" ZOOM_SAMPLE="128" ZOOMY="64" ZOOM_TRACK="32" PREVIEW_START="1.3500931098696455e-02" PREVIEW_END="1.4337988826815642e+00"></LOCALSESSION>
+
+<SESSION ASSETLIST_FORMAT="0" ASSET_COLUMN0="229" ASSET_COLUMN1="46" SHOW_FADE="0" SHOW_PAN="1" SHOW_MUTE="0" SHOW_TRANSITIONS="1" SHOW_PLUGINS="0" SHOW_CAMERA="0" SHOW_PROJECTOR="0" SHOW_MODE="1" SHOW_MASK="1" SHOW_CZOOM="0" SHOW_PZOOM="0" AUTO_KEYFRAMES="0" AUTOS_FOLLOW_EDITS="1" BRENDER_START="0.0000000000000000e+00" CROP_X1="16" CROP_Y1="16" CROP_X2="16" CROP_Y2="16" CURRENT_FOLDER="Video Effects" CURSOR_ON_FRAMES="1" CWINDOW_DEST="0" CWINDOW_MASK="0" CWINDOW_METER="1" CWINDOW_OPERATION="2" CWINDOW_SCROLLBARS="0" CWINDOW_XSCROLL="-1437" CWINDOW_YSCROLL="-1093" CWINDOW_ZOOM="2.500000e-01" DEFAULT_ATRANSITION="Crossfade" DEFAULT_VTRANSITION="Dissolve" DEFAULT_TRANSITION_LENGTH="1.0000000000000001e-01" EDITING_MODE="1" FOLDERLIST_FORMAT="1" HIGHLIGHTED_TRACK="2" LABELS_FOLLOW_EDITS="0" MPEG4_DEBLOCK="1" PLUGINS_FOLLOW_EDITS="1" PLAYBACK_PRELOAD="0" SAFE_REGIONS="0" SHOW_TITLES="1" TEST_PLAYBACK_EDITS="1" TIME_FORMAT="1" TIMECODE_OFFSET_0="0" TIMECODE_OFFSET_1="0" TIMECODE_OFFSET_2="0" TIMECODE_OFFSET_3="0" NUDGE_SECONDS="1" TOOL_WINDOW="0" VWINDOW_METER="1" VWINDOW_FOLDER="" VWINDOW_SOURCE="-1" VWINDOW_ZOOM="1.000000e+00"></SESSION>
+
+<VIDEO INTERPOLATION_TYPE="3" COLORMODEL="RGBA-8 Bit" CHANNELS="1" VCHANNEL_X_0="0" VCHANNEL_Y_0="0" FRAMERATE="2.0000000000000000e+01" FRAMES_PER_FOOT="1.600000e+01" OUTPUTW="22" OUTPUTH="22" ASPECTW="1.000000e+00" ASPECTH="1.000000e+00"></VIDEO>
+
+<AUDIO SAMPLERATE="48000" CHANNELS="2" ACHANNEL_ANGLE_0="270" ACHANNEL_ANGLE_1="90"></AUDIO>
+
+<FOLDER>Clips</FOLDER>
+<FOLDER>Media</FOLDER>
+<ASSETS>
+</ASSETS>
+
+
+
+<LABELS>
+</LABELS>
+
+<TRACK RECORD="1" NUDGE="0" PLAY="1" GANG="1" DRAW="1" EXPAND="1" TRACK_W="22" TRACK_H="22" TYPE="VIDEO">
+<TITLE>White</TITLE>
+<EDITS>
+</EDITS>
+<MUTEAUTOS>
+<AUTO POSITION="0" VALUE="0"></AUTO>
+</MUTEAUTOS>
+<FADEAUTOS>
+<AUTO POSITION="0" VALUE="1.000000e+02" CONTROL_IN_VALUE="0.000000e+00" CONTROL_OUT_VALUE="0.000000e+00" CONTROL_IN_POSITION="0" CONTROL_OUT_POSITION="0"></AUTO>
+</FADEAUTOS>
+<CAMERAAUTOS>
+<AUTO POSITION="0" CENTER_X="0.000000e+00" CENTER_Y="0.000000e+00" CENTER_Z="1.000000e+00" CONTROL_IN_X="0.000000e+00" CONTROL_IN_Y="0.000000e+00" CONTROL_IN_Z="0.000000e+00" CONTROL_OUT_X="0.000000e+00" CONTROL_OUT_Y="0.000000e+00" CONTROL_OUT_Z="0.000000e+00"></AUTO>
+</CAMERAAUTOS>
+<PROJECTORAUTOS>
+<AUTO POSITION="0" CENTER_X="0.000000e+00" CENTER_Y="0.000000e+00" CENTER_Z="1.000000e+00" CONTROL_IN_X="0.000000e+00" CONTROL_IN_Y="0.000000e+00" CONTROL_IN_Z="0.000000e+00" CONTROL_OUT_X="0.000000e+00" CONTROL_OUT_Y="0.000000e+00" CONTROL_OUT_Z="0.000000e+00"></AUTO>
+</PROJECTORAUTOS>
+<MODEAUTOS>
+<AUTO POSITION="0" VALUE="0"></AUTO>
+</MODEAUTOS>
+<MASKAUTOS>
+<AUTO MODE="1" VALUE="100" FEATHER="0.000000e+00" POSITION="0">
+<MASK NUMBER="0">
+
+<POINT>0.000000e+00, 1.000000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>6.500000e+00, 1.000000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>8.590909e+00, 1.640909e+01, -5.909090e-01, -2.545456e+00, 8.181820e-01, -3.545455e+00</POINT>
+<POINT>1.300000e+01, 1.909091e+00, -8.181820e-01, -1.818181e-01, 6.363640e-01, 4.545462e-02</POINT>
+<POINT>1.536364e+01, 1.222727e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.800000e+01, 1.000000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>2.200000e+01, 1.000000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>2.200000e+01, 1.200000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.800000e+01, 1.200000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.468182e+01, 1.504545e+01, 5.000000e-01, 0.000000e+00, -6.363640e-01, 0.000000e+00</POINT>
+<POINT>1.272727e+01, 6.318182e+00, 3.181820e-01, -7.727273e-01, -3.181810e-01, 5.000000e-01</POINT>
+<POINT>8.363637e+00, 1.904545e+01, 2.090908e+00, -1.272728e+00, -6.818180e-01, -5.000000e-01</POINT>
+<POINT>5.772700e+00, 1.200000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>0.000000e+00, 1.200000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+</MASK>
+<MASK NUMBER="1">
+
+<POINT>3.000000e+00, 1.000000e+00, -2.919846e+00, 3.058505e-02, 3.128208e+00, 1.865485e-02</POINT>
+<POINT>1.900000e+01, 1.000000e+00, -9.967632e-01, 3.559867e-02, 2.990291e+00, 3.559858e-02</POINT>
+<POINT>2.200000e+01, 4.000000e+00, 0.000000e+00, -2.919094e+00, 2.990292e+00, -2.385113e+00</POINT>
+<POINT>8.466020e+00, -6.293528e+01, -1.907349e-06, -2.990291e+00, 1.922329e+00, -7.119727e-02</POINT>
+<POINT>0.000000e+00, 4.000000e+00, -5.449749e+00, -6.654691e-01, 6.980991e-02, -2.956489e+00</POINT>
+</MASK>
+<MASK NUMBER="2">
+
+<POINT>0.000000e+00, 1.800000e+01, -1.293845e+01, 2.234233e+01, -3.042877e-02, 3.027367e+00</POINT>
+<POINT>3.000000e+00, 2.100000e+01, -2.990291e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.900000e+01, 2.100000e+01, -1.317152e+00, 0.000000e+00, 2.990292e+00, -3.559875e-02</POINT>
+<POINT>2.200000e+01, 1.800000e+01, 8.273602e-03, 2.919092e+00, 3.620749e+01, 2.604206e+01</POINT>
+</MASK>
+
+</AUTO>
+</MASKAUTOS>
+<CZOOMAUTOS>
+<AUTO POSITION="0" VALUE="1.000000e+00" CONTROL_IN_VALUE="0.000000e+00" CONTROL_OUT_VALUE="0.000000e+00" CONTROL_IN_POSITION="0" CONTROL_OUT_POSITION="0"></AUTO>
+</CZOOMAUTOS>
+<PZOOMAUTOS>
+<AUTO POSITION="0" VALUE="1.000000e+00" CONTROL_IN_VALUE="0.000000e+00" CONTROL_OUT_VALUE="0.000000e+00" CONTROL_IN_POSITION="0" CONTROL_OUT_POSITION="0"></AUTO>
+</PZOOMAUTOS>
+<PLUGINSET RECORD="1">
+<PLUGIN LENGTH="31" TYPE="1" TITLE="Gradient">
+<IN></IN><OUT></OUT><ON></ON>
+<KEYFRAME POSITION="0" DEFAULT="1"><GRADIENT ANGLE="-8.9000000000000000e+01" IN_RADIUS="0.0000000000000000e+00" OUT_RADIUS="1.0000000000000000e+02" IN_R="0" IN_G="0" IN_B="0" IN_A="255" OUT_R="0" OUT_G="0" OUT_B="0" OUT_A="255"></KEYFRAME>
+</PLUGIN>
+</PLUGINSET>
+</TRACK>
+
+
+
+<TRACK RECORD="0" NUDGE="0" PLAY="1" GANG="1" DRAW="1" EXPAND="1" TRACK_W="22" TRACK_H="22" TYPE="VIDEO">
+<TITLE>Video 1</TITLE>
+<EDITS>
+</EDITS>
+<MUTEAUTOS>
+<AUTO POSITION="0" VALUE="0"></AUTO>
+</MUTEAUTOS>
+<FADEAUTOS>
+<AUTO POSITION="0" VALUE="1.000000e+02" CONTROL_IN_VALUE="0.000000e+00" CONTROL_OUT_VALUE="0.000000e+00" CONTROL_IN_POSITION="0" CONTROL_OUT_POSITION="0"></AUTO>
+</FADEAUTOS>
+<CAMERAAUTOS>
+<AUTO POSITION="0" CENTER_X="0.000000e+00" CENTER_Y="0.000000e+00" CENTER_Z="1.000000e+00" CONTROL_IN_X="0.000000e+00" CONTROL_IN_Y="0.000000e+00" CONTROL_IN_Z="0.000000e+00" CONTROL_OUT_X="0.000000e+00" CONTROL_OUT_Y="0.000000e+00" CONTROL_OUT_Z="0.000000e+00"></AUTO>
+</CAMERAAUTOS>
+<PROJECTORAUTOS>
+<AUTO POSITION="0" CENTER_X="0.000000e+00" CENTER_Y="0.000000e+00" CENTER_Z="1.000000e+00" CONTROL_IN_X="0.000000e+00" CONTROL_IN_Y="0.000000e+00" CONTROL_IN_Z="0.000000e+00" CONTROL_OUT_X="0.000000e+00" CONTROL_OUT_Y="0.000000e+00" CONTROL_OUT_Z="0.000000e+00"></AUTO>
+</PROJECTORAUTOS>
+<MODEAUTOS>
+<AUTO POSITION="0" VALUE="0"></AUTO>
+</MODEAUTOS>
+<MASKAUTOS>
+<AUTO MODE="0" VALUE="100" FEATHER="0.000000e+00" POSITION="0">
+<MASK NUMBER="0">
+
+<POINT>8.954546e+00, 4.545455e-02, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.131818e+01, 2.272727e-01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.204545e+01, 2.177273e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>9.954546e+00, 2.172727e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+</MASK>
+
+</AUTO>
+<AUTO MODE="1" VALUE="100" FEATHER="1.000000e+00" POSITION="0">
+<MASK NUMBER="0">
+
+<POINT>1.829126e+01, 2.634304e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>2.061489e+01, 2.563107e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>2.113636e+01, 7.409091e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.995455e+01, 6.636364e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+</MASK>
+
+</AUTO>
+<AUTO MODE="1" VALUE="100" FEATHER="1.000000e+00" POSITION="1">
+<MASK NUMBER="0">
+
+<POINT>-2.000000e+00, 7.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.000000e+00, 6.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.000000e+00, 1.500000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>-2.000000e+00, 1.400000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+</MASK>
+
+</AUTO>
+<AUTO MODE="1" VALUE="100" FEATHER="2.000000e+00" POSITION="9">
+<MASK NUMBER="0">
+
+<POINT>4.285700e+00, 4.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>7.285714e+00, 2.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>7.285714e+00, 2.000000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>4.285700e+00, 1.800000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+</MASK>
+
+</AUTO>
+<AUTO MODE="1" VALUE="100" FEATHER="1.000000e+00" POSITION="22">
+<MASK NUMBER="0">
+
+<POINT>1.450000e+01, 2.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.750000e+01, 2.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.750000e+01, 2.000000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.450000e+01, 2.000000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+</MASK>
+
+</AUTO>
+<AUTO MODE="1" VALUE="100" FEATHER="1.000000e+00" POSITION="23">
+<MASK NUMBER="0">
+
+<POINT>1.528571e+01, 2.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.828570e+01, 4.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.828570e+01, 1.800000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.528571e+01, 2.000000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+</MASK>
+
+</AUTO>
+<AUTO MODE="1" VALUE="100" FEATHER="1.000000e+00" POSITION="29">
+<MASK NUMBER="0">
+
+<POINT>2.000000e+01, 5.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>2.300000e+01, 7.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>2.300000e+01, 1.500000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>2.000000e+01, 1.700000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+</MASK>
+
+</AUTO>
+<AUTO MODE="1" VALUE="100" FEATHER="1.000000e+00" POSITION="30">
+<MASK NUMBER="0">
+
+<POINT>1.829126e+01, 2.634304e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>2.061489e+01, 2.563107e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>2.113636e+01, 7.409091e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.995455e+01, 6.636364e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+</MASK>
+
+</AUTO>
+</MASKAUTOS>
+<CZOOMAUTOS>
+<AUTO POSITION="0" VALUE="1.000000e+00" CONTROL_IN_VALUE="0.000000e+00" CONTROL_OUT_VALUE="0.000000e+00" CONTROL_IN_POSITION="0" CONTROL_OUT_POSITION="0"></AUTO>
+</CZOOMAUTOS>
+<PZOOMAUTOS>
+<AUTO POSITION="0" VALUE="1.000000e+00" CONTROL_IN_VALUE="0.000000e+00" CONTROL_OUT_VALUE="0.000000e+00" CONTROL_IN_POSITION="0" CONTROL_OUT_POSITION="0"></AUTO>
+</PZOOMAUTOS>
+<PLUGINSET RECORD="1">
+<PLUGIN LENGTH="31" TYPE="1" TITLE="Gradient">
+<IN></IN><OUT></OUT><ON></ON>
+<KEYFRAME POSITION="0" DEFAULT="1"><GRADIENT ANGLE="-8.9000000000000000e+01" IN_RADIUS="1.8000000000000000e+01" OUT_RADIUS="8.4000000000000000e+01" IN_R="255" IN_G="0" IN_B="0" IN_A="255" OUT_R="255" OUT_G="0" OUT_B="0" OUT_A="255" SHAPE="0" RATE="0" CENTER_X="5.0000000000000000e+01" CENTER_Y="5.0000000000000000e+01"></KEYFRAME>
+</PLUGIN>
+</PLUGINSET>
+</TRACK>
+
+
+
+<TRACK RECORD="0" NUDGE="0" PLAY="1" GANG="1" DRAW="1" EXPAND="1" TRACK_W="22" TRACK_H="22" TYPE="VIDEO">
+<TITLE>White Line</TITLE>
+<EDITS>
+</EDITS>
+<MUTEAUTOS>
+<AUTO POSITION="0" VALUE="0"></AUTO>
+</MUTEAUTOS>
+<FADEAUTOS>
+<AUTO POSITION="0" VALUE="1.000000e+02" CONTROL_IN_VALUE="0.000000e+00" CONTROL_OUT_VALUE="0.000000e+00" CONTROL_IN_POSITION="0" CONTROL_OUT_POSITION="0"></AUTO>
+</FADEAUTOS>
+<CAMERAAUTOS>
+<AUTO POSITION="0" CENTER_X="0.000000e+00" CENTER_Y="0.000000e+00" CENTER_Z="1.000000e+00" CONTROL_IN_X="0.000000e+00" CONTROL_IN_Y="0.000000e+00" CONTROL_IN_Z="0.000000e+00" CONTROL_OUT_X="0.000000e+00" CONTROL_OUT_Y="0.000000e+00" CONTROL_OUT_Z="0.000000e+00"></AUTO>
+</CAMERAAUTOS>
+<PROJECTORAUTOS>
+<AUTO POSITION="0" CENTER_X="0.000000e+00" CENTER_Y="0.000000e+00" CENTER_Z="1.000000e+00" CONTROL_IN_X="0.000000e+00" CONTROL_IN_Y="0.000000e+00" CONTROL_IN_Z="0.000000e+00" CONTROL_OUT_X="0.000000e+00" CONTROL_OUT_Y="0.000000e+00" CONTROL_OUT_Z="0.000000e+00"></AUTO>
+</PROJECTORAUTOS>
+<MODEAUTOS>
+<AUTO POSITION="0" VALUE="0"></AUTO>
+</MODEAUTOS>
+<MASKAUTOS>
+<AUTO MODE="0" VALUE="100" FEATHER="0.000000e+00" POSITION="0">
+<MASK NUMBER="0">
+
+<POINT>0.000000e+00, 8.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>1.300000e+01, 1.505758e+00, -6.904849e+00, -1.818181e-01, 6.063031e+00, -2.845454e-01</POINT>
+<POINT>2.200000e+01, 8.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>2.200000e+01, 1.400000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+<POINT>8.620300e+00, 2.047545e+01, 3.484241e+00, -9.427280e-01, -7.538484e+00, 1.233349e-01</POINT>
+<POINT>0.000000e+00, 1.400000e+01, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00</POINT>
+</MASK>
+
+</AUTO>
+</MASKAUTOS>
+<CZOOMAUTOS>
+<AUTO POSITION="0" VALUE="1.000000e+00" CONTROL_IN_VALUE="0.000000e+00" CONTROL_OUT_VALUE="0.000000e+00" CONTROL_IN_POSITION="0" CONTROL_OUT_POSITION="0"></AUTO>
+</CZOOMAUTOS>
+<PZOOMAUTOS>
+<AUTO POSITION="0" VALUE="1.000000e+00" CONTROL_IN_VALUE="0.000000e+00" CONTROL_OUT_VALUE="0.000000e+00" CONTROL_IN_POSITION="0" CONTROL_OUT_POSITION="0"></AUTO>
+</PZOOMAUTOS>
+<PLUGINSET RECORD="1">
+<PLUGIN LENGTH="31" TYPE="1" TITLE="Gradient">
+<IN></IN><OUT></OUT><ON></ON>
+<KEYFRAME POSITION="0" DEFAULT="1"><GRADIENT ANGLE="-8.9000000000000000e+01" IN_RADIUS="1.2500000000000000e+01" OUT_RADIUS="8.4000000000000000e+01" IN_R="255" IN_G="255" IN_B="255" IN_A="255" OUT_R="255" OUT_G="255" OUT_B="255" OUT_A="255"></KEYFRAME>
+</PLUGIN>
+</PLUGINSET>
+</TRACK>
+
+
+
+</EDL>
diff --git a/kdbg/pics/hi22-action-pulse000000.png b/kdbg/pics/hi22-action-pulse000000.png
new file mode 100644
index 0000000..851b517
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000000.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000001.png b/kdbg/pics/hi22-action-pulse000001.png
new file mode 100644
index 0000000..5f3d46c
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000001.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000002.png b/kdbg/pics/hi22-action-pulse000002.png
new file mode 100644
index 0000000..a557671
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000002.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000003.png b/kdbg/pics/hi22-action-pulse000003.png
new file mode 100644
index 0000000..b3a278b
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000003.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000004.png b/kdbg/pics/hi22-action-pulse000004.png
new file mode 100644
index 0000000..11a4ef0
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000004.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000005.png b/kdbg/pics/hi22-action-pulse000005.png
new file mode 100644
index 0000000..8330a75
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000005.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000006.png b/kdbg/pics/hi22-action-pulse000006.png
new file mode 100644
index 0000000..41a37ba
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000006.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000007.png b/kdbg/pics/hi22-action-pulse000007.png
new file mode 100644
index 0000000..1210606
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000007.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000008.png b/kdbg/pics/hi22-action-pulse000008.png
new file mode 100644
index 0000000..4643a6e
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000008.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000009.png b/kdbg/pics/hi22-action-pulse000009.png
new file mode 100644
index 0000000..5f958f4
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000009.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000010.png b/kdbg/pics/hi22-action-pulse000010.png
new file mode 100644
index 0000000..eade071
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000010.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000011.png b/kdbg/pics/hi22-action-pulse000011.png
new file mode 100644
index 0000000..e429e57
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000011.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000012.png b/kdbg/pics/hi22-action-pulse000012.png
new file mode 100644
index 0000000..c694311
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000012.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000013.png b/kdbg/pics/hi22-action-pulse000013.png
new file mode 100644
index 0000000..beb7a08
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000013.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000014.png b/kdbg/pics/hi22-action-pulse000014.png
new file mode 100644
index 0000000..8a6ede4
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000014.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000015.png b/kdbg/pics/hi22-action-pulse000015.png
new file mode 100644
index 0000000..ab96e03
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000015.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000016.png b/kdbg/pics/hi22-action-pulse000016.png
new file mode 100644
index 0000000..5f83e3d
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000016.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000017.png b/kdbg/pics/hi22-action-pulse000017.png
new file mode 100644
index 0000000..118f253
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000017.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000018.png b/kdbg/pics/hi22-action-pulse000018.png
new file mode 100644
index 0000000..dff8ade
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000018.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000019.png b/kdbg/pics/hi22-action-pulse000019.png
new file mode 100644
index 0000000..7b512ca
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000019.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000020.png b/kdbg/pics/hi22-action-pulse000020.png
new file mode 100644
index 0000000..a4dad79
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000020.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000021.png b/kdbg/pics/hi22-action-pulse000021.png
new file mode 100644
index 0000000..5deb1b5
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000021.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000022.png b/kdbg/pics/hi22-action-pulse000022.png
new file mode 100644
index 0000000..acee422
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000022.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000023.png b/kdbg/pics/hi22-action-pulse000023.png
new file mode 100644
index 0000000..91f0816
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000023.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000024.png b/kdbg/pics/hi22-action-pulse000024.png
new file mode 100644
index 0000000..c81e865
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000024.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000025.png b/kdbg/pics/hi22-action-pulse000025.png
new file mode 100644
index 0000000..02c079a
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000025.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000026.png b/kdbg/pics/hi22-action-pulse000026.png
new file mode 100644
index 0000000..4138c59
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000026.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000027.png b/kdbg/pics/hi22-action-pulse000027.png
new file mode 100644
index 0000000..4c2c8f8
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000027.png
Binary files differ
diff --git a/kdbg/pics/hi22-action-pulse000028.png b/kdbg/pics/hi22-action-pulse000028.png
new file mode 100644
index 0000000..13f0598
--- /dev/null
+++ b/kdbg/pics/hi22-action-pulse000028.png
Binary files differ
diff --git a/kdbg/pics/hi32-app-kdbg.png b/kdbg/pics/hi32-app-kdbg.png
new file mode 100644
index 0000000..6de18a9
--- /dev/null
+++ b/kdbg/pics/hi32-app-kdbg.png
Binary files differ
diff --git a/kdbg/pics/hi48-app-kdbg.png b/kdbg/pics/hi48-app-kdbg.png
new file mode 100644
index 0000000..7ef7a79
--- /dev/null
+++ b/kdbg/pics/hi48-app-kdbg.png
Binary files differ
diff --git a/kdbg/pics/lo16-app-kdbg.png b/kdbg/pics/lo16-app-kdbg.png
new file mode 100644
index 0000000..161ffc1
--- /dev/null
+++ b/kdbg/pics/lo16-app-kdbg.png
Binary files differ
diff --git a/kdbg/pics/lo32-app-kdbg.png b/kdbg/pics/lo32-app-kdbg.png
new file mode 100644
index 0000000..8b77a21
--- /dev/null
+++ b/kdbg/pics/lo32-app-kdbg.png
Binary files differ
diff --git a/kdbg/pics/pcinner.xpm b/kdbg/pics/pcinner.xpm
new file mode 100644
index 0000000..ccc4db5
--- /dev/null
+++ b/kdbg/pics/pcinner.xpm
@@ -0,0 +1,14 @@
+/* XPM */
+static char * pcinner_xpm[] = {
+"14 8 3 1",
+" c None",
+". c #FFFFFF",
+"+ c #006400",
+" ...... ",
+" .+++++... ",
+" .++++++++.. ",
+" .++++++++++. ",
+" .++++++++++. ",
+" .++++++++.. ",
+" .+++++.... ",
+" ...... "};
diff --git a/kdbg/pics/pcup.xpm b/kdbg/pics/pcup.xpm
new file mode 100644
index 0000000..3134e14
--- /dev/null
+++ b/kdbg/pics/pcup.xpm
@@ -0,0 +1,14 @@
+/* XPM */
+static char * pcup_xpm[] = {
+"14 8 3 1",
+" c None",
+". c #FFFFFF",
+"+ c #006400",
+" ...... ",
+" .+++++... ",
+" .++++++++.. ",
+" .++....++++. ",
+" .++....++++. ",
+" .++++++++.. ",
+" .+++++.... ",
+" ...... "};
diff --git a/kdbg/pics/pointer.xpm b/kdbg/pics/pointer.xpm
new file mode 100644
index 0000000..635b04e
--- /dev/null
+++ b/kdbg/pics/pointer.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * pointer_xpm[] = {
+"12 12 3 1",
+" c None",
+". c #FF0000",
+"+ c #8B0000",
+" ",
+" ",
+" ",
+" ",
+". .. ",
+"+. ... ",
+"++..........",
+" +++++++++++",
+" ..+ ",
+" ++ ",
+" ",
+" "};
diff --git a/kdbg/pics/regs.xpm b/kdbg/pics/regs.xpm
new file mode 100644
index 0000000..d2abaa5
--- /dev/null
+++ b/kdbg/pics/regs.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static const char *regs[] = {
+"16 16 6 1",
+" c Gray0",
+". c #808000",
+"X c Yellow",
+"o c #808080",
+"O c None",
+"+ c Gray100",
+"OOOOOOOOOOOOOOOO",
+"OOOOOOOOOOOOOOOO",
+"OOO........... O",
+"OO.XXXXXXXXXX. O",
+"OO...........O O",
+"OOo++++++++++O O",
+"OOo+OOO+++OO+O O",
+"OOo++++++++++O O",
+"OOo+OOOOOOOO+O O",
+"OOo++++++++++O O",
+"OOo+OOOOOOOO+O O",
+"OOo++++++++++O O",
+"OOo++++++++++O O",
+"OOooooooooooooOO",
+"OOOOOOOOOOOOOOOO",
+"OOOOOOOOOOOOOOOO"
+};
diff --git a/kdbg/pics/watch.xpm b/kdbg/pics/watch.xpm
new file mode 100644
index 0000000..d24759f
--- /dev/null
+++ b/kdbg/pics/watch.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static const char*watch[]={
+"16 16 5 1",
+"# c #000000",
+"c c #ffffff",
+"a c #808080",
+". c None",
+"b c #00ffff",
+"................",
+"................",
+"................",
+".....#..........",
+"....#.#.......#.",
+"...#..#......#.#",
+"..#...#.....#..#",
+".#.........#...#",
+"a###.##.###a....",
+"#bcb#..#bcb#....",
+"#cb.#..#cb.#....",
+"#b.b#..#b.b#....",
+"#.b.#..#.b.#....",
+".###....###.....",
+"................",
+"................"};
diff --git a/kdbg/pics/watchcoded.xpm b/kdbg/pics/watchcoded.xpm
new file mode 100644
index 0000000..b2461ba
--- /dev/null
+++ b/kdbg/pics/watchcoded.xpm
@@ -0,0 +1,26 @@
+/* XPM */
+static char * watchcoded_xpm[] = {
+"16 16 7 1",
+" c None",
+". c #000000",
+"+ c #B5B5B5",
+"@ c #FFFFFF",
+"# c #808080",
+"$ c #00FFFF",
+"% c #B5FFFF",
+" ",
+" ",
+" ",
+" . ",
+" +@+ . ",
+" +...@ . .",
+" +..@..@@@ +@ .",
+" .@.@ @.@..+..@.",
+"#.+.@.+.++...@ ",
+".$@.+ @.%@%.@ ",
+".@%..@..@%.+.@ ",
+".$ %...+%..+..@ ",
+". $ +@@. %@.@@ ",
+" ... ... ",
+" ",
+" "};
diff --git a/kdbg/pics/watchdis.xpm b/kdbg/pics/watchdis.xpm
new file mode 100644
index 0000000..0af7119
--- /dev/null
+++ b/kdbg/pics/watchdis.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * watchdis_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #5C5C5C",
+"+ c #ADADAD",
+"@ c #93C6C6",
+"# c #FFFFFF",
+" ",
+" ",
+" . . ",
+" . . . .",
+" . . . .",
+" . . . .",
+" . . ",
+"+... .. ...+ ",
+".@#@. .@#@. ",
+"..... ..... ",
+". . . . ",
+" ",
+" ",
+" "};
diff --git a/kdbg/pics/watchena.xpm b/kdbg/pics/watchena.xpm
new file mode 100644
index 0000000..57b52aa
--- /dev/null
+++ b/kdbg/pics/watchena.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static char * watchena_xpm[] = {
+"14 14 5 1",
+" c None",
+". c #000000",
+"+ c #808080",
+"@ c #00FFFF",
+"# c #FFFFFF",
+" ",
+" ",
+" . . ",
+" . . . .",
+" . . . .",
+" . . . .",
+" . . ",
+"+... .. ...+ ",
+".@#@. .@#@. ",
+".#@+. .#@+. ",
+".@+@. .@+@. ",
+".+@+. .+@+. ",
+" ... ... ",
+" "};
diff --git a/kdbg/prefdebugger.cpp b/kdbg/prefdebugger.cpp
new file mode 100644
index 0000000..f47dd53
--- /dev/null
+++ b/kdbg/prefdebugger.cpp
@@ -0,0 +1,48 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <klocale.h> /* i18n */
+#include <qlayout.h>
+#include "prefdebugger.h"
+
+PrefDebugger::PrefDebugger(QWidget* parent) :
+ QWidget(parent, "debugger"),
+ m_grid(this, 5, 2, 10),
+ m_defaultHint(this, "default_hint"),
+ m_debuggerCCppLabel(this, "debugger_label"),
+ m_debuggerCCpp(this, "debugger"),
+ m_terminalHint(this, "terminal_hint"),
+ m_terminalLabel(this, "terminal_label"),
+ m_terminal(this, "terminal")
+{
+ m_defaultHint.setText(i18n("To revert to the default settings, clear the entries."));
+ m_defaultHint.setMinimumHeight(m_defaultHint.sizeHint().height());
+ m_grid.addWidget(&m_defaultHint, 0, 1);
+
+ m_debuggerCCppLabel.setText(i18n("How to invoke &GDB:"));
+ m_debuggerCCppLabel.setMinimumSize(m_debuggerCCppLabel.sizeHint());
+ m_debuggerCCppLabel.setBuddy(&m_debuggerCCpp);
+ m_debuggerCCpp.setMinimumSize(m_debuggerCCpp.sizeHint());
+ m_grid.addWidget(&m_debuggerCCppLabel, 1, 0);
+ m_grid.addWidget(&m_debuggerCCpp, 1, 1);
+
+ m_terminalHint.setText(i18n("%T will be replaced with a title string,\n"
+ "%C will be replaced by a Bourne shell script that\n"
+ "keeps the terminal window open."));
+ m_terminalHint.setMinimumHeight(m_terminalHint.sizeHint().height());
+ m_grid.addWidget(&m_terminalHint, 2, 1);
+
+ m_terminalLabel.setText(i18n("&Terminal for program output:"));
+ m_terminalLabel.setMinimumSize(m_terminalLabel.sizeHint());
+ m_terminalLabel.setBuddy(&m_terminal);
+ m_terminal.setMinimumSize(m_terminal.sizeHint());
+ m_grid.addWidget(&m_terminalLabel, 3, 0);
+ m_grid.addWidget(&m_terminal, 3, 1);
+
+ m_grid.setColStretch(1, 10);
+ // last (empty) row gets all the vertical stretch
+ m_grid.setRowStretch(4, 10);
+}
diff --git a/kdbg/prefdebugger.h b/kdbg/prefdebugger.h
new file mode 100644
index 0000000..594bfa2
--- /dev/null
+++ b/kdbg/prefdebugger.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef PREFDEBUGGER_H
+#define PREFDEBUGGER_H
+
+#include <qlayout.h>
+#include <qlineedit.h>
+#include <qlabel.h>
+
+class PrefDebugger : public QWidget
+{
+public:
+ PrefDebugger(QWidget* parent);
+
+ QGridLayout m_grid;
+
+ // --- the hint about defaults
+protected:
+ QLabel m_defaultHint;
+
+ // --- the debugger command
+protected:
+ QLabel m_debuggerCCppLabel;
+ QLineEdit m_debuggerCCpp;
+public:
+ QString debuggerCmd() const { return m_debuggerCCpp.text(); }
+ void setDebuggerCmd(const QString& cmd) { m_debuggerCCpp.setText(cmd); }
+
+ // --- the output terminal
+protected:
+ QLabel m_terminalHint;
+ QLabel m_terminalLabel;
+ QLineEdit m_terminal;
+public:
+ QString terminal() const { return m_terminal.text(); }
+ void setTerminal(const QString& t) { m_terminal.setText(t); }
+};
+
+#endif // PREFDEBUGGER_H
diff --git a/kdbg/prefmisc.cpp b/kdbg/prefmisc.cpp
new file mode 100644
index 0000000..2c79bf8
--- /dev/null
+++ b/kdbg/prefmisc.cpp
@@ -0,0 +1,85 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "prefmisc.h"
+#include <klocale.h> /* i18n */
+
+PrefMisc::PrefMisc(QWidget* parent) :
+ QWidget(parent, "debugger"),
+ m_grid(this, 6, 2, 10),
+ m_popForeground(this, "pop_fore"),
+ m_backTimeoutLabel(this, "back_to_lab"),
+ m_backTimeout(this, "back_to"),
+ m_tabWidthLabel(this, "tabwidth_lab"),
+ m_tabWidth(this, "tabwidth"),
+ m_sourceFilterLabel(this, "sourcefilter_lab"),
+ m_sourceFilter(this, "sourcefilter"),
+ m_headerFilterLabel(this, "headerfilter_lab"),
+ m_headerFilter(this, "headerfilter")
+{
+ m_popForeground.setText(i18n("&Pop into foreground when program stops"));
+ m_popForeground.setMinimumSize(m_popForeground.sizeHint());
+ m_grid.addMultiCellWidget(&m_popForeground, 0, 0, 0, 1);
+ m_grid.addRowSpacing(0, m_popForeground.sizeHint().height());
+
+ m_backTimeoutLabel.setText(i18n("Time until window goes &back (in milliseconds):"));
+ m_backTimeoutLabel.setMinimumSize(m_backTimeoutLabel.sizeHint());
+ m_backTimeoutLabel.setBuddy(&m_backTimeout);
+ m_backTimeout.setMinimumSize(m_backTimeout.sizeHint());
+ m_grid.addWidget(&m_backTimeoutLabel, 1, 0);
+ m_grid.addWidget(&m_backTimeout, 1, 1);
+
+ setupEditGroup(i18n("&Tabstop every (characters):"),
+ m_tabWidthLabel, m_tabWidth, 2);
+ setupEditGroup(i18n("File filter for &source files:"),
+ m_sourceFilterLabel, m_sourceFilter, 3);
+ setupEditGroup(i18n("File filter for &header files:"),
+ m_headerFilterLabel, m_headerFilter, 4);
+
+ m_grid.setColStretch(1, 10);
+ // last (empty) row gets all the vertical stretch
+ m_grid.setRowStretch(5, 10);
+}
+
+void PrefMisc::setupEditGroup(const QString& label, QLabel& labWidget, QLineEdit& edit, int row)
+{
+ labWidget.setText(label);
+ labWidget.setMinimumSize(labWidget.sizeHint());
+ labWidget.setBuddy(&edit);
+ edit.setMinimumSize(edit.sizeHint());
+ m_grid.addWidget(&labWidget, row, 0);
+ m_grid.addWidget(&edit, row, 1);
+}
+
+static int readNumeric(const QLineEdit& edit)
+{
+ QString str = edit.text();
+ return str.toInt();
+}
+
+int PrefMisc::backTimeout() const
+{
+ return readNumeric(m_backTimeout);
+}
+
+void PrefMisc::setBackTimeout(int to)
+{
+ QString str;
+ str.setNum(to);
+ m_backTimeout.setText(str);
+}
+
+int PrefMisc::tabWidth() const
+{
+ return readNumeric(m_tabWidth);
+}
+
+void PrefMisc::setTabWidth(int tw)
+{
+ QString str;
+ str.setNum(tw);
+ m_tabWidth.setText(str);
+}
diff --git a/kdbg/prefmisc.h b/kdbg/prefmisc.h
new file mode 100644
index 0000000..45701db
--- /dev/null
+++ b/kdbg/prefmisc.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef PREFMISC_H
+#define PREFMISC_H
+
+#include <qlayout.h>
+#include <qcheckbox.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+
+class PrefMisc : public QWidget
+{
+public:
+ PrefMisc(QWidget* parent);
+
+ QGridLayout m_grid;
+
+protected:
+ QCheckBox m_popForeground;
+
+ QLabel m_backTimeoutLabel;
+ QLineEdit m_backTimeout;
+
+ QLabel m_tabWidthLabel;
+ QLineEdit m_tabWidth;
+
+ QLabel m_sourceFilterLabel;
+ QLineEdit m_sourceFilter;
+ QLabel m_headerFilterLabel;
+ QLineEdit m_headerFilter;
+
+ void setupEditGroup(const QString& label, QLabel& labWidget, QLineEdit& edit, int row);
+
+public:
+ bool popIntoForeground() const { return m_popForeground.isChecked(); }
+ void setPopIntoForeground(bool pop) { m_popForeground.setChecked(pop); }
+ int backTimeout() const;
+ void setBackTimeout(int to);
+ int tabWidth() const;
+ void setTabWidth(int tw);
+ QString sourceFilter() const { return m_sourceFilter.text(); }
+ void setSourceFilter(const QString& f) { m_sourceFilter.setText(f); }
+ QString headerFilter() const { return m_headerFilter.text(); }
+ void setHeaderFilter(const QString& f) { m_headerFilter.setText(f); }
+};
+
+#endif // PREFMISC_H
diff --git a/kdbg/procattach.cpp b/kdbg/procattach.cpp
new file mode 100644
index 0000000..985a4e9
--- /dev/null
+++ b/kdbg/procattach.cpp
@@ -0,0 +1,308 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "procattach.h"
+#include <qlistview.h>
+#include <qtoolbutton.h>
+#include <qlineedit.h>
+#include <kprocess.h>
+#include <ctype.h>
+#include <kapplication.h>
+#include <kiconloader.h>
+#include <klocale.h> /* i18n */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+
+ProcAttachPS::ProcAttachPS(QWidget* parent) :
+ ProcAttachBase(parent),
+ m_pidCol(-1),
+ m_ppidCol(-1)
+{
+ m_ps = new KProcess;
+ connect(m_ps, SIGNAL(receivedStdout(KProcess*, char*, int)),
+ this, SLOT(slotTextReceived(KProcess*, char*, int)));
+ connect(m_ps, SIGNAL(processExited(KProcess*)),
+ this, SLOT(slotPSDone()));
+
+ QIconSet icon = SmallIconSet("clear_left");
+ filterClear->setIconSet(icon);
+
+ processList->setColumnWidth(0, 300);
+ processList->setColumnWidthMode(0, QListView::Manual);
+ processList->setColumnAlignment(1, Qt::AlignRight);
+ processList->setColumnAlignment(2, Qt::AlignRight);
+
+ // set the command line
+ static const char* const psCommand[] = {
+#ifdef PS_COMMAND
+ PS_COMMAND,
+#else
+ "/bin/false",
+#endif
+ 0
+ };
+ for (int i = 0; psCommand[i] != 0; i++) {
+ *m_ps << psCommand[i];
+ }
+
+ runPS();
+}
+
+ProcAttachPS::~ProcAttachPS()
+{
+ delete m_ps; // kills a running ps
+}
+
+void ProcAttachPS::runPS()
+{
+ // clear the parse state from previous runs
+ m_token = "";
+ m_line.clear();
+ m_pidCol = -1;
+ m_ppidCol = -1;
+
+ m_ps->start(KProcess::NotifyOnExit, KProcess::Stdout);
+}
+
+void ProcAttachPS::slotTextReceived(KProcess*, char* buffer, int buflen)
+{
+ const char* end = buffer+buflen;
+ while (buffer < end)
+ {
+ // check new line
+ if (*buffer == '\n')
+ {
+ // push a tokens onto the line
+ if (!m_token.isEmpty()) {
+ m_line.push_back(QString::fromLatin1(m_token));
+ m_token = "";
+ }
+ // and insert the line in the list
+ pushLine();
+ m_line.clear();
+ ++buffer;
+ }
+ // blanks: the last column gets the rest of the line, including blanks
+ else if ((m_pidCol < 0 || int(m_line.size()) < processList->columns()-1) &&
+ isspace(*buffer))
+ {
+ // push a token onto the line
+ if (!m_token.isEmpty()) {
+ m_line.push_back(QString::fromLatin1(m_token));
+ m_token = "";
+ }
+ do {
+ ++buffer;
+ } while (buffer < end && isspace(*buffer));
+ }
+ // tokens
+ else
+ {
+ const char* start = buffer;
+ do {
+ ++buffer;
+ } while (buffer < end && !isspace(*buffer));
+ // append to the current token
+ m_token += QCString(start, buffer-start+1); // must count the '\0'
+ }
+ }
+}
+
+void ProcAttachPS::pushLine()
+{
+ if (m_line.size() < 3) // we need the PID, PPID, and COMMAND columns
+ return;
+
+ if (m_pidCol < 0)
+ {
+ // create columns if we don't have them yet
+ bool allocate = processList->columns() == 3;
+
+ // we assume that the last column is the command
+ m_line.pop_back();
+
+ for (uint i = 0; i < m_line.size(); i++) {
+ // we don't allocate the PID and PPID columns,
+ // but we need to know where in the ps output they are
+ if (m_line[i] == "PID") {
+ m_pidCol = i;
+ } else if (m_line[i] == "PPID") {
+ m_ppidCol = i;
+ } else if (allocate) {
+ processList->addColumn(m_line[i]);
+ // these columns are normally numbers
+ processList->setColumnAlignment(processList->columns()-1,
+ Qt::AlignRight);
+ }
+ }
+ }
+ else
+ {
+ // insert a line
+ // find the parent process
+ QListViewItem* parent = 0;
+ if (m_ppidCol >= 0 && m_ppidCol < int(m_line.size())) {
+ parent = processList->findItem(m_line[m_ppidCol], 1);
+ }
+
+ // we assume that the last column is the command
+ QListViewItem* item;
+ if (parent == 0) {
+ item = new QListViewItem(processList, m_line.back());
+ } else {
+ item = new QListViewItem(parent, m_line.back());
+ }
+ item->setOpen(true);
+ m_line.pop_back();
+ int k = 3;
+ for (uint i = 0; i < m_line.size(); i++)
+ {
+ // display the pid and ppid columns' contents in columns 1 and 2
+ if (int(i) == m_pidCol)
+ item->setText(1, m_line[i]);
+ else if (int(i) == m_ppidCol)
+ item->setText(2, m_line[i]);
+ else
+ item->setText(k++, m_line[i]);
+ }
+
+ if (m_ppidCol >= 0 && m_pidCol >= 0) { // need PID & PPID for this
+ /*
+ * It could have happened that a process was earlier inserted,
+ * whose parent process is the current process. Such processes
+ * were placed at the root. Here we go through all root items
+ * and check whether we must reparent them.
+ */
+ QListViewItem* i = processList->firstChild();
+ while (i != 0)
+ {
+ // advance before we reparent the item
+ QListViewItem* it = i;
+ i = i->nextSibling();
+ if (it->text(2) == m_line[m_pidCol]) {
+ processList->takeItem(it);
+ item->insertItem(it);
+ }
+ }
+ }
+ }
+}
+
+void ProcAttachPS::slotPSDone()
+{
+ filterEdited(filterEdit->text());
+}
+
+QString ProcAttachPS::text() const
+{
+ QListViewItem* item = processList->selectedItem();
+
+ if (item == 0)
+ return QString();
+
+ return item->text(1);
+}
+
+void ProcAttachPS::refresh()
+{
+ if (!m_ps->isRunning())
+ {
+ processList->clear();
+ buttonOk->setEnabled(false); // selection was cleared
+ runPS();
+ }
+}
+
+void ProcAttachPS::filterEdited(const QString& text)
+{
+ QListViewItem* i = processList->firstChild();
+ if (i) {
+ setVisibility(i, text);
+ }
+}
+
+/**
+ * Sets the visibility of \a i and
+ * returns whether it was made visible.
+ */
+bool ProcAttachPS::setVisibility(QListViewItem* i, const QString& text)
+{
+ bool visible = false;
+ for (QListViewItem* j = i->firstChild(); j; j = j->nextSibling())
+ {
+ if (setVisibility(j, text))
+ visible = true;
+ }
+ // look for text in the process name and in the PID
+ visible = visible || text.isEmpty() ||
+ i->text(0).find(text, 0, false) >= 0 ||
+ i->text(1).find(text) >= 0;
+
+ i->setVisible(visible);
+
+ // disable the OK button if the selected item becomes invisible
+ if (i->isSelected())
+ buttonOk->setEnabled(visible);
+
+ return visible;
+}
+
+void ProcAttachPS::selectedChanged()
+{
+ buttonOk->setEnabled(processList->selectedItem() != 0);
+}
+
+
+ProcAttach::ProcAttach(QWidget* parent) :
+ QDialog(parent, "procattach", true),
+ m_label(this, "label"),
+ m_processId(this, "procid"),
+ m_buttonOK(this, "ok"),
+ m_buttonCancel(this, "cancel"),
+ m_layout(this, 8),
+ m_buttons(4)
+{
+ QString title = kapp->caption();
+ title += i18n(": Attach to process");
+ setCaption(title);
+
+ m_label.setMinimumSize(330, 24);
+ m_label.setText(i18n("Specify the process number to attach to:"));
+
+ m_processId.setMinimumSize(330, 24);
+ m_processId.setMaxLength(100);
+ m_processId.setFrame(true);
+
+ m_buttonOK.setMinimumSize(100, 30);
+ connect(&m_buttonOK, SIGNAL(clicked()), SLOT(accept()));
+ m_buttonOK.setText(i18n("OK"));
+ m_buttonOK.setDefault(true);
+
+ m_buttonCancel.setMinimumSize(100, 30);
+ connect(&m_buttonCancel, SIGNAL(clicked()), SLOT(reject()));
+ m_buttonCancel.setText(i18n("Cancel"));
+
+ m_layout.addWidget(&m_label);
+ m_layout.addWidget(&m_processId);
+ m_layout.addLayout(&m_buttons);
+ m_layout.addStretch(10);
+ m_buttons.addStretch(10);
+ m_buttons.addWidget(&m_buttonOK);
+ m_buttons.addSpacing(40);
+ m_buttons.addWidget(&m_buttonCancel);
+ m_buttons.addStretch(10);
+
+ m_layout.activate();
+
+ m_processId.setFocus();
+ resize(350, 120);
+}
+
+ProcAttach::~ProcAttach()
+{
+}
diff --git a/kdbg/procattach.h b/kdbg/procattach.h
new file mode 100644
index 0000000..6ee1e42
--- /dev/null
+++ b/kdbg/procattach.h
@@ -0,0 +1,81 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef ProcAttach_included
+#define ProcAttach_included
+
+#include "procattachbase.h"
+#include <qvaluevector.h>
+#include <qdialog.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qpushbutton.h>
+#include <qlayout.h>
+
+
+class KProcess;
+
+/*
+ * This is the full-featured version of the dialog. It is used when the
+ * system features a suitable ps command.
+ */
+
+class ProcAttachPS : public ProcAttachBase
+{
+ Q_OBJECT
+public:
+ ProcAttachPS(QWidget* parent);
+ ~ProcAttachPS();
+
+ QString text() const;
+
+protected:
+ void runPS();
+ virtual void refresh();
+ virtual void filterEdited(const QString& text);
+ virtual void selectedChanged();
+
+protected slots:
+ void slotTextReceived(KProcess* proc, char* buffer, int buflen);
+ void slotPSDone();
+
+protected:
+ void pushLine();
+ bool setVisibility(QListViewItem* i, const QString& text);
+
+ KProcess* m_ps;
+ // parse state
+ int m_pidCol; //!< The PID column in the ps output
+ int m_ppidCol; //!< The parent-PID column in the ps output
+ QCString m_token;
+ QValueVector<QString> m_line;
+};
+
+
+/*
+ * This is an extremely stripped down version of the dialog. It is used
+ * when there is no suitable ps command.
+ */
+
+class ProcAttach : public QDialog
+{
+public:
+ ProcAttach(QWidget* parent);
+ virtual ~ProcAttach();
+
+ void setText(const QString& text) { m_processId.setText(text); }
+ QString text() const { return m_processId.text(); }
+
+protected:
+ QLabel m_label;
+ QLineEdit m_processId;
+ QPushButton m_buttonOK;
+ QPushButton m_buttonCancel;
+ QVBoxLayout m_layout;
+ QHBoxLayout m_buttons;
+};
+
+#endif // ProcAttach_included
diff --git a/kdbg/procattachbase.cpp b/kdbg/procattachbase.cpp
new file mode 100644
index 0000000..b6f8293
--- /dev/null
+++ b/kdbg/procattachbase.cpp
@@ -0,0 +1,137 @@
+#include <kdialog.h>
+#include <klocale.h>
+/****************************************************************************
+** Form implementation generated from reading ui file '../../exper/kdbg/procattachbase.ui'
+**
+** Created: Sun Jun 6 14:57:15 2010
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+
+#include "procattachbase.h"
+
+#include <qvariant.h>
+#include <qpushbutton.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qtoolbutton.h>
+#include <qheader.h>
+#include <qlistview.h>
+#include <qlayout.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+
+/*
+ * Constructs a ProcAttachBase as 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.
+ */
+ProcAttachBase::ProcAttachBase( QWidget* parent, const char* name, bool modal, WFlags fl )
+ : QDialog( parent, name, modal, fl )
+{
+ if ( !name )
+ setName( "ProcAttachBase" );
+ setSizeGripEnabled( TRUE );
+ ProcAttachBaseLayout = new QHBoxLayout( this, 10, 6, "ProcAttachBaseLayout");
+
+ layout7 = new QVBoxLayout( 0, 0, 6, "layout7");
+
+ layout6 = new QHBoxLayout( 0, 0, 6, "layout6");
+
+ filterLabel = new QLabel( this, "filterLabel" );
+ layout6->addWidget( filterLabel );
+
+ filterEdit = new QLineEdit( this, "filterEdit" );
+ filterEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)5, 0, 0, filterEdit->sizePolicy().hasHeightForWidth() ) );
+ filterEdit->setMaxLength( 20 );
+ layout6->addWidget( filterEdit );
+
+ filterClear = new QToolButton( this, "filterClear" );
+ layout6->addWidget( filterClear );
+ layout7->addLayout( layout6 );
+
+ processList = new QListView( this, "processList" );
+ processList->addColumn( tr2i18n( "Command" ) );
+ processList->addColumn( tr2i18n( "PID" ) );
+ processList->addColumn( tr2i18n( "PPID" ) );
+ processList->setMinimumSize( QSize( 300, 200 ) );
+ processList->setAllColumnsShowFocus( TRUE );
+ layout7->addWidget( processList );
+
+ layout3 = new QHBoxLayout( 0, 0, 6, "layout3");
+
+ buttonRefresh = new QPushButton( this, "buttonRefresh" );
+ buttonRefresh->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)0, 0, 0, buttonRefresh->sizePolicy().hasHeightForWidth() ) );
+ layout3->addWidget( buttonRefresh );
+ spacingBtns = new QSpacerItem( 242, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+ layout3->addItem( spacingBtns );
+
+ buttonOk = new QPushButton( this, "buttonOk" );
+ buttonOk->setEnabled( FALSE );
+ buttonOk->setAutoDefault( TRUE );
+ buttonOk->setDefault( TRUE );
+ layout3->addWidget( buttonOk );
+
+ buttonCancel = new QPushButton( this, "buttonCancel" );
+ buttonCancel->setAutoDefault( TRUE );
+ layout3->addWidget( buttonCancel );
+ layout7->addLayout( layout3 );
+ ProcAttachBaseLayout->addLayout( layout7 );
+ languageChange();
+ resize( QSize(560, 416).expandedTo(minimumSizeHint()) );
+ clearWState( WState_Polished );
+
+ // signals and slots connections
+ connect( buttonOk, SIGNAL( clicked() ), this, SLOT( accept() ) );
+ connect( buttonCancel, SIGNAL( clicked() ), this, SLOT( reject() ) );
+ connect( buttonRefresh, SIGNAL( clicked() ), this, SLOT( refresh() ) );
+ connect( filterEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( filterEdited(const QString&) ) );
+ connect( filterClear, SIGNAL( clicked() ), filterEdit, SLOT( clear() ) );
+ connect( processList, SIGNAL( selectionChanged() ), this, SLOT( selectedChanged() ) );
+
+ // tab order
+ setTabOrder( filterEdit, processList );
+ setTabOrder( processList, buttonRefresh );
+ setTabOrder( buttonRefresh, buttonOk );
+ setTabOrder( buttonOk, buttonCancel );
+
+ // buddies
+ filterLabel->setBuddy( filterEdit );
+}
+
+/*
+ * Destroys the object and frees any allocated resources
+ */
+ProcAttachBase::~ProcAttachBase()
+{
+ // no need to delete child widgets, Qt does it all for us
+}
+
+/*
+ * Sets the strings of the subwidgets using the current
+ * language.
+ */
+void ProcAttachBase::languageChange()
+{
+ setCaption( tr2i18n( "Attach to Process" ) );
+ filterLabel->setText( tr2i18n( "&Filter or PID:" ) );
+ QWhatsThis::add( filterEdit, tr2i18n( "Type the name of the process or its process ID (PID) here to reduce the number of entries in the list." ) );
+ filterClear->setText( tr2i18n( "..." ) );
+ QToolTip::add( filterClear, tr2i18n( "Clear filter" ) );
+ QWhatsThis::add( filterClear, tr2i18n( "Use this button to clear the filter text so that all processes are displayed." ) );
+ processList->header()->setLabel( 0, tr2i18n( "Command" ) );
+ processList->header()->setLabel( 1, tr2i18n( "PID" ) );
+ processList->header()->setLabel( 2, tr2i18n( "PPID" ) );
+ QWhatsThis::add( processList, tr2i18n( "<p>This list displays all processes that are currently running. You must select the process that you want KDbg to attach to. Use the <b>Filter or PID</b> edit box to reduce the number of entries in this list.<p>The text in the <i>Command</i> column is usually, but not always, the command that was used to start the process. The <i>PID</i> column shows the process ID. The <i>PPID</i> column shows the process ID of the parent process. Additional columns show more information about the processes that is also available via the system's <i>ps</i> command.</p><p>The list is not updated automatically. Use the <b>Refresh</b> button to update it.</p>" ) );
+ buttonRefresh->setText( tr2i18n( "&Refresh" ) );
+ QWhatsThis::add( buttonRefresh, tr2i18n( "This button updates the list of processes." ) );
+ buttonOk->setText( tr2i18n( "&OK" ) );
+ buttonOk->setAccel( QKeySequence( QString::null ) );
+ QWhatsThis::add( buttonOk, tr2i18n( "You must select a process from the list. Then click the <b>OK</b> button to attach to that process." ) );
+ buttonCancel->setText( tr2i18n( "&Cancel" ) );
+ buttonCancel->setAccel( QKeySequence( QString::null ) );
+}
+
+#include "procattachbase.moc"
diff --git a/kdbg/procattachbase.ui b/kdbg/procattachbase.ui
new file mode 100644
index 0000000..e44540d
--- /dev/null
+++ b/kdbg/procattachbase.ui
@@ -0,0 +1,276 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>ProcAttachBase</class>
+<author>Johannes Sixt</author>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>ProcAttachBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>560</width>
+ <height>416</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Attach to Process</string>
+ </property>
+ <property name="sizeGripEnabled">
+ <bool>true</bool>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout7</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout6</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>filterLabel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Filter or PID:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>filterEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>filterEdit</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxLength">
+ <number>20</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Type the name of the process or its process ID (PID) here to reduce the number of entries in the list.</string>
+ </property>
+ </widget>
+ <widget class="QToolButton">
+ <property name="name">
+ <cstring>filterClear</cstring>
+ </property>
+ <property name="text">
+ <string>...</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Clear filter</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Use this button to clear the filter text so that all processes are displayed.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QListView">
+ <column>
+ <property name="text">
+ <string>Command</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>PID</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>PPID</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>processList</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>300</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;p&gt;This list displays all processes that are currently running. You must select the process that you want KDbg to attach to. Use the &lt;b&gt;Filter or PID&lt;/b&gt; edit box to reduce the number of entries in this list.&lt;p&gt;The text in the &lt;i&gt;Command&lt;/i&gt; column is usually, but not always, the command that was used to start the process. The &lt;i&gt;PID&lt;/i&gt; column shows the process ID. The &lt;i&gt;PPID&lt;/i&gt; column shows the process ID of the parent process. Additional columns show more information about the processes that is also available via the system's &lt;i&gt;ps&lt;/i&gt; command.&lt;/p&gt;&lt;p&gt;The list is not updated automatically. Use the &lt;b&gt;Refresh&lt;/b&gt; button to update it.&lt;/p&gt;</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout3</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>buttonRefresh</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&amp;Refresh</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>This button updates the list of processes.</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacingBtns</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>242</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>buttonOk</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>You must select a process from the list. Then click the &lt;b&gt;OK&lt;/b&gt; button to attach to that process.</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>buttonCancel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+ </widget>
+ </hbox>
+</widget>
+<connections>
+ <connection>
+ <sender>buttonOk</sender>
+ <signal>clicked()</signal>
+ <receiver>ProcAttachBase</receiver>
+ <slot>accept()</slot>
+ </connection>
+ <connection>
+ <sender>buttonCancel</sender>
+ <signal>clicked()</signal>
+ <receiver>ProcAttachBase</receiver>
+ <slot>reject()</slot>
+ </connection>
+ <connection>
+ <sender>buttonRefresh</sender>
+ <signal>clicked()</signal>
+ <receiver>ProcAttachBase</receiver>
+ <slot>refresh()</slot>
+ </connection>
+ <connection>
+ <sender>filterEdit</sender>
+ <signal>textChanged(const QString&amp;)</signal>
+ <receiver>ProcAttachBase</receiver>
+ <slot>filterEdited(const QString&amp;)</slot>
+ </connection>
+ <connection>
+ <sender>filterClear</sender>
+ <signal>clicked()</signal>
+ <receiver>filterEdit</receiver>
+ <slot>clear()</slot>
+ </connection>
+ <connection>
+ <sender>processList</sender>
+ <signal>selectionChanged()</signal>
+ <receiver>ProcAttachBase</receiver>
+ <slot>selectedChanged()</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>filterEdit</tabstop>
+ <tabstop>processList</tabstop>
+ <tabstop>buttonRefresh</tabstop>
+ <tabstop>buttonOk</tabstop>
+ <tabstop>buttonCancel</tabstop>
+</tabstops>
+<slots>
+ <slot specifier="pure virtual">refresh()</slot>
+ <slot specifier="pure virtual">filterEdited(const QString&amp;)</slot>
+ <slot specifier="pure virtual">selectedChanged()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="10"/>
+</UI>
diff --git a/kdbg/programconfig.cpp b/kdbg/programconfig.cpp
new file mode 100644
index 0000000..28f837a
--- /dev/null
+++ b/kdbg/programconfig.cpp
@@ -0,0 +1,147 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "programconfig.h"
+#include <kconfigbackend.h>
+#include <qfile.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+
+struct ProgramConfig::MyBackend : KConfigINIBackEnd
+{
+ MyBackend(KConfigBase* cfg, const QString& fn) :
+ KConfigINIBackEnd(cfg, fn, "", false)
+ { }
+ // need the following public
+ using KConfigINIBackEnd::parseSingleConfigFile;
+};
+
+ProgramConfig::ProgramConfig(const QString& fileName) :
+ m_fileName(fileName)
+{
+ m_iniBackend = new MyBackend(this, fileName);
+ backEnd = m_iniBackend;
+ reparseConfiguration();
+}
+
+QStringList ProgramConfig::groupList() const
+{
+ // unused
+ return QStringList();
+}
+
+QMap<QString, QString> ProgramConfig::entryMap(const QString&) const
+{
+ // unused
+ return QMap<QString, QString>();
+}
+
+void ProgramConfig::reparseConfiguration()
+{
+ m_entryMap.clear();
+
+ // add the "default group" marker to the map
+ KEntryKey groupKey("<default>", 0);
+ m_entryMap.insert(groupKey, KEntry());
+
+ QFile file(m_fileName);
+ bool readonly = true;
+ bool useit = true;
+ if (file.open(IO_ReadWrite)) { /* don't truncate! */
+ readonly = false;
+ // the file exists now
+ } else if (!file.open(IO_ReadOnly)) {
+ /* file does not exist and cannot be created: don't use it */
+ useit = false;
+ }
+
+ if (useit)
+ {
+ // Check ownership
+ // Important: This must be done using fstat on the opened file
+ // to avoid race conditions.
+ struct stat s;
+ memset(&s, 0, sizeof(s));
+ useit =
+ fstat(file.handle(), &s) == 0 &&
+ s.st_uid == getuid();
+ }
+
+ if (useit)
+ {
+ m_iniBackend->parseSingleConfigFile(file, 0, false, false);
+ }
+ else
+ {
+ /*
+ * The program specific config file is not ours, so we do not trust
+ * it for the following reason: Should the debuggee be located in a
+ * world-writable directory somebody else may have created it where
+ * the entry DebuggerCmdStr contains a malicious command, or may
+ * have created a (possibly huge) file containing nonsense, which
+ * leads to a DoS.
+ */
+ }
+
+ // don't write the file if we don't own it
+ setReadOnly(readonly || !useit);
+}
+
+KEntryMap ProgramConfig::internalEntryMap(const QString& group) const
+{
+ QCString group_utf = group.utf8();
+ KEntryMap tmpEntryMap;
+
+ // copy the whole group starting at the special group marker
+ KEntryKey key(group_utf, 0);
+ KEntryMapConstIterator it = m_entryMap.find(key);
+ for (; it != m_entryMap.end() && it.key().mGroup == group_utf; ++it)
+ {
+ tmpEntryMap.insert(it.key(), *it);
+ }
+
+ return tmpEntryMap;
+}
+
+KEntryMap ProgramConfig::internalEntryMap() const
+{
+ return m_entryMap;
+}
+
+void ProgramConfig::putData(const KEntryKey& key, const KEntry& data, bool checkGroup)
+{
+ if (checkGroup)
+ {
+ // make sure the special group marker is present
+ m_entryMap[KEntryKey(key.mGroup, 0)];
+ }
+ m_entryMap[key] = data;
+}
+
+KEntry ProgramConfig::lookupData(const KEntryKey& key) const
+{
+ KEntryMapConstIterator it;
+
+ it = m_entryMap.find(key);
+ if (it != m_entryMap.end())
+ {
+ const KEntry& entry = *it;
+ if (entry.bDeleted)
+ return KEntry();
+ else
+ return entry;
+ }
+ else {
+ return KEntry();
+ }
+}
+
+bool ProgramConfig::internalHasGroup(const QCString&) const
+{
+ // unused
+ return false;
+}
diff --git a/kdbg/programconfig.h b/kdbg/programconfig.h
new file mode 100644
index 0000000..325769d
--- /dev/null
+++ b/kdbg/programconfig.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <kconfigbase.h>
+
+class KConfigINIBackEnd;
+
+class ProgramConfig : public KConfigBase
+{
+public:
+ ProgramConfig(const QString &fileName);
+ virtual QStringList groupList() const;
+ virtual QMap<QString, QString> entryMap(const QString &group) const;
+ virtual void reparseConfiguration();
+ virtual KEntryMap internalEntryMap( const QString& pGroup ) const;
+ virtual KEntryMap internalEntryMap() const;
+ virtual void putData(const KEntryKey &_key, const KEntry &_data, bool _checkGroup = true);
+ virtual KEntry lookupData(const KEntryKey &_key) const;
+ virtual bool internalHasGroup(const QCString &group) const;
+
+protected:
+ /**
+ * Contains all key,value entries, as well as some "special"
+ * keys which indicate the start of a group of entries.
+ *
+ * These special keys will have the .key portion of their @ref KEntryKey
+ * set to QString::null.
+ */
+ KEntryMap m_entryMap;
+ QString m_fileName;
+ // this is defined out-of-line
+ struct MyBackend;
+ MyBackend* m_iniBackend;
+};
diff --git a/kdbg/regwnd.cpp b/kdbg/regwnd.cpp
new file mode 100644
index 0000000..861b30a
--- /dev/null
+++ b/kdbg/regwnd.cpp
@@ -0,0 +1,613 @@
+/*
+ * Copyright Max Judin, Johannes Sixt, Daniel Kristjansson
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <qheader.h>
+#include <kglobalsettings.h>
+#include <klocale.h> /* i18n */
+#include <kiconloader.h>
+#include <qfontdialog.h>
+#include <qmessagebox.h>
+#include <qpopupmenu.h>
+#include <qregexp.h>
+#include <qstringlist.h>
+#include <stdlib.h> /* strtoul */
+#include "regwnd.h"
+#include "dbgdriver.h"
+
+/**
+ * Register display modes
+ */
+class RegisterDisplay {
+public:
+ enum BitSize {
+ bits8 = 0x10,
+ bits16 = 0x20,
+ bits32 = 0x30,
+ bits64 = 0x40,
+ bits80 = 0x50,
+ bits128 = 0x60,
+ bitsUnknown = 0x70
+ };
+
+ enum Format {
+ nada = 0x01,
+ binary = 0x02,
+ octal = 0x03,
+ decimal = 0x04,
+ hex = 0x05,
+ bcd = 0x06,
+ realE = 0x07,
+ realG = 0x08,
+ realF = 0x09
+ };
+ RegisterDisplay() : mode(bitsUnknown|nada) { }
+ RegisterDisplay(uint newMode) : mode(newMode) { }
+
+ bool contains(uint pmode) const {
+ bool val=((mode&0xf0)==pmode)||((mode&0x0f)==pmode);
+ return val;
+ }
+ uint bitsFlag() { return mode&0xf0; }
+ uint presentationFlag() const { return mode&0x0f; }
+ uint bits() const { return bitMap[(mode>>4)&0x07]; }
+ void changeFlag(uint code) {
+ uint mask=((code&0xf0)==code)?0x0f:0xf0;
+ mode = code | (mode & mask);
+ }
+private:
+ uint mode;
+ static uint bitMap[];
+};
+
+// helper struct
+struct MenuPair
+{
+ const char* name;
+ uint mode;
+ bool isSeparator() { return name == 0; }
+};
+
+static MenuPair menuitems[] = {
+ // treat as
+ { I18N_NOOP("&GDB default"), RegisterDisplay::nada },
+ { I18N_NOOP("&Binary"), RegisterDisplay::binary },
+ { I18N_NOOP("&Octal"), RegisterDisplay::octal },
+ { I18N_NOOP("&Decimal"), RegisterDisplay::decimal },
+ { I18N_NOOP("He&xadecimal"), RegisterDisplay::hex },
+ { I18N_NOOP("Real (&e)"), RegisterDisplay::realE },
+ { I18N_NOOP("Real (&f)"), RegisterDisplay::realF },
+ { I18N_NOOP("&Real (g)"), RegisterDisplay::realG },
+ { 0, 0 },
+ { "8 bits", RegisterDisplay::bits8 },
+ { "16 bits", RegisterDisplay::bits16 },
+ { "32 bits", RegisterDisplay::bits32 },
+ { "64 bits", RegisterDisplay::bits64 },
+ { "80 bits", RegisterDisplay::bits80 },
+ { "128 bits",RegisterDisplay::bits128 },
+};
+
+uint RegisterDisplay::bitMap[] = {
+ 0, 8, 16, 32,
+ 64, 80, 128, /*default*/32,
+};
+
+class ModeItem : public QListViewItem
+{
+public:
+ ModeItem(QListView* parent, const QString& name) : QListViewItem(parent, name) {}
+ ModeItem(QListViewItem* parent) : QListViewItem(parent) {}
+
+ virtual void setMode(RegisterDisplay mode) = 0;
+ virtual RegisterDisplay mode() = 0;
+};
+
+class GroupingViewItem : public ModeItem
+{
+public:
+ GroupingViewItem(RegisterView* parent,
+ const QString& name, const QString& pattern,
+ RegisterDisplay mode) :
+ ModeItem(parent, name), matcher(pattern), gmode(mode)
+ {
+ setExpandable(true);
+ setOpen(true);
+ }
+ bool matchName(const QString& str) const
+ {
+ return matcher.exactMatch(str);
+ }
+ virtual void setMode(RegisterDisplay mode)
+ {
+ gmode=mode;
+ QListViewItem *it=firstChild();
+ for (; 0!=it; it=it->nextSibling()) {
+ (static_cast<ModeItem*>(it))->setMode(gmode);
+ }
+ }
+ virtual RegisterDisplay mode() { return gmode; }
+
+private:
+ QRegExp matcher;
+ RegisterDisplay gmode;
+};
+
+class RegisterViewItem : public ModeItem
+{
+public:
+ RegisterViewItem(GroupingViewItem* parent,
+ const RegisterInfo& regInfo);
+ ~RegisterViewItem();
+
+ void setValue(const RegisterInfo& regInfo);
+ virtual void setMode(RegisterDisplay mode);
+ virtual RegisterDisplay mode() { return m_mode; }
+ RegisterInfo m_reg;
+ RegisterDisplay m_mode; /* display mode */
+ bool m_changes;
+ bool m_found;
+
+protected:
+ virtual void paintCell(QPainter*, const QColorGroup& cg,
+ int column, int width, int alignment);
+
+};
+
+
+RegisterViewItem::RegisterViewItem(GroupingViewItem* parent,
+ const RegisterInfo& regInfo) :
+ ModeItem(parent),
+ m_reg(regInfo),
+ m_changes(false),
+ m_found(true)
+{
+ setValue(m_reg);
+ setText(0, m_reg.regName);
+ setMode(parent->mode());
+}
+
+RegisterViewItem::~RegisterViewItem()
+{
+}
+
+/*
+ * We must be careful when converting the hex value because
+ * it may exceed this computer's long values.
+ */
+inline int hexCharToDigit(char h)
+{
+ if (h < '0')
+ return -1;
+ if (h <= '9')
+ return h - '0';
+ if (h < 'A')
+ return -1;
+ if (h <= 'F')
+ return h - ('A' - 10);
+ if (h < 'a')
+ return -1;
+ if (h <= 'f')
+ return h - ('a' - 10);
+ return -1;
+}
+
+static QString toBinary(QString hex)
+{
+ static const char digits[16][8] = {
+ "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
+ "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"
+ };
+ QString result;
+
+ for (unsigned i = 2; i < hex.length(); i++) {
+ int idx = hexCharToDigit(hex[i].latin1());
+ if (idx < 0) {
+ // not a hex digit; no conversion
+ return hex;
+ }
+ const char* bindigits = digits[idx];
+ result += bindigits;
+ }
+ // remove leading zeros
+ switch (hexCharToDigit(hex[2].latin1())) {
+ case 0: case 1: result.remove(0, 3); break;
+ case 2: case 3: result.remove(0, 2); break;
+ case 4: case 5:
+ case 6: case 7: result.remove(0, 1); break;
+ }
+ return result;
+}
+
+static QString toOctal(QString hex)
+{
+ QString result;
+ int shift = 0;
+ unsigned v = 0;
+ for (int i = hex.length()-1; i >= 2; i--) {
+ int idx = hexCharToDigit(hex[i].latin1());
+ if (idx < 0)
+ return hex;
+ v += idx << shift;
+ result.insert(0, (v & 7) + '0');
+ v >>= 3;
+ shift++;
+ if (shift == 3) {
+ // an extra digit this round
+ result.insert(0, v + '0');
+ shift = v = 0;
+ }
+ }
+ if (v != 0) {
+ result.insert(0, v + '0');
+ }
+ return "0" + result;
+}
+
+static QString toDecimal(QString hex)
+{
+ /*
+ * We convert only numbers that are small enough for this computer's
+ * size of long integers.
+ */
+ if (hex.length() > sizeof(unsigned long)*2+2) /* count in leading "0x" */
+ return hex;
+
+ const char* start = hex.latin1();
+ char* end;
+ unsigned long val = strtoul(start, &end, 0);
+ if (start == end)
+ return hex;
+ else
+ return QString().setNum(val);
+}
+
+static QString toBCD(const QString& hex)
+{
+ return hex.right(2);
+}
+
+static char* toRaw(const QString& hex, uint& length)
+{
+ static uint testNum=1;
+ static void* testVoid=(void*)&testNum;
+ static char* testChar=(char*)testVoid;
+ static bool littleendian=(*testChar==1);
+
+ length=((hex.length()-2)%2)+((hex.length()-2)/2);
+ char* data=new char[length];
+
+ if (littleendian) {
+ uint j=0;
+ if (hex.length()<=2) return 0;
+ for (int i=hex.length()-1; i>=2; ) {
+ if (j%2==0) data[j/2]=hexCharToDigit(hex[i].latin1());
+ else data[j/2]|=(hexCharToDigit(hex[i].latin1())<<4);
+ i--;j++;
+ }
+ } else { // big endian
+ uint j=0;
+ if (hex.length()<=2) return 0;
+ for (uint i=2; i<hex.length(); ) {
+ if (j%2==0) data[j/2]=hexCharToDigit(hex[i].latin1())<<4;
+ else data[j/2]|=hexCharToDigit(hex[i].latin1());
+ i++;j++;
+ }
+ }
+ return data;
+}
+
+static long double extractNumber(const QString& hex)
+{
+ uint length;
+ char* data=toRaw(hex, length);
+ long double val;
+ if (length==4) { // float
+ val=*((float*)data);
+ } else if (length==8) { // double
+ val=*((double*)data);
+ } else if (length==10) { // long double
+ val=*((long double*)data);
+ } else {
+ val=*((float*)data);
+ }
+ delete[] data;
+
+ return val;
+}
+
+static QString toFloat(const QString& hex, char p)
+{
+ uint bits;
+ uint prec=6;
+ if (hex.length()<=10) { bits=32; prec=6; }
+ else if (hex.length()<=18) { bits=64; prec=17; }
+ else { bits=80; prec=20; }
+
+ QString cooked=QString::number(extractNumber(hex), p, prec);
+ if (p=='e') {
+ prec+=7;
+ while (cooked.length()<prec) cooked=cooked.prepend(" ");
+ }
+ return cooked;
+}
+
+static QString convertSingle(const QString& raw, const RegisterDisplay mode)
+{
+ switch (mode.presentationFlag()) {
+ case RegisterDisplay::binary: return toBinary(raw);
+ case RegisterDisplay::octal: return toOctal(raw);
+ case RegisterDisplay::decimal: return toDecimal(raw);
+ case RegisterDisplay::hex: return raw;
+ case RegisterDisplay::bcd: return toBCD(raw);
+ case RegisterDisplay::realE: return toFloat(raw, 'e');
+ case RegisterDisplay::realG: return toFloat(raw, 'g');
+ case RegisterDisplay::realF: return toFloat(raw, 'f');
+ default: return raw;
+ }
+}
+
+QString convertRaw(const RegisterInfo reg, RegisterDisplay mode)
+{
+ QString cooked;
+ uint totalNibles=0, nibles=mode.bits()>>2;
+ if (RegisterDisplay::nada!=mode.presentationFlag() &&
+ reg.rawValue.length() > 2 && reg.rawValue[0] == '0' && reg.rawValue[1] == 'x')
+ {
+ if ("uint128"==reg.type) totalNibles=32;
+ else if ("uint64"==reg.type) totalNibles=16;
+ else if (reg.type.isEmpty()) totalNibles=nibles;
+ else {
+ return "don't know how to handle vector type <"+reg.type+">";
+ }
+ if (0==nibles) nibles=8; // default to 4 byte, 32 bits values
+ if (nibles>totalNibles) totalNibles=nibles; // minimum one value
+
+ QString raw=reg.rawValue.right(reg.rawValue.length()-2); // clip off "0x"
+ while (raw.length()<totalNibles) raw.prepend("0"); // pad out to totalNibles
+
+ QString separator=","; // locale-specific?
+ for (int nib=totalNibles-nibles; nib>=0; nib-=nibles) {
+ QString qstr=convertSingle(raw.mid(nib, nibles).prepend("0x"), mode);
+
+ if (nib==int(totalNibles-nibles)) cooked=qstr+cooked;
+ else cooked=qstr+separator+cooked;
+ }
+ }
+ else
+ {
+ cooked = reg.cookedValue;
+ }
+ if (cooked.at(0)!=' ' && cooked.at(0)!='-' && cooked.at(0)!='+')
+ cooked.prepend(" ");
+ return cooked;
+}
+
+void RegisterViewItem::setValue(const RegisterInfo& reg)
+{
+ m_reg = reg;
+
+ setText(1, reg.rawValue);
+ QString cookedValue = convertRaw(reg, m_mode);
+ setText(2, cookedValue);
+}
+
+void RegisterViewItem::setMode(RegisterDisplay mode)
+{
+ m_mode = mode;
+
+ QString cookedValue = convertRaw(m_reg, mode);
+ setText(2, cookedValue);
+}
+
+void RegisterViewItem::paintCell(QPainter* p, const QColorGroup& cg,
+ int column, int width, int alignment)
+{
+ if (m_changes) {
+ QColorGroup newcg = cg;
+ newcg.setColor(QColorGroup::Text, red);
+ QListViewItem::paintCell(p, newcg, column, width, alignment);
+ } else {
+ QListViewItem::paintCell(p, cg, column, width, alignment);
+ }
+}
+
+
+RegisterView::RegisterView(QWidget* parent, const char* name) :
+ QListView(parent, name)
+{
+ setSorting(-1);
+ setFont(KGlobalSettings::fixedFont());
+
+ QPixmap iconRegs = UserIcon("regs.xpm");
+ QPixmap iconWatchcoded = UserIcon("watchcoded.xpm");
+ QPixmap iconWatch = UserIcon("watch.xpm");
+
+ addColumn(QIconSet(iconRegs), i18n("Register"));
+ addColumn(QIconSet(iconWatchcoded), i18n("Value"));
+ addColumn(QIconSet(iconWatch), i18n("Decoded value"));
+
+ setColumnAlignment(0,AlignLeft);
+ setColumnAlignment(1,AlignLeft);
+ setColumnAlignment(2,AlignLeft);
+
+ setAllColumnsShowFocus( true );
+ header()->setClickEnabled(false);
+
+ connect(this, SIGNAL(contextMenuRequested(QListViewItem*, const QPoint&, int)),
+ SLOT(rightButtonClicked(QListViewItem*,const QPoint&,int)));
+
+ m_modemenu = new QPopupMenu(this, "ERROR");
+ for (uint i=0; i<sizeof(menuitems)/sizeof(MenuPair); i++) {
+ if (menuitems[i].isSeparator())
+ m_modemenu->insertSeparator();
+ else
+ m_modemenu->insertItem(i18n(menuitems[i].name), menuitems[i].mode);
+ }
+ connect(m_modemenu,SIGNAL(activated(int)),SLOT(slotModeChange(int)));
+
+ new GroupingViewItem(this, "MIPS VU", "^vu.*",
+ RegisterDisplay::bits32|RegisterDisplay::realE);
+ new GroupingViewItem(this, "AltiVec", "^vr.*",
+ RegisterDisplay::bits32|RegisterDisplay::realE);
+ new GroupingViewItem(this, "POWER real", "^fpr.*",
+ RegisterDisplay::bits32|RegisterDisplay::realE);
+ new GroupingViewItem(this, "MMX", "^mm.*",
+ RegisterDisplay::bits32|RegisterDisplay::realE);
+ new GroupingViewItem(this, "SSE", "^xmm.*",
+ RegisterDisplay::bits32|RegisterDisplay::realE);
+ new GroupingViewItem(this, "x87", "^st.*",
+ RegisterDisplay::bits80|RegisterDisplay::realE);
+ new GroupingViewItem(this, i18n("x86/x87 segment"),
+ "(^cs$|^ss$|^ds$|^es$|^fs$|^gs$|^fiseg$|^foseg$)",
+ RegisterDisplay::nada);
+ new GroupingViewItem(this, i18n("Flags"),
+ "(^eflags$|^fctrl$|^mxcsr$|^cr$|^fpscr$|^vscr$|^ftag$|^fstat$)",
+ RegisterDisplay::bits32|RegisterDisplay::binary);
+ new GroupingViewItem(this, i18n("GP and others"), "^$",
+ RegisterDisplay::nada);
+
+ updateGroupVisibility();
+ setRootIsDecorated(true);
+
+ resize(200,300);
+}
+
+RegisterView::~RegisterView()
+{
+}
+
+GroupingViewItem* RegisterView::findMatchingGroup(const QString& regName)
+{
+ for (QListViewItem* it = firstChild(); it != 0; it = it->nextSibling())
+ {
+ GroupingViewItem* i = static_cast<GroupingViewItem*>(it);
+ if (i->matchName(regName))
+ return i;
+ }
+ // not better match found, so return "GP and others"
+ return static_cast<GroupingViewItem*>(firstChild());
+}
+
+GroupingViewItem* RegisterView::findGroup(const QString& groupName)
+{
+ for (QListViewItem* it = firstChild(); it != 0; it = it->nextSibling())
+ {
+ if (it->text(0) == groupName)
+ return static_cast<GroupingViewItem*>(it);
+ }
+ return 0;
+}
+
+void RegisterView::updateGroupVisibility()
+{
+ for (QListViewItem* it = firstChild(); it != 0; it = it->nextSibling())
+ {
+ it->setVisible(it->childCount() > 0);
+ }
+}
+
+void RegisterView::updateRegisters(const std::list<RegisterInfo>& regs)
+{
+ setUpdatesEnabled(false);
+
+ // mark all items as 'not found'
+ for (RegMap::iterator i = m_registers.begin(); i != m_registers.end(); ++i)
+ {
+ i->second->m_found = false;
+ }
+
+ // parse register values
+ // must iterate last to first, since QListView inserts at the top
+ for (std::list<RegisterInfo>::const_reverse_iterator reg = regs.rbegin(); reg != regs.rend(); ++reg)
+ {
+ // check if this is a new register
+ RegMap::iterator i = m_registers.find(reg->regName);
+
+ if (i != m_registers.end())
+ {
+ RegisterViewItem* it = i->second;
+ it->m_found = true;
+ if (it->m_reg.rawValue != reg->rawValue ||
+ it->m_reg.cookedValue != reg->cookedValue)
+ {
+ it->m_changes = true;
+ it->setValue(*reg);
+ repaintItem(it);
+ } else {
+ /*
+ * If there was a change last time, but not now, we
+ * must revert the color.
+ */
+ if (it->m_changes) {
+ it->m_changes = false;
+ repaintItem(it);
+ }
+ }
+ }
+ else
+ {
+ GroupingViewItem* group = findMatchingGroup(reg->regName);
+ m_registers[reg->regName] =
+ new RegisterViewItem(group, *reg);
+ }
+ }
+
+ // remove all 'not found' items;
+ QStringList del;
+ for (RegMap::iterator i = m_registers.begin(); i != m_registers.end(); ++i)
+ {
+ if (!i->second->m_found) {
+ del.push_back(i->first);
+ }
+ }
+ for (QStringList::Iterator i = del.begin(); i != del.end(); ++i)
+ {
+ RegMap::iterator it = m_registers.find(*i);
+ delete it->second;
+ m_registers.erase(it);
+ }
+
+ updateGroupVisibility();
+ setUpdatesEnabled(true);
+ triggerUpdate();
+}
+
+
+void RegisterView::rightButtonClicked(QListViewItem* item, const QPoint& p, int)
+{
+ if (item) {
+ RegisterDisplay mode=static_cast<ModeItem*>(item)->mode();
+ for (unsigned int i = 0; i<sizeof(menuitems)/sizeof(MenuPair); i++) {
+ m_modemenu->setItemChecked(menuitems[i].mode,
+ mode.contains(menuitems[i].mode));
+ }
+ m_modemenu->setCaption(item->text(0));
+ m_modemenu->popup(p);
+ }
+}
+
+void RegisterView::slotModeChange(int pcode)
+{
+ RegMap::iterator it=m_registers.find(m_modemenu->caption());
+ ModeItem* view;
+ if (it != m_registers.end())
+ view = it->second;
+ else
+ view = findGroup(m_modemenu->caption());
+
+ if (view) {
+ RegisterDisplay mode = view->mode();
+ mode.changeFlag(pcode);
+ view->setMode(mode);
+ }
+}
+
+void RegisterView::paletteChange(const QPalette& oldPal)
+{
+ setFont(KGlobalSettings::fixedFont());
+ QListView::paletteChange(oldPal);
+}
+
+#include "regwnd.moc"
diff --git a/kdbg/regwnd.h b/kdbg/regwnd.h
new file mode 100644
index 0000000..242064f
--- /dev/null
+++ b/kdbg/regwnd.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright Max Judin, Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef REGWND_H
+#define REGWND_H
+
+#include <qlistview.h>
+#include <list>
+#include <map>
+
+class QPopupMenu;
+class RegisterViewItem;
+class GroupingViewItem;
+struct RegisterInfo;
+
+
+class RegisterView : public QListView
+{
+ Q_OBJECT
+public:
+ RegisterView(QWidget* parent, const char *name = 0L);
+ ~RegisterView();
+
+protected slots:
+ void rightButtonClicked(QListViewItem*, const QPoint&, int);
+ void slotModeChange(int);
+ void updateRegisters(const std::list<RegisterInfo>&);
+
+private:
+ void paletteChange(const QPalette& oldPal);
+ void updateGroupVisibility();
+ GroupingViewItem* findMatchingGroup(const QString& regName);
+ GroupingViewItem* findGroup(const QString& groupName);
+ QPopupMenu* m_modemenu;
+ typedef std::map<QString,RegisterViewItem*> RegMap;
+ RegMap m_registers;
+
+friend class RegisterViewItem;
+};
+
+#endif // REGWND_H
diff --git a/kdbg/sourcewnd.cpp b/kdbg/sourcewnd.cpp
new file mode 100644
index 0000000..bef2e89
--- /dev/null
+++ b/kdbg/sourcewnd.cpp
@@ -0,0 +1,967 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "debugger.h"
+#include "sourcewnd.h"
+#include <qtextstream.h>
+#include <qpainter.h>
+#include <qbrush.h>
+#include <qfile.h>
+#include <qfileinfo.h>
+#include <qkeycode.h>
+#include <qpopupmenu.h>
+#include <kapplication.h>
+#include <kiconloader.h>
+#include <kglobalsettings.h>
+#include <kmainwindow.h>
+#include <algorithm>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "mydebug.h"
+
+
+SourceWindow::SourceWindow(const QString& fileName, QWidget* parent, const char* name) :
+ QTextEdit(parent, name),
+ m_fileName(fileName),
+ m_curRow(-1),
+ m_widthItems(16),
+ m_widthPlus(12),
+ m_widthLineNo(30)
+{
+ // load pixmaps
+ m_pcinner = UserIcon("pcinner");
+ m_pcup = UserIcon("pcup");
+ m_brkena = UserIcon("brkena");
+ m_brkdis = UserIcon("brkdis");
+ m_brktmp = UserIcon("brktmp");
+ m_brkcond = UserIcon("brkcond");
+ m_brkorph = UserIcon("brkorph");
+ setFont(KGlobalSettings::fixedFont());
+ setReadOnly(true);
+ setMargins(m_widthItems+m_widthPlus+m_widthLineNo, 0, 0 ,0);
+ setAutoFormatting(AutoNone);
+ setTextFormat(PlainText);
+ setWordWrap(NoWrap);
+ connect(verticalScrollBar(), SIGNAL(valueChanged(int)),
+ this, SLOT(update()));
+ connect(this, SIGNAL(cursorPositionChanged(int,int)), this, SLOT(cursorChanged(int)));
+ viewport()->installEventFilter(this);
+
+ // add a syntax highlighter
+ if (QRegExp("\\.(c(pp|c|\\+\\+)?|CC?|h(\\+\\+|h)?|HH?)$").search(m_fileName) >= 0)
+ {
+ new HighlightCpp(this);
+ }
+}
+
+SourceWindow::~SourceWindow()
+{
+ delete syntaxHighlighter();
+}
+
+bool SourceWindow::loadFile()
+{
+ // first we load the code into QTextEdit
+ QFile f(m_fileName);
+ if (!f.open(IO_ReadOnly)) {
+ return false;
+ }
+
+ QTextStream t(&f);
+ setText(t.read());
+ f.close();
+
+ // then we copy it into our own m_sourceCode
+ int n = paragraphs();
+ m_sourceCode.resize(n);
+ m_rowToLine.resize(n);
+ for (int i = 0; i < n; i++) {
+ m_sourceCode[i].code = text(i);
+ m_rowToLine[i] = i;
+ }
+ m_lineItems.resize(n, 0);
+
+ // set a font for line numbers
+ m_lineNoFont = currentFont();
+ m_lineNoFont.setPixelSize(11);
+
+ return true;
+}
+
+void SourceWindow::reloadFile()
+{
+ QFile f(m_fileName);
+ if (!f.open(IO_ReadOnly)) {
+ // open failed; leave alone
+ return;
+ }
+
+ // read text into m_sourceCode
+ m_sourceCode.clear(); /* clear old text */
+
+ QTextStream t(&f);
+ setText(t.read());
+ f.close();
+
+ m_sourceCode.resize(paragraphs());
+ for (size_t i = 0; i < m_sourceCode.size(); i++) {
+ m_sourceCode[i].code = text(i);
+ }
+ // expanded lines are collapsed: move existing line items up
+ for (size_t i = 0; i < m_lineItems.size(); i++) {
+ if (m_rowToLine[i] != i) {
+ m_lineItems[m_rowToLine[i]] |= m_lineItems[i];
+ m_lineItems[i] = 0;
+ }
+ }
+ // allocate line items
+ m_lineItems.resize(m_sourceCode.size(), 0);
+
+ m_rowToLine.resize(m_sourceCode.size());
+ for (size_t i = 0; i < m_sourceCode.size(); i++)
+ m_rowToLine[i] = i;
+
+ // Highlighting was applied above when the text was inserted into widget,
+ // but at that time m_rowToLine was not corrected, yet, so that lines
+ // that previously were assembly were painted incorrectly.
+ if (syntaxHighlighter())
+ syntaxHighlighter()->rehighlight();
+ update(); // line numbers
+}
+
+void SourceWindow::scrollTo(int lineNo, const DbgAddr& address)
+{
+ if (lineNo < 0 || lineNo >= int(m_sourceCode.size()))
+ return;
+
+ int row = lineToRow(lineNo, address);
+ scrollToRow(row);
+}
+
+void SourceWindow::scrollToRow(int row)
+{
+ setCursorPosition(row, 0);
+ ensureCursorVisible();
+}
+
+void SourceWindow::drawFrame(QPainter* p)
+{
+ QTextEdit::drawFrame(p);
+
+ // and paragraph at the top is...
+ int top = paragraphAt(QPoint(0,contentsY()));
+ int bot = paragraphAt(QPoint(0,contentsY()+visibleHeight()-1));
+ if (bot < 0)
+ bot = paragraphs()-1;
+
+ p->save();
+
+ // set a clip rectangle
+ int fw = frameWidth();
+ QRect inside = rect();
+ inside.addCoords(fw,fw,-fw,-fw);
+ QRegion clip = p->clipRegion();
+ clip &= QRegion(inside);
+ p->setClipRegion(clip);
+
+ p->setFont(m_lineNoFont);
+ p->setPen(colorGroup().text());
+ p->eraseRect(inside);
+
+ for (int row = top; row <= bot; row++)
+ {
+ uchar item = m_lineItems[row];
+ p->save();
+
+ QRect r = paragraphRect(row);
+ QPoint pt = contentsToViewport(r.topLeft());
+ int h = r.height();
+ p->translate(fw, pt.y()+viewport()->y());
+
+ if (item & liBP) {
+ // enabled breakpoint
+ int y = (h - m_brkena.height())/2;
+ if (y < 0) y = 0;
+ p->drawPixmap(0,y,m_brkena);
+ }
+ if (item & liBPdisabled) {
+ // disabled breakpoint
+ int y = (h - m_brkdis.height())/2;
+ if (y < 0) y = 0;
+ p->drawPixmap(0,y,m_brkdis);
+ }
+ if (item & liBPtemporary) {
+ // temporary breakpoint marker
+ int y = (h - m_brktmp.height())/2;
+ if (y < 0) y = 0;
+ p->drawPixmap(0,y,m_brktmp);
+ }
+ if (item & liBPconditional) {
+ // conditional breakpoint marker
+ int y = (h - m_brkcond.height())/2;
+ if (y < 0) y = 0;
+ p->drawPixmap(0,y,m_brkcond);
+ }
+ if (item & liBPorphan) {
+ // orphaned breakpoint marker
+ int y = (h - m_brkcond.height())/2;
+ if (y < 0) y = 0;
+ p->drawPixmap(0,y,m_brkorph);
+ }
+ if (item & liPC) {
+ // program counter in innermost frame
+ int y = (h - m_pcinner.height())/2;
+ if (y < 0) y = 0;
+ p->drawPixmap(0,y,m_pcinner);
+ }
+ if (item & liPCup) {
+ // program counter somewhere up the stack
+ int y = (h - m_pcup.height())/2;
+ if (y < 0) y = 0;
+ p->drawPixmap(0,y,m_pcup);
+ }
+ p->translate(m_widthItems, 0);
+ if (!isRowDisassCode(row) && m_sourceCode[rowToLine(row)].canDisass) {
+ int w = m_widthPlus;
+ int x = w/2;
+ int y = h/2;
+ p->drawLine(x-2, y, x+2, y);
+ if (!isRowExpanded(row)) {
+ p->drawLine(x, y-2, x, y+2);
+ }
+ }
+ p->translate(m_widthPlus, 0);
+ if (!isRowDisassCode(row)) {
+ p->drawText(0, 0, m_widthLineNo, h, AlignRight|AlignVCenter,
+ QString().setNum(rowToLine(row)+1));
+ }
+ p->restore();
+ }
+ p->restore();
+}
+
+void SourceWindow::updateLineItems(const KDebugger* dbg)
+{
+ // clear outdated breakpoints
+ for (int i = m_lineItems.size()-1; i >= 0; i--) {
+ if (m_lineItems[i] & liBPany) {
+ // check if this breakpoint still exists
+ int line = rowToLine(i);
+ TRACE(QString().sprintf("checking for bp at %d", line));
+ KDebugger::BrkptROIterator bp = dbg->breakpointsBegin();
+ for (; bp != dbg->breakpointsEnd(); ++bp)
+ {
+ if (bp->lineNo == line &&
+ fileNameMatches(bp->fileName) &&
+ lineToRow(line, bp->address) == i)
+ {
+ // yes it exists; mode is changed below
+ break;
+ }
+ }
+ if (bp == dbg->breakpointsEnd()) {
+ /* doesn't exist anymore, remove it */
+ m_lineItems[i] &= ~liBPany;
+ update();
+ }
+ }
+ }
+
+ // add new breakpoints
+ for (KDebugger::BrkptROIterator bp = dbg->breakpointsBegin(); bp != dbg->breakpointsEnd(); ++bp)
+ {
+ if (fileNameMatches(bp->fileName)) {
+ TRACE(QString().sprintf("updating %s:%d", bp->fileName.data(), bp->lineNo));
+ int i = bp->lineNo;
+ if (i < 0 || i >= int(m_sourceCode.size()))
+ continue;
+ // compute new line item flags for breakpoint
+ uchar flags = bp->enabled ? liBP : liBPdisabled;
+ if (bp->temporary)
+ flags |= liBPtemporary;
+ if (!bp->condition.isEmpty() || bp->ignoreCount != 0)
+ flags |= liBPconditional;
+ if (bp->isOrphaned())
+ flags |= liBPorphan;
+ // update if changed
+ int row = lineToRow(i, bp->address);
+ if ((m_lineItems[row] & liBPany) != flags) {
+ m_lineItems[row] &= ~liBPany;
+ m_lineItems[row] |= flags;
+ update();
+ }
+ }
+ }
+}
+
+void SourceWindow::setPC(bool set, int lineNo, const DbgAddr& address, int frameNo)
+{
+ if (lineNo < 0 || lineNo >= int(m_sourceCode.size())) {
+ return;
+ }
+
+ int row = lineToRow(lineNo, address);
+
+ uchar flag = frameNo == 0 ? liPC : liPCup;
+ if (set) {
+ // set only if not already set
+ if ((m_lineItems[row] & flag) == 0) {
+ m_lineItems[row] |= flag;
+ update();
+ }
+ } else {
+ // clear only if not set
+ if ((m_lineItems[row] & flag) != 0) {
+ m_lineItems[row] &= ~flag;
+ update();
+ }
+ }
+}
+
+void SourceWindow::find(const QString& text, bool caseSensitive, FindDirection dir)
+{
+ ASSERT(dir == 1 || dir == -1);
+ if (QTextEdit::find(text, caseSensitive, false, dir > 0))
+ return;
+ // not found; wrap around
+ int para = dir > 0 ? 0 : paragraphs(), index = 0;
+ QTextEdit::find(text, caseSensitive, false, dir > 0, &para, &index);
+}
+
+void SourceWindow::mousePressEvent(QMouseEvent* ev)
+{
+ // we handle left and middle button
+ if (ev->button() != LeftButton && ev->button() != MidButton)
+ {
+ QTextEdit::mousePressEvent(ev);
+ return;
+ }
+
+ // get row
+ QPoint p = viewportToContents(QPoint(0, ev->y() - viewport()->y()));
+ int row = paragraphAt(p);
+ if (row < 0)
+ return;
+
+ if (ev->x() > m_widthItems+frameWidth())
+ {
+ if (isRowExpanded(row)) {
+ actionCollapseRow(row);
+ } else {
+ actionExpandRow(row);
+ }
+ return;
+ }
+
+ int sourceRow;
+ int line = rowToLine(row, &sourceRow);
+
+ // find address if row is disassembled code
+ DbgAddr address;
+ if (row > sourceRow) {
+ // get offset from source code line
+ int off = row - sourceRow;
+ address = m_sourceCode[line].disassAddr[off-1];
+ }
+
+ switch (ev->button()) {
+ case LeftButton:
+ TRACE(QString().sprintf("left-clicked line %d", line));
+ emit clickedLeft(m_fileName, line, address,
+ (ev->state() & ShiftButton) != 0);
+ break;
+ case MidButton:
+ TRACE(QString().sprintf("mid-clicked row %d", line));
+ emit clickedMid(m_fileName, line, address);
+ break;
+ default:;
+ }
+}
+
+void SourceWindow::keyPressEvent(QKeyEvent* ev)
+{
+ int top1, top2;
+ QPoint top;
+ switch (ev->key()) {
+ case Key_Plus:
+ actionExpandRow(m_curRow);
+ return;
+ case Key_Minus:
+ actionCollapseRow(m_curRow);
+ return;
+ case Key_Up:
+ if (m_curRow > 0) {
+ setCursorPosition(m_curRow-1, 0);
+ }
+ return;
+ case Key_Down:
+ if (m_curRow < paragraphs()-1) {
+ setCursorPosition(m_curRow+1, 0);
+ }
+ return;
+ case Key_Home:
+ setCursorPosition(0, 0);
+ return;
+ case Key_End:
+ setCursorPosition(paragraphs()-1, 0);
+ return;
+ case Key_Next:
+ case Key_Prior:
+ top = viewportToContents(QPoint(0,0));
+ top1 = paragraphAt(top);
+ }
+
+ QTextEdit::keyPressEvent(ev);
+
+ switch (ev->key()) {
+ case Key_Next:
+ case Key_Prior:
+ top = viewportToContents(QPoint(0,0));
+ top2 = paragraphAt(top);
+ setCursorPosition(m_curRow+(top2-top1), 0);
+ }
+}
+
+static inline bool isident(QChar c)
+{
+ return c.isLetterOrNumber() || c.latin1() == '_';
+}
+
+bool SourceWindow::wordAtPoint(const QPoint& p, QString& word, QRect& r)
+{
+ QPoint pv = viewportToContents(p - viewport()->pos());
+ int row, col = charAt(pv, &row);
+ if (row < 0 || col < 0)
+ return false;
+
+ // isolate the word at row, col
+ QString line = text(row);
+ if (!isident(line[col]))
+ return false;
+
+ int begin = col;
+ while (begin > 0 && isident(line[begin-1]))
+ --begin;
+ do
+ ++col;
+ while (col < int(line.length()) && isident(line[col]));
+
+ r = QRect(p, p);
+ r.addCoords(-5,-5,5,5);
+ word = line.mid(begin, col-begin);
+ return true;
+}
+
+void SourceWindow::paletteChange(const QPalette& oldPal)
+{
+ setFont(KGlobalSettings::fixedFont());
+ QTextEdit::paletteChange(oldPal);
+}
+
+/*
+ * Two file names (possibly full paths) match if the last parts - the file
+ * names - match.
+ */
+bool SourceWindow::fileNameMatches(const QString& other)
+{
+ return QFileInfo(other).fileName() == QFileInfo(m_fileName).fileName();
+}
+
+void SourceWindow::disassembled(int lineNo, const std::list<DisassembledCode>& disass)
+{
+ TRACE("disassembled line " + QString().setNum(lineNo));
+ if (lineNo < 0 || lineNo >= int(m_sourceCode.size()))
+ return;
+
+ SourceLine& sl = m_sourceCode[lineNo];
+
+ // copy disassembled code and its addresses
+ sl.disass.resize(disass.size());
+ sl.disassAddr.resize(disass.size());
+ sl.canDisass = !disass.empty();
+ int i = 0;
+ for (std::list<DisassembledCode>::const_iterator c = disass.begin(); c != disass.end(); ++c, ++i)
+ {
+ QString code = c->code;
+ while (code.endsWith("\n"))
+ code.truncate(code.length()-1);
+ sl.disass[i] = c->address.asString() + ' ' + code;
+ sl.disassAddr[i] = c->address;
+ }
+
+ int row = lineToRow(lineNo);
+ if (sl.canDisass) {
+ expandRow(row);
+ } else {
+ // clear expansion marker
+ update();
+ }
+}
+
+int SourceWindow::rowToLine(int row, int* sourceRow)
+{
+ int line = row >= 0 ? m_rowToLine[row] : -1;
+ if (sourceRow != 0) {
+ // search back until we hit the first entry with the current line number
+ while (row > 0 && m_rowToLine[row-1] == line)
+ row--;
+ *sourceRow = row;
+ }
+ return line;
+}
+
+/*
+ * Rows showing diassembled code have the same line number as the
+ * corresponding source code line number. Therefore, the line numbers in
+ * m_rowToLine are monotonically increasing with blocks of equal line
+ * numbers for a source line and its disassembled code that follows it.
+ *
+ * Hence, m_rowToLine always obeys the following condition:
+ *
+ * m_rowToLine[i] <= i
+ */
+
+int SourceWindow::lineToRow(int line)
+{
+ // line is zero-based!
+
+ assert(line < int(m_rowToLine.size()));
+
+ // quick test for common case
+ if (line < 0 || m_rowToLine[line] == line)
+ return line;
+
+ assert(m_rowToLine[line] < line);
+
+ /*
+ * Binary search between row == line and end of list. In the loop below
+ * we use the fact that the line numbers m_rowToLine do not contain
+ * holes.
+ */
+ int l = line;
+ int h = m_rowToLine.size();
+ while (l < h && m_rowToLine[l] != line)
+ {
+ assert(h == int(m_rowToLine.size()) || m_rowToLine[l] < m_rowToLine[h]);
+
+ /*
+ * We want to round down the midpoint so that we find the
+ * lowest row that belongs to the line we seek.
+ */
+ int mid = (l+h)/2;
+ if (m_rowToLine[mid] <= line)
+ l = mid;
+ else
+ h = mid;
+ }
+ // Found! Result is in l:
+ assert(m_rowToLine[l] == line);
+
+ /*
+ * We might not have hit the lowest index for the line.
+ */
+ while (l > 0 && m_rowToLine[l-1] == line)
+ --l;
+
+ return l;
+}
+
+int SourceWindow::lineToRow(int line, const DbgAddr& address)
+{
+ int row = lineToRow(line);
+ if (isRowExpanded(row)) {
+ row += m_sourceCode[line].findAddressRowOffset(address);
+ }
+ return row;
+}
+
+bool SourceWindow::isRowExpanded(int row)
+{
+ assert(row >= 0);
+ return row < int(m_rowToLine.size())-1 &&
+ m_rowToLine[row] == m_rowToLine[row+1];
+}
+
+bool SourceWindow::isRowDisassCode(int row)
+{
+ return row > 0 && row < int(m_rowToLine.size()) &&
+ m_rowToLine[row] == m_rowToLine[row-1];
+}
+
+void SourceWindow::expandRow(int row)
+{
+ TRACE("expanding row " + QString().setNum(row));
+ // get disassembled code
+ int line = rowToLine(row);
+ const std::vector<QString>& disass = m_sourceCode[line].disass;
+
+ // remove PC (must be set again in slot of signal expanded())
+ m_lineItems[row] &= ~(liPC|liPCup);
+
+ // adjust current row
+ if (m_curRow > row) {
+ m_curRow += disass.size();
+ // highlight is moved automatically
+ }
+
+ // insert new lines
+ setUpdatesEnabled(false);
+ ++row;
+ for (size_t i = 0; i < disass.size(); i++) {
+ m_rowToLine.insert(m_rowToLine.begin()+row, line);
+ m_lineItems.insert(m_lineItems.begin()+row, 0);
+ insertParagraph(disass[i], row++);
+ }
+ setUpdatesEnabled(true);
+ viewport()->update();
+ update(); // line items
+
+ emit expanded(line); /* must set PC */
+}
+
+void SourceWindow::collapseRow(int row)
+{
+ TRACE("collapsing row " + QString().setNum(row));
+ int line = rowToLine(row);
+
+ // find end of this block
+ int end = row+1;
+ while (end < int(m_rowToLine.size()) && m_rowToLine[end] == m_rowToLine[row]) {
+ end++;
+ }
+ ++row;
+ // adjust current row
+ if (m_curRow >= row) {
+ m_curRow -= end-row;
+ if (m_curRow < row) // was m_curRow in disassembled code?
+ m_curRow = -1;
+ }
+ setUpdatesEnabled(false);
+ while (--end >= row) {
+ m_rowToLine.erase(m_rowToLine.begin()+end);
+ m_lineItems.erase(m_lineItems.begin()+end);
+ removeParagraph(end);
+ }
+ setUpdatesEnabled(true);
+ viewport()->update();
+ update(); // line items
+
+ emit collapsed(line);
+}
+
+void SourceWindow::activeLine(int& line, DbgAddr& address)
+{
+ int row = m_curRow;
+
+ int sourceRow;
+ line = rowToLine(row, &sourceRow);
+ if (row > sourceRow) {
+ int off = row - sourceRow; /* offset from source line */
+ address = m_sourceCode[line].disassAddr[off-1];
+ }
+}
+
+/**
+ * Returns the offset from the line displaying the source code to
+ * the line containing the specified address. If the address is not
+ * found, 0 is returned.
+ */
+int SourceWindow::SourceLine::findAddressRowOffset(const DbgAddr& address) const
+{
+ if (address.isEmpty())
+ return 0;
+
+ for (size_t i = 0; i < disassAddr.size(); i++) {
+ if (disassAddr[i] == address) {
+ // found exact address
+ return i+1;
+ }
+ if (disassAddr[i] > address) {
+ /*
+ * We have already advanced too far; the address is before this
+ * index, but obviously we haven't found an exact match
+ * earlier. address is somewhere between the displayed
+ * addresses. We return the previous line.
+ */
+ return i;
+ }
+ }
+ // not found
+ return 0;
+}
+
+void SourceWindow::actionExpandRow(int row)
+{
+ if (row < 0 || isRowExpanded(row) || isRowDisassCode(row))
+ return;
+
+ // disassemble
+ int line = rowToLine(row);
+ const SourceLine& sl = m_sourceCode[line];
+ if (!sl.canDisass)
+ return;
+ if (sl.disass.size() == 0) {
+ emit disassemble(m_fileName, line);
+ } else {
+ expandRow(row);
+ }
+}
+
+void SourceWindow::actionCollapseRow(int row)
+{
+ if (row < 0 || !isRowExpanded(row) || isRowDisassCode(row))
+ return;
+
+ collapseRow(row);
+}
+
+void SourceWindow::setTabWidth(int numChars)
+{
+ if (numChars <= 0)
+ numChars = 8;
+ QFontMetrics fm(currentFont());
+ QString s;
+ int w = fm.width(s.fill('x', numChars));
+ setTabStopWidth(w);
+}
+
+void SourceWindow::cursorChanged(int row)
+{
+ if (row == m_curRow)
+ return;
+
+ if (m_curRow >= 0 && m_curRow < paragraphs())
+ clearParagraphBackground(m_curRow);
+ m_curRow = row;
+ setParagraphBackgroundColor(row, colorGroup().background());
+}
+
+/*
+ * We must override the context menu handling because QTextEdit's handling
+ * requires that it receives ownership of the popup menu; but the popup menu
+ * returned from the GUI factory is owned by the factory.
+ */
+
+void SourceWindow::contextMenuEvent(QContextMenuEvent* e)
+{
+ // get the context menu from the GUI factory
+ QWidget* top = this;
+ do
+ top = top->parentWidget();
+ while (!top->isTopLevel());
+ KMainWindow* mw = static_cast<KMainWindow*>(top);
+ QPopupMenu* m =
+ static_cast<QPopupMenu*>(mw->factory()->container("popup_files", mw));
+ m->exec(e->globalPos());
+}
+
+bool SourceWindow::eventFilter(QObject* watched, QEvent* e)
+{
+ if (e->type() == QEvent::ContextMenu && watched == viewport())
+ {
+ contextMenuEvent(static_cast<QContextMenuEvent*>(e));
+ return true;
+ }
+ return QTextEdit::eventFilter(watched, e);
+}
+
+HighlightCpp::HighlightCpp(SourceWindow* srcWnd) :
+ QSyntaxHighlighter(srcWnd),
+ m_srcWnd(srcWnd)
+{
+}
+
+enum HLState {
+ hlCommentLine = 1,
+ hlCommentBlock,
+ hlIdent,
+ hlString
+};
+
+static const QString ckw[] =
+{
+ "and",
+ "and_eq",
+ "asm",
+ "auto",
+ "bitand",
+ "bitor",
+ "bool",
+ "break",
+ "case",
+ "catch",
+ "char",
+ "class",
+ "compl",
+ "const",
+ "const_cast",
+ "continue",
+ "default",
+ "delete",
+ "do",
+ "double",
+ "dynamic_cast",
+ "else",
+ "enum",
+ "explicit",
+ "export",
+ "extern",
+ "false",
+ "float",
+ "for",
+ "friend",
+ "goto",
+ "if",
+ "inline",
+ "int",
+ "long",
+ "mutable",
+ "namespace",
+ "new",
+ "not",
+ "not_eq",
+ "operator",
+ "or",
+ "or_eq",
+ "private",
+ "protected",
+ "public",
+ "reinterpret_cast",
+ "register",
+ "return",
+ "short",
+ "signed",
+ "sizeof",
+ "static",
+ "static_cast",
+ "struct",
+ "switch",
+ "template",
+ "this",
+ "throw",
+ "true",
+ "try",
+ "typedef",
+ "typeid",
+ "typename",
+ "using",
+ "union",
+ "unsigned",
+ "virtual",
+ "void",
+ "volatile",
+ "wchar_t",
+ "while",
+ "xor",
+ "xor_eq"
+};
+
+int HighlightCpp::highlightParagraph(const QString& text, int state)
+{
+ int row = currentParagraph();
+ // highlight assembly lines
+ if (m_srcWnd->isRowDisassCode(row))
+ {
+ setFormat(0, text.length(), blue);
+ return state;
+ }
+
+ if (state == -2) // initial state
+ state = 0;
+
+ // check for preprocessor line
+ if (state == 0 && text.stripWhiteSpace().startsWith("#"))
+ {
+ setFormat(0, text.length(), QColor("dark green"));
+ return 0;
+ }
+
+ // a font for keywords
+ QFont identFont = textEdit()->currentFont();
+ identFont.setBold(!identFont.bold());
+
+ unsigned start = 0;
+ while (start < text.length())
+ {
+ int end;
+ switch (state) {
+ case hlCommentLine:
+ end = text.length();
+ state = 0;
+ setFormat(start, end-start, QColor("gray50"));
+ break;
+ case hlCommentBlock:
+ end = text.find("*/", start);
+ if (end >= 0)
+ end += 2, state = 0;
+ else
+ end = text.length();
+ setFormat(start, end-start, QColor("gray50"));
+ break;
+ case hlString:
+ for (end = start+1; end < int(text.length()); end++) {
+ if (text[end] == '\\') {
+ if (end < int(text.length()))
+ ++end;
+ } else if (text[end] == text[start]) {
+ ++end;
+ break;
+ }
+ }
+ state = 0;
+ setFormat(start, end-start, QColor("dark red"));
+ break;
+ case hlIdent:
+ for (end = start+1; end < int(text.length()); end++) {
+ if (!text[end].isLetterOrNumber() && text[end] != '_')
+ break;
+ }
+ state = 0;
+ if (std::binary_search(ckw, ckw + sizeof(ckw)/sizeof(ckw[0]),
+ text.mid(start, end-start)))
+ {
+ setFormat(start, end-start, identFont);
+ } else {
+ setFormat(start, end-start, m_srcWnd->colorGroup().text());
+ }
+ break;
+ default:
+ for (end = start; end < int(text.length()); end++)
+ {
+ if (text[end] == '/')
+ {
+ if (end+1 < int(text.length())) {
+ if (text[end+1] == '/') {
+ state = hlCommentLine;
+ break;
+ } else if (text[end+1] == '*') {
+ state = hlCommentBlock;
+ break;
+ }
+ }
+ }
+ else if (text[end] == '"' || text[end] == '\'')
+ {
+ state = hlString;
+ break;
+ }
+ else if (text[end] >= 'A' && text[end] <= 'Z' ||
+ text[end] >= 'a' && text[end] <= 'z' ||
+ text[end] == '_')
+ {
+ state = hlIdent;
+ break;
+ }
+ }
+ setFormat(start, end-start, m_srcWnd->colorGroup().text());
+ }
+ start = end;
+ }
+ return state;
+}
+
+#include "sourcewnd.moc"
diff --git a/kdbg/sourcewnd.h b/kdbg/sourcewnd.h
new file mode 100644
index 0000000..bab0b5a
--- /dev/null
+++ b/kdbg/sourcewnd.h
@@ -0,0 +1,124 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef SOURCEWND_H
+#define SOURCEWND_H
+
+#include <qpixmap.h>
+#include <qtextedit.h>
+#include <qsyntaxhighlighter.h>
+#include <vector>
+#include "dbgdriver.h"
+
+// forward declarations
+class KDebugger;
+struct DbgAddr;
+
+class SourceWindow : public QTextEdit
+{
+ Q_OBJECT
+public:
+ SourceWindow(const QString& fileName, QWidget* parent, const char* name);
+ ~SourceWindow();
+
+ bool loadFile();
+ void reloadFile();
+ bool fileNameMatches(const QString& other);
+ void scrollTo(int lineNo, const DbgAddr& address);
+ const QString& fileName() const { return m_fileName; }
+ void updateLineItems(const KDebugger* dbg);
+ void setPC(bool set, int lineNo, const DbgAddr& address, int frameNo);
+ enum FindDirection { findForward = 1, findBackward = -1 };
+ void find(const QString& text, bool caseSensitive, FindDirection dir);
+ bool wordAtPoint(const QPoint& p, QString& word, QRect& r);
+ /**
+ * Translates row number (zero-based) to zero-based source line number.
+ * If sourceRow is non-zero, it is filled with the source code row
+ * belonging to the line number.
+ */
+ int rowToLine(int row, int* sourceRow = 0);
+ /** Translates zero-based source line number to row number (zero-based) */
+ int lineToRow(int line);
+ /** Is the row disassembled? */
+ bool isRowExpanded(int row);
+ /** Does the row show disassembled code? */
+ bool isRowDisassCode(int row);
+
+ /** lineNo is zero-based */
+ void disassembled(int lineNo, const std::list<DisassembledCode>& disass);
+
+ void activeLine(int& lineNo, DbgAddr& address);
+
+protected:
+ virtual void drawFrame(QPainter* p);
+ virtual bool eventFilter(QObject* watched, QEvent* e);
+ virtual void contextMenuEvent(QContextMenuEvent* e);
+ virtual void mousePressEvent(QMouseEvent* ev);
+ virtual void keyPressEvent(QKeyEvent* ev);
+ virtual void paletteChange(const QPalette&);
+ void expandRow(int row);
+ void collapseRow(int row);
+ void scrollToRow(int row);
+ /** translates (0-based) line number plus a code address into a row number */
+ int lineToRow(int row, const DbgAddr& address);
+
+ void actionExpandRow(int row);
+ void actionCollapseRow(int row);
+
+signals:
+ void clickedLeft(const QString&, int, const DbgAddr& address, bool);
+ void clickedMid(const QString&, int, const DbgAddr& address);
+ void disassemble(const QString&, int);
+ void expanded(int lineNo); /* source lineNo has been expanded */
+ void collapsed(int lineNo); /* source lineNo has been collapsed */
+public slots:
+ void setTabWidth(int numChars);
+ void cursorChanged(int row);
+
+protected:
+ QString m_fileName;
+ enum LineItem { liPC = 1, liPCup = 2,
+ liBP = 4, liBPdisabled = 8, liBPtemporary = 16,
+ liBPconditional = 32, liBPorphan = 64,
+ liBPany = liBP|liBPdisabled|liBPtemporary|liBPconditional|liBPorphan
+ };
+
+ struct SourceLine {
+ QString code; /* a line of text */
+ std::vector<QString> disass; /* its disassembled code */
+ std::vector<DbgAddr> disassAddr; /* the addresses thereof */
+ bool canDisass; /* if line can be disassembled */
+ SourceLine() : canDisass(true) { }
+ int findAddressRowOffset(const DbgAddr& address) const;
+ };
+ std::vector<SourceLine> m_sourceCode;
+
+ std::vector<int> m_rowToLine; //!< The source line number for each row
+ std::vector<uchar> m_lineItems; //!< Icons displayed on the line
+ QPixmap m_pcinner; /* PC at innermost frame */
+ QPixmap m_pcup; /* PC at frame up the stack */
+ QPixmap m_brkena; /* enabled breakpoint */
+ QPixmap m_brkdis; /* disabled breakpoint */
+ QPixmap m_brktmp; /* temporary breakpoint marker */
+ QPixmap m_brkcond; /* conditional breakpoint marker */
+ QPixmap m_brkorph; /* orphaned breakpoint marker */
+ QFont m_lineNoFont; //!< The font used to draw line numbers
+ int m_curRow; //!< The highlighted row
+ int m_widthItems; //!< The width of the item column
+ int m_widthPlus; //!< The width of the expander column
+ int m_widthLineNo; //!< The width of the line number columns
+};
+
+class HighlightCpp : public QSyntaxHighlighter
+{
+ SourceWindow* m_srcWnd;
+
+public:
+ HighlightCpp(SourceWindow* srcWnd);
+ virtual int highlightParagraph(const QString& text, int state);
+};
+
+#endif // SOURCEWND_H
diff --git a/kdbg/testprogs/Makefile.am b/kdbg/testprogs/Makefile.am
new file mode 100644
index 0000000..b5a35f1
--- /dev/null
+++ b/kdbg/testprogs/Makefile.am
@@ -0,0 +1,62 @@
+## This is the example XSL and XML files for debugging with xsldbg
+EXTRA_DIST = xsldoc.xsl xsldoc.xml
+
+# set the include path for X, qt and KDE
+INCLUDES= $(all_includes)
+# always compile with debugging info switched on
+AM_CXXFLAGS = -g
+
+# Disable optimization to ensure that variables are not hidden by the
+# compiler
+CXXFLAGS:=$(patsubst -O%,,$(CXXFLAGS))
+
+if BUILDTESTPROGS
+PROGS = \
+ anonstruct \
+ locals \
+ maths \
+ nestedclass \
+ qt \
+ repeats \
+ std \
+ templates \
+ testfile \
+ widechar
+else
+PROGS =
+endif
+
+noinst_PROGRAMS = $(PROGS)
+
+testfile_SOURCES = testfile.cpp
+testfile_LDFLAGS = -g $(all_libraries) $(KDE_RPATH)
+testfile_LDADD = $(LIB_QT)
+
+locals_SOURCES = locals.cpp
+locals_LDFLAGS = -g
+
+maths_SOURCES = maths.cpp
+maths_LDFLAGS = -g
+
+qt_SOURCES = qt.cpp
+qt_LDFLAGS = -g $(all_libraries) $(KDE_RPATH)
+qt_LDADD = $(LIB_QT)
+
+repeats_SOURCES = repeats.cpp
+repeats_LDFLAGS = -g $(all_libraries) $(KDE_RPATH)
+repeats_LDADD = $(LIB_QT)
+
+std_SOURCES = std.cpp
+std_LDFLAGS = -g
+
+templates_SOURCES = templates.cpp
+templates_LDFLAGS = -g
+
+anonstruct_SOURCES = anonstruct.cpp
+anonstruct_LDFLAGS = -g
+
+nestedclass_SOURCES = nestedclass.cpp
+nestedclass_LDFLAGS = -g
+
+widechar_SOURCES = widechar.cpp
+widechar_LDFLAGS = -g
diff --git a/kdbg/testprogs/Makefile.in b/kdbg/testprogs/Makefile.in
new file mode 100644
index 0000000..6f0236e
--- /dev/null
+++ b/kdbg/testprogs/Makefile.in
@@ -0,0 +1,885 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+noinst_PROGRAMS = $(am__EXEEXT_1)
+subdir = kdbg/testprogs
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+@BUILDTESTPROGS_TRUE@am__EXEEXT_1 = anonstruct$(EXEEXT) \
+@BUILDTESTPROGS_TRUE@ locals$(EXEEXT) maths$(EXEEXT) \
+@BUILDTESTPROGS_TRUE@ nestedclass$(EXEEXT) qt$(EXEEXT) \
+@BUILDTESTPROGS_TRUE@ repeats$(EXEEXT) std$(EXEEXT) \
+@BUILDTESTPROGS_TRUE@ templates$(EXEEXT) testfile$(EXEEXT) \
+@BUILDTESTPROGS_TRUE@ widechar$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+am_anonstruct_OBJECTS = anonstruct.$(OBJEXT)
+#>- anonstruct_OBJECTS = $(am_anonstruct_OBJECTS)
+#>+ 1
+anonstruct_OBJECTS = anonstruct.$(OBJEXT)
+anonstruct_LDADD = $(LDADD)
+#>- anonstruct_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+#>- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+#>- $(CXXFLAGS) $(anonstruct_LDFLAGS) $(LDFLAGS) -o $@
+#>+ 3
+anonstruct_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(KDE_CXXFLAGS) $(anonstruct_LDFLAGS) $(LDFLAGS) -o $@
+am_locals_OBJECTS = locals.$(OBJEXT)
+#>- locals_OBJECTS = $(am_locals_OBJECTS)
+#>+ 1
+locals_OBJECTS = locals.$(OBJEXT)
+locals_LDADD = $(LDADD)
+#>- locals_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+#>- $(locals_LDFLAGS) $(LDFLAGS) -o $@
+#>+ 3
+locals_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \
+ $(locals_LDFLAGS) $(LDFLAGS) -o $@
+am_maths_OBJECTS = maths.$(OBJEXT)
+#>- maths_OBJECTS = $(am_maths_OBJECTS)
+#>+ 1
+maths_OBJECTS = maths.$(OBJEXT)
+maths_LDADD = $(LDADD)
+#>- maths_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+#>- $(maths_LDFLAGS) $(LDFLAGS) -o $@
+#>+ 3
+maths_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \
+ $(maths_LDFLAGS) $(LDFLAGS) -o $@
+am_nestedclass_OBJECTS = nestedclass.$(OBJEXT)
+#>- nestedclass_OBJECTS = $(am_nestedclass_OBJECTS)
+#>+ 1
+nestedclass_OBJECTS = nestedclass.$(OBJEXT)
+nestedclass_LDADD = $(LDADD)
+#>- nestedclass_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+#>- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+#>- $(CXXFLAGS) $(nestedclass_LDFLAGS) $(LDFLAGS) -o $@
+#>+ 3
+nestedclass_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(KDE_CXXFLAGS) $(nestedclass_LDFLAGS) $(LDFLAGS) -o $@
+am_qt_OBJECTS = qt.$(OBJEXT)
+#>- qt_OBJECTS = $(am_qt_OBJECTS)
+#>+ 1
+qt_OBJECTS = qt.$(OBJEXT)
+am__DEPENDENCIES_1 =
+qt_DEPENDENCIES = $(am__DEPENDENCIES_1)
+#>- qt_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(qt_LDFLAGS) \
+#>- $(LDFLAGS) -o $@
+#>+ 3
+qt_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) $(qt_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am_repeats_OBJECTS = repeats.$(OBJEXT)
+#>- repeats_OBJECTS = $(am_repeats_OBJECTS)
+#>+ 1
+repeats_OBJECTS = repeats.$(OBJEXT)
+repeats_DEPENDENCIES = $(am__DEPENDENCIES_1)
+#>- repeats_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+#>- $(repeats_LDFLAGS) $(LDFLAGS) -o $@
+#>+ 3
+repeats_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) \
+ $(repeats_LDFLAGS) $(LDFLAGS) -o $@
+am_std_OBJECTS = std.$(OBJEXT)
+#>- std_OBJECTS = $(am_std_OBJECTS)
+#>+ 1
+std_OBJECTS = std.$(OBJEXT)
+std_LDADD = $(LDADD)
+#>- std_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(std_LDFLAGS) \
+#>- $(LDFLAGS) -o $@
+#>+ 3
+std_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) $(std_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am_templates_OBJECTS = templates.$(OBJEXT)
+#>- templates_OBJECTS = $(am_templates_OBJECTS)
+#>+ 1
+templates_OBJECTS = templates.$(OBJEXT)
+templates_LDADD = $(LDADD)
+#>- templates_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+#>- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+#>- $(CXXFLAGS) $(templates_LDFLAGS) $(LDFLAGS) -o $@
+#>+ 3
+templates_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(KDE_CXXFLAGS) $(templates_LDFLAGS) $(LDFLAGS) -o $@
+am_testfile_OBJECTS = testfile.$(OBJEXT)
+#>- testfile_OBJECTS = $(am_testfile_OBJECTS)
+#>+ 1
+testfile_OBJECTS = testfile.$(OBJEXT)
+testfile_DEPENDENCIES = $(am__DEPENDENCIES_1)
+#>- testfile_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+#>- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+#>- $(CXXFLAGS) $(testfile_LDFLAGS) $(LDFLAGS) -o $@
+#>+ 3
+testfile_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(KDE_CXXFLAGS) $(testfile_LDFLAGS) $(LDFLAGS) -o $@
+am_widechar_OBJECTS = widechar.$(OBJEXT)
+#>- widechar_OBJECTS = $(am_widechar_OBJECTS)
+#>+ 1
+widechar_OBJECTS = widechar.$(OBJEXT)
+widechar_LDADD = $(LDADD)
+#>- widechar_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+#>- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+#>- $(CXXFLAGS) $(widechar_LDFLAGS) $(LDFLAGS) -o $@
+#>+ 3
+widechar_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(KDE_CXXFLAGS) $(widechar_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/admin/depcomp
+am__depfiles_maybe = depfiles
+#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+#>+ 2
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+#>- LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+#>+ 3
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+CXXLD = $(CXX)
+#>- CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+#>- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+#>- $(LDFLAGS) -o $@
+#>+ 3
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(anonstruct_SOURCES) $(locals_SOURCES) $(maths_SOURCES) \
+ $(nestedclass_SOURCES) $(qt_SOURCES) $(repeats_SOURCES) \
+ $(std_SOURCES) $(templates_SOURCES) $(testfile_SOURCES) \
+ $(widechar_SOURCES)
+DIST_SOURCES = $(anonstruct_SOURCES) $(locals_SOURCES) \
+ $(maths_SOURCES) $(nestedclass_SOURCES) $(qt_SOURCES) \
+ $(repeats_SOURCES) $(std_SOURCES) $(templates_SOURCES) \
+ $(testfile_SOURCES) $(widechar_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+
+# Disable optimization to ensure that variables are not hidden by the
+# compiler
+#>- CXXFLAGS := $(patsubst -O%,,$(CXXFLAGS))
+#>+ 1
+CXXFLAGS := $(patsubst -O%,,$(CXXFLAGS) $(KDE_CXXFLAGS))
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PS_COMMAND = @PS_COMMAND@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+EXTRA_DIST = xsldoc.xsl xsldoc.xml
+
+# set the include path for X, qt and KDE
+INCLUDES = $(all_includes)
+# always compile with debugging info switched on
+AM_CXXFLAGS = -g
+@BUILDTESTPROGS_FALSE@PROGS =
+@BUILDTESTPROGS_TRUE@PROGS = \
+@BUILDTESTPROGS_TRUE@ anonstruct \
+@BUILDTESTPROGS_TRUE@ locals \
+@BUILDTESTPROGS_TRUE@ maths \
+@BUILDTESTPROGS_TRUE@ nestedclass \
+@BUILDTESTPROGS_TRUE@ qt \
+@BUILDTESTPROGS_TRUE@ repeats \
+@BUILDTESTPROGS_TRUE@ std \
+@BUILDTESTPROGS_TRUE@ templates \
+@BUILDTESTPROGS_TRUE@ testfile \
+@BUILDTESTPROGS_TRUE@ widechar
+
+testfile_SOURCES = testfile.cpp
+testfile_LDFLAGS = -g $(all_libraries) $(KDE_RPATH)
+testfile_LDADD = $(LIB_QT)
+locals_SOURCES = locals.cpp
+locals_LDFLAGS = -g
+maths_SOURCES = maths.cpp
+maths_LDFLAGS = -g
+qt_SOURCES = qt.cpp
+qt_LDFLAGS = -g $(all_libraries) $(KDE_RPATH)
+qt_LDADD = $(LIB_QT)
+repeats_SOURCES = repeats.cpp
+repeats_LDFLAGS = -g $(all_libraries) $(KDE_RPATH)
+repeats_LDADD = $(LIB_QT)
+std_SOURCES = std.cpp
+std_LDFLAGS = -g
+templates_SOURCES = templates.cpp
+templates_LDFLAGS = -g
+anonstruct_SOURCES = anonstruct.cpp
+anonstruct_LDFLAGS = -g
+nestedclass_SOURCES = nestedclass.cpp
+nestedclass_LDFLAGS = -g
+widechar_SOURCES = widechar.cpp
+widechar_LDFLAGS = -g
+#>- all: all-am
+#>+ 1
+all: docs-am all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/testprogs/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu kdbg/testprogs/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/testprogs/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/testprogs/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/testprogs/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+anonstruct$(EXEEXT): $(anonstruct_OBJECTS) $(anonstruct_DEPENDENCIES)
+ @rm -f anonstruct$(EXEEXT)
+ $(anonstruct_LINK) $(anonstruct_OBJECTS) $(anonstruct_LDADD) $(LIBS)
+locals$(EXEEXT): $(locals_OBJECTS) $(locals_DEPENDENCIES)
+ @rm -f locals$(EXEEXT)
+ $(locals_LINK) $(locals_OBJECTS) $(locals_LDADD) $(LIBS)
+maths$(EXEEXT): $(maths_OBJECTS) $(maths_DEPENDENCIES)
+ @rm -f maths$(EXEEXT)
+ $(maths_LINK) $(maths_OBJECTS) $(maths_LDADD) $(LIBS)
+nestedclass$(EXEEXT): $(nestedclass_OBJECTS) $(nestedclass_DEPENDENCIES)
+ @rm -f nestedclass$(EXEEXT)
+ $(nestedclass_LINK) $(nestedclass_OBJECTS) $(nestedclass_LDADD) $(LIBS)
+qt$(EXEEXT): $(qt_OBJECTS) $(qt_DEPENDENCIES)
+ @rm -f qt$(EXEEXT)
+ $(qt_LINK) $(qt_OBJECTS) $(qt_LDADD) $(LIBS)
+repeats$(EXEEXT): $(repeats_OBJECTS) $(repeats_DEPENDENCIES)
+ @rm -f repeats$(EXEEXT)
+ $(repeats_LINK) $(repeats_OBJECTS) $(repeats_LDADD) $(LIBS)
+std$(EXEEXT): $(std_OBJECTS) $(std_DEPENDENCIES)
+ @rm -f std$(EXEEXT)
+ $(std_LINK) $(std_OBJECTS) $(std_LDADD) $(LIBS)
+templates$(EXEEXT): $(templates_OBJECTS) $(templates_DEPENDENCIES)
+ @rm -f templates$(EXEEXT)
+ $(templates_LINK) $(templates_OBJECTS) $(templates_LDADD) $(LIBS)
+testfile$(EXEEXT): $(testfile_OBJECTS) $(testfile_DEPENDENCIES)
+ @rm -f testfile$(EXEEXT)
+ $(testfile_LINK) $(testfile_OBJECTS) $(testfile_LDADD) $(LIBS)
+widechar$(EXEEXT): $(widechar_OBJECTS) $(widechar_DEPENDENCIES)
+ @rm -f widechar$(EXEEXT)
+ $(widechar_LINK) $(widechar_OBJECTS) $(widechar_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anonstruct.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/locals.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/maths.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nestedclass.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/repeats.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/std.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/templates.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testfile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/widechar.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-am
+#>+ 1
+clean: kde-rpo-clean clean-am
+
+#>- clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+#>- mostlyclean-am
+#>+ 2
+clean-am: clean-bcheck clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+# 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
+KDE_DIST=test1.xsl test1.xml Makefile.in Makefile.am
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/testprogs/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/testprogs/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/testprogs/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-am
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXXCOMPILE) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 3
+final:
+ $(MAKE) all-am
+
+#>+ 3
+final-install:
+ $(MAKE) install-am
+
+#>+ 3
+no-final:
+ $(MAKE) all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 3
+nmcheck:
+nmcheck-am: nmcheck
diff --git a/kdbg/testprogs/anonstruct.cpp b/kdbg/testprogs/anonstruct.cpp
new file mode 100644
index 0000000..591a15e
--- /dev/null
+++ b/kdbg/testprogs/anonstruct.cpp
@@ -0,0 +1,32 @@
+// test anonymous structs and unions
+
+#include <cstdio>
+#include <pthread.h>
+
+struct T {
+ pthread_mutex_t mutex; // contains anonymous union on Linux
+ struct {
+ int a;
+ };
+ union {
+ int b;
+ long c;
+ };
+ int TestPopup()
+ {
+ return a ? b : c;
+ }
+};
+
+int main()
+{
+ pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
+ T t;
+ union {
+ char a;
+ int b;
+ };
+ a = 'X';
+ b = t.TestPopup();
+ std::fprintf(stderr, "%d, %d, a=%d, b=%d\n", sizeof(mutex), sizeof(t), a, b);
+}
diff --git a/kdbg/testprogs/locals.cpp b/kdbg/testprogs/locals.cpp
new file mode 100644
index 0000000..ed2cf1e
--- /dev/null
+++ b/kdbg/testprogs/locals.cpp
@@ -0,0 +1,26 @@
+#include <stdio.h>
+
+
+// a function that has args but no locals
+
+static int nolocals(int argc, char** argv)
+{
+ printf("argc=%d, argv[0]=%s\n", argc, argv[0]);
+}
+
+
+// a function that has no args but locals
+
+static int noargs()
+{
+ int c = 1;
+ char* pgm[] = { "foo", 0 };
+ nolocals(c, pgm);
+}
+
+
+int main(int argc, char** argv)
+{
+ noargs();
+ nolocals(argc, argv);
+}
diff --git a/kdbg/testprogs/maths.cpp b/kdbg/testprogs/maths.cpp
new file mode 100644
index 0000000..c69e98d
--- /dev/null
+++ b/kdbg/testprogs/maths.cpp
@@ -0,0 +1,30 @@
+// do some floatingpoint computations
+#include <math.h>
+#include <stdio.h>
+
+double deg2rad(double a)
+{
+ double result;
+ result = a * 3.141592653589793 / 180.0;
+ return result;
+}
+
+#define pi 3.1415926535897932384626433832795028841971693993750
+
+void longdouble(long double ld)
+{
+ long double x = 1000000.0 * ld*ld*pi;
+ printf("long double: %Lf\n", x);
+}
+
+int main(int argc, char** argv)
+{
+ double a = 17.4;
+ double b = deg2rad(a);
+ double sine = sin(b);
+
+ printf("angle=%f degrees (%f radians), sine is %f\n",
+ a, b, sine);
+
+ longdouble(17.0);
+}
diff --git a/kdbg/testprogs/nestedclass.cpp b/kdbg/testprogs/nestedclass.cpp
new file mode 100644
index 0000000..41bcbd5
--- /dev/null
+++ b/kdbg/testprogs/nestedclass.cpp
@@ -0,0 +1,31 @@
+#include <iostream>
+
+void foo()
+{
+ struct Whiz
+ {
+ Whiz()
+ {
+ std::cerr << __PRETTY_FUNCTION__ << std::endl;
+ }
+ void inner(Whiz*)
+ {
+ struct Inner
+ {
+ void bar()
+ {
+ std::cerr << __PRETTY_FUNCTION__ << std::endl;
+ }
+ };
+ Inner z;
+ z.bar();
+ }
+ };
+ Whiz w;
+ w.inner(&w);
+}
+
+int main()
+{
+ foo();
+}
diff --git a/kdbg/testprogs/qt.cpp b/kdbg/testprogs/qt.cpp
new file mode 100644
index 0000000..2e04330
--- /dev/null
+++ b/kdbg/testprogs/qt.cpp
@@ -0,0 +1,41 @@
+#include <qmap.h>
+#include <qvaluelist.h>
+#include <qvaluevector.h>
+#include <qstring.h>
+#include <qrect.h>
+#include <iostream>
+
+template<typename T>
+void test_sharing(const T& input)
+{
+ // a copy should increase the share counter
+ T copy = input;
+
+ // a const interator should not detach the copy
+ typename T::const_iterator cit = copy.constBegin();
+ std::cout << *cit << std::endl;
+
+ // a non-const iterator should detach the copy
+ typename T::iterator it = copy.begin();
+ std::cout << *it << std::endl;
+}
+
+int main()
+{
+ QMap<QString,int> str2int;
+ str2int["foo"] = 42;
+ test_sharing(str2int);
+
+ QValueList<int> ints;
+ ints.push_back(42);
+ test_sharing(ints);
+
+ QValueVector<double> vals(6, 47.11);
+ vals.push_back(42);
+ test_sharing(vals);
+
+ QRect r(10,20, 130, 240);
+ QPoint p = r.topLeft();
+ QPoint q = r.bottomRight();
+ std::cout << r.width() << r.height() << p.x() << q.y() << std::endl;
+}
diff --git a/kdbg/testprogs/repeats.cpp b/kdbg/testprogs/repeats.cpp
new file mode 100644
index 0000000..a7998df
--- /dev/null
+++ b/kdbg/testprogs/repeats.cpp
@@ -0,0 +1,41 @@
+// test <repeats 30 times> in arrays
+
+#include <qstring.h>
+
+struct Big {
+ struct bog {
+ short b[40];
+ } a[40];
+ short c[40][40];
+};
+
+static void f(int)
+{
+}
+
+
+int main()
+{
+ struct Big big = {{{ 2,}}};
+ big.a[0].b[39]=7;
+ big.a[38].b[39]=6;
+
+ // array of pointer to function
+ void (*apf[30])(int);
+
+ for (int i = 1; i < 29; i++)
+ apf[i] = f;
+
+ QString s[300];
+
+ for (int i = 0; i < 300; i++)
+ s[i].sprintf("String %d", i);
+
+ s[21] = s[48];
+
+ int many[300];
+ for (int i = 0; i < 300; i++)
+ many[i] = i;
+
+ return 0;
+}
diff --git a/kdbg/testprogs/std.cpp b/kdbg/testprogs/std.cpp
new file mode 100644
index 0000000..af37a3a
--- /dev/null
+++ b/kdbg/testprogs/std.cpp
@@ -0,0 +1,58 @@
+#include <string>
+#include <vector>
+#include <list>
+#include <map>
+#include <iostream>
+#include <sstream>
+#include <algorithm>
+#include <iterator>
+
+template<typename T>
+struct V : std::vector<T>
+{
+ V(const T& v) : std::vector<T>(10, v) {}
+ void anotherone(const T& v)
+ {
+ push_back(v);
+ }
+};
+
+template<typename C, typename T>
+void test_container(C& v, T x)
+{
+ v.push_back(x);
+};
+
+void test_sstream(std::basic_ostringstream<char>& str)
+{
+ str << "Example:\n ";
+}
+
+int main()
+{
+ std::string s = "abc";
+ V<std::string> v(s);
+ test_container(v, "xyz");
+ v.anotherone("ABC");
+
+ std::vector<bool> vb;
+ vb.push_back(true);
+ test_container(vb, false);
+ vb[0] = vb[1];
+ std::cout << vb.size() << std::endl;
+
+ std::list<int> l;
+ l.push_front(-88);
+ test_container(l, 42);
+ std::cout << l.size() << std::endl;
+
+ std::map<std::string,double> m;
+ m["example"] = 47.11;
+ m.insert(std::make_pair("kdbg", 3.14));
+ std::cout << m.size() << std::endl;
+
+ std::ostringstream dump;
+ test_sstream(dump);
+ std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(dump, "\n "));
+ std::cout << dump.str() << std::endl;
+}
diff --git a/kdbg/testprogs/templates.cpp b/kdbg/testprogs/templates.cpp
new file mode 100644
index 0000000..a667463
--- /dev/null
+++ b/kdbg/testprogs/templates.cpp
@@ -0,0 +1,117 @@
+// This file test stack parsing capabilities of KDbg.
+// Parsing function names can be quite tricky ;)
+#include <iostream>
+using namespace std;
+
+struct S {
+ void operator>>(int)
+ {
+ cout << __PRETTY_FUNCTION__ << endl;
+ }
+};
+
+template<typename T>
+struct templS {
+ void operator>(T)
+ {
+ cout << __PRETTY_FUNCTION__ << endl;
+ }
+ void operator<(T)
+ {
+ cout << __PRETTY_FUNCTION__ << endl;
+ }
+};
+
+
+namespace A {
+namespace {
+namespace B {
+namespace {
+namespace {
+void g()
+{
+ cout << __PRETTY_FUNCTION__ << endl;
+}
+} // namespace
+void Banong() { g(); }
+} // namespace
+void g() { Banong(); }
+} // namespace B
+void Aanong() { B::g(); }
+} // namespace
+void g() { Aanong(); }
+
+void operator<<(int, S)
+{
+ cout << __PRETTY_FUNCTION__ << endl;
+}
+
+template<typename T>
+void operator<(T, S)
+{
+ cout << __PRETTY_FUNCTION__ << endl;
+}
+} // namespace A
+
+void operator<<(struct S&, int)
+{
+ cout << __PRETTY_FUNCTION__ << endl;
+}
+
+template<typename T, typename U>
+void operator<<(T&, U)
+{
+ cout << __PRETTY_FUNCTION__ << endl;
+}
+
+void operator<(struct S&, int)
+{
+ cout << __PRETTY_FUNCTION__ << endl;
+}
+
+template<typename T, typename U>
+void operator<(T&, U)
+{
+ cout << __PRETTY_FUNCTION__ << endl;
+}
+
+void f(const char* s)
+{
+ A::g();
+ cout << s << endl;
+}
+
+template<typename T>
+void indirect(T f, const char* s)
+{
+ f(s);
+}
+
+int main()
+{
+ S s1, s2;
+ f("direct");
+ s1 << 1;
+ s1 << s2;
+ s1 < 1;
+ s1 < s2;
+
+ A::operator<<(1, s1);
+ A::operator<(1, s1);
+
+ // the next lines test a templated function that accepts
+ // as one of its parameters a templated function pointer
+ void (*op1)(S&, S*) = operator<<;
+ operator<<(op1, s2);
+ void (*op2)(S&, S*) = operator<;
+ operator<(op2, s2);
+ indirect(f, "indirect");
+
+ // pointer to member function
+ void (S::*pm1)(int) = &S::operator>>;
+ (s1.*pm1)(1);
+ void (templS<int>::*pm2)(int) = &templS<int>::operator>;
+ templS<int> tSi;
+ (tSi.*pm2)(1);
+ tSi.operator<(1);
+}
diff --git a/kdbg/testprogs/test1.xml b/kdbg/testprogs/test1.xml
new file mode 100644
index 0000000..c177744
--- /dev/null
+++ b/kdbg/testprogs/test1.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" ?>
+<!--
+ File : test1.xml
+ Author: Keith Isdale <k_isdale@tpg.com.au>
+ Description: xml data for stylesheet for test "test1"
+ Copyright Reserved Under GPL
+-->
+<html>
+<head>
+</head>
+<body>
+ <h1>test1</h1>
+ <p>text1</p>
+</body>
+</html> \ No newline at end of file
diff --git a/kdbg/testprogs/test1.xsl b/kdbg/testprogs/test1.xsl
new file mode 100644
index 0000000..b939f82
--- /dev/null
+++ b/kdbg/testprogs/test1.xsl
@@ -0,0 +1,113 @@
+<?xml version="1.0" ?>
+<!--
+ File : test1.xsl
+ Author: Keith Isdale <k_isdale@tpg.com.au>
+ Description: stylesheet for test "test1"
+ Copyright Reserved Under GPL
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ <xsl:apply-templates mode="testMode"/>
+ <xsl:apply-templates mode="xsl:testMode"/>
+ <xsl:call-template name="test1"/>
+ <xsl:call-template name="test2"/>
+ <xsl:call-template name="xsl:test1"/>
+ <xsl:call-template name="xsl:test2"/>
+ </xsl:template>
+
+ <xsl:template match="html">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="head">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="body">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="h1">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="para">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+
+ <xsl:template match="head" mode="testMode">
+ <xsl:apply-templates mode="testMode"/>
+ </xsl:template>
+
+ <xsl:template match="body" mode="testMode">
+ <xsl:apply-templates mode="testMode"/>
+ </xsl:template>
+
+ <xsl:template match="h1" mode="testMode">
+ <xsl:apply-templates mode="testMode"/>
+ </xsl:template>
+
+ <xsl:template match="para" mode="testMode">
+ <xsl:apply-templates mode="testMode"/>
+ </xsl:template>
+
+ <xsl:template match="html" mode="testMode">
+ <xsl:apply-templates mode="testMode"/>
+ </xsl:template>
+
+
+ <xsl:template match="head" mode="xsl:testMode">
+ <xsl:apply-templates mode="xsl:testMode"/>
+ </xsl:template>
+
+ <xsl:template match="body" mode="xsl:testMode">
+ <xsl:apply-templates mode="xsl:testMode"/>
+ </xsl:template>
+
+ <xsl:template match="h1" mode="xsl:testMode">
+ <xsl:value-of select="'test2'"/>
+ <xsl:apply-templates select="."/>
+ <xsl:apply-templates mode="xsl:testMode"/>
+ </xsl:template>
+
+ <xsl:template match="para" mode="xsl:testMode">
+ <xsl:apply-templates mode="xsl:testMode"/>
+ </xsl:template>
+
+ <xsl:template match="html" mode="xsl:testMode">
+ <xsl:apply-templates mode="xsl:testMode"/>
+ </xsl:template>
+
+ <xsl:template name="test1">
+ <outputtest/>
+ </xsl:template>
+
+ <xsl:template name="test2">
+ <outputtest/>
+ </xsl:template>
+
+ <xsl:template name="xsl:test1">
+ <outputtest/>
+ </xsl:template>
+
+ <xsl:template name="xsl:test2">
+ <outputtest/>
+ </xsl:template>
+
+ <xsl:template match="*">
+ <outputtest/>
+ </xsl:template>
+
+ <xsl:template match="*" mode="testMode">
+ <outputtest/>
+ </xsl:template>
+
+ <xsl:template match="*" mode="xsl:testMode">
+ <outputtest/>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/kdbg/testprogs/testfile.cpp b/kdbg/testprogs/testfile.cpp
new file mode 100644
index 0000000..847ad3e
--- /dev/null
+++ b/kdbg/testprogs/testfile.cpp
@@ -0,0 +1,202 @@
+#include <iostream>
+#include <qstring.h>
+#include <qfile.h>
+#include <qfileinfo.h>
+#include <qdir.h>
+#include <math.h>
+
+enum E { red, green, blue, yellow };
+struct S { int x, y; S* s; };
+
+struct emptyBase { };
+struct emptyDerived : S { };
+struct emptyNested : emptyBase { };
+struct emptyVBase { virtual ~emptyVBase(){} };
+struct emptyVDerived : S { virtual ~emptyVDerived(){} };
+struct emptyVNested : emptyVBase { };
+
+int globalvar = 1234;
+
+class Cl
+{
+ int k;
+ double l;
+public:
+ Cl(int r);
+ virtual ~Cl();
+ virtual int f(int x);
+};
+
+typedef void (*PtrFunc)(E*, char);
+
+class Dl : public Cl
+{
+public:
+ Dl(int r);
+ virtual int f(int x);
+ int operator()(const QString& x, int& y) const;
+ operator const char*() { return 0; }
+ operator PtrFunc*();
+};
+
+namespace A {
+namespace {
+namespace B {
+namespace {
+namespace {
+void g()
+{
+ S s1, s2;
+ s1.x = 85;
+ s2.y = 17;
+ s1.s = &s2;
+ s2.s = &s1;
+}
+} // namespace
+void Banong() { g(); }
+} // namespace
+void g() { Banong(); }
+} // namespace B
+void Aanong() { B::g(); }
+} // namespace
+void g() { Aanong(); }
+} // namespace A
+
+void f(E e[3], char c)
+{
+ E x = e[2];
+ S y[2];
+ E* pe = e;
+ E* pea[3] = { pe, };
+ {
+ int x = 17;
+ x;
+ }
+ A::g();
+ char buffer[300];
+ memset(buffer, 1, 300);
+ for (int i = 0; i < sizeof(buffer); i +=15) buffer[i] = '\02';
+ QDir dir;
+ QFile file;
+ QFileInfo fi;
+ x = red;
+ emptyBase eb;
+ emptyDerived ed;
+ emptyNested en;
+ int ea[3];
+ emptyVBase evb;
+ emptyVDerived evd;
+ emptyVNested evn;
+}
+
+void strtest(const char* t)
+{
+ const char* s = t;
+ const char*& s2 = s;
+ if (t == 0)
+ strtest(s2);
+ std::cout << s2 << std::endl;
+}
+
+template<typename F>
+void templated_strtest(F f, const char* t)
+{
+ f(t);
+}
+
+void segFault()
+{
+ *(char*)0 = 's';
+}
+
+int main(int argc, char* argv[])
+{
+ if (argc > 1) {
+ if (*argv[1] == 's') {
+ segFault();
+ } else if (*argv[1] == 'a') {
+ // let debugger attach
+ int junk;
+ std::cin >> junk;
+ }
+ }
+
+ char a[6] = { 'a', 'B', '\'', '\"' };
+ char a1[1] = { '1' };
+ E e[3] = { red, green, blue };
+ E e1[1] = { yellow };
+
+ a[0] = '5';
+ void (*pf[2])(E*, char) = {f};
+ {
+ double d[1] = { -1.234e123 };
+ int i = 10;
+ sin(i);
+ }
+ (*pf[0])(e, '\n');
+
+ QString s;
+
+ s = "Hi, there!\r\n\t\"\'\\";
+
+ const QString& strref = s;
+
+ templated_strtest(strtest, s);
+ s = "asbcxxxxxxxxxxxxxxxxxxxxxxxxxxx";
+ strtest(s);
+ s += "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiii";
+ strtest(s);
+ s += "rst";
+ strtest(s);
+ s = "xxxxxxxxxxxxxxxxxxxxxxxxxxx";
+ strtest(s);
+ s += "rst";
+ strtest(s);
+ s = "";
+
+ Cl c1(13);
+ Dl d1(3214);
+ d1.f(17);
+ int n = 83;
+ d1(strref, n);
+ PtrFunc* ppf = d1;
+}
+
+Cl::Cl(int r) :
+ k(r),
+ l(sin(r))
+{
+ std::cout << l << std::endl;
+}
+
+Cl::~Cl()
+{
+}
+
+int Cl::f(int x)
+{
+ int y = 2*x;
+ return y;
+}
+
+Dl::Dl(int r) :
+ Cl(r)
+{
+}
+
+int Dl::f(int x)
+{
+ int y = Cl::f(x);
+ return y+3;
+}
+
+int Dl::operator()(const QString& x, int& y) const
+{
+ std::cerr << "ha! I know!" << std::endl;
+ return 1;
+}
+
+Dl::operator PtrFunc*()
+{
+ return 0;
+}
diff --git a/kdbg/testprogs/widechar.cpp b/kdbg/testprogs/widechar.cpp
new file mode 100644
index 0000000..ae0725a
--- /dev/null
+++ b/kdbg/testprogs/widechar.cpp
@@ -0,0 +1,31 @@
+#include <wchar.h>
+#include <stdio.h>
+#include <string>
+
+struct WChar {
+ const wchar_t* cwstr;
+ wchar_t* wstr;
+};
+
+int main()
+{
+ int j=3;
+ const wchar_t* nullPtr = 0;
+ const wchar_t* uninitializedPtr = (const wchar_t*)0xdeadbeef;
+ const wchar_t* str = L"abc";
+ wchar_t* str2 = L"def";
+ const char* shortStr = "12345";
+
+ WChar s = { 0, L"Some string" };
+ s.cwstr = s.wstr;
+
+ wchar_t wstr[64], *wstrPtr = wstr;
+
+ wprintf(L"wide string: %S\n", str);
+
+ for (int i=0; i<j; ++i)
+ {
+ swprintf(wstr, 63, L"%d. wide string: %S\n", i+1, str);
+ wprintf(L"%S\n", wstr);
+ }
+}
diff --git a/kdbg/testprogs/xsldoc.xml b/kdbg/testprogs/xsldoc.xml
new file mode 100644
index 0000000..8ea9f48
--- /dev/null
+++ b/kdbg/testprogs/xsldoc.xml
@@ -0,0 +1,667 @@
+<?xml version="1.0"?>
+<!DOCTYPE xsldoc SYSTEM "xsldoc.dtd">
+<!--
+ File : xsldoc.xml
+ Author: Keith Isdale <k_isdale@tpg.com.au>
+ Description: Xml Data to be processed generate help text and other
+ documentation
+ Copyright Reserved Under GPL
+-->
+<xsldoc>
+<overview>
+<header>xsldbg help</header>
+<body>
+<para>xsldbg is similar to gdb. It has three modes of execution
+of stylesheets.
+<list>
+<li>Run the whole stylesheet</li>
+<li>Step to next xsl instruction</li>
+<li>Continue to next break point is found</li>
+</list>
+</para>
+<para title="xsldbg command line">
+On systems with readline library available you can use the back/forward
+keys to navigate the history of entered commands.
+On all systems the last entered command can be repeated by just pressing
+the &lt;ENTER&gt; key.
+</para>
+<para title="Legend :">
+<list><li>TEMPLATENAME : a valid template name</li>
+<li>FILENAME : a valid URL for a stylesheet</li>
+<li>LINENO : a valid line number in associated FILENAME</li>
+<li>NUMBER_OF_FRAMES : a valid line number frames to change position by</li>
+<li>BREAKPOINT_ID : a valid break point number</li>
+<li>SPEED: speed to walk through code at, between 0 to 9</li>
+<li><comment>(Comment)</comment>: a comment about command meaning or usage</li>
+<li>{ opt1 | opt2 | opt2 .. etc} : Choose one of the opt's</li>
+<li>XPATH : a xpath selection of node(s)</li>
+<li>PARAM_ID : a valid parameter number as indicated by showparam command</li>
+<li>PATH : a path to change working directory to</li>
+<li>TEXT : free form text <comment>(no restricttions)</comment></li>
+<li>COMMAND : a valid command for the xsdbg</li>
+<li>QNAME : a valid variable/parameter name</li>
+<li>SOURCE : the stylesheet being/tobe executed</li>
+<li>DATA : the xml data being/tobe processed by the stylesheet
+</li>
+</list>
+</para>
+
+<!-- - - - - Start help summary - - - - - -->
+<para title="Within xsldbg these commands are available:">
+<list>
+
+<li>Help related : help</li>
+
+<li>Running related : {<link href="bye">bye</link>|<link href="exit">exit</link>|
+<link href="quit">quit</link>}, <link href="step">step</link>,
+<link href="stepup">stepup</link>, <link href="stepdown">stepdown</link>,
+<link href="continue">continue</link>, <link href="run">run</link>,
+<link href="trace">trace</link>
+</li>
+
+<li>Libxslt parameter related :
+<link href="addparam">addparam</link>,<link href="delparam">delparam</link>,
+<link href="showparam">showparam</link>
+</li>
+
+<li>Template related : <link href="templates">templates</link>,
+<link href="where">where</link>, <link href="frame">frame</link>
+</li>
+
+<li>Break point related : <link href="break">break</link>,
+<link href="showbreak">showbreak</link>,
+<link href="delete">delete</link>, <link href="enable">enable</link>
+</li>
+
+<li>Expression viewing(xpath) : <link href="cat">cat</link></li>
+<li>Node viewing : <link href="ls">ls</link>, <link href="dir">dir</link>,
+<link href="du">du</link>, <link href="cat">cat</link>, <link href="pwd">pwd</link></li>
+<li>Variable viewing : <link href="globals">globals</link>,
+<link href="locals">locals</link>,
+<link href="cat">cat</link>
+</li>
+
+<li>Node selection : <link href="source">source</link>,
+<link href="data">data</link>,
+<link href="cd">cd</link>
+</li>
+
+<li>Searching :<link href="search">search</link>
+</li>
+
+<li>Operating system related :
+<link href="chdir">chdir</link>,
+<link href="shell">shell</link>
+</li>
+
+<li>File related :
+<link href="validate">validate</link>, <link href="load">load</link>,
+<link href="save">save</link>, <link href="write">write</link>,
+<link href="free">free</link>
+</li>
+</list>
+</para>
+<para>nb: At the moment the file related commands as disabled because
+they are not completed.</para>
+</body>
+
+<footer></footer>
+</overview>
+
+<!-- - - - - - Help related commands - - - - - - - - - - -->
+<cmd name="help" title="Help">
+<summary>Display help on command or overiew</summary>
+<usage>
+<li>help <comment>(Show overview of product)</comment></li>
+<li>help &lt;COMMAND&gt; <comment>(Show help about a command)</comment></li>
+</usage>
+</cmd>
+
+<!-- - - - - - - Running related commands - - - - - - - - -->
+<cmd name="bye" title="Bye">
+<summary>Exit processing stylesheet as soon as possible.</summary>
+<usage>
+<li>
+<text>bye</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="quit" title="Quit">
+<summary>Exit processing stylesheet as soon as possible.</summary>
+<para>Shortcut name: q</para>
+<usage>
+<li>
+<text>quit</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="exit" title="Exit">
+<summary>Exit processing stylesheet as soon as possible.</summary>
+<usage>
+<li>
+<text>exit</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="step" title="Step">
+<summary>Step until next stylesheet instruction.</summary>
+<body>
+<para>Shortcut name: s</para>
+</body>
+<usage>
+<li>
+<text>step</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="stepup" title="Stepup">
+<summary>Step up to a older "call frame". </summary>
+<body>
+<para>Shortcut name: up</para>
+</body>
+ <usage>
+ <li>
+ <text>stepup </text>
+ <comment>(step up one frame)</comment></li>
+ <li>
+ <text>stepup &lt;NUMBER_OF_FRAMES&gt; </text>
+ <comment>(step up specified number of frames)</comment>
+ </li>
+ </usage>
+</cmd>
+
+<cmd name="stepdown" title="Stepdown">
+<summary>Step down to a newer "call frame". </summary>
+<body>
+<para>Shortcut name: down</para>
+</body>
+ <usage>
+ <li>
+ <text>stepdown </text>
+ <comment>(step down one frame)</comment>
+ </li>
+ <li>
+ <text>stepdown &lt;NUMBER_OF_FRAMES&gt;</text>
+ <comment>(step down specified number of frames)</comment>
+ </li>
+ </usage>
+</cmd>
+
+<cmd name="continue" title="Continue">
+<summary>Continue running stylesheet, stopping at any break points found.</summary>
+<para>Shortcut name: c</para>
+<usage>
+<li>
+<text>continue</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="run" title="Run">
+<summary>Restart the stylesheet.</summary>
+<para>Shortcut name: r</para>
+<usage>
+<li>
+<text>run</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="trace" title="Trace">
+<summary>Trace one execution of the stylesheet</summary>
+<usage>
+<li>
+<text>trace</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="walk" title="Walk">
+<summary>Walk through code using a range of speeds</summary>
+<usage>
+<li>
+<text>walk &lt;SPEED&gt;</text>
+<comment>(Use Ctrl-c to stop execution, &lt;SPEED&gt; is a value between 0 and 9. Where 0 means stop, 1 is very fast, 9 is very slow)</comment>
+</li>
+</usage>
+</cmd>
+
+<!-- - - - - - - - libxslt Parameter related - - - - -->
+<cmd name="addparam" title="Addparam">
+<summary>Add a libxslt parameter</summary>
+<usage>
+<li>
+<text>addparam &lt;QNAME&gt; &lt;XPATH&gt;</text>
+<comment>(No error checking done on the validity of &lt;QNAME&gt; nor &lt;XPATH&gt;. This is equivalent to providing --param &lt;QNAME&gt; &lt;XPATH&gt; via command line)</comment>
+</li>
+</usage>
+</cmd>
+
+<cmd name="delparam" title="Delparam">
+<summary>Delete a libxslt parameter</summary>
+<usage>
+<li>
+<text>delparam</text>
+<comment>(Delete all parameters present)</comment>
+</li>
+<li>
+<text>delparam &lt;PARAM_ID&gt;</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="showparam" title="Showparam">
+<summary>Print the libxslt parameters present</summary>
+<usage>
+<li>
+<text>showparam</text>
+</li>
+</usage>
+</cmd>
+
+<!-- - - - - - - Template related commands - - - - - - - -->
+<cmd name="templates" title="Templates">
+<summary>Print a list of available templates. Search for a template</summary>
+<para>Shortcut name: t</para>
+<usage>
+<li>
+<text>templates</text>
+</li>
+<li>
+<text>templates &lt;TEMPLATE&gt;</text>
+<comment>(Print details of template named &lt;TEMPLATE&gt; if it can be found)</comment>
+</li>
+</usage>
+</cmd>
+
+<cmd name="where" title="Where">
+<summary>Print a trace of templates calls (frame stack) and print the working directory.</summary>
+<para>Shortcut name: w</para>
+<usage>
+<li>
+<text>where</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="frame" title="Frame">
+<summary>Print the stack frame at a given depth</summary>
+<para>Shortcut name: f</para>
+<usage>
+<li>
+<text>frame &lt;FRAME_DEPTH&gt;</text>
+<comment>(Depth is a number from 0 to the current depth of call stack)</comment>
+
+</li>
+</usage>
+</cmd>
+
+<cmd name="stylesheets" title="Stylesheets">
+<summary>Print out a list of stylesheets loaded</summary>
+<body>
+<para>Shortcut name: style</para>
+</body>
+<usage>
+<li>
+<text>stylesheets</text>
+</li>
+</usage>
+</cmd>
+
+<!-- - - - - Break point related commands - - - - - - - -->
+<cmd name="break" title="Break">
+<summary>Break at a template, at a location in any file loaded, or at the current node. </summary>
+<body>
+<para>Shortcut name: b</para>
+<para>xsldbg will try to guess the complete URL given a
+<list>
+<li>file name without a path specified.</li>
+<li>a file name in the same directory as the &quot;top&quot; stylesheet loaded</li>
+<li>a file name relative to the current working directory of xsldbg</li>
+</list>
+Ie if you have loaded a stylsheet file of ../en/xsldoc.xsl you can do this
+</para>
+<para> break -l xsldoc.xsl 26
+</para>
+</body>
+<usage>
+<li>
+ <text>break -l &lt;FILENAME&gt; &lt;LINENO&gt;</text>
+</li>
+<li>
+ <text>break &lt;TEMPLATENAME&gt;</text>
+ <comment>(To break at named template.)</comment>
+</li>
+<li>
+ <text>break *</text>
+ <comment>(To break at any template found.)</comment>
+</li>
+<li>
+ <text>break </text>
+ <comment>(To break point at current node. Yes that includes xml data nodes!)</comment>
+</li>
+</usage>
+</cmd>
+
+<cmd name="showbreak" title="Showbreak">
+<summary>To display list of template break points.</summary>
+<para>Shortcut name: show</para>
+<usage>
+<li>
+<text>showbreak</text>
+</li>
+</usage>
+</cmd>
+
+
+<cmd name="delete" title="Delete">
+<summary>Delete a template breakpoint</summary>
+<body>
+<para>Shortcut name: d</para>
+</body>
+<usage>
+<li>
+ <text>delete</text>
+ <comment>(To delete breakpoint at current node)</comment>
+</li>
+<li>
+ <text>delete &lt;BREAKPOINT_ID&gt;</text>
+ <comment>(To delete breakpoint at specified break point number)</comment>
+</li>
+<li>
+ <text>delete -l &lt;FILENAME&gt; &lt;LINENO&gt;</text>
+ <comment>(Delete at specifed file, line number)</comment>
+</li>
+<li>
+ <text>delete &lt;TEMMPLATENAME&gt;</text>
+ <comment>(To delete break point at named template.)</comment>
+</li>
+<li>
+ <text>delete *</text>
+ <comment>(To delete all break points.)</comment>
+</li>
+</usage>
+</cmd>
+
+<cmd name="enable" title="Enable">
+<summary>Enable or disable a breakpoint (Toggle enable/disable/)</summary>
+<body>
+<para>Shortcut name: e</para>
+</body>
+<usage>
+<li>
+ <text>enable</text>
+ <comment>(To enable/disable breakpoint at current node)</comment>
+</li>
+<li>
+ <text>enable &lt;BREAKPOINT_ID&gt;</text>
+ <comment>(To enable/disable breakpoint at specified break point number</comment>
+</li>
+<li>
+ <text>enable -l &lt;FILENAME&gt; &lt;LINENO&gt;</text>
+ <comment>(Enable/disable breakpoint at specifed file, line number)</comment>
+</li>
+</usage>
+</cmd>
+
+<cmd name="disable" title="Disable">
+<summary>Disable a breakpoint</summary>
+<usage>
+<li>
+ <text>disable</text>
+ <comment>(To disable breakpoint at current node)</comment>
+</li>
+<li>
+ <text>disable &lt;BREAKPOINT_ID&gt;</text>
+ <comment>(To disable breakpoint at specified break point number</comment>
+</li>
+<li>
+ <text>disable -l &lt;FILENAME&gt; &lt;LINENO&gt;</text>
+ <comment>(Disable breakpoint at specifed file, line number)</comment>
+</li>
+</usage>
+</cmd>
+
+
+<!-- - - - - - - Node view related commands - - - - - - - - -->
+<cmd name="ls" title="Ls">
+<summary>List nodes in a brief format</summary>
+<usage>
+<li>
+<text>ls</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="dir" title="Dir">
+<summary>Print list of nodes in a similary way to the dir shell command.</summary>
+<body>
+<para></para>
+</body>
+<usage>
+<li>
+<text>dir</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="du" title="Du">
+<summary>Print a summary of child nodes in a tree format.</summary>
+<usage>
+<li>
+<text>du</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="cat" title="Cat">
+<summary>Print the result of a xpath expression on relative current node.</summary>
+<body>
+<para>Usage : cat &lt;XPATH&gt;</para>
+<para>Usage : cat $&lt;QNAME&gt; (To view a varaible or parameter)</para>
+</body>
+</cmd>
+
+<cmd name="pwd" title="Pwd">
+<summary>Print the current working directory.</summary>
+<usage>
+<li>
+<text>pwd</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="base" title="Base">
+<summary>Print the base for this node</summary>
+<usage>
+<li>
+<text>base</text>
+</li>
+</usage>
+</cmd>
+
+<cmd name="dump" title="Dump">
+<summary>Dump the gory details of this node</summary>
+<usage>
+<li>
+<text>dump</text>
+</li>
+</usage>
+</cmd>
+
+<!-- - - - - - - Variable related commands - - - - - - - - - -->
+<cmd name="globals" title="Globals">
+<summary>Print a list of global stylesheet variables or parameters. Print the value of a global variable</summary>
+<usage>
+<li>
+ <text>globals</text>
+ <comment>(Print list of all globaly available variables)</comment>
+</li>
+<li>
+ <text>globals &lt;QNAME&gt;</text>
+ <comment>(Print the value of variable specified)</comment>
+</li>
+</usage>
+</cmd>
+
+<cmd name="locals" title="Locals">
+<summary>Print a list of local stylesheet variables or parameters. Print the value of a local variable</summary>
+<usage>
+<li>
+ <text>locals</text>
+ <comment>(Print list of all locally available variables)</comment>
+</li>
+<li>
+ <text>locals &lt;QNAME&gt;</text>
+ <comment>(Print the value of variable specified)</comment>
+</li>
+</usage>
+</cmd>
+
+<!-- - - - - - - Node selection related commands - - - - - - - -->
+<cmd name="source" title="Source">
+<summary>Switch to displaying the current node in stylesheet. Or change stylesheet used</summary>
+<usage>
+<li>
+<text>source</text>
+<comment>(Switch to the current node in stylesheet.)</comment>
+</li>
+<li>
+<text>source &lt;SOURCE&gt;</text>
+<comment>(To change to a new source file. A leading '~' is replaced by the $HOME environment variable value. May need to use run command to execute it)</comment>
+</li>
+</usage>
+</cmd>
+
+<cmd name="data" title="Data">
+<summary>Switch to displaying the current node in xml data. Or change xml data used</summary>
+<usage>
+<li>
+<text>data</text>
+<comment>(Switch to the current document node.)</comment>
+</li>
+<li>
+<text>data &lt;DATA&gt;</text>
+<comment>(To change to a new xml data file. A leading '~' is replaced by the $HOME environment variable value. May need to use run command to process it)</comment>
+</li>
+</usage>
+</cmd>
+
+<cmd name="cd" title="Cd">
+<summary>Change to the path specified by a xpath.</summary>
+<usage>
+<li>
+ <text>cd &lt;XPATH&gt;</text>
+</li>
+<li>
+ <text>cd -t&lt;TEMPLATENAME&gt;</text>
+ <comment>(To changes current SOURCE node to a be xsl template with name &lt;NAME&gt;, but does execute source command)</comment>
+</li>
+<li>
+ <text>cd -s&lt;XPATH&gt;</text>
+ <comment>(An absolute xPath to node within stylesheet)</comment>
+</li>
+<li>
+ <text>cd &lt;SHORTCUT&gt; &lt;XPATH&gt;</text>
+</li>
+<li>
+ <text> Where SHORTCUT can be either</text>
+</li>
+<li>
+<list>
+<li><text>&lt;&lt; = preceding-sibling::node()</text>
+</li>
+<li><text>&gt;&gt; = following-sibling::node()</text>
+</li>
+<li><text>&lt;- = ancestor::node()</text>
+</li>
+<li><text>-&gt; = decendant::node()</text>
+</li>
+</list>
+</li>
+</usage>
+</cmd>
+
+
+<!-- - - - - - File related commands - - - - - - -->
+<cmd name="validate" title="Validate">
+<summary>Validate the output file generated by stylesheet (Disabled)</summary>
+</cmd>
+
+<cmd name="load" title="Load">
+<summary>Reload stylesheet and data file(s) (Disabled see run)</summary>
+</cmd>
+
+<cmd name="save" title="Save">
+<summary>Save the generated data file (Disabled)</summary>
+</cmd>
+
+<cmd name="write" title="Write">
+<summary>To be completed</summary>
+</cmd>
+
+<cmd name="free" title="Free">
+<summary>Free stylesheet and data (Disabled see run)</summary>
+</cmd>
+
+<!-- - - - - - - Searching related - - - - - -->
+<cmd name="search" title="Search">
+<summary>Search a database of all information gathered from styleets loaded</summary>
+<body>
+<para>When the search command is issued a file (search.data) will be created in the current directory. You can then process this file with your own stylessheet to present data in a other ways than displayed by default.
+</para>
+<para>Depending on the amount of data collected it might take a while to compled this command.
+</para>
+<para>At the moment breakpoints are not being sorted properly. Which is being looked at.
+</para>
+</body>
+<usage>
+<li>
+<text>search &lt;XPATH&gt;</text><comment>(See what xpath can be used see search.dtd)</comment>
+</li>
+<li>
+<text>search -sort &lt;XPATH&gt;</text><comment>(Enable tell search.xsl to sort the result before outputing it)</comment>
+</li>
+</usage>
+</cmd>
+
+<!-- - - - - Operating system related - - - - -->
+<cmd name="chdir" title="Chdir">
+<summary>Change the working directory</summary>
+<usage>
+<li>
+<text>chdir &lt;PATH&gt;</text>
+<comment>(A relative or absolute path for operating system)</comment>
+</li>
+</usage>
+</cmd>
+
+<cmd name="shell" title="Shell">
+<summary>Execute shell command</summary>
+<usage>
+<li>
+<text>shell &lt;TEXT&gt;</text>
+<comment>(&lt;TEXT&gt; is the text to be passed to operating system for execution)</comment>
+</li>
+</usage>
+</cmd>
+
+</xsldoc>
+
+
+<!-- initialization code for xemacs -->
+<!--
+Local Variables:
+mode: sgml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+-->
+
+
diff --git a/kdbg/testprogs/xsldoc.xsl b/kdbg/testprogs/xsldoc.xsl
new file mode 100644
index 0000000..eb49ca3
--- /dev/null
+++ b/kdbg/testprogs/xsldoc.xsl
@@ -0,0 +1,114 @@
+<?xml version="1.0" ?>
+<!--
+ File : xsldoc.xsl
+ Author: Keith Isdale <k_isdale@tpg.com.au>
+ Description: Stylesheet to process xsldoc.xml and generate help text
+ Copyright Reserved Under GPL
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+ <xsl:output method="text"/>
+ <xsl:strip-space elements="text"/>
+ <xsl:variable name="overview_node" select="/xsldoc/overview"/>
+ <xsl:variable name="command_nodes" select="/xsldoc/cmd"/>
+ <xsl:variable name="doc_version" select="'0.5'"/>
+ <xsl:param name="xsldbg_version" select="'0.5.9'"/>
+ <!-- We want help to point to a invalid command if stylesheet
+ user has not provided a value for 'help' param-->
+ <xsl:param name="help" select="'_#_'"/>
+
+
+ <xsl:template match="/">
+ <xsl:variable name="help_cmd" select="$command_nodes[@name=$help]"/>
+ xsldbg version <xsl:value-of select="$xsldbg_version"/>
+ ====================
+
+ <xsl:choose>
+ <xsl:when test="count($help_cmd) > 0" >
+ <xsl:apply-templates select="$help_cmd" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="$help !='_#_'">
+ <xsl:text>Help about </xsl:text>
+ <xsl:value-of select="$help"/>
+ <xsl:text> was not found.
+ </xsl:text>
+ </xsl:if>
+ <xsl:apply-templates select="$overview_node"/>
+ </xsl:otherwise>
+ </xsl:choose>
+<xsl:text>
+</xsl:text>
+ Help document version <xsl:value-of select="$doc_version"/><xsl:text>
+</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="header">
+<xsl:value-of select="."/>
+<xsl:text>
+ </xsl:text>
+<xsl:value-of
+ select="substring('____________________________________________________________',
+ 1, string-length())" />
+<xsl:text>
+</xsl:text>
+ </xsl:template>
+
+
+ <xsl:template match="text()">
+ <xsl:value-of select="normalize-space()"/>
+ </xsl:template>
+
+ <xsl:template match="para">
+ <xsl:text>
+</xsl:text>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="list | usage">
+ <xsl:text>
+</xsl:text>
+ <xsl:for-each select="li">
+ <xsl:text> </xsl:text><xsl:apply-templates />
+ <xsl:text>
+</xsl:text>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template match="comment">
+ <xsl:text> </xsl:text><xsl:value-of select="."/>
+ </xsl:template>
+
+ <xsl:template name="cmd-summary" match="cmd-summary">
+ <xsl:text > Command summary
+</xsl:text>
+ <xsl:apply-templates select="cmd"/>
+ </xsl:template>
+
+ <xsl:template match="cmd">
+Command : <xsl:value-of select="@title"/><xsl:text >
+</xsl:text>Summary : <xsl:value-of select="summary"/><xsl:text>
+</xsl:text>
+ <xsl:if test="body">
+ <xsl:apply-templates select="body"/><xsl:text >
+</xsl:text>
+ </xsl:if>
+ <xsl:text>Usage:
+</xsl:text>
+ <xsl:apply-templates select="usage"/>
+ </xsl:template>
+
+
+</xsl:stylesheet>
+
+
+<!-- initialization code for xemacs -->
+<!--
+Local Variables:
+mode: xsl
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:2
+sgml-indent-data:nil
+End:
+--> \ No newline at end of file
diff --git a/kdbg/threadlist.cpp b/kdbg/threadlist.cpp
new file mode 100644
index 0000000..7c60bc3
--- /dev/null
+++ b/kdbg/threadlist.cpp
@@ -0,0 +1,128 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "threadlist.h"
+#include "dbgdriver.h"
+#include <klocale.h>
+#include <kiconloader.h>
+#include <qbitmap.h>
+#include <qpainter.h>
+
+
+class ThreadEntry : public QListViewItem, public ThreadInfo
+{
+public:
+ ThreadEntry(QListView* parent, const ThreadInfo& thread);
+ void setFunction(const QString& func);
+
+ bool m_delete; /* used for updating the list */
+};
+
+ThreadEntry::ThreadEntry(QListView* parent, const ThreadInfo& thread) :
+ QListViewItem(parent, thread.threadName, thread.function),
+ ThreadInfo(thread),
+ m_delete(false)
+{
+}
+
+void ThreadEntry::setFunction(const QString& func)
+{
+ function = func;
+ setText(1, function);
+}
+
+
+ThreadList::ThreadList(QWidget* parent, const char* name) :
+ QListView(parent, name)
+{
+ addColumn(i18n("Thread ID"), 150);
+ addColumn(i18n("Location"));
+
+ // load pixmaps
+ m_focusIcon = UserIcon("pcinner");
+ makeNoFocusIcon();
+
+ connect(this, SIGNAL(currentChanged(QListViewItem*)),
+ this, SLOT(slotCurrentChanged(QListViewItem*)));
+}
+
+ThreadList::~ThreadList()
+{
+}
+
+void ThreadList::updateThreads(const std::list<ThreadInfo>& threads)
+{
+ // reset flag in all items
+ for (QListViewItem* e = firstChild(); e != 0; e = e->nextSibling()) {
+ static_cast<ThreadEntry*>(e)->m_delete = true;
+ }
+
+ for (std::list<ThreadInfo>::const_iterator i = threads.begin(); i != threads.end(); ++i)
+ {
+ // look up this thread by id
+ ThreadEntry* te = threadById(i->id);
+ if (te == 0) {
+ te = new ThreadEntry(this, *i);
+ } else {
+ te->m_delete = false;
+ te->setFunction(i->function);
+ }
+ // set focus icon
+ te->hasFocus = i->hasFocus;
+ te->setPixmap(0, i->hasFocus ? m_focusIcon : m_noFocusIcon);
+ }
+
+ // delete all entries that have not been seen
+ for (QListViewItem* e = firstChild(); e != 0;) {
+ ThreadEntry* te = static_cast<ThreadEntry*>(e);
+ e = e->nextSibling(); /* step ahead before deleting it ;-) */
+ if (te->m_delete) {
+ delete te;
+ }
+ }
+}
+
+ThreadEntry* ThreadList::threadById(int id)
+{
+ for (QListViewItem* e = firstChild(); e != 0; e = e->nextSibling()) {
+ ThreadEntry* te = static_cast<ThreadEntry*>(e);
+ if (te->id == id) {
+ return te;
+ }
+ }
+ return 0;
+}
+
+/*
+ * Creates an icon of the same size as the m_focusIcon, but which is
+ * totally transparent.
+ */
+void ThreadList::makeNoFocusIcon()
+{
+ m_noFocusIcon = m_focusIcon;
+ {
+ QPainter p(&m_noFocusIcon);
+ p.fillRect(0,0, m_noFocusIcon.width(),m_noFocusIcon.height(), QColor(white));
+ }
+ m_noFocusIcon.setMask(m_noFocusIcon.createHeuristicMask());
+}
+
+void ThreadList::slotCurrentChanged(QListViewItem* newItem)
+{
+ if (newItem == 0)
+ return;
+
+ ThreadEntry* te = static_cast<ThreadEntry*>(newItem);
+
+ // change the focused thread
+ if (te->hasFocus)
+ return;
+
+ emit setThread(te->id);
+}
+
+
+#include "threadlist.moc"
diff --git a/kdbg/threadlist.h b/kdbg/threadlist.h
new file mode 100644
index 0000000..e936d89
--- /dev/null
+++ b/kdbg/threadlist.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef THREADLIST_H
+#define THREADLIST_H
+
+#include <qlistview.h>
+#include <qpixmap.h>
+#include <list>
+
+class ThreadInfo;
+class ThreadEntry;
+
+class ThreadList : public QListView
+{
+ Q_OBJECT
+public:
+ ThreadList(QWidget* parent, const char* name);
+ ~ThreadList();
+
+public slots:
+ void updateThreads(const std::list<ThreadInfo>&);
+ void slotCurrentChanged(QListViewItem*);
+
+signals:
+ void setThread(int);
+
+protected:
+ ThreadEntry* threadById(int id);
+ void makeNoFocusIcon();
+
+ QPixmap m_focusIcon;
+ QPixmap m_noFocusIcon;
+};
+
+#endif // THREADLIST_H
diff --git a/kdbg/ttywnd.cpp b/kdbg/ttywnd.cpp
new file mode 100644
index 0000000..b23f2f4
--- /dev/null
+++ b/kdbg/ttywnd.cpp
@@ -0,0 +1,239 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <qsocketnotifier.h>
+#include <qpopupmenu.h>
+#include "ttywnd.h"
+#include <kglobalsettings.h>
+#include <klocale.h>
+
+#include "config.h"
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h> /* open, close, etc. */
+#endif
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_PTY_H
+#include <pty.h> /* openpty on Linux */
+#endif
+#ifdef HAVE_LIBUTIL_H
+#include <libutil.h> /* openpty on FreeBSD */
+#endif
+#ifdef HAVE_UTIL_H /* openpty on NetBSD, OpenBSD */
+#include <util.h>
+#endif
+#include <errno.h>
+
+#include "mydebug.h"
+
+
+STTY::STTY() :
+ QObject(),
+ m_masterfd(-1),
+ m_slavefd(-1),
+ m_outNotifier(0)
+{
+ if (findTTY())
+ {
+ ::fcntl(m_masterfd, F_SETFL, O_NDELAY);
+ m_outNotifier = new QSocketNotifier(m_masterfd, QSocketNotifier::Read);
+ connect(m_outNotifier, SIGNAL(activated(int)), SLOT(outReceived(int)));
+ } else {
+ m_slavetty = QString();
+ }
+}
+
+STTY::~STTY()
+{
+ if (m_outNotifier) {
+ ::close(m_masterfd);
+ if (m_slavefd >= 0)
+ ::close(m_slavefd);
+ delete m_outNotifier;
+ }
+}
+
+bool STTY::findTTY()
+{
+ m_masterfd = -1;
+
+#ifdef HAVE_FUNC_OPENPTY
+ /* use glibc2's openpty */
+ if (m_masterfd < 0)
+ {
+ if (::openpty(&m_masterfd, &m_slavefd, 0, 0, 0) == 0) {
+ const char* tname = ::ttyname(m_slavefd);
+ if (tname != 0) {
+ m_slavetty = tname;
+ } else {
+ ::close(m_slavefd);
+ ::close(m_masterfd);
+ m_masterfd = m_slavefd = -1;
+ }
+ }
+ }
+#endif
+
+ // resort to BSD-style terminals
+ if (m_masterfd < 0)
+ {
+ const char* s3;
+ const char* s4;
+
+ char ptynam[] = "/dev/ptyxx";
+ char ttynam[] = "/dev/ttyxx";
+ static const char ptyc3[] = "pqrstuvwxyzabcde";
+ static const char ptyc4[] = "0123456789abcdef";
+
+ // Find a master pty that we can open
+ for (s3 = ptyc3; *s3 != 0 && m_masterfd < 0; s3++)
+ {
+ for (s4 = ptyc4; *s4 != 0; s4++)
+ {
+ ptynam[8] = ttynam[8] = *s3;
+ ptynam[9] = ttynam[9] = *s4;
+ if ((m_masterfd = ::open(ptynam,O_RDWR)) >= 0)
+ {
+ if (::geteuid() == 0 || ::access(ttynam,R_OK|W_OK) == 0)
+ {
+ m_slavetty = ttynam;
+ break;
+ }
+ ::close(m_masterfd);
+ m_masterfd = -1;
+ }
+ }
+ }
+ }
+
+ return m_masterfd >= 0;
+}
+
+void STTY::outReceived(int f)
+{
+ for (;;) {
+ char buf[1024];
+ int n = ::read(f, buf, sizeof(buf));
+ if (n < 0) {
+ if (errno != EAGAIN) { /* this is not an error */
+ // ugh! error! somebody disconnect this signal please!
+ }
+ break;
+ }
+ emit output(buf, n);
+ if (n == 0)
+ break;
+ }
+}
+
+
+
+TTYWindow::TTYWindow(QWidget* parent, const char* name) :
+ QTextEdit(parent, name),
+ m_tty(0),
+ m_hPos(0)
+{
+ setFont(KGlobalSettings::fixedFont());
+ setReadOnly(true);
+ setAutoFormatting(AutoNone);
+ setTextFormat(PlainText);
+ setWordWrap(NoWrap);
+}
+
+TTYWindow::~TTYWindow()
+{
+ if (m_tty)
+ deactivate();
+}
+
+
+QString TTYWindow::activate()
+{
+ // allocate a pseudo terminal
+ m_tty = new STTY;
+
+ QString ttyName = m_tty->slaveTTY();
+ if (ttyName.isEmpty()) {
+ // failed to allocate terminal
+ delete m_tty;
+ m_tty = 0;
+ return QString();
+ } else {
+ connect(m_tty, SIGNAL(output(char*,int)), SLOT(slotAppend(char*,int)));
+ return ttyName;
+ }
+}
+
+void TTYWindow::deactivate()
+{
+ delete m_tty;
+ m_tty = 0;
+}
+
+/**
+ * Note that it is necessary to track the horizontal position explicitly
+ * since if the user modifies the selected text in the window, the cursor
+ * position changes, too.
+ */
+void TTYWindow::slotAppend(char* buffer, int count)
+{
+ // parse off lines
+ char* start = buffer;
+ while (count > 0) {
+ int len = 0;
+ while (count > 0 && start[len] != '\n' && start[len] != '\r') {
+ --count;
+ ++len;
+ }
+ if (len > 0) {
+ QString str = QString::fromLatin1(start, len);
+ // replace text in the last line
+ int para = paragraphs()-1;
+ // this selection is non-empty only after a '\r' that was not
+ // followed by a '\n'
+ setSelection(para, m_hPos, para, m_hPos+len, 1);
+ removeSelectedText(1);
+ insertAt(str, para, m_hPos);
+ m_hPos += len;
+ start += len;
+ len = 0;
+ }
+ if (count > 0 && *start == '\r') {
+ ++start;
+ --count;
+ m_hPos = 0;
+ }
+ if (count > 0 && *start == '\n') {
+ ++start;
+ --count;
+ append(QString());
+ m_hPos = 0;
+ }
+ }
+}
+
+QPopupMenu* TTYWindow::createPopupMenu(const QPoint& pos)
+{
+ QPopupMenu* menu = QTextEdit::createPopupMenu(pos);
+ menu->insertSeparator();
+ menu->insertItem(i18n("&Clear"), this, SLOT(slotClear()));
+ return menu;
+}
+
+void TTYWindow::slotClear()
+{
+ clear();
+ m_hPos = 0;
+}
+
+#include "ttywnd.moc"
diff --git a/kdbg/ttywnd.h b/kdbg/ttywnd.h
new file mode 100644
index 0000000..3995ffc
--- /dev/null
+++ b/kdbg/ttywnd.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef TTYWND_H
+#define TTYWND_H
+
+#include <qtextedit.h>
+
+class QSocketNotifier;
+class QPopupMenu;
+
+/**
+ * This class is cortesy Judin Max <novaprint@mtu-net.ru>.
+ *
+ * The master side of the TTY is the emulator.
+ *
+ * The slave side is where a client process can write output and can read
+ * input. For this purpose, it must open the file (terminal device) whose
+ * name is returned by @ref slaveTTY for both reading and writing. To
+ * establish the stdin, stdout, and stderr channels the file descriptor
+ * obtained by this must be dup'd to file descriptors 0, 1, and 2, resp.
+ */
+class STTY : public QObject
+{
+ Q_OBJECT
+public:
+ STTY();
+ ~STTY();
+
+ QString slaveTTY(){ return m_slavetty; };
+
+protected slots:
+ void outReceived(int);
+
+signals:
+ void output(char* buffer, int charlen);
+
+protected:
+ int m_masterfd;
+ int m_slavefd;
+ QSocketNotifier* m_outNotifier;
+ QString m_slavetty;
+ bool findTTY();
+};
+
+class TTYWindow : public QTextEdit
+{
+ Q_OBJECT
+public:
+ TTYWindow(QWidget* parent, const char* name);
+ ~TTYWindow();
+
+ QString activate();
+ void deactivate();
+
+protected:
+ STTY* m_tty;
+ virtual QPopupMenu* createPopupMenu(const QPoint& pos);
+ int m_hPos; //!< tracks horizontal cursor position
+
+protected slots:
+ void slotAppend(char* buffer, int count);
+ void slotClear();
+};
+
+#endif // TTYWND_H
diff --git a/kdbg/typetable.cpp b/kdbg/typetable.cpp
new file mode 100644
index 0000000..3136a61
--- /dev/null
+++ b/kdbg/typetable.cpp
@@ -0,0 +1,409 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <qdir.h>
+#include <qptrlist.h>
+#include <kglobal.h>
+#include <kstandarddirs.h>
+#include <ksimpleconfig.h>
+#include <list>
+#include <algorithm>
+#include <iterator>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "typetable.h"
+#include "mydebug.h"
+
+//! the TypeTables of all known libraries
+static std::list<TypeTable> typeTables;
+bool typeTablesInited = false;
+
+
+//! an indentifier for wchar_t
+TypeInfo TypeInfo::m_wchartType("");
+//! the unknown type
+TypeInfo TypeInfo::m_unknownType("");
+
+
+void TypeTable::initTypeLibraries()
+{
+ if (!typeTablesInited) {
+ TypeTable::loadTypeTables();
+ }
+}
+
+void TypeTable::loadTypeTables()
+{
+ typeTablesInited = true;
+
+ const QStringList files = KGlobal::dirs()->findAllResources("types", "*.kdbgtt",
+ false, true);
+
+ if (files.isEmpty()) {
+ TRACE("no type tables found");
+ return;
+ }
+
+ for (QValueListConstIterator<QString> p = files.begin(); p != files.end(); ++p) {
+ typeTables.push_back(TypeTable());
+ typeTables.back().loadFromFile(*p);
+ }
+}
+
+
+TypeTable::TypeTable() :
+ m_printQStringDataCmd(0)
+{
+ m_typeDict.setAutoDelete(true);
+ // aliasDict keeps only pointers to items into typeDict
+ m_aliasDict.setAutoDelete(false);
+}
+
+TypeTable::~TypeTable()
+{
+ delete[] m_printQStringDataCmd;
+ while (!m_templates.empty()) {
+ delete m_templates.begin()->second;
+ m_templates.erase(m_templates.begin());
+ }
+}
+
+
+static const char TypeTableGroup[] = "Type Table";
+static const char LibDisplayName[] = "LibDisplayName";
+static const char ShlibRE[] = "ShlibRE";
+static const char EnableBuiltin[] = "EnableBuiltin";
+static const char PrintQStringCmd[] = "PrintQStringCmd";
+static const char TypesEntryFmt[] = "Types%d";
+static const char DisplayEntry[] = "Display";
+static const char AliasEntry[] = "Alias";
+static const char TemplateEntry[] = "Template";
+static const char ExprEntryFmt[] = "Expr%d";
+static const char FunctionGuardEntryFmt[] = "FunctionGuard%d";
+
+
+void TypeTable::loadFromFile(const QString& fileName)
+{
+ TRACE("reading file " + fileName);
+ KSimpleConfig cf(fileName, true); /* read-only */
+
+ /*
+ * Read library name and properties.
+ */
+ cf.setGroup(TypeTableGroup);
+ m_displayName = cf.readEntry(LibDisplayName);
+ if (m_displayName.isEmpty()) {
+ // use file name instead
+ QFileInfo fi(fileName);
+ m_displayName = fi.baseName(true);
+ }
+
+ m_shlibNameRE = QRegExp(cf.readEntry(ShlibRE));
+ m_enabledBuiltins = cf.readListEntry(EnableBuiltin);
+
+ QString printQString = cf.readEntry(PrintQStringCmd);
+ const char* ascii = printQString.ascii();
+ if (ascii == 0)
+ ascii = "";
+ m_printQStringDataCmd = new char[strlen(ascii)+1];
+ strcpy(m_printQStringDataCmd, ascii);
+
+ /*
+ * Get the types. We search for entries of kind Types1, Types2, etc.
+ * because a single entry Types could get rather long for large
+ * libraries.
+ */
+ QString typesEntry;
+ for (int i = 1; ; i++) {
+ // next bunch of types
+ cf.setGroup(TypeTableGroup);
+ typesEntry.sprintf(TypesEntryFmt, i);
+ if (!cf.hasKey(typesEntry))
+ break;
+
+ QStringList typeNames = cf.readListEntry(typesEntry, ',');
+
+ // now read them
+ QString alias;
+ for (QStringList::iterator it = typeNames.begin(); it != typeNames.end(); ++it)
+ {
+ cf.setGroup(*it);
+ // check if this is an alias
+ alias = cf.readEntry(AliasEntry);
+ if (alias.isEmpty()) {
+ readType(cf, *it);
+ } else {
+ // look up the alias type and insert it
+ TypeInfo* info = m_typeDict[alias];
+ if (info == 0) {
+ TRACE(*it + ": alias " + alias + " not found");
+ } else {
+ m_aliasDict.insert(alias, info);
+ TRACE(*it + ": alias " + alias);
+ }
+ }
+ }
+ } // for all Types%d
+}
+
+void TypeTable::readType(KConfigBase& cf, const QString& type)
+{
+ // the display string
+ QString expr = cf.readEntry(DisplayEntry);
+
+ TypeInfo* info = new TypeInfo(expr);
+ if (info->m_numExprs == 0) {
+ TRACE("bogus type " + type + ": no %% in Display: " + expr);
+ delete info;
+ return;
+ }
+
+ info->m_templatePattern = cf.readEntry(TemplateEntry);
+
+ // Expr1, Expr2, etc...
+ QString exprEntry;
+ QString funcGuardEntry;
+ for (int j = 0; j < info->m_numExprs; j++) {
+ exprEntry.sprintf(ExprEntryFmt, j+1);
+ expr = cf.readEntry(exprEntry);
+ info->m_exprStrings[j] = expr;
+
+ funcGuardEntry.sprintf(FunctionGuardEntryFmt, j+1);
+ expr = cf.readEntry(funcGuardEntry);
+ info->m_guardStrings[j] = expr;
+ }
+
+ // add the new type
+ if (info->m_templatePattern.find('<') < 0)
+ m_typeDict.insert(type, info);
+ else
+ m_templates[type] = info;
+ TRACE(type + QString().sprintf(": %d exprs", info->m_numExprs));
+}
+
+void TypeTable::copyTypes(QDict<TypeInfo>& dict)
+{
+ for (QDictIterator<TypeInfo> it = m_typeDict; it != 0; ++it) {
+ dict.insert(it.currentKey(), it);
+ }
+ for (QDictIterator<TypeInfo> it = m_aliasDict; it != 0; ++it) {
+ dict.insert(it.currentKey(), it);
+ }
+}
+
+bool TypeTable::isEnabledBuiltin(const QString& feature) const
+{
+ return m_enabledBuiltins.find(feature) != m_enabledBuiltins.end();
+}
+
+TypeInfo::TypeInfo(const QString& displayString)
+{
+ // decompose the input into the parts
+ int i = 0;
+ int startIdx = 0;
+ int idx;
+ while (i < typeInfoMaxExpr &&
+ (idx = displayString.find('%', startIdx)) >= 0)
+ {
+ m_displayString[i] = displayString.mid(startIdx, idx-startIdx);
+ startIdx = idx+1;
+ i++;
+ }
+ m_numExprs = i;
+ /*
+ * Remaining string; note that there's one more display string than
+ * sub-expressions.
+ */
+ m_displayString[i] = displayString.right(displayString.length()-startIdx);
+}
+
+TypeInfo::~TypeInfo()
+{
+}
+
+
+ProgramTypeTable::ProgramTypeTable() :
+ m_parseQt2QStrings(false),
+ m_QCharIsShort(false),
+ m_printQStringDataCmd(0)
+{
+ m_types.setAutoDelete(false); /* paranoia */
+ m_aliasDict.setAutoDelete(false); /* paranoia */
+}
+
+ProgramTypeTable::~ProgramTypeTable()
+{
+}
+
+void ProgramTypeTable::loadTypeTable(TypeTable* table)
+{
+ table->copyTypes(m_types);
+
+ // add templates
+ const TypeTable::TypeMap& t = table->templates();
+ std::transform(t.begin(), t.end(),
+ std::inserter(m_templates, m_templates.begin()),
+ std::ptr_fun(template2Info));
+
+ // check whether to enable builtin QString support
+ if (!m_parseQt2QStrings) {
+ m_parseQt2QStrings = table->isEnabledBuiltin("QString::Data");
+ }
+ if (!m_QCharIsShort) {
+ m_QCharIsShort = table->isEnabledBuiltin("QCharIsShort");
+ }
+ if (!m_printQStringDataCmd && *table->printQStringDataCmd()) {
+ m_printQStringDataCmd = table->printQStringDataCmd();
+ }
+}
+
+ProgramTypeTable::TemplateMap::value_type
+ ProgramTypeTable::template2Info(const TypeTable::TypeMap::value_type& tt)
+{
+ QStringList args = splitTemplateArgs(tt.second->m_templatePattern);
+
+ TemplateMap::value_type result(args.front(), TemplateInfo());
+ result.second.type = tt.second;
+ args.pop_front();
+ result.second.templateArgs = args;
+ return result;
+}
+
+/**
+ * Splits the name \a t into the template name and its arguments.
+ * The first entry of the returned list is the template name, the remaining
+ * entries are the arguments.
+ */
+QStringList ProgramTypeTable::splitTemplateArgs(const QString& t)
+{
+ QStringList result;
+ result.push_back(t);
+
+ int i = t.find('<');
+ if (i < 0)
+ return result;
+
+ // split off the template name
+ result.front().truncate(i);
+
+ i++; // skip '<'
+ // look for the next comma or the closing '>', skipping nested '<>'
+ int nest = 0;
+ int start = i;
+ for (; unsigned(i) < t.length() && nest >= 0; i++)
+ {
+ if (t[i] == '<')
+ nest++;
+ else if (t[i] == '>')
+ nest--;
+ else if (nest == 0 && t[i] == ',') {
+ // found end of argument
+ QString arg = t.mid(start, i-start);
+ result.push_back(arg);
+ start = i+1; // skip ','
+ }
+ }
+ // accept the template only if the closing '>' is the last character
+ if (nest < 0 && unsigned(i) == t.length()) {
+ QString arg = t.mid(start, i-start-1);
+ result.push_back(arg);
+ } else {
+ result.clear();
+ result.push_back(t);
+ }
+ return result;
+}
+
+TypeInfo* ProgramTypeTable::lookup(QString type)
+{
+ /*
+ * Registered aliases contain the complete template parameter list.
+ * Check for an alias first so that this case is out of the way.
+ */
+ if (TypeInfo* result = m_aliasDict[type])
+ return result;
+
+ /*
+ * Check for a normal type. Even if type is a template instance,
+ * it could have been registered as a normal type instead of a pattern.
+ */
+ if (TypeInfo* result = m_types[type])
+ return result;
+
+ /*
+ * The hard part: Look up a template.
+ */
+ QStringList parts = splitTemplateArgs(type);
+ if (parts.size() == 1)
+ return 0; // not a template
+
+ // We can have several patterns for the same template name.
+ std::pair<TemplateMap::const_iterator, TemplateMap::const_iterator> range =
+ m_templates.equal_range(parts.front());
+ // We pick the one that has the wildcards in the later parameters.
+ unsigned minPenalty = ~0U;
+ TypeInfo* result = 0;
+ parts.pop_front();
+
+ for (TemplateMap::const_iterator i = range.first; i != range.second; ++i)
+ {
+ const QStringList& pat = i->second.templateArgs;
+ if (parts.size() < pat.size())
+ continue; // too few arguments
+
+ // a "*" in the last position of the pattern matches all arguments
+ // at the end of the template's arguments
+ if (parts.size() > pat.size() && pat.back() != "*")
+ continue; // too many arguments and no wildcard
+
+ QStringList::const_iterator t = parts.begin();
+ QStringList::const_iterator p = pat.begin();
+ unsigned accumPenalty = 0;
+ bool equal = true;
+ unsigned penalty = ~(~0U>>1); // 1 in the leading bit
+ while (equal && p != pat.end())
+ {
+ if (*p == "*")
+ accumPenalty |= penalty; // penalize wildcards
+ else
+ equal = *p == *t;
+ ++p, ++t, penalty >>= 1;
+ }
+ if (equal)
+ {
+ if (accumPenalty == 0)
+ return i->second.type;
+ if (accumPenalty < minPenalty) {
+ result = i->second.type;
+ minPenalty = accumPenalty;
+ }
+ }
+ }
+ return result;
+}
+
+void ProgramTypeTable::registerAlias(const QString& name, TypeInfo* type)
+{
+ ASSERT(lookup(name) == 0 || lookup(name) == type);
+ m_aliasDict.insert(name, type);
+}
+
+void ProgramTypeTable::loadLibTypes(const QStringList& libs)
+{
+ for (QStringList::const_iterator it = libs.begin(); it != libs.end(); ++it)
+ {
+ // look up the library
+ for (std::list<TypeTable>::iterator t = typeTables.begin(); t != typeTables.end(); ++t)
+ {
+ if (t->matchFileName(*it))
+ {
+ TRACE("adding types for " + *it);
+ loadTypeTable(&*t);
+ }
+ }
+ }
+}
diff --git a/kdbg/typetable.h b/kdbg/typetable.h
new file mode 100644
index 0000000..5cef561
--- /dev/null
+++ b/kdbg/typetable.h
@@ -0,0 +1,193 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include <qdict.h>
+#include <qstring.h>
+#include <qregexp.h>
+#include <qstringlist.h>
+#include <map>
+
+class KConfigBase;
+
+/**
+ * The maximum number of sub-expressions that may appear in a single struct
+ * value.
+ */
+const int typeInfoMaxExpr = 5;
+
+
+struct TypeInfo
+{
+ TypeInfo(const QString& displayString);
+ ~TypeInfo();
+
+ /**
+ * The number of sub-expressions that need to be evaluated to get the
+ * struct value.
+ */
+ int m_numExprs;
+ /**
+ * This array contains the various parts which glue together the
+ * sub-expressions. The entries in this array are the parts that appear
+ * between the percent signs '%' of the display expression; hence,
+ * there is one part more than there are sub-expressions.
+ */
+ QString m_displayString[typeInfoMaxExpr+1];
+ /**
+ * This is a list of partial expressions. Each contains one or more \%s,
+ * which will be replaced by the parent expression. The results are
+ * substituted for the percent signs in m_displayString.
+ */
+ QString m_exprStrings[typeInfoMaxExpr];
+ /**
+ * This is a list of guard expressions. Each contains one or more \%s,
+ * which will be replaced by the parent expression, or is empty. If the
+ * evaluation of the resulting expression returns an error, the
+ * corresponding expression from m_exprStrings is not evaluated. (This
+ * is used to guard function calls.)
+ */
+ QString m_guardStrings[typeInfoMaxExpr];
+ /**
+ * This is the type name including template arguments that contain a
+ * pattern: A single '*' as template parameter matches one template
+ * argument, except that a '*' as the last template parameter matches
+ * all remaining template argument.
+ */
+ QString m_templatePattern;
+ /**
+ * Returns a pointer to a TypeInfo that identifies wchar_t
+ */
+ static TypeInfo* wchartType() { return &m_wchartType; }
+ /**
+ * Gets a pointer to a TypeInfo that means: "I don't know the type"
+ */
+ static TypeInfo* unknownType() { return &m_unknownType; }
+
+protected:
+ static TypeInfo m_wchartType;
+ static TypeInfo m_unknownType;
+};
+
+class TypeTable
+{
+public:
+ TypeTable();
+ ~TypeTable();
+
+ typedef std::map<QString,TypeInfo*> TypeMap;
+
+ /**
+ * Load all known type libraries.
+ */
+ static void initTypeLibraries();
+
+ /**
+ * Copy type infos to the specified dictionary.
+ */
+ void copyTypes(QDict<TypeInfo>& dict);
+
+ /**
+ * Returns the template types
+ */
+ const TypeMap& templates() const { return m_templates; }
+
+ /**
+ * Does the file name match this library?
+ */
+ bool matchFileName(const QString& fileName) const {
+ return m_shlibNameRE.match(fileName) >= 0;
+ }
+
+ /**
+ * Is the specified builtin feature enabled in this type library?
+ */
+ bool isEnabledBuiltin(const QString& feature) const;
+
+ /**
+ * Returns the command to print the QString data.
+ */
+ const char* printQStringDataCmd() const { return m_printQStringDataCmd; }
+
+protected:
+ /**
+ * Loads the structure type information from the configuration files.
+ */
+ static void loadTypeTables();
+ void loadFromFile(const QString& fileName);
+ void readType(KConfigBase& cf, const QString& type);
+ QDict<TypeInfo> m_typeDict;
+ QDict<TypeInfo> m_aliasDict;
+ TypeMap m_templates;
+ QString m_displayName;
+ QRegExp m_shlibNameRE;
+ QStringList m_enabledBuiltins;
+ char* m_printQStringDataCmd;
+};
+
+
+/**
+ * This table keeps only references to the global type table. It is set up
+ * once per program.
+ */
+class ProgramTypeTable
+{
+public:
+ ProgramTypeTable();
+ ~ProgramTypeTable();
+
+ /**
+ * Load types belonging to the specified libraries.
+ */
+ void loadLibTypes(const QStringList& libs);
+
+ /**
+ * Load types belonging to the specified type table
+ */
+ void loadTypeTable(TypeTable* table);
+
+ /**
+ * Lookup a structure type.
+ *
+ * If the type is unknown, 0 is returned.
+ */
+ TypeInfo* lookup(QString type);
+
+ /**
+ * Adds a new alias for a type name.
+ */
+ void registerAlias(const QString& name, TypeInfo* type);
+
+ /**
+ * Tells whether we use built-in support to understand QStrings.
+ */
+ bool parseQt2QStrings() const { return m_parseQt2QStrings; }
+
+ /**
+ * Tells whether QChar are defined like in Qt3.
+ */
+ bool qCharIsShort() const { return m_QCharIsShort; }
+
+ /**
+ * Returns the command to print the QString data.
+ */
+ const char* printQStringDataCmd() const { return m_printQStringDataCmd; }
+
+protected:
+ QDict<TypeInfo> m_types;
+ QDict<TypeInfo> m_aliasDict;
+ struct TemplateInfo {
+ QStringList templateArgs;
+ TypeInfo* type;
+ };
+ typedef std::multimap<QString, TemplateInfo> TemplateMap;
+ TemplateMap m_templates; //!< one or more template patterns per template name
+ static TemplateMap::value_type
+ template2Info(const TypeTable::TypeMap::value_type& tt);
+ static QStringList splitTemplateArgs(const QString& t);
+ bool m_parseQt2QStrings;
+ bool m_QCharIsShort;
+ const char* m_printQStringDataCmd;
+};
diff --git a/kdbg/typetables/Makefile.am b/kdbg/typetables/Makefile.am
new file mode 100644
index 0000000..4b8c958
--- /dev/null
+++ b/kdbg/typetables/Makefile.am
@@ -0,0 +1,16 @@
+# types in libraries that we understand
+typesdir = $(kde_datadir)/kdbg/types
+types_DATA = \
+ qt.kdbgtt \
+ qt2.kdbgtt \
+ qt3.kdbgtt \
+ qt4core.kdbgtt \
+ kdecore.kdbgtt \
+ kdecore3.kdbgtt \
+ glib.kdbgtt \
+ gtk+.kdbgtt \
+ stdc++.kdbgtt \
+ stdc++6.kdbgtt \
+ X11.kdbgtt
+
+EXTRA_DIST = $(types_DATA)
diff --git a/kdbg/typetables/Makefile.in b/kdbg/typetables/Makefile.in
new file mode 100644
index 0000000..5686895
--- /dev/null
+++ b/kdbg/typetables/Makefile.in
@@ -0,0 +1,600 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = kdbg/typetables
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(typesdir)"
+typesDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(types_DATA)
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PS_COMMAND = @PS_COMMAND@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+
+# types in libraries that we understand
+typesdir = $(kde_datadir)/kdbg/types
+types_DATA = \
+ qt.kdbgtt \
+ qt2.kdbgtt \
+ qt3.kdbgtt \
+ qt4core.kdbgtt \
+ kdecore.kdbgtt \
+ kdecore3.kdbgtt \
+ glib.kdbgtt \
+ gtk+.kdbgtt \
+ stdc++.kdbgtt \
+ stdc++6.kdbgtt \
+ X11.kdbgtt
+
+EXTRA_DIST = $(types_DATA)
+#>- all: all-am
+#>+ 1
+all: docs-am all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/typetables/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu kdbg/typetables/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/typetables/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/typetables/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/typetables/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-typesDATA: $(types_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(typesdir)" || $(MKDIR_P) "$(DESTDIR)$(typesdir)"
+ @list='$(types_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(typesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(typesdir)/$$f'"; \
+ $(typesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(typesdir)/$$f"; \
+ done
+
+uninstall-typesDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(types_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(typesdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(typesdir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(typesdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-am
+#>+ 1
+clean: kde-rpo-clean clean-am
+
+#>- clean-am: clean-generic clean-libtool mostlyclean-am
+#>+ 1
+clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-typesDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-typesDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ install-typesDATA installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-typesDATA
+
+# 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
+KDE_DIST=stdc++6.kdbgtt qt.kdbgtt gtk+.kdbgtt kdecore3.kdbgtt stdc++.kdbgtt qt4core.kdbgtt glib.kdbgtt X11.kdbgtt qt3.kdbgtt qt2.kdbgtt kdecore.kdbgtt Makefile.in Makefile.am
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu kdbg/typetables/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu kdbg/typetables/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin kdbg/typetables/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-am
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 3
+final:
+ $(MAKE) all-am
+
+#>+ 3
+final-install:
+ $(MAKE) install-am
+
+#>+ 3
+no-final:
+ $(MAKE) all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 3
+nmcheck:
+nmcheck-am: nmcheck
diff --git a/kdbg/typetables/X11.kdbgtt b/kdbg/typetables/X11.kdbgtt
new file mode 100644
index 0000000..19947f8
--- /dev/null
+++ b/kdbg/typetables/X11.kdbgtt
@@ -0,0 +1,9 @@
+[Type Table]
+Types1=_XDisplay,Display
+LibDisplayName=libX11 (all versions)
+ShlibRE=libX11\.so
+[_XDisplay]
+Display={ name=% }
+Expr1=(%1).display_name
+[Display]
+Alias=_XDisplay
diff --git a/kdbg/typetables/glib.kdbgtt b/kdbg/typetables/glib.kdbgtt
new file mode 100644
index 0000000..7927467
--- /dev/null
+++ b/kdbg/typetables/glib.kdbgtt
@@ -0,0 +1,7 @@
+[Type Table]
+Types1=GString
+LibDisplayName=libglib
+ShlibRE=libglib.*\.so\.[0-9]+$
+[GString]
+Display={ % }
+Expr1=(%s).str
diff --git a/kdbg/typetables/gtk+.kdbgtt b/kdbg/typetables/gtk+.kdbgtt
new file mode 100644
index 0000000..7cc34e0
--- /dev/null
+++ b/kdbg/typetables/gtk+.kdbgtt
@@ -0,0 +1,7 @@
+[Type Table]
+Types1=GtkWidget
+LibDisplayName=libgtk+
+ShlibRE=libgtk.*\.so\.[0-9]+$
+[GtkWidget]
+Display={ name=% }
+Expr1=(%s).name
diff --git a/kdbg/typetables/kdecore.kdbgtt b/kdbg/typetables/kdecore.kdbgtt
new file mode 100644
index 0000000..d68226d
--- /dev/null
+++ b/kdbg/typetables/kdecore.kdbgtt
@@ -0,0 +1,7 @@
+[Type Table]
+Types1=KSimpleConfig
+LibDisplayName=kdecore (KDE 1.0 and 1.1)
+ShlibRE=libkdecore\.so\.[12]$
+[KSimpleConfig]
+Display={ global=% }
+Expr1=(%s).pData->aGlobalAppFile.shd->data
diff --git a/kdbg/typetables/kdecore3.kdbgtt b/kdbg/typetables/kdecore3.kdbgtt
new file mode 100644
index 0000000..dc16bf0
--- /dev/null
+++ b/kdbg/typetables/kdecore3.kdbgtt
@@ -0,0 +1,7 @@
+[Type Table]
+Types1=KSimpleConfig
+LibDisplayName=kdecore (KDE post-1.1)
+ShlibRE=libkdecore\.so\.3$
+[KSimpleConfig]
+Display={ global=% }
+Expr1=(*(%s).pData->aGlobalAppFile.shd->data)
diff --git a/kdbg/typetables/qt.kdbgtt b/kdbg/typetables/qt.kdbgtt
new file mode 100644
index 0000000..b6db99c
--- /dev/null
+++ b/kdbg/typetables/qt.kdbgtt
@@ -0,0 +1,23 @@
+[Type Table]
+Types1=QString,QDir,QFileInfo,QFile
+Types2=QObject,QTableView
+LibDisplayName=libqt 1.x
+ShlibRE=libqt\.so\.1$
+[QString]
+Display={ % }
+Expr1=(%s).shd->data
+[QObject]
+Display={ name=% }
+Expr1=(%s).objname
+[QTableView]
+Alias=QObject
+[QDir]
+Display={ path=% filter=% }
+Expr1=((%s).dPath.shd->data)
+Expr2=((%s).nameFilt.shd->data)
+[QFileInfo]
+Display={ name=% }
+Expr1=((%s).fn.shd->data)
+[QFile]
+Display={ name=% }
+Expr1=((%s).fn.shd->data)
diff --git a/kdbg/typetables/qt2.kdbgtt b/kdbg/typetables/qt2.kdbgtt
new file mode 100644
index 0000000..a7a5d65
--- /dev/null
+++ b/kdbg/typetables/qt2.kdbgtt
@@ -0,0 +1,28 @@
+[Type Table]
+Types1=QString,QCString,QDir,QFileInfo,QFile
+Types2=QObject,QTableView
+LibDisplayName=libqt 2.x
+ShlibRE=libqt\.so\.2$
+EnableBuiltin=QString::Data
+PrintQStringCmd=print ($qstrunicode=($qstrdata=(%s))->unicode)?(*(unsigned short*)$qstrunicode)@(($qstrlen=(unsigned int)($qstrdata->len))>100?100:$qstrlen):1==0\n
+[QString]
+Display={ % }
+Expr1=/QString::Data (%s).d
+[QCString]
+Display={ % }
+Expr1=(%s).shd->data
+[QObject]
+Display={ name=% }
+Expr1=(%s).objname
+[QTableView]
+Alias=QObject
+[QDir]
+Display={ path=% filter=% }
+Expr1=/QString::Data (%s).dPath.d
+Expr2=/QString::Data (%s).nameFilt.d
+[QFileInfo]
+Display={ name=% }
+Expr1=/QString::Data (%s).fn.d
+[QFile]
+Display={ name=% }
+Expr1=/QString::Data (%s).fn.d
diff --git a/kdbg/typetables/qt3.kdbgtt b/kdbg/typetables/qt3.kdbgtt
new file mode 100644
index 0000000..f568fb3
--- /dev/null
+++ b/kdbg/typetables/qt3.kdbgtt
@@ -0,0 +1,65 @@
+[Type Table]
+Types1=QString,QCString,QDir,QFileInfo,QFile
+Types2=QObject
+Types3=QMap,QValueList,QValueVector
+Types4=QPoint,QRect
+LibDisplayName=libqt 3.x
+ShlibRE=libqt-mt\.so\.3$
+EnableBuiltin=QString::Data,QCharIsShort
+PrintQStringCmd=print ($qstrunicode=($qstrdata=(%s))->unicode)?(*(unsigned short*)$qstrunicode)@(($qstrlen=(unsigned int)($qstrdata->len))>100?100:$qstrlen):1==0\n
+
+[QString]
+Display={ % }
+Expr1=/QString::Data (%s).d
+
+[QCString]
+Display={ % }
+Expr1=(%s).shd->data
+
+[QObject]
+Display={ name=% }
+Expr1=(%s).objname
+
+[QDir]
+Display={ path=% filter=% }
+Expr1=/QString::Data (%s).dPath.d
+Expr2=/QString::Data (%s).nameFilt.d
+
+[QFileInfo]
+Display={ name=% }
+Expr1=/QString::Data (%s).fn.d
+
+[QFile]
+Display={ name=% }
+Expr1=/QString::Data (%s).fn.d
+
+[QMap]
+Template=QMap<*>
+Display={ size=% shared=% }
+Expr1=(%s).sh->node_count
+Expr2=(%s).sh->count
+
+[QValueList]
+Template=QValueList<*>
+Display={ size=% shared=% }
+Expr1=*((unsigned int*)((%s).sh)+1+sizeof(char*)/sizeof(int))
+Expr2=((QShared*)((%s).sh))->count
+
+[QValueVector]
+Template=QValueVector<*>
+Display={ size=% shared=% capacity=% }
+Expr1=($tmp=(%s).sh)->finish-$tmp->start
+Expr2=(%s).sh->count
+Expr3=($tmp=(%s).sh)->end-$tmp->start
+
+[QPoint]
+Display={ %,% }
+Expr1=(%s).xp
+Expr2=(%s).yp
+
+[QRect]
+Display={ tl=(%,%) br=(%,%) }
+Expr1=(%s).x1
+Expr2=(%s).y1
+Expr3=(%s).x2
+Expr4=(%s).y2
diff --git a/kdbg/typetables/qt4core.kdbgtt b/kdbg/typetables/qt4core.kdbgtt
new file mode 100644
index 0000000..f144f6e
--- /dev/null
+++ b/kdbg/typetables/qt4core.kdbgtt
@@ -0,0 +1,9 @@
+[Type Table]
+Types1=QString
+LibDisplayName=libQtCore 4.x
+ShlibRE=libQtCore(_debug)?\.so\.4$
+EnableBuiltin=QString::Data,QCharIsShort
+PrintQStringCmd=print ($qstrunicode=($qstrdata=(%s))->data)?(*(unsigned short*)$qstrunicode)@(($qstrlen=(unsigned int)($qstrdata->size))>100?100:$qstrlen):1==0\n
+[QString]
+Display={ % }
+Expr1=/QString::Data (%s).d
diff --git a/kdbg/typetables/stdc++.kdbgtt b/kdbg/typetables/stdc++.kdbgtt
new file mode 100644
index 0000000..089ff77
--- /dev/null
+++ b/kdbg/typetables/stdc++.kdbgtt
@@ -0,0 +1,7 @@
+[Type Table]
+Types1=string
+LibDisplayName=libstdc++
+ShlibRE=libstdc\+\+-libc6\..*\.so\.[0-9]+$
+[string]
+Display={ % }
+Expr1=(%s).dat
diff --git a/kdbg/typetables/stdc++6.kdbgtt b/kdbg/typetables/stdc++6.kdbgtt
new file mode 100644
index 0000000..2792a33
--- /dev/null
+++ b/kdbg/typetables/stdc++6.kdbgtt
@@ -0,0 +1,45 @@
+[Type Table]
+Types1=string,basic_string<char>,ostringstream,basic_ostringstream<char>
+Types2=std::vector,std::vector<bool>,std::list,std::map
+LibDisplayName=libstdc++6
+ShlibRE=libstdc\+\+\.so\.6$
+
+[string]
+Display={ % }
+Expr1=(%s)._M_dataplus._M_p
+
+[basic_string<char>]
+Template=std::basic_string<char,*>
+Display={ % }
+Expr1=(%s)._M_dataplus._M_p
+
+[ostringstream]
+Display={ % }
+Expr1=(%s)._M_stringbuf._M_string._M_dataplus._M_p
+
+[basic_ostringstream<char>]
+Template=std::basic_ostringstream<char,*>
+Display={ % }
+Expr1=(%s)._M_stringbuf._M_string._M_dataplus._M_p
+
+[std::vector]
+Template=std::vector<*>
+Display={ size=% capcity=% }
+Expr1=($vec=(%s)._M_impl)._M_finish-$vec._M_start
+Expr2=($vec=(%s)._M_impl)._M_end_of_storage-$vec._M_start
+
+[std::vector<bool>]
+Template=std::vector<bool,*>
+Display={ size=% capcity=% }
+Expr1=(($vec=(%s)._M_impl)._M_finish._M_p-$vec._M_start._M_p)*sizeof(*$vec._M_end_of_storage)*8+$vec._M_finish._M_offset
+Expr2=(($vec=(%s)._M_impl)._M_end_of_storage-$vec._M_start._M_p)*sizeof(*$vec._M_end_of_storage)*8
+
+[std::list]
+Template=std::list<*>
+Display={ size=% }
+Expr1=(%s).size()
+
+[std::map]
+Template=std::map<*>
+Display={ size=% }
+Expr1=(%s)._M_t._M_impl._M_node_count
diff --git a/kdbg/winstack.cpp b/kdbg/winstack.cpp
new file mode 100644
index 0000000..dde80e9
--- /dev/null
+++ b/kdbg/winstack.cpp
@@ -0,0 +1,449 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "winstack.h"
+#include "sourcewnd.h"
+#include <qbrush.h>
+#include <qfileinfo.h>
+#include <qpopupmenu.h>
+#include <kapplication.h>
+#include <kmainwindow.h>
+#include <klocale.h> /* i18n */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "mydebug.h"
+
+
+
+WinStack::WinStack(QWidget* parent, const char* name) :
+ KTabWidget(parent, name),
+ m_pcLine(-1),
+ m_valueTip(this),
+ m_tipLocation(1,1,10,10),
+ m_tabWidth(0)
+{
+ connect(&m_findDlg.m_buttonForward,
+ SIGNAL(clicked()), SLOT(slotFindForward()));
+ connect(&m_findDlg.m_buttonBackward,
+ SIGNAL(clicked()), SLOT(slotFindBackward()));
+
+ connect(this, SIGNAL(setTabWidth(int)), this, SLOT(slotSetTabWidth(int)));
+}
+
+WinStack::~WinStack()
+{
+}
+
+void WinStack::contextMenuEvent(QContextMenuEvent* e)
+{
+ // get the context menu from the GUI factory
+ QWidget* top = this;
+ do
+ top = top->parentWidget();
+ while (!top->isTopLevel());
+ KMainWindow* mw = static_cast<KMainWindow*>(top);
+ QPopupMenu* m =
+ static_cast<QPopupMenu*>(mw->factory()->container("popup_files_empty", mw));
+ m->exec(e->globalPos());
+}
+
+
+void WinStack::reloadAllFiles()
+{
+ for (int i = count()-1; i >= 0; i--) {
+ windowAt(i)->reloadFile();
+ }
+}
+
+QSize WinStack::sizeHint() const
+{
+ return QSize(640, 480);
+}
+
+void WinStack::activate(const QString& fileName, int lineNo, const DbgAddr& address)
+{
+ QFileInfo fi(fileName);
+
+ if (!fi.isFile()) {
+ /*
+ * We didn't find that file. Now check if it is a relative path and
+ * try m_lastOpenDir as prefix.
+ */
+ TRACE(fi.filePath() + (" not found, looking in " + m_lastOpenDir));
+ if (!fi.isRelative() || m_lastOpenDir.isEmpty()) {
+ return;
+ }
+ fi.setFile(m_lastOpenDir + "/" + fi.filePath());
+ if (!fi.isFile()) {
+ return;
+ }
+ }
+ // if this is not an absolute path name, make it one
+ activatePath(fi.absFilePath(), lineNo, address);
+}
+
+void WinStack::activateFile(const QString& fileName)
+{
+ activatePath(fileName, 0, DbgAddr());
+}
+
+bool WinStack::activatePath(QString pathName, int lineNo, const DbgAddr& address)
+{
+ // check whether the file is already open
+ SourceWindow* fw = 0;
+ for (int i = count()-1; i >= 0; i--) {
+ if (windowAt(i)->fileName() == pathName) {
+ fw = windowAt(i);
+ break;
+ }
+ }
+ if (fw == 0) {
+ // not found, load it
+ fw = new SourceWindow(pathName, this, "fileWindow");
+
+ // slurp the file in
+ if (!fw->loadFile()) {
+ // read failed
+ delete fw;
+ return false;
+ }
+
+ addTab(fw, QFileInfo(pathName).fileName());
+ setTabToolTip(fw, pathName);
+
+ connect(fw, SIGNAL(clickedLeft(const QString&,int,const DbgAddr&,bool)),
+ SIGNAL(toggleBreak(const QString&,int,const DbgAddr&,bool)));
+ connect(fw, SIGNAL(clickedMid(const QString&,int,const DbgAddr&)),
+ SIGNAL(enadisBreak(const QString&,int,const DbgAddr&)));
+
+ // disassemble code
+ connect(fw, SIGNAL(disassemble(const QString&, int)),
+ SIGNAL(disassemble(const QString&, int)));
+ connect(fw, SIGNAL(expanded(int)), SLOT(slotExpandCollapse(int)));
+ connect(fw, SIGNAL(collapsed(int)), SLOT(slotExpandCollapse(int)));
+
+ // tab width
+ connect(this, SIGNAL(setTabWidth(int)), fw, SLOT(setTabWidth(int)));
+ fw->setTabWidth(m_tabWidth);
+ fw->setFocusPolicy(QWidget::WheelFocus);
+
+ // set PC if there is one
+ emit newFileLoaded();
+ if (m_pcLine >= 0) {
+ setPC(true, m_pcFile, m_pcLine, DbgAddr(m_pcAddress), m_pcFrame);
+ }
+ }
+ return activateWindow(fw, lineNo, address);
+}
+
+bool WinStack::activateWindow(SourceWindow* fw, int lineNo, const DbgAddr& address)
+{
+ // make the line visible
+ if (lineNo >= 0) {
+ fw->scrollTo(lineNo, address);
+ }
+
+ showPage(fw);
+ fw->setFocus();
+
+ return true;
+}
+
+bool WinStack::activeLine(QString& fileName, int& lineNo)
+{
+ DbgAddr dummy;
+ return activeLine(fileName, lineNo, dummy);
+}
+
+bool WinStack::activeLine(QString& fileName, int& lineNo, DbgAddr& address)
+{
+ if (activeWindow() == 0) {
+ return false;
+ }
+
+ fileName = activeFileName();
+ activeWindow()->activeLine(lineNo, address);
+ return true;
+}
+
+void WinStack::updateLineItems(const KDebugger* dbg)
+{
+ for (int i = count()-1; i >= 0; i--) {
+ windowAt(i)->updateLineItems(dbg);
+ }
+}
+
+void WinStack::updatePC(const QString& fileName, int lineNo, const DbgAddr& address, int frameNo)
+{
+ if (m_pcLine >= 0) {
+ setPC(false, m_pcFile, m_pcLine, DbgAddr(m_pcAddress), m_pcFrame);
+ }
+ m_pcFile = fileName;
+ m_pcLine = lineNo;
+ m_pcAddress = address.asString();
+ m_pcFrame = frameNo;
+ if (lineNo >= 0) {
+ setPC(true, fileName, lineNo, address, frameNo);
+ }
+}
+
+SourceWindow* WinStack::findByFileName(const QString& fileName) const
+{
+ for (int i = count()-1; i >= 0; i--) {
+ if (windowAt(i)->fileNameMatches(fileName)) {
+ return windowAt(i);
+ }
+ }
+ return 0;
+}
+
+void WinStack::setPC(bool set, const QString& fileName, int lineNo,
+ const DbgAddr& address, int frameNo)
+{
+ TRACE((set ? "set PC: " : "clear PC: ") + fileName +
+ QString().sprintf(":%d#%d ", lineNo, frameNo) + address.asString());
+ SourceWindow* fw = findByFileName(fileName);
+ if (fw)
+ fw->setPC(set, lineNo, address, frameNo);
+}
+
+SourceWindow* WinStack::windowAt(int i) const
+{
+ return static_cast<SourceWindow*>(page(i));
+}
+
+SourceWindow* WinStack::activeWindow() const
+{
+ return static_cast<SourceWindow*>(currentPage());
+}
+
+QString WinStack::activeFileName() const
+{
+ QString f;
+ if (activeWindow() != 0)
+ f = activeWindow()->fileName();
+ return f;
+}
+
+void WinStack::slotFindForward()
+{
+ if (activeWindow() != 0)
+ activeWindow()->find(m_findDlg.searchText(), m_findDlg.caseSensitive(),
+ SourceWindow::findForward);
+}
+
+void WinStack::slotFindBackward()
+{
+ if (activeWindow() != 0)
+ activeWindow()->find(m_findDlg.searchText(), m_findDlg.caseSensitive(),
+ SourceWindow::findBackward);
+}
+
+void WinStack::maybeTip(const QPoint& p)
+{
+ SourceWindow* w = activeWindow();
+ if (w == 0)
+ return;
+
+ // get the word at the point
+ QString word;
+ QRect r;
+ if (!w->wordAtPoint(w->mapFrom(this, p), word, r))
+ return;
+
+ // must be valid
+ assert(!word.isEmpty());
+ assert(r.isValid());
+
+ // remember the location
+ m_tipLocation = QRect(w->mapTo(this, r.topLeft()), r.size());
+
+ emit initiateValuePopup(word);
+}
+
+void WinStack::slotShowValueTip(const QString& tipText)
+{
+ m_valueTip.tip(m_tipLocation, tipText);
+}
+
+void WinStack::slotDisassembled(const QString& fileName, int lineNo,
+ const std::list<DisassembledCode>& disass)
+{
+ SourceWindow* fw = findByFileName(fileName);
+ if (fw == 0) {
+ // not found: ignore
+ return;
+ }
+
+ fw->disassembled(lineNo, disass);
+}
+
+void WinStack::slotExpandCollapse(int)
+{
+ // update line items after expanding or collapsing disassembled code
+
+ // HACK: we know that this will result in updateLineItems
+ // should be done more cleanly with a separate signal
+ emit newFileLoaded();
+
+ if (m_pcLine >= 0) {
+ setPC(true, m_pcFile, m_pcLine, DbgAddr(m_pcAddress), m_pcFrame);
+ }
+}
+
+
+void WinStack::slotSetTabWidth(int numChars)
+{
+ m_tabWidth = numChars;
+}
+
+void WinStack::slotFileReload()
+{
+ if (activeWindow() != 0) {
+ TRACE("reloading one file");
+ activeWindow()->reloadFile();
+ }
+}
+
+void WinStack::slotViewFind()
+{
+ if (m_findDlg.isVisible()) {
+ m_findDlg.done(0);
+ } else {
+ m_findDlg.show();
+ }
+}
+
+void WinStack::slotBrkptSet()
+{
+ QString file;
+ int lineNo;
+ DbgAddr address;
+ if (activeLine(file, lineNo, address))
+ emit toggleBreak(file, lineNo, address, false);
+}
+
+void WinStack::slotBrkptSetTemp()
+{
+ QString file;
+ int lineNo;
+ DbgAddr address;
+ if (activeLine(file, lineNo, address))
+ emit toggleBreak(file, lineNo, address, true);
+}
+
+void WinStack::slotBrkptEnable()
+{
+ QString file;
+ int lineNo;
+ DbgAddr address;
+ if (activeLine(file, lineNo, address))
+ emit enadisBreak(file, lineNo, address);
+}
+
+void WinStack::slotMoveProgramCounter()
+{
+ QString file;
+ int lineNo;
+ DbgAddr address;
+ if (activeLine(file, lineNo, address))
+ emit moveProgramCounter(file, lineNo, address);
+}
+
+void WinStack::slotClose()
+{
+ QWidget* w = activeWindow();
+ if (!w)
+ return;
+
+ removePage(w);
+ delete w;
+}
+
+
+ValueTip::ValueTip(WinStack* parent) :
+ QToolTip(parent)
+{
+}
+
+void ValueTip::maybeTip(const QPoint& p)
+{
+ WinStack* w = static_cast<WinStack*>(parentWidget());
+ w->maybeTip(p);
+}
+
+
+FindDialog::FindDialog() :
+ QDialog(0, "find", false),
+ m_searchText(this, "text"),
+ m_caseCheck(this, "case"),
+ m_buttonForward(this, "forward"),
+ m_buttonBackward(this, "backward"),
+ m_buttonClose(this, "close"),
+ m_layout(this, 8),
+ m_buttons(4)
+{
+ setCaption(QString(kapp->caption()) + i18n(": Search"));
+
+ m_searchText.setMinimumSize(330, 24);
+ m_searchText.setMaxLength(10000);
+ m_searchText.setFrame(true);
+
+ m_caseCheck.setText(i18n("&Case sensitive"));
+ m_caseCheck.setChecked(true);
+ m_buttonForward.setText(i18n("&Forward"));
+ m_buttonForward.setDefault(true);
+ m_buttonBackward.setText(i18n("&Backward"));
+ m_buttonClose.setText(i18n("Close"));
+
+ m_caseCheck.setMinimumSize(330, 24);
+
+ // get maximum size of buttons
+ QSize maxSize(80,30);
+ maxSize.expandedTo(m_buttonForward.sizeHint());
+ maxSize.expandedTo(m_buttonBackward.sizeHint());
+ maxSize.expandedTo(m_buttonClose.sizeHint());
+
+ m_buttonForward.setMinimumSize(maxSize);
+ m_buttonBackward.setMinimumSize(maxSize);
+ m_buttonClose.setMinimumSize(maxSize);
+
+ connect(&m_buttonClose, SIGNAL(clicked()), SLOT(reject()));
+
+ m_layout.addWidget(&m_searchText);
+ m_layout.addWidget(&m_caseCheck);
+ m_layout.addLayout(&m_buttons);
+ m_layout.addStretch(10);
+ m_buttons.addWidget(&m_buttonForward);
+ m_buttons.addStretch(10);
+ m_buttons.addWidget(&m_buttonBackward);
+ m_buttons.addStretch(10);
+ m_buttons.addWidget(&m_buttonClose);
+
+ m_layout.activate();
+
+ m_searchText.setFocus();
+ resize( 350, 120 );
+}
+
+FindDialog::~FindDialog()
+{
+}
+
+void FindDialog::closeEvent(QCloseEvent* ev)
+{
+ QDialog::closeEvent(ev);
+ emit closed();
+}
+
+void FindDialog::done(int result)
+{
+ QDialog::done(result);
+ emit closed();
+}
+
+#include "winstack.moc"
diff --git a/kdbg/winstack.h b/kdbg/winstack.h
new file mode 100644
index 0000000..22d1470
--- /dev/null
+++ b/kdbg/winstack.h
@@ -0,0 +1,147 @@
+/*
+ * Copyright Johannes Sixt
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef WINSTACK_H
+#define WINSTACK_H
+
+#include <qdialog.h>
+#include <qlineedit.h>
+#include <qlayout.h>
+#include <qcheckbox.h>
+#include <qpushbutton.h>
+#include <qtooltip.h>
+#include <ktabwidget.h>
+#include <list>
+
+// forward declarations
+class KDebugger;
+class WinStack;
+class SourceWindow;
+class DisassembledCode;
+struct DbgAddr;
+
+class FindDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ FindDialog();
+ ~FindDialog();
+
+ bool caseSensitive() const { return m_caseCheck.isChecked(); }
+ QString searchText() const { return m_searchText.text(); }
+ virtual void done(int result);
+
+ QLineEdit m_searchText;
+ QCheckBox m_caseCheck;
+ QPushButton m_buttonForward;
+ QPushButton m_buttonBackward;
+ QPushButton m_buttonClose;
+
+signals:
+ void closed();
+
+protected:
+ virtual void closeEvent(QCloseEvent* ev);
+ QVBoxLayout m_layout;
+ QHBoxLayout m_buttons;
+};
+
+
+class ValueTip : public QToolTip
+{
+public:
+ ValueTip(WinStack* parent);
+ virtual ~ValueTip() {} // Qt3's QToolTip lacks virtual dtor!
+ virtual void maybeTip(const QPoint& p);
+ void tip(const QRect& r, const QString& s) { QToolTip::tip(r, s); }
+};
+
+
+class WinStack : public KTabWidget
+{
+ Q_OBJECT
+public:
+ WinStack(QWidget* parent, const char* name);
+ virtual ~WinStack();
+
+ /**
+ * Slot activate also looks in this directory when the specified file is
+ * a relative path.
+ */
+ void setExtraDirectory(const QString& dir) { m_lastOpenDir = dir; }
+ void activateFile(const QString& fileName);
+ bool activeLine(QString& filename, int& lineNo);
+ bool activeLine(QString& filename, int& lineNo, DbgAddr& address);
+ void maybeTip(const QPoint& p);
+ bool hasWindows() const { return count() > 0; }
+ QString activeFileName() const;
+ SourceWindow* activeWindow() const;
+ SourceWindow* windowAt(int i) const;
+
+ virtual QSize sizeHint() const;
+
+signals:
+ void toggleBreak(const QString&, int, const DbgAddr&, bool);
+ void enadisBreak(const QString&, int, const DbgAddr&);
+ void newFileLoaded();
+ void initiateValuePopup(const QString&);
+ void disassemble(const QString&, int);
+ void setTabWidth(int numChars);
+ void moveProgramCounter(const QString&, int, const DbgAddr&);
+
+public slots:
+ virtual void slotFindForward();
+ virtual void slotFindBackward();
+ virtual void activate(const QString& filename, int lineNo, const DbgAddr& address);
+ void updatePC(const QString& filename, int lineNo, const DbgAddr& address, int frameNo);
+ void reloadAllFiles();
+ void updateLineItems(const KDebugger* deb);
+ void slotSetTabWidth(int numChars);
+
+ void slotFileReload();
+ void slotViewFind();
+ void slotBrkptSet();
+ void slotBrkptSetTemp();
+ void slotBrkptEnable();
+ void slotMoveProgramCounter();
+ void slotClose();
+
+ // Displays the value tip at m_tipLocation
+ void slotShowValueTip(const QString& tipText);
+
+ // Shows the disassembled code at the location given by file and lineNo
+ void slotDisassembled(const QString& fileName, int lineNo,
+ const std::list<DisassembledCode>& disass);
+
+ // Updates line items after expanding/collapsing disassembled code
+ void slotExpandCollapse(int lineNo);
+
+protected:
+ bool activatePath(QString pathname, int lineNo, const DbgAddr& address);
+ virtual bool activateWindow(SourceWindow* fw, int lineNo, const DbgAddr& address); /* -1 doesnt change line */
+ virtual void contextMenuEvent(QContextMenuEvent* e);
+ void setPC(bool set, const QString& fileName, int lineNo,
+ const DbgAddr& address, int frameNo);
+ SourceWindow* findByFileName(const QString& fileName) const;
+ QString m_lastOpenDir; /* where user opened last file */
+
+ // program counter
+ QString m_pcFile;
+ int m_pcLine; /* -1 if no PC */
+ QString m_pcAddress; /* exact address of PC */
+ int m_pcFrame;
+
+ ValueTip m_valueTip;
+ QRect m_tipLocation; /* where tip should appear */
+
+ int m_tabWidth; /* number of chars */
+
+public:
+ // find dialog
+ FindDialog m_findDlg;
+};
+
+#endif // WINSTACK_H
diff --git a/kdbg/xsldbgdriver.cpp b/kdbg/xsldbgdriver.cpp
new file mode 100644
index 0000000..7248697
--- /dev/null
+++ b/kdbg/xsldbgdriver.cpp
@@ -0,0 +1,1452 @@
+/*
+ * Copyright Johannes Sixt, Keith Isdale
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#include "xsldbgdriver.h"
+#include "exprwnd.h"
+#include <qstringlist.h>
+#include <klocale.h> /* i18n */
+#include <ctype.h>
+#include <stdlib.h> /* strtol, atoi */
+#include <string.h> /* strcpy */
+#include <kmessagebox.h>
+
+#include "assert.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "mydebug.h"
+
+
+static ExprValue *parseVar(const char *&s);
+static bool parseName(const char *&s, QString & name,
+ VarTree::NameKind & kind);
+static bool parseValue(const char *&s, ExprValue * variable);
+static bool isErrorExpr(const char *output);
+
+#define TERM_IO_ALLOWED 1
+
+// TODO: make this cmd info stuff non-static to allow multiple
+// simultaneous gdbs to run!
+
+struct XsldbgCmdInfo {
+ DbgCommand cmd;
+ const char *fmt; /* format string */
+ enum Args {
+ argNone, argString, argNum,
+ argStringNum, argNumString,
+ argString2, argNum2
+ } argsNeeded;
+};
+
+/*
+ * The following array of commands must be sorted by the DC* values,
+ * because they are used as indices.
+ */
+static XsldbgCmdInfo cmds[] = {
+ {DCinitialize, "init\n", XsldbgCmdInfo::argNone},
+ {DCtty, "tty %s\n", XsldbgCmdInfo::argString},
+ {DCexecutable, "source %s\n", XsldbgCmdInfo::argString}, /* force a restart */
+ {DCtargetremote, "print 'target remote %s'\n", XsldbgCmdInfo::argString},
+ {DCcorefile, "data %s\n", XsldbgCmdInfo::argString}, /* force a restart */
+ {DCattach, "print 'attach %s'\n", XsldbgCmdInfo::argString},
+ {DCinfolinemain, "print 'info main line'\n", XsldbgCmdInfo::argNone},
+ {DCinfolocals, "locals -f\n", XsldbgCmdInfo::argNone},
+ {DCinforegisters, "print 'info reg'\n", XsldbgCmdInfo::argNone},
+ {DCexamine, "print 'x %s %s'\n", XsldbgCmdInfo::argString2},
+ {DCinfoline, "print 'templates %s:%d'\n", XsldbgCmdInfo::argStringNum},
+ {DCdisassemble, "print 'disassemble %s %s'\n", XsldbgCmdInfo::argString2},
+ {DCsetargs, "data %s\n", XsldbgCmdInfo::argString},
+ {DCsetenv, "addparam %s %s\n", XsldbgCmdInfo::argString2},
+ {DCunsetenv, "unset env %s\n", XsldbgCmdInfo::argString},
+ {DCsetoption, "setoption %s %d\n", XsldbgCmdInfo::argStringNum},
+ {DCcd, "chdir %s\n", XsldbgCmdInfo::argString},
+ {DCbt, "where\n", XsldbgCmdInfo::argNone},
+ {DCrun, "run\nsource\n", XsldbgCmdInfo::argNone}, /* Ensure that at the start
+ of executing XSLT we show the XSLT file */
+ {DCcont, "continue\n", XsldbgCmdInfo::argNone},
+ {DCstep, "step\n", XsldbgCmdInfo::argNone},
+ {DCstepi, "step\n", XsldbgCmdInfo::argNone},
+ {DCnext, "next\n", XsldbgCmdInfo::argNone},
+ {DCnexti, "next\n", XsldbgCmdInfo::argNone},
+ {DCfinish, "stepup\n", XsldbgCmdInfo::argNone},
+ {DCuntil, "continue %s:%d\n", XsldbgCmdInfo::argStringNum},
+ {DCkill, "quit\n", XsldbgCmdInfo::argNone},
+ {DCbreaktext, "break %s\n", XsldbgCmdInfo::argString},
+ {DCbreakline, "break -l %s %d\n", XsldbgCmdInfo::argStringNum},
+ {DCtbreakline, "break -l %s %d\n", XsldbgCmdInfo::argStringNum },
+ {DCbreakaddr, "print `break *%s`\n", XsldbgCmdInfo::argString },
+ {DCtbreakaddr, "print `tbreak *%s`\n", XsldbgCmdInfo::argString },
+ {DCwatchpoint, "print 'watch %s'\n", XsldbgCmdInfo::argString},
+ {DCdelete, "delete %d\n", XsldbgCmdInfo::argNum},
+ {DCenable, "enable %d\n", XsldbgCmdInfo::argNum},
+ {DCdisable, "disable %d\n", XsldbgCmdInfo::argNum},
+ {DCprint, "print %s\n", XsldbgCmdInfo::argString},
+ {DCprintDeref, "print 'print (*%s)'\n", XsldbgCmdInfo::argString},
+ {DCprintStruct, "print 'print %s'\n", XsldbgCmdInfo::argString},
+ {DCprintQStringStruct, "print 'print %s'\n", XsldbgCmdInfo::argString},
+ {DCframe, "frame %d\n", XsldbgCmdInfo::argNum},
+ {DCfindType, "print 'whatis %s'\n", XsldbgCmdInfo::argString},
+ {DCinfosharedlib, "stylesheets\n", XsldbgCmdInfo::argNone},
+ {DCthread, "print 'thread %d'\n", XsldbgCmdInfo::argNum},
+ {DCinfothreads, "print 'info threads'\n", XsldbgCmdInfo::argNone},
+ {DCinfobreak, "show\n", XsldbgCmdInfo::argNone},
+ {DCcondition, "print 'condition %d %s'\n", XsldbgCmdInfo::argNumString},
+ {DCsetpc, "print 'set variable $pc=%s'\n", XsldbgCmdInfo::argString},
+ {DCignore, "print 'ignore %d %d'\n", XsldbgCmdInfo::argNum2},
+ {DCprintWChar, "print 'ignore %s'\n", XsldbgCmdInfo::argString},
+ {DCsetvariable, "set %s %s\n", XsldbgCmdInfo::argString2},
+};
+
+#define NUM_CMDS (int(sizeof(cmds)/sizeof(cmds[0])))
+#define MAX_FMTLEN 200
+
+XsldbgDriver::XsldbgDriver():
+DebuggerDriver(), m_gdbMajor(2), m_gdbMinor(0)
+{
+ m_promptRE.setPattern("\\(xsldbg\\) .*> ");
+ m_promptMinLen = 11;
+ m_promptLastChar = ' ';
+
+ m_markerRE.setPattern("^Breakpoint for file ");
+ m_haveDataFile = FALSE;
+
+#ifndef NDEBUG
+ // check command info array
+ const char *perc;
+
+ for (int i = 0; i < NUM_CMDS; i++) {
+ // must be indexable by DbgCommand values, i.e. sorted by DbgCommand values
+ assert(i == cmds[i].cmd);
+ // a format string must be associated
+ assert(cmds[i].fmt != 0);
+ assert(strlen(cmds[i].fmt) <= MAX_FMTLEN);
+ // format string must match arg specification
+ switch (cmds[i].argsNeeded) {
+ case XsldbgCmdInfo::argNone:
+ assert(strchr(cmds[i].fmt, '%') == 0);
+ break;
+ case XsldbgCmdInfo::argString:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 's');
+ assert(strchr(perc + 2, '%') == 0);
+ break;
+ case XsldbgCmdInfo::argNum:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 'd');
+ assert(strchr(perc + 2, '%') == 0);
+ break;
+ case XsldbgCmdInfo::argStringNum:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 's');
+ perc = strchr(perc + 2, '%');
+ assert(perc != 0 && perc[1] == 'd');
+ assert(strchr(perc + 2, '%') == 0);
+ break;
+ case XsldbgCmdInfo::argNumString:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 'd');
+ perc = strchr(perc + 2, '%');
+ assert(perc != 0 && perc[1] == 's');
+ assert(strchr(perc + 2, '%') == 0);
+ break;
+ case XsldbgCmdInfo::argString2:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 's');
+ perc = strchr(perc + 2, '%');
+ assert(perc != 0 && perc[1] == 's');
+ assert(strchr(perc + 2, '%') == 0);
+ break;
+ case XsldbgCmdInfo::argNum2:
+ perc = strchr(cmds[i].fmt, '%');
+ assert(perc != 0 && perc[1] == 'd');
+ perc = strchr(perc + 2, '%');
+ assert(perc != 0 && perc[1] == 'd');
+ assert(strchr(perc + 2, '%') == 0);
+ break;
+ }
+ }
+#endif
+}
+
+XsldbgDriver::~XsldbgDriver()
+{
+}
+
+
+QString
+XsldbgDriver::driverName() const
+{
+ return "XSLDBG";
+}
+
+QString
+XsldbgDriver::defaultXsldbg()
+{
+ return "xsldbg --lang en --shell --gdb";
+}
+
+QString
+XsldbgDriver::defaultInvocation() const
+{
+ return defaultXsldbg();
+}
+
+QStringList XsldbgDriver::boolOptionList() const
+{
+ QStringList allOptions;
+ allOptions.append("verbose");
+ allOptions.append("repeat");
+ allOptions.append("debug");
+ allOptions.append("novalid");
+ allOptions.append("noout");
+ allOptions.append("html");
+ allOptions.append("docbook");
+ allOptions.append("nonet");
+ allOptions.append("catalogs");
+ allOptions.append("xinclude");
+ allOptions.append("profile");
+ return allOptions;
+}
+
+
+void
+XsldbgDriver::slotReceiveOutput(KProcess * process, char *buffer,
+ int buflen)
+{
+ //TRACE(buffer);
+ if (m_state != DSidle) {
+ // TRACE(buffer);
+ DebuggerDriver::slotReceiveOutput(process, buffer, buflen);
+ } else {
+ if (strncmp(buffer, "quit", 4) == 0) {
+ TRACE("Ignoring text when xsldbg is quiting");
+ } else {
+ TRACE
+ ("Stray output received by XsldbgDriver::slotReceiveOutput");
+ TRACE(buffer);
+ }
+ }
+}
+
+bool
+XsldbgDriver::startup(QString cmdStr)
+{
+ if (!DebuggerDriver::startup(cmdStr))
+ return false;
+
+ static const char xsldbgInitialize[] = "pwd\nsetoption gdb 2\n"; /* don't need to do anything else */
+
+ executeCmdString(DCinitialize, xsldbgInitialize, false);
+
+ return true;
+}
+
+void
+XsldbgDriver::commandFinished(CmdQueueItem * cmd)
+{
+
+ TRACE(__PRETTY_FUNCTION__);
+ // command string must be committed
+ if (!cmd->m_committed) {
+ // not commited!
+ TRACE("calling " +
+ (__PRETTY_FUNCTION__ +
+ (" with uncommited command:\n\t" + cmd->m_cmdString)));
+ return;
+ }
+
+ switch (cmd->m_cmd) {
+ case DCinitialize:
+ // get version number from preamble
+ {
+ int len;
+ QRegExp xsldbgVersion("^XSLDBG [0-9]+\\.[0-9]+\\.[0-9]+");
+ int offset = xsldbgVersion.match(m_output, 0, &len);
+
+ if (offset >= 0) {
+ char *start = m_output + offset + 7; // skip "^XSLDBG "
+ char *end;
+
+ TRACE("Reading version");
+ TRACE(start);
+ m_gdbMajor = strtol(start, &end, 10);
+ m_gdbMinor = strtol(end + 1, 0, 10); // skip "."
+ if (start == end) {
+ // nothing was parsed
+ m_gdbMajor = 0;
+ m_gdbMinor = 7;
+ }
+ } else {
+ // assume some default version (what would make sense?)
+ m_gdbMajor = 0;
+ m_gdbMinor = 7;
+ }
+ TRACE(QString("Got version ") +
+ QString::number(m_gdbMajor) + "." +
+ QString::number(m_gdbMinor));
+ break;
+ }
+ default:;
+ }
+ /* ok, the command is ready */
+ emit commandReceived(cmd, m_output);
+
+ switch (cmd->m_cmd) {
+ case DCbt:
+ case DCinfolocals:
+ case DCrun:
+ case DCcont:
+ case DCstep:
+ case DCnext:
+ case DCfinish:{
+ if (!::isErrorExpr(m_output))
+ parseMarker();
+ else{
+ // This only shows an error for DCinfolocals
+ // need to update KDebugger::handleRunCommand ?
+ KMessageBox::sorry(0L, m_output);
+ }
+ }
+ break;
+
+ case DCinfolinemain:
+ if (!m_xslFile.isEmpty())
+ emit activateFileLine(m_xslFile, 0, DbgAddr());
+ break;
+
+ default:;
+ }
+}
+
+void
+XsldbgDriver::parseMarker()
+{
+
+ // TRACE("parseMarker : xsldbg");
+ // TRACE(m_output);
+ int len, markerStart = -1;
+ char *p = m_output;
+
+ while (markerStart == -1) {
+ if ((p == 0) || (*p == '\0')) {
+ m_output[0] = '\0';
+ return;
+ }
+ //TRACE(QString("parseMarker is looking at :") + p);
+ markerStart = m_markerRE.match(p, 0, &len);
+ if (markerStart == -1) {
+ // try to marker on next line !
+ p = strchr(p, '\n');
+ if ((p != 0) && (*p != '\0'))
+ p++;
+ }
+ }
+
+
+ // extract the marker
+ char *startMarker = p + markerStart + len;
+
+ //TRACE(QString("found marker:") + startMarker);
+ char *endMarker = strchr(startMarker, '\n');
+
+ if (endMarker == 0)
+ return;
+
+ *endMarker = '\0';
+
+ // extract filename and line number
+ static QRegExp MarkerRE(" at line [0-9]+");
+
+ int lineNoStart = MarkerRE.match(startMarker, 0, &len);
+
+ if (lineNoStart >= 0) {
+ int lineNo = atoi(startMarker + lineNoStart + 8);
+
+ DbgAddr address;
+
+ // now show the window
+ startMarker[lineNoStart-1] = '\0'; /* split off file name */
+ TRACE("Got file and line number");
+ startMarker++;
+ TRACE(QString(startMarker) + ": " + QString::number(lineNo));
+ emit activateFileLine(startMarker, lineNo - 1, address);
+ }
+}
+
+
+/*
+ * Escapes characters that might lead to problems when they appear on gdb's
+ * command line.
+ */
+static void
+normalizeStringArg(QString & arg)
+{
+ /*
+ * Remove trailing backslashes. This approach is a little simplistic,
+ * but we know that there is at the moment no case where a trailing
+ * backslash would make sense.
+ */
+ while (!arg.isEmpty() && arg[arg.length() - 1] == '\\') {
+ arg = arg.left(arg.length() - 1);
+ }
+}
+
+
+QString
+XsldbgDriver::makeCmdString(DbgCommand cmd, QString strArg)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == XsldbgCmdInfo::argString);
+
+ normalizeStringArg(strArg);
+
+ if (cmd == DCcd) {
+ // need the working directory when parsing the output
+ m_programWD = strArg;
+ } else if (cmd == DCexecutable) {
+ // want to display the XSL file
+ m_xslFile = strArg;
+ }
+
+ QString cmdString;
+ cmdString.sprintf(cmds[cmd].fmt, strArg.latin1());
+ return cmdString;
+}
+
+QString
+XsldbgDriver::makeCmdString(DbgCommand cmd, int intArg)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == XsldbgCmdInfo::argNum);
+
+ QString cmdString;
+ cmdString.sprintf(cmds[cmd].fmt, intArg);
+ return cmdString;
+}
+
+QString
+XsldbgDriver::makeCmdString(DbgCommand cmd, QString strArg, int intArg)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == XsldbgCmdInfo::argStringNum ||
+ cmds[cmd].argsNeeded == XsldbgCmdInfo::argNumString ||
+ cmd == DCexamine || cmd == DCtty);
+
+ normalizeStringArg(strArg);
+
+ QString cmdString;
+
+ if (cmd == DCtty) {
+ /*
+ * intArg specifies which channels should be redirected to
+ * /dev/null. It is a value or'ed together from RDNstdin,
+ * RDNstdout, RDNstderr.
+ */
+ static const char *const runRedir[8] = {
+ "",
+ " </dev/null",
+ " >/dev/null",
+ " </dev/null >/dev/null",
+ " 2>/dev/null",
+ " </dev/null 2>/dev/null",
+ " >/dev/null 2>&1",
+ " </dev/null >/dev/null 2>&1"
+ };
+
+ if (strArg.isEmpty())
+ intArg = 7; /* failsafe if no tty */
+ m_redirect = runRedir[intArg & 7];
+
+ return makeCmdString(DCtty, strArg); /* note: no problem if strArg empty */
+ }
+
+ if (cmd == DCexamine) {
+ // make a format specifier from the intArg
+ static const char size[16] = {
+ '\0', 'b', 'h', 'w', 'g'
+ };
+ static const char format[16] = {
+ '\0', 'x', 'd', 'u', 'o', 't',
+ 'a', 'c', 'f', 's', 'i'
+ };
+
+ assert(MDTsizemask == 0xf); /* lowest 4 bits */
+ assert(MDTformatmask == 0xf0); /* next 4 bits */
+ int count = 16; /* number of entities to print */
+ char sizeSpec = size[intArg & MDTsizemask];
+ char formatSpec = format[(intArg & MDTformatmask) >> 4];
+
+ assert(sizeSpec != '\0');
+ assert(formatSpec != '\0');
+ // adjust count such that 16 lines are printed
+ switch (intArg & MDTformatmask) {
+ case MDTstring:
+ case MDTinsn:
+ break; /* no modification needed */
+ default:
+ // all cases drop through:
+ switch (intArg & MDTsizemask) {
+ case MDTbyte:
+ case MDThalfword:
+ count *= 2;
+ case MDTword:
+ count *= 2;
+ case MDTgiantword:
+ count *= 2;
+ }
+ break;
+ }
+ QString spec;
+
+ spec.sprintf("/%d%c%c", count, sizeSpec, formatSpec);
+
+ return makeCmdString(DCexamine, spec, strArg);
+ }
+
+ if (cmds[cmd].argsNeeded == XsldbgCmdInfo::argStringNum) {
+ // line numbers are zero-based
+ if (cmd == DCuntil || cmd == DCbreakline ||
+ cmd == DCtbreakline || cmd == DCinfoline) {
+ intArg++;
+ }
+ if (cmd == DCinfoline) {
+ // must split off file name part
+ int slash = strArg.findRev('/');
+
+ if (slash >= 0)
+ strArg = strArg.right(strArg.length() - slash - 1);
+ }
+ cmdString.sprintf(cmds[cmd].fmt, strArg.latin1(), intArg);
+ } else {
+ cmdString.sprintf(cmds[cmd].fmt, intArg, strArg.latin1());
+ }
+ return cmdString;
+}
+
+QString
+XsldbgDriver::makeCmdString(DbgCommand cmd, QString strArg1,
+ QString strArg2)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == XsldbgCmdInfo::argString2);
+
+ normalizeStringArg(strArg1);
+ normalizeStringArg(strArg2);
+
+ QString cmdString;
+ cmdString.sprintf(cmds[cmd].fmt, strArg1.latin1(), strArg2.latin1());
+ return cmdString;
+}
+
+QString
+XsldbgDriver::makeCmdString(DbgCommand cmd, int intArg1, int intArg2)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == XsldbgCmdInfo::argNum2);
+
+ QString cmdString;
+ cmdString.sprintf(cmds[cmd].fmt, intArg1, intArg2);
+ return cmdString;
+}
+
+CmdQueueItem *
+XsldbgDriver::executeCmd(DbgCommand cmd, bool clearLow)
+{
+ assert(cmd >= 0 && cmd < NUM_CMDS);
+ assert(cmds[cmd].argsNeeded == XsldbgCmdInfo::argNone);
+
+ if (cmd == DCrun) {
+ m_haveCoreFile = false;
+ }
+
+ return executeCmdString(cmd, cmds[cmd].fmt, clearLow);
+}
+
+CmdQueueItem *
+XsldbgDriver::executeCmd(DbgCommand cmd, QString strArg, bool clearLow)
+{
+ return executeCmdString(cmd, makeCmdString(cmd, strArg), clearLow);
+}
+
+CmdQueueItem *
+XsldbgDriver::executeCmd(DbgCommand cmd, int intArg, bool clearLow)
+{
+
+ return executeCmdString(cmd, makeCmdString(cmd, intArg), clearLow);
+}
+
+CmdQueueItem *
+XsldbgDriver::executeCmd(DbgCommand cmd, QString strArg, int intArg,
+ bool clearLow)
+{
+ return executeCmdString(cmd, makeCmdString(cmd, strArg, intArg),
+ clearLow);
+}
+
+CmdQueueItem *
+XsldbgDriver::executeCmd(DbgCommand cmd, QString strArg1, QString strArg2,
+ bool clearLow)
+{
+ return executeCmdString(cmd, makeCmdString(cmd, strArg1, strArg2),
+ clearLow);
+}
+
+CmdQueueItem *
+XsldbgDriver::executeCmd(DbgCommand cmd, int intArg1, int intArg2,
+ bool clearLow)
+{
+ return executeCmdString(cmd, makeCmdString(cmd, intArg1, intArg2),
+ clearLow);
+}
+
+CmdQueueItem *
+XsldbgDriver::queueCmd(DbgCommand cmd, QueueMode mode)
+{
+ return queueCmdString(cmd, cmds[cmd].fmt, mode);
+}
+
+CmdQueueItem *
+XsldbgDriver::queueCmd(DbgCommand cmd, QString strArg, QueueMode mode)
+{
+ return queueCmdString(cmd, makeCmdString(cmd, strArg), mode);
+}
+
+CmdQueueItem *
+XsldbgDriver::queueCmd(DbgCommand cmd, int intArg, QueueMode mode)
+{
+ return queueCmdString(cmd, makeCmdString(cmd, intArg), mode);
+}
+
+CmdQueueItem *
+XsldbgDriver::queueCmd(DbgCommand cmd, QString strArg, int intArg,
+ QueueMode mode)
+{
+ return queueCmdString(cmd, makeCmdString(cmd, strArg, intArg), mode);
+}
+
+CmdQueueItem *
+XsldbgDriver::queueCmd(DbgCommand cmd, QString strArg1, QString strArg2,
+ QueueMode mode)
+{
+ return queueCmdString(cmd, makeCmdString(cmd, strArg1, strArg2), mode);
+}
+
+void
+XsldbgDriver::terminate()
+{
+ qDebug("XsldbgDriver::Terminate");
+ flushCommands();
+ executeCmdString(DCinitialize, "quit\n", true);
+ kill(SIGTERM);
+ m_state = DSidle;
+}
+
+void
+XsldbgDriver::detachAndTerminate()
+{
+ qDebug("XsldbgDriver::detachAndTerminate");
+ flushCommands();
+ executeCmdString(DCinitialize, "quit\n", true);
+ kill(SIGINT);
+}
+
+void
+XsldbgDriver::interruptInferior()
+{
+ // remove accidentally queued commands
+ qDebug("interruptInferior");
+ flushHiPriQueue();
+ kill(SIGINT);
+}
+
+static bool
+isErrorExpr(const char *output)
+{
+ int wordIndex;
+ bool result = false;
+#define ERROR_WORD_COUNT 6
+ static const char *errorWords[ERROR_WORD_COUNT] = {
+ "Error:",
+ "error:", // libxslt error
+ "Unknown command",
+ "Warning:",
+ "warning:", // libxslt warning
+ "Information:" // xsldbg information
+ };
+ static int errorWordLength[ERROR_WORD_COUNT] = {
+ 6, /* Error */
+ 6, /* rror */
+ 15, /* Unknown command*/
+ 8, /* Warning */
+ 8, /* warning */
+ 12 /* Information */
+ };
+
+ for (wordIndex = 0; wordIndex < ERROR_WORD_COUNT; wordIndex++){
+ // ignore any warnings relating to local variables not being available
+ if (strncmp(output,
+ errorWords[wordIndex],
+ errorWordLength[wordIndex]) == 0 &&
+ (wordIndex == 0 && strstr(output, "try stepping past the xsl:param") == 0) ) {
+ result = true;
+ TRACE(QString("Error/Warning/Information from xsldbg ") + output);
+ break;
+ }
+ }
+
+ return result;
+}
+
+/**
+ * Returns true if the output is an error message. If wantErrorValue is
+ * true, a new ExprValue object is created and filled with the error message.
+ */
+static bool
+parseErrorMessage(const char *output,
+ ExprValue * &variable, bool wantErrorValue)
+{
+ if (isErrorExpr(output)) {
+ if (wantErrorValue) {
+ // put the error message as value in the variable
+ variable = new ExprValue(QString(), VarTree::NKplain);
+ const char *endMsg = strchr(output, '\n');
+
+ if (endMsg == 0)
+ endMsg = output + strlen(output);
+ variable->m_value = QString::fromLatin1(output, endMsg - output);
+ } else {
+ variable = 0;
+ }
+ return true;
+ }
+ return false;
+}
+
+
+void
+XsldbgDriver::setPrintQStringDataCmd(const char* /*cmd*/)
+{
+}
+
+ExprValue *
+XsldbgDriver::parseQCharArray(const char */*output*/, bool /*wantErrorValue*/,
+ bool /*qt3like*/)
+{
+ ExprValue *variable = 0;
+
+ TRACE("XsldbgDriver::parseQCharArray not implmented");
+ return variable;
+}
+
+static ExprValue *
+parseVar(const char *&s)
+{
+ const char *p = s;
+ bool foundLocalVar = false;
+ ExprValue *variable = 0L;
+ QString name;
+
+ VarTree::NameKind kind;
+
+ TRACE(__PRETTY_FUNCTION__);
+ TRACE(p);
+
+ if (parseErrorMessage(p, variable, false) == true) {
+ TRACE("Found error message");
+ return variable;
+ }
+
+ if (strncmp(p, " Local", 6) == 0) {
+ foundLocalVar = true;
+ /* skip " Local" */
+ p = p + 6;
+ TRACE("Found local variable");
+ } else if (strncmp(p, " Global", 7) == 0) {
+ /* skip " Global" */
+ p = p + 7;
+ TRACE("Found global variable");
+ } else if (strncmp(p, "= ", 2) == 0) {
+ /* we're processing the result of a "print command" */
+ /* find next line */
+ const char *nextLine = strchr(p, '\n');
+
+ TRACE("Found print expr");
+ if (nextLine) {
+ p = p + 2; /* skip the "= " */
+ name = QString::fromLatin1(p, nextLine - p);
+ kind = VarTree::NKplain;
+ p = nextLine + 1;
+ variable = new ExprValue(name, kind);
+ variable->m_varKind = VarTree::VKsimple;
+ parseValue(p, variable);
+ return variable;
+ }
+ } else
+ return variable; /* don't know what to do this this data abort!! */
+
+ // skip whitespace
+ while (isspace(*p))
+ p++;
+
+ if (*p != '='){
+ // No value provided just a name
+ TRACE(QString("Parse var: name") + p);
+ if (!parseName(p, name, kind)) {
+ return 0;
+ }
+ variable = new ExprValue(name, kind);
+ if (variable != 0L) {
+ variable->m_varKind = VarTree::VKsimple;
+ }
+ }else{
+ p++;
+ // skip whitespace
+ while (isspace(*p))
+ p++;
+ TRACE(QString("Parse var: name") + p);
+ if (!parseName(p, name, kind)) {
+ return 0;
+ }
+ variable = new ExprValue(name, kind);
+ if (variable != 0L) {
+ variable->m_varKind = VarTree::VKsimple;
+ }
+ if (*p == '\n')
+ p++;
+ if (!parseValue(p, variable)) {
+ delete variable;
+ return 0;
+ }
+ }
+
+ if (*p == '\n')
+ p++;
+
+ s = p;
+ return variable;
+}
+
+
+inline void
+skipName(const char *&p)
+{
+ // allow : (for enumeration values) and $ and . (for _vtbl.)
+ while (isalnum(*p) || *p == '_' || *p == ':' || *p == '$' || *p == '.')
+ p++;
+}
+
+static bool
+parseName(const char *&s, QString & name, VarTree::NameKind & kind)
+{
+ /* qDebug(__PRETTY_FUNCTION__); */
+ kind = VarTree::NKplain;
+
+ const char *p = s;
+ int len = 0;
+
+ // examples of names:
+ // help_cmd
+
+ while ((*p != '\n') && (*p != '\0')) {
+ len++;
+ p++;
+ }
+
+
+ name = QString::fromLatin1(s, len);
+ /* XSL variables will have a $ prefix to be evaluated
+ * properly */
+ //TRACE(QString("parseName got name" ) + name);
+
+ // return the new position
+ s = p;
+ return true;
+}
+
+static bool
+parseValue(const char *&s, ExprValue * variable)
+{
+ const char *start = s, *end = s;
+ ExprValue * childValue;
+ #define VALUE_END_MARKER_INDEX 0
+
+ /* This mark the end of a value */
+ static const char *marker[] = {
+ "\032\032", /* value end marker*/
+ "(xsldbg) ",
+ "Breakpoint at", /* stepped to next location */
+ "Breakpoint in", /* reached a set breakpoint */
+ "Reached ", /* reached template */
+ "Error:",
+ "Warning:",
+ "Information:",
+ "runtime error",
+ "xmlXPathEval:",
+ 0
+ };
+ static char valueBuffer[2048];
+ int markerIndex = 0, foundEnd = 0;
+ size_t copySize;
+
+ if (variable == 0L)
+ return false; /* should never happen but .. */
+
+ while (start && (*start != '\0')) {
+ /* look for the next marker */
+ for (markerIndex = 0; marker[markerIndex] != 0; markerIndex++) {
+ foundEnd =
+ strncmp(start, marker[markerIndex],
+ strlen(marker[markerIndex])) == 0;
+ if (foundEnd)
+ break;
+ }
+
+ if (foundEnd)
+ break;
+
+
+ end = strchr(start, '\n');
+ if (end)
+ copySize = end - start;
+ else
+ copySize = strlen(start);
+ if (copySize >= sizeof(valueBuffer))
+ copySize = sizeof(valueBuffer)-1;
+
+ strncpy(valueBuffer, start, copySize);
+ valueBuffer[copySize] = '\0';
+ TRACE("Got value :");
+ TRACE(valueBuffer);
+ if ((variable->m_varKind == VarTree::VKsimple)) {
+ if (!variable->m_value.isEmpty()){
+ variable->m_varKind = VarTree::VKarray;
+ childValue = new ExprValue(variable->m_value, VarTree::NKplain);
+ variable->appendChild(childValue);
+ childValue = new ExprValue(valueBuffer, VarTree::NKplain);
+ variable->appendChild(childValue);
+ variable->m_value = "";
+ }else{
+ variable->m_value = valueBuffer;
+ }
+ }else{
+ childValue = new ExprValue(valueBuffer, VarTree::NKplain);
+ variable->appendChild(childValue);
+ }
+
+ if (*end =='\n'){
+ start = end + 1;
+ }else{
+ start = end + 1;
+ break;
+ }
+ }
+
+ if (foundEnd == 0)
+ TRACE(QString("Unable to find end on value near :") + start);
+
+ // If we've got something otherthan a end of value marker then
+ // advance to the end of this buffer
+ if (markerIndex != VALUE_END_MARKER_INDEX){
+ while (start && *start != '\0')
+ start++;
+ }else{
+ start = start + strlen(marker[0]);
+ }
+
+ s = start;
+
+ return true;
+}
+
+
+/**
+ * Parses a stack frame.
+ */
+static void
+parseFrameInfo(const char *&s, QString & func,
+ QString & file, int &lineNo, DbgAddr & /*address*/)
+{
+ const char *p = s, *endPos = s + strlen(s);
+ QString lineNoString;
+
+ TRACE("parseFrameInfo");
+
+ lineNo = -1;
+
+ /* skip 'template :\" */
+ p = p + 11;
+ // TRACE(p);
+ func = "";
+ while ((*p != '\"') && (*p != '\0')) {
+ func.append(*p);
+ p++;
+ }
+ while ((*p != '\0') && *p != '"')
+ p++;
+ if (*p != '\0')
+ p++;
+ ASSERT(p <= endPos);
+ if (p >= endPos) {
+ /* panic */
+ return;
+ }
+
+ /* skip mode :".*" */
+ while ((*p != '\0') && *p != '"')
+ p++;
+ if (*p != '\0')
+ p++;
+ while ((*p != '\0') && *p != '"')
+ p++;
+
+ /* skip '" in file ' */
+ p = p + 10;
+ if(*p == '"')
+ p++;
+ // TRACE(p);
+ file = "";
+ while (!isspace(*p) && (*p != '\"') && (*p != '\0')) {
+ file.append(*p);
+ p++;
+ }
+ if(*p == '"')
+ p++;
+ ASSERT(p <= endPos);
+ if (p >= endPos) {
+ /* panic */
+ return;
+ }
+
+ // TRACE(p);
+ /* skip ' : line '" */
+ p = p + 9;
+ // TRACE(p);
+ ASSERT(p <= endPos);
+ if (p >= endPos) {
+ /* panic */
+ return;
+ }
+ // TRACE(p);
+ if (isdigit(*p)) {
+ /* KDbg uses an offset of +1 for its line numbers */
+ lineNo = atoi(p) - 1;
+ lineNoString = QString::number(lineNo);
+ }
+ /* convert func into format needed */
+ func.append(" at ");
+ func.append(file);
+ func.append(':');
+ func.append(lineNoString);
+
+ /*advance to next line */
+ p = strchr(p, '\n');
+ if (p)
+ p++;
+ s = p;
+
+}
+
+#undef ISSPACE
+
+/**
+ * Parses a stack frame including its frame number
+ */
+static bool
+parseFrame(const char *&s, int &frameNo, QString & func,
+ QString & file, int &lineNo, DbgAddr & address)
+{
+
+ // TRACE("XsldbgDriver ::parseFrame");
+ /* skip leading 'where' or 'frame <frame_no>' */
+ if ((strncmp(s, "where", 5) == 0) || (strncmp(s, "frame", 5) == 0)) {
+ s = strchr(s, '\n');
+ if ((*s != '\0') && (*s != '#'))
+ s++;
+ }
+ // TRACE(s);
+
+ // Example:
+ //#1 template :"/" in file /home/keith/anon_CVS/xsldbg/docs/en/xsldoc.xsl : line 21
+ // must start with a hash mark followed by number
+ if (s[0] != '#' || !isdigit(s[1]))
+ return false;
+
+ //TRACE("XsldbgDriver ::parseFrame got #");
+ s++; /* skip the hash mark */
+ // frame number
+ frameNo = atoi(s);
+ while (isdigit(*s))
+ s++;
+
+ //TRACE(QString("Got frame ").append(QString::number(frameNo)));
+ // space
+ while (isspace(*s))
+ s++;
+ parseFrameInfo(s, func, file, lineNo, address);
+ // TRACE("Will next look at ");
+ // TRACE(s);
+ return true;
+}
+
+void
+XsldbgDriver::parseBackTrace(const char *output,
+ std::list < StackFrame > &stack)
+{
+ QString func, file;
+ int lineNo, frameNo;
+ DbgAddr address;
+
+ while (::parseFrame(output, frameNo, func, file, lineNo, address)) {
+ stack.push_back(StackFrame());
+ StackFrame* frm = &stack.back();
+
+ frm->frameNo = frameNo;
+ frm->fileName = file;
+ frm->lineNo = lineNo;
+ frm->address = address;
+ frm->var = new ExprValue(func, VarTree::NKplain);
+ }
+}
+
+bool
+XsldbgDriver::parseFrameChange(const char *output, int &frameNo,
+ QString & file, int &lineNo,
+ DbgAddr & address)
+{
+ QString func;
+
+ return::parseFrame(output, frameNo, func, file, lineNo, address);
+}
+
+
+bool
+XsldbgDriver::parseBreakList(const char *output,
+ std::list < Breakpoint > &brks)
+{
+ TRACE("parseBreakList");
+ /* skip the first blank line */
+ const char *p;
+
+ // split up a line
+ Breakpoint bp;
+ char *dummy;
+ p = strchr(output, '\n');/* skip the first blank line*/
+
+ while ((p != 0) && (*p != '\0')) {
+ if (*p == '\n')
+ p++;
+ QString templateName;
+ //qDebug("Looking at :%s", p);
+ if (strncmp(p, " Breakpoint", 11) != 0)
+ break;
+ p = p + 11;
+ if (*p == '\0')
+ break;
+
+ //TRACE(p);
+ // get Num
+ bp.id = strtol(p, &dummy, 10); /* don't care about overflows */
+
+ p = dummy;
+ if ((p == 0) || (p[1] == '\0'))
+ break;
+ p++;
+
+ //TRACE(p);
+ // Get breakpoint state ie enabled/disabled
+ if (strncmp(p, "enabled", 7) == 0) {
+ bp.enabled = true;
+ p = p + 7;
+ } else {
+ if (strncmp(p, "disabled", 8) == 0) {
+ p = p + 8;
+ bp.enabled = false;
+ } else{
+ TRACE("Parse error in breakpoint list");
+ TRACE(p);
+ return false;
+ }
+ }
+
+ //TRACE("Looking for template");
+ //TRACE(p);
+ if (strncmp(p, " for template: \"", 16) == 0){
+ p = p + 16;
+ //TRACE("Looking for template name near");
+ //TRACE(p);
+ /* get the template name */
+ while (p && (*p != '\0') && (*p != '\"')){
+ templateName.append(*p);
+ p++;
+ }
+ if (*p == '\"'){
+ p++;
+ }else{
+ TRACE("Error missed \" near");
+ TRACE(p);
+ }
+ }
+
+ //TRACE("Looking for mode near");
+ //TRACE(p);
+ if (strncmp(p, " mode: \"", 8) == 0){
+ p = p + 8;
+ while (p && *p != '\"')
+ p++;
+ if (p)
+ p++;
+ }
+
+ if (strncmp(p, " in file ", 9) != 0){
+ TRACE("Parse error in breakpoint list");
+ TRACE(p);
+ return false;
+ }
+
+
+ /* skip ' in file ' */
+ p = p + 9;
+ // TRACE(p);
+
+ if (*p == '\"')
+ p++;
+ /* grab file name */
+ QString file;
+ while ((*p != '\"') && !isspace(*p)) {
+ file.append(*p);
+ p++;
+ }
+ if (*p == '\"')
+ p++;
+ if (*p == '\0')
+ break;
+
+ /* skip ' : line ' */
+ p = p + 8;
+ while (isspace(*p)) {
+ p++;
+ }
+ //TRACE(p);
+ QString lineNo;
+ while (isdigit(*p)) {
+ lineNo.append(*p);
+ p++;
+ }
+
+ // bp.lineNo is zero-based
+ bp.lineNo = lineNo.toInt() - 1;
+ bp.location = QString("in %1 at %2:%3").arg(templateName, file, lineNo);
+ bp.fileName = file;
+ brks.push_back(bp);
+
+ if (p != 0) {
+ p = strchr(p, '\n');
+ if (p)
+ p++;
+ }
+ }
+ return true;
+}
+
+std::list<ThreadInfo>
+XsldbgDriver::parseThreadList(const char */*output*/)
+{
+ return std::list<ThreadInfo>();
+}
+
+bool
+XsldbgDriver::parseBreakpoint(const char *output, int &id,
+ QString &file, int &lineNo, QString &address)
+{
+ // check for errors
+ if ( strncmp(output, "Error:", 6) == 0) {
+ return false;
+ }
+
+ char *dummy;
+ if (strncmp(output, "Breakpoint ", 11) != 0)
+ return false;
+
+ output += 11;
+ if (!isdigit(*output))
+ return false;
+
+ // get Num
+ id = strtol(output, &dummy, 10); /* don't care about overflows */
+ if (output == dummy)
+ return false;
+
+ // the file name + lineNo will be filled in later from the breakpoint list
+ file = address = QString();
+ lineNo = 0;
+ return true;
+}
+
+void
+XsldbgDriver::parseLocals(const char *output, std::list < ExprValue* > &newVars)
+{
+
+ /* keep going until error or xsldbg prompt is found */
+ while (*output != '\0') {
+ ExprValue *variable = parseVar(output);
+
+ if (variable == 0) {
+ break;
+ }
+ // do not add duplicates
+ for (std::list<ExprValue*>::iterator o = newVars.begin(); o != newVars.end(); ++o) {
+ if ((*o)->m_name == variable->m_name) {
+ delete variable;
+
+ goto skipDuplicate;
+ }
+ }
+ newVars.push_back(variable);
+ skipDuplicate:;
+ }
+}
+
+
+ExprValue *
+XsldbgDriver::parsePrintExpr(const char *output, bool wantErrorValue)
+{
+ ExprValue* var = 0;
+ // check for error conditions
+ if (!parseErrorMessage(output, var, wantErrorValue)) {
+ // parse the variable
+ var = parseVar(output);
+ }
+ return var;
+}
+
+bool
+XsldbgDriver::parseChangeWD(const char *output, QString & message)
+{
+ bool isGood = false;
+
+ if (strncmp(output, "Change to directory", 20) == 0) {
+ output = output + 20; /* skip 'Change to directory' */
+ message = QString(output).simplifyWhiteSpace();
+ if (message.isEmpty()) {
+ message = i18n("New working directory: ") + m_programWD;
+ isGood = true;
+ }
+ }
+ return isGood;
+}
+
+bool
+XsldbgDriver::parseChangeExecutable(const char *output, QString & message)
+{
+ message = output;
+ TRACE(QString("XsldbgDriver::parseChangeExecutable :") + output);
+ m_haveCoreFile = false;
+
+ /*
+ * The command is successful if there is no output or the single
+ * message (no debugging symbols found)...
+ */
+ QRegExp exp(".*Load of source deferred. Use the run command.*");
+ int len, index = exp.match(output, 0, &len);
+
+ if (index != -1) {
+ TRACE("Parsed stylesheet executable");
+ message = "";
+ }
+ return (output[0] == '\0') || (index != -1);
+}
+
+bool
+XsldbgDriver::parseCoreFile(const char *output)
+{
+ TRACE("XsldbgDriver::parseCoreFile");
+ TRACE(output);
+ QRegExp exp(".*Load of data file deferred. Use the run command.*");
+ int len, index = exp.match(output, 0, &len);
+
+ if (index != -1) {
+ m_haveCoreFile = true;
+ TRACE("Parsed data file name");
+ }
+
+ return m_haveCoreFile;
+}
+
+uint
+XsldbgDriver::parseProgramStopped(const char *output, QString & message)
+{
+ /* Not sure about this function leave it here for the moment */
+ /*
+ * return DebuggerDriver::SFrefreshBreak & DebuggerDriver::SFprogramActive;
+ */
+
+ // go through the output, line by line, checking what we have
+ const char *start = output - 1;
+ uint flags = SFprogramActive;
+
+ message = QString();
+ do {
+ start++; /* skip '\n' */
+
+ if (strncmp(start, "Finished stylesheet\n\032\032\n", 21) == 0){
+ // flags &= ~SFprogramActive;
+ break;
+ }
+
+ // next line, please
+ start = strchr(start, '\n');
+ } while (start != 0);
+
+ return flags;
+}
+
+QStringList
+XsldbgDriver::parseSharedLibs(const char */*output*/)
+{
+ return QStringList();
+}
+
+bool
+XsldbgDriver::parseFindType(const char */*output*/, QString & /*type*/)
+{
+ return true;
+}
+
+std::list<RegisterInfo>
+XsldbgDriver::parseRegisters(const char */*output*/)
+{
+ return std::list<RegisterInfo>();
+}
+
+bool
+XsldbgDriver::parseInfoLine(const char */*output*/, QString & /*addrFrom*/,
+ QString & /*addrTo*/)
+{
+ return false;
+}
+
+std::list<DisassembledCode>
+XsldbgDriver::parseDisassemble(const char */*output*/)
+{
+ return std::list<DisassembledCode>();
+}
+
+QString
+XsldbgDriver::parseMemoryDump(const char */*output*/,
+ std::list < MemoryDump > &/*memdump*/)
+{
+ return i18n("No memory dump available");
+}
+
+QString
+XsldbgDriver::parseSetVariable(const char */*output*/)
+{
+ QString msg;
+ return msg;
+}
+
+
+#include "xsldbgdriver.moc"
diff --git a/kdbg/xsldbgdriver.h b/kdbg/xsldbgdriver.h
new file mode 100644
index 0000000..f27b09d
--- /dev/null
+++ b/kdbg/xsldbgdriver.h
@@ -0,0 +1,106 @@
+/*
+ * Copyright Johannes Sixt, Keith Isdale
+ * This file is licensed under the GNU General Public License Version 2.
+ * See the file COPYING in the toplevel directory of the source directory.
+ */
+
+#ifndef XSLDBGDRIVER_H
+#define XSLDBGDRIVER_H
+
+#include "dbgdriver.h"
+#include "qregexp.h"
+
+
+class XsldbgDriver:public DebuggerDriver {
+ Q_OBJECT public:
+ XsldbgDriver();
+ ~XsldbgDriver();
+
+ virtual QString driverName() const;
+ virtual QString defaultInvocation() const;
+ virtual QStringList boolOptionList() const;
+ static QString defaultXsldbg();
+ virtual bool startup(QString cmdStr);
+ virtual void commandFinished(CmdQueueItem * cmd);
+ void slotReceiveOutput(KProcess * process, char *buffer, int buflen);
+
+ virtual CmdQueueItem *executeCmd(DbgCommand, bool clearLow = false);
+ virtual CmdQueueItem *executeCmd(DbgCommand, QString strArg,
+ bool clearLow = false);
+ virtual CmdQueueItem *executeCmd(DbgCommand, int intArg,
+ bool clearLow = false);
+ virtual CmdQueueItem *executeCmd(DbgCommand, QString strArg,
+ int intArg, bool clearLow = false);
+ virtual CmdQueueItem *executeCmd(DbgCommand, QString strArg1,
+ QString strArg2, bool clearLow =
+ false);
+ virtual CmdQueueItem *executeCmd(DbgCommand, int intArg1, int intArg2,
+ bool clearLow = false);
+ virtual CmdQueueItem *queueCmd(DbgCommand, QueueMode mode);
+ virtual CmdQueueItem *queueCmd(DbgCommand, QString strArg,
+ QueueMode mode);
+ virtual CmdQueueItem *queueCmd(DbgCommand, int intArg, QueueMode mode);
+ virtual CmdQueueItem *queueCmd(DbgCommand, QString strArg, int intArg,
+ QueueMode mode);
+ virtual CmdQueueItem *queueCmd(DbgCommand, QString strArg1,
+ QString strArg2, QueueMode mode);
+
+ virtual void terminate();
+ virtual void detachAndTerminate();
+ virtual void interruptInferior();
+
+ virtual void setPrintQStringDataCmd(const char* cmd);
+ /**
+ * Parses the output as an array of QChars.
+ */
+ virtual ExprValue *parseQCharArray(const char *output,
+ bool wantErrorValue, bool qt3like);
+
+ virtual void parseBackTrace(const char *output,
+ std::list < StackFrame > &stack);
+ virtual bool parseFrameChange(const char *output, int &frameNo,
+ QString & file, int &lineNo,
+ DbgAddr & address);
+ virtual bool parseBreakList(const char *output,
+ std::list < Breakpoint > &brks);
+ virtual std::list<ThreadInfo> parseThreadList(const char *output);
+ virtual bool parseBreakpoint(const char *output, int &id,
+ QString & file, int &lineNo, QString& address);
+ virtual void parseLocals(const char *output,
+ std::list < ExprValue* > &newVars);
+ virtual ExprValue * parsePrintExpr(const char *output, bool wantErrorValue);
+ virtual bool parseChangeWD(const char *output, QString & message);
+ virtual bool parseChangeExecutable(const char *output,
+ QString & message);
+ virtual bool parseCoreFile(const char *output);
+ virtual uint parseProgramStopped(const char *output,
+ QString & message);
+ virtual QStringList parseSharedLibs(const char *output);
+ virtual bool parseFindType(const char *output, QString & type);
+ virtual std::list<RegisterInfo> parseRegisters(const char *output);
+ virtual bool parseInfoLine(const char *output, QString & addrFrom,
+ QString & addrTo);
+ virtual std::list<DisassembledCode> parseDisassemble(const char *output);
+ virtual QString parseMemoryDump(const char *output,
+ std::list < MemoryDump > &memdump);
+ virtual QString parseSetVariable(const char* output);
+
+ protected:
+ int m_gdbMajor, m_gdbMinor;
+ QString m_programWD; /* just an intermediate storage */
+ QString m_xslFile; /* needed to display it initially */
+ bool m_haveDataFile; /* have we set the XML data file to use? */
+ QString m_redirect; /* redirection to /dev/null */
+ bool m_haveCoreFile;
+ QRegExp m_markerRE;
+
+ QString makeCmdString(DbgCommand cmd, QString strArg);
+ QString makeCmdString(DbgCommand cmd, int intArg);
+ QString makeCmdString(DbgCommand cmd, QString strArg, int intArg);
+ QString makeCmdString(DbgCommand cmd, QString strArg1,
+ QString strArg2);
+ QString makeCmdString(DbgCommand cmd, int intArg1, int intArg2);
+ void parseMarker();
+};
+
+#endif // XSLDBGDRIVER_H
diff --git a/po/Makefile.am b/po/Makefile.am
new file mode 100644
index 0000000..310ebaf
--- /dev/null
+++ b/po/Makefile.am
@@ -0,0 +1,5 @@
+POFILES = AUTO
+
+# To merge the messages from kdbg.pot into the *.po files do this
+# in the _source_ directory:
+# make -f ../admin/Makefile.common package-merge POFILES='*.po' PACKAGE=kdbg > /dev/null
diff --git a/po/Makefile.in b/po/Makefile.in
new file mode 100644
index 0000000..6d0ef53
--- /dev/null
+++ b/po/Makefile.in
@@ -0,0 +1,687 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = po
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 1
+#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+#>+ 1
+DISTFILES = $(GMOFILES) $(POFILES) $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+ARTSCCONFIG = @ARTSCCONFIG@
+AUTOCONF = @AUTOCONF@
+AUTODIRS = @AUTODIRS@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOPIDLNG = @DCOPIDLNG@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+KCONFIG_COMPILER = @KCONFIG_COMPILER@
+KDECONFIG = @KDECONFIG@
+KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+KDE_MT_LIBS = @KDE_MT_LIBS@
+KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+KDE_USE_FPIE = @KDE_USE_FPIE@
+KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+KDE_USE_PIE = @KDE_USE_PIE@
+KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBRESOLV = @LIBRESOLV@
+LIBS = @LIBS@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBUTIL = @LIBUTIL@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KABC = @LIB_KABC@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDED = @LIB_KDED@
+LIB_KDEPIM = @LIB_KDEPIM@
+LIB_KDEPRINT = @LIB_KDEPRINT@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KDNSSD = @LIB_KDNSSD@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMPROXY = @LIB_KIMPROXY@
+LIB_KIO = @LIB_KIO@
+LIB_KJS = @LIB_KJS@
+LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KUNITTEST = @LIB_KUNITTEST@
+LIB_KUTILS = @LIB_KUTILS@
+LIB_POLL = @LIB_POLL@
+LIB_QPE = @LIB_QPE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LIB_XEXT = @LIB_XEXT@
+LIB_XRENDER = @LIB_XRENDER@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+MCOPIDL = @MCOPIDL@
+MEINPROC = @MEINPROC@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CFLAGS = @NOOPT_CFLAGS@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PS_COMMAND = @PS_COMMAND@
+QTE_NORTTI = @QTE_NORTTI@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+UIC_TR = @UIC_TR@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+XGETTEXT = @XGETTEXT@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+X_RPATH = @X_RPATH@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_kcfgdir = @kde_kcfgdir@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_qtver = @kde_qtver@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_styledir = @kde_styledir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+kde_widgetdir = @kde_widgetdir@
+kdeinitdir = @kdeinitdir@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+xdg_appsdir = @xdg_appsdir@
+xdg_directorydir = @xdg_directorydir@
+xdg_menudir = @xdg_menudir@
+#>- POFILES = AUTO
+#>+ 2
+POFILES = pt.po it.po hu.po da.po ru.po es.po sv.po nb.po fr.po zh_CN.po cs.po nn.po sk.po ro.po sr.po de.po pl.po ja.po hr.po tr.po
+GMOFILES = pt.gmo it.gmo hu.gmo da.gmo ru.gmo es.gmo sv.gmo nb.gmo fr.gmo zh_CN.gmo cs.gmo nn.gmo sk.gmo ro.gmo sr.gmo de.gmo pl.gmo ja.gmo hr.gmo tr.gmo
+#>- all: all-am
+#>+ 1
+all: all-nls docs-am all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+#>- @for dep in $?; do \
+#>- case '$(am__configure_deps)' in \
+#>- *$$dep*) \
+#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+#>- && exit 0; \
+#>- exit 1;; \
+#>- esac; \
+#>- done; \
+#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu po/Makefile'; \
+#>- cd $(top_srcdir) && \
+#>- $(AUTOMAKE) --gnu po/Makefile
+#>+ 12
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu po/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu po/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin po/Makefile.in
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+#>- distdir: $(DISTFILES)
+#>+ 1
+distdir: distdir-nls $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+#>- uninstall: uninstall-am
+#>+ 1
+uninstall: uninstall-nls uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+#>- clean: clean-am
+#>+ 1
+clean: kde-rpo-clean clean-am
+
+#>- clean-am: clean-generic clean-libtool mostlyclean-am
+#>+ 1
+clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+#>- install-data-am:
+#>+ 1
+install-data-am: install-nls
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+#>- maintainer-clean: maintainer-clean-am
+#>+ 1
+maintainer-clean: clean-nls maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+
+# To merge the messages from kdbg.pot into the *.po files do this
+# in the _source_ directory:
+# make -f ../admin/Makefile.common package-merge POFILES='*.po' PACKAGE=kdbg > /dev/null
+# 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
+KDE_DIST=tr.gmo zh_CN.po sv.gmo sr.gmo nn.po da.po ru.gmo nb.gmo de.po ja.gmo fr.po nb.po cs.po tr.po zh_CN.gmo sk.gmo ro.po ja.po it.gmo de.gmo es.po pt.gmo es.gmo it.po da.gmo sr.po pl.gmo pt.po hr.po ru.po fr.gmo ro.gmo cs.gmo nn.gmo Makefile.in hr.gmo sv.po hu.po pl.po sk.po hu.gmo Makefile.am
+
+#>+ 61
+pt.gmo: pt.po
+ rm -f pt.gmo; $(GMSGFMT) -o pt.gmo $(srcdir)/pt.po
+ test ! -f pt.gmo || touch pt.gmo
+it.gmo: it.po
+ rm -f it.gmo; $(GMSGFMT) -o it.gmo $(srcdir)/it.po
+ test ! -f it.gmo || touch it.gmo
+hu.gmo: hu.po
+ rm -f hu.gmo; $(GMSGFMT) -o hu.gmo $(srcdir)/hu.po
+ test ! -f hu.gmo || touch hu.gmo
+da.gmo: da.po
+ rm -f da.gmo; $(GMSGFMT) -o da.gmo $(srcdir)/da.po
+ test ! -f da.gmo || touch da.gmo
+ru.gmo: ru.po
+ rm -f ru.gmo; $(GMSGFMT) -o ru.gmo $(srcdir)/ru.po
+ test ! -f ru.gmo || touch ru.gmo
+es.gmo: es.po
+ rm -f es.gmo; $(GMSGFMT) -o es.gmo $(srcdir)/es.po
+ test ! -f es.gmo || touch es.gmo
+sv.gmo: sv.po
+ rm -f sv.gmo; $(GMSGFMT) -o sv.gmo $(srcdir)/sv.po
+ test ! -f sv.gmo || touch sv.gmo
+nb.gmo: nb.po
+ rm -f nb.gmo; $(GMSGFMT) -o nb.gmo $(srcdir)/nb.po
+ test ! -f nb.gmo || touch nb.gmo
+fr.gmo: fr.po
+ rm -f fr.gmo; $(GMSGFMT) -o fr.gmo $(srcdir)/fr.po
+ test ! -f fr.gmo || touch fr.gmo
+zh_CN.gmo: zh_CN.po
+ rm -f zh_CN.gmo; $(GMSGFMT) -o zh_CN.gmo $(srcdir)/zh_CN.po
+ test ! -f zh_CN.gmo || touch zh_CN.gmo
+cs.gmo: cs.po
+ rm -f cs.gmo; $(GMSGFMT) -o cs.gmo $(srcdir)/cs.po
+ test ! -f cs.gmo || touch cs.gmo
+nn.gmo: nn.po
+ rm -f nn.gmo; $(GMSGFMT) -o nn.gmo $(srcdir)/nn.po
+ test ! -f nn.gmo || touch nn.gmo
+sk.gmo: sk.po
+ rm -f sk.gmo; $(GMSGFMT) -o sk.gmo $(srcdir)/sk.po
+ test ! -f sk.gmo || touch sk.gmo
+ro.gmo: ro.po
+ rm -f ro.gmo; $(GMSGFMT) -o ro.gmo $(srcdir)/ro.po
+ test ! -f ro.gmo || touch ro.gmo
+sr.gmo: sr.po
+ rm -f sr.gmo; $(GMSGFMT) -o sr.gmo $(srcdir)/sr.po
+ test ! -f sr.gmo || touch sr.gmo
+de.gmo: de.po
+ rm -f de.gmo; $(GMSGFMT) -o de.gmo $(srcdir)/de.po
+ test ! -f de.gmo || touch de.gmo
+pl.gmo: pl.po
+ rm -f pl.gmo; $(GMSGFMT) -o pl.gmo $(srcdir)/pl.po
+ test ! -f pl.gmo || touch pl.gmo
+ja.gmo: ja.po
+ rm -f ja.gmo; $(GMSGFMT) -o ja.gmo $(srcdir)/ja.po
+ test ! -f ja.gmo || touch ja.gmo
+hr.gmo: hr.po
+ rm -f hr.gmo; $(GMSGFMT) -o hr.gmo $(srcdir)/hr.po
+ test ! -f hr.gmo || touch hr.gmo
+tr.gmo: tr.po
+ rm -f tr.gmo; $(GMSGFMT) -o tr.gmo $(srcdir)/tr.po
+ test ! -f tr.gmo || touch tr.gmo
+
+#>+ 3
+clean-nls:
+ -rm -f pt.gmo it.gmo hu.gmo da.gmo ru.gmo es.gmo sv.gmo nb.gmo fr.gmo zh_CN.gmo cs.gmo nn.gmo sk.gmo ro.gmo sr.gmo de.gmo pl.gmo ja.gmo hr.gmo tr.gmo
+
+#>+ 10
+install-nls:
+ @for base in pt it hu da ru es sv nb fr zh_CN cs nn sk ro sr de pl ja hr tr ; do \
+ echo $(INSTALL_DATA) $$base.gmo $(DESTDIR)$(kde_locale)/$$base/LC_MESSAGES/$(PACKAGE).mo ;\
+ $(mkinstalldirs) $(DESTDIR)$(kde_locale)/$$base/LC_MESSAGES ; \
+ if test -f $$base.gmo; then $(INSTALL_DATA) $$base.gmo $(DESTDIR)$(kde_locale)/$$base/LC_MESSAGES/$(PACKAGE).mo ;\
+ elif test -f $(srcdir)/$$base.gmo; then $(INSTALL_DATA) $(srcdir)/$$base.gmo $(DESTDIR)$(kde_locale)/$$base/LC_MESSAGES/$(PACKAGE).mo ;\
+ fi ;\
+ done
+
+
+#>+ 22
+uninstall-nls:
+ rm -f $(DESTDIR)$(kde_locale)/pt/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/it/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/hu/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/da/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/ru/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/es/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/sv/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/nb/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/fr/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/zh_CN/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/cs/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/nn/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/sk/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/ro/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/sr/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/de/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/pl/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/ja/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/hr/LC_MESSAGES/$(PACKAGE).mo
+ rm -f $(DESTDIR)$(kde_locale)/tr/LC_MESSAGES/$(PACKAGE).mo
+
+#>+ 2
+all-nls: $(GMOFILES)
+
+#>+ 8
+distdir-nls:$(GMOFILES)
+ for file in $(POFILES); do \
+ cp $(srcdir)/$$file $(distdir); \
+ done
+ for file in $(GMOFILES); do \
+ cp $(srcdir)/$$file $(distdir); \
+ done
+
+#>+ 4
+merge:
+ $(MAKE) -f $(top_srcdir)/admin/Makefile.common package-merge POFILES="${POFILES}" PACKAGE=${PACKAGE}
+
+
+#>+ 2
+docs-am:
+
+#>+ 15
+force-reedit:
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu po/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu po/Makefile
+ cd $(top_srcdir) && perl admin/am_edit -padmin po/Makefile.in
+
+
+#>+ 21
+clean-bcheck:
+ rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+
+bcheck: bcheck-am
+
+bcheck-am:
+ @for i in ; do \
+ if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+ echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+ echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+ echo "$$i"; \
+ if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+ rm -f $$i.bchecktest.cc; exit 1; \
+ fi ; \
+ echo "" >> $$i.bchecktest.cc.class; \
+ perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+ rm -f a.out; \
+ fi ; \
+ done
+
+
+#>+ 3
+final:
+ $(MAKE) all-am
+
+#>+ 3
+final-install:
+ $(MAKE) install-am
+
+#>+ 3
+no-final:
+ $(MAKE) all-am
+
+#>+ 3
+no-final-install:
+ $(MAKE) install-am
+
+#>+ 3
+kde-rpo-clean:
+ -rm -f *.rpo
+
+#>+ 3
+nmcheck:
+nmcheck-am: nmcheck
diff --git a/po/cs.gmo b/po/cs.gmo
new file mode 100644
index 0000000..e1172b2
--- /dev/null
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..1d15543
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,898 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998-2001 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 2001
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 15:56MDT\n"
+"Last-Translator: Radek Malcic <malcic@atlas.cz>\n"
+"Language-Team: Czech <flidr@kky.zcu.cz>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Hodnota"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr "Adresa"
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr "B&ytová"
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr "He&xadecimální"
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr "&Osmičková"
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr "&Binární"
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr "&Adresa"
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr "&Znak"
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+msgid "&Strings"
+msgstr "&Řetězec..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr "&Instrukce"
+
+#: brkpt.cpp:63
+msgid "Add &Breakpoint"
+msgstr "Přidat &Zarážku"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr "Přidat &Watchpoint"
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr "&Zakázat"
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr "&Povolit"
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Zobrazit kód"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Podmínka..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Umístění"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Hodnoty"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Ignorovat"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Podmínka"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Podmíněná zarážka"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Podmínka:"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Ignorovat &následující hodnoty:"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Nový pracovní adresář: "
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 se neočekávaně ukončilo\n"
+"Obnovit proces ?"
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Přidat "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Smazat "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "Spušt&ění"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktivní"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+"Nemohu spustit proces ladění.\n"
+"Prosím, ukončete KDbg a upozorněte autora programu."
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Globalní nastavení"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr "&Nastavení"
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Výstup programu"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+msgid "path of executable to debug"
+msgstr "Vyberte spustitelný soubor, který chcete trasovat"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr "soubor core, který chcete použít"
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Nelze spustit debuger."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Chcete-li použít základní nastavení, smažte zadané hodnoty."
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "Spuštění &GDB:"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T nahrazuje titulek okna,\n"
+"%C nahrazuje shell script, který otevírá okno terminálu."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "&Terminál pro výstup programu:"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Připojit k procesu"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Zadejte číslo procesu pro připojení:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+"Jak spustit &GDB - ponechte prázdné,\n"
+"pokud chcete použít základní nastavení:"
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr "Žád&ný vstup a výstup"
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr "Pouze &výstup, jednoduchá emulace terminálu"
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr "Plná emulace &terminálu"
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr "%1: Nastavení pro %2"
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr "&Výstup"
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Hledat"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Rozlišovat velká/malá"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Vpřed"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "V&zad"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "Spušt&ění"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Zarážka"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Argumenty programu"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argumenty..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Spustit %1 s argumenty:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "Pracovní adresář:"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Více..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Proměnné prostředí (Jméno=hodnota):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Jméno"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "&Globalní nastavení..."
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Připojit k procesu"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, fuzzy, no-c-format
+msgid "Clear filter"
+msgstr "|Hlavičkové soubory\n"
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr "ID Vlákna"
+
+#: dbgmainwnd.cpp:46
+msgid "Source"
+msgstr "Zdroj"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr "Zásobník"
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr "Lokalní proměnné"
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "&Zakázat"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+msgid "Registers"
+msgstr "Registry"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Zarážky"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr "Výstup"
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr "Vlákna"
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr "Pamět"
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Otevřít zdroj..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Znovu načíst zdroj"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "Spustit&elný soubor..."
+
+#: dbgmainwnd.cpp:189
+msgid "Recent E&xecutables"
+msgstr "Naposledy spuštěné soubory"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Core dump..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "&Globalní nastavení..."
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Okno"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr "Zdrojový &kod"
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr "Zásobní&k"
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr "&Lokalní proměnné"
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr "&Registry"
+
+#: dbgmainwnd.cpp:219
+msgid "&Breakpoints"
+msgstr "&Zarážky"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr "V&lákna"
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr "Pa&mě"
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Spustit"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Krok &do"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Krok &přes"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "Krok &ven"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Spustit ke &kurzoru"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr "Krok do po instrukci"
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr "Krok přes po instrukci"
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "P&řerušit"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr "&Zabít"
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "Res&tartovat"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "Připojit..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumenty..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Nastavit/smazat &zarážku"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Nastavit &dočasnou zarážku"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "Po&volit/zakázat zarážku"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Hodnota"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Restartovat"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Core dump"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' není souborem nebo neexistuje"
+
+#: dbgmainwnd.cpp:702
+msgid "|All source files\n"
+msgstr "|Všechny zdrojové soubory\n"
+
+#: dbgmainwnd.cpp:703
+msgid "|Source files\n"
+msgstr "|Zdrojové soubory\n"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr "|Hlavičkové soubory\n"
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr "*|Všechny soubory"
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Vyberte spustitelný soubor, který chcete trasovat"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Vyberte core dump"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr "&Umístit na pozadí po skončení programu"
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr "Okno &zpět (v milisekundách):"
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr "Velikost &tabelátoru (počet znaků):"
+
+#: prefmisc.cpp:37
+msgid "File filter for &source files:"
+msgstr "Filtr pro zdrojové &soubory:"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr "Filtr pro &hlavičkové soubory:"
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr "&Smazat"
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr "&Desítková"
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+msgid "Register"
+msgstr "Registr"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr "Dekódovaná hodnota"
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#~ msgid "&Settings..."
+#~ msgstr "Na&stavení..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Přepnout panel &nástrojů"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Přepnout &stavový řádek"
+
+#~ msgid "Executable"
+#~ msgstr "Spustitelný soubor"
+
+#~ msgid "Open a source file"
+#~ msgstr "Otevřít zdrojový soubor"
+
+#~ msgid "Reload source file"
+#~ msgstr "Znovu načíst zdrojový soubor"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Spustit/Pokračovat"
+
+#~ msgid "Step into"
+#~ msgstr "Krok do"
+
+#~ msgid "Step over"
+#~ msgstr "Krok přes"
+
+#~ msgid "Step out"
+#~ msgstr "Krok ven"
+
+#~ msgid "Step into by instruction"
+#~ msgstr "Krok do po instrukci"
+
+#~ msgid "Step over by instruction"
+#~ msgstr "Krok přes po instrukci"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Zarážka"
+
+#~ msgid "Search"
+#~ msgstr "Hledat"
diff --git a/po/da.gmo b/po/da.gmo
new file mode 100644
index 0000000..d3e24fd
--- /dev/null
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000..536fcd5
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,891 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998,1999 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 1999
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 15:57MDT\n"
+"Last-Translator: Steen Rabol <rabol@get2net.dk>\n"
+"Language-Team: da <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Værdi"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+msgid "&Strings"
+msgstr ""
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "Sæt/fjern &breakpoint"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Vis kode"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Betingelser..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Lokation"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr ""
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Ignorer"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Betingelse"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Betingelses breakpoint"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Betingelse:"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Ignorer og gå til &næste"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr ""
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 afsluttede uventet.\n"
+"Genstart sesionen (eks. med fil|Applikation)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Tilføj "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Slet "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "&Udførelse"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktiv"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ""
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ""
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Vælg program der skal debugges"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Kan ikke starte debugger"
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr ""
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr ""
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr ""
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Hæft til proces"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Specificer det proces nummer der skal hæftes til:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Søg"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Forskel på store og små bogstaver"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Fremad"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Baglæns"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "&Udførelse"
+
+#: rc.cpp:12
+#, fuzzy, no-c-format
+msgid "&Breakpoint"
+msgstr "Sæt/fjern &breakpoint"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Program argumenter"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argumenter..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Udfør %1 med disse parametre"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, no-c-format
+msgid "&Working Directory"
+msgstr ""
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Mere..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Enviroment variable(NAVN=værdi)"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Navn"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, no-c-format
+msgid "&xsldbg Options"
+msgstr ""
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Hæft til proces"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "&Genlæs kilde kode"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "Værdi"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Genstart"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr ""
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Åben kilde kode..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Genlæs kilde kode"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Applikation..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Applikation"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr ""
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr ""
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Vindue"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+#, fuzzy
+msgid "&Registers"
+msgstr "Genstart"
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Sæt/fjern &breakpoint"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Udfør"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Gå &ind i"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Spring &over"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "Hop &ud"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Udfør til markør"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr ""
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "Gen&start"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "&Vedhæft..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumenter..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Sæt/fjern &breakpoint"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Sæt midlertidigt breakpoint"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Aktiver/Deaktiver breakpoint"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Værdi"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Genstart"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr ""
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "'%1' er ikke en fil eller findes ikke"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Genlæs kilde kode"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Åben en kilde kode fil"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Vælg program der skal debugges"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Vælg core dump"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Genlæs kilde kode"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Genstart"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Vis/gem &toolbar"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Vis/gem &statusbar"
+
+#~ msgid "Executable"
+#~ msgstr "Applikation"
+
+#~ msgid "Open a source file"
+#~ msgstr "Åben en kilde kode fil"
+
+#~ msgid "Reload source file"
+#~ msgstr "Genlæs kilde kode"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Udfør/fortsæt"
+
+#~ msgid "Step into"
+#~ msgstr "Hop ind i"
+
+#~ msgid "Step over"
+#~ msgstr "Spring over"
+
+#~ msgid "Step out"
+#~ msgstr "Hop ud"
+
+#~ msgid "Search"
+#~ msgstr "Søg"
diff --git a/po/de.gmo b/po/de.gmo
new file mode 100644
index 0000000..dceb813
--- /dev/null
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..bd65ce7
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,904 @@
+# translation of de.po to Deutsch
+# KDbg - Debugger GUI for gdb
+# Copyright (C) Johannes Sixt <j6t@kdbg.org>, 1998-2009.
+#
+# Johannes Sixt <j6t@kdbg.org>, 2005, 2006, 2007, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: de\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2009-07-19 23:09+0200\n"
+"Last-Translator: Johannes Sixt <j6t@kdbg.org>\n"
+"Language-Team: Deutsch <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Wert"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr "Adresse"
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr "B&ytes"
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr "Halbwörter (&2 Bytes)"
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr "Wörter (&4 Bytes)"
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr "Doppelwörter (&8 Bytes)"
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr "He&xadezimal"
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr "&Dezimal mit Vorzeichen"
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr "D&ezimal ohne Vorzeichen"
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr "&Oktal"
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr "&Binär"
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr "&Adressen"
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr "&Zeichen"
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr "&Fließkomma"
+
+#: memwindow.cpp:83
+msgid "&Strings"
+msgstr "&Zeichenketten"
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr "D&isassembliert"
+
+#: brkpt.cpp:63
+msgid "Add &Breakpoint"
+msgstr "&Haltepunkt"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr "&Watchpoint"
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr "&Deaktivieren"
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr "&Aktivieren"
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Code anzeigen"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Bedingt..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Ort"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Stops"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Ignorieren"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Bedingung"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Bedingten Haltepunkt setzen"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Bedingung:"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Ignoriere &nächste Treffer:"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr "<anonyme struct oder union>"
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr "<weitere Einträge unterdrückt>"
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Neues Arbeitsverzeichnis: "
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 wurde unerwartet beendet\n"
+"Sie müssen die Sitzung neu starten (z.B. mit Datei|Programm)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+"Die Einstellungen für dieses Programm legen folgende Debugger-Anweisung "
+"fest:\n"
+"%1\n"
+"Soll diese Anweisung benutzt werden?"
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Neu "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Entf "
+
+#: mainwndbase.cpp:45
+msgid "Expression"
+msgstr "Ausdruck"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktiv"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr "Sprache `%1' unbekannt"
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+"Konnte den Debugger nicht starten.\n"
+"Bitte beenden Sie KDbg und beheben Sie das Problem."
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Globale Einstellungen"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr "&Debugger"
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr "&Verschiedenes"
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Programmausgabe"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr "Ein Debugger"
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr "XSLT debuggen"
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr "Registergruppen und -formatierung"
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr "Mitschrift der Kommunikation zw. KDbg und gdb"
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr "entferntes Debuggen über <device>"
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr "Programmiersprache: C, XSLT"
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr "verwende XSLT (überholt, verwende -l stattdessen)"
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr "gibt Argumente für das Programm an"
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr "gibt den PID des zu debuggenden Prozesses an"
+
+#: main.cpp:60
+msgid "path of executable to debug"
+msgstr "Pfad zum zu debuggenden Programm"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr "ein zu verwendender Core-Dump"
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Kann Debugger nicht ausführen."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Wenn die Einträge leer sind, werden Standardeinstellungen verwendet."
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "Aufruf von &GDB:"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T wird durch eine Überschrift ersetzt,\n"
+"%C wird durch eine Bourne-Shell-Skript ersetzt, das\n"
+"das Terminal-Fenster offen hält."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "&Terminal für die Programmausgabe"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": An Prozess attachen"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Geben Sie die Prozessnummer ein:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+"Aufruf von &GDB - wenn Sie dieses Feld leer lassen,\n"
+"wird die globale Einstellung übernommen:"
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr "&Keine Ein- und Ausgabe"
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr "Nur &Ausgabe, einfache Terminalemulation"
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr "&Volle Terminalemulation"
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr "%1: Einstellungen für %2"
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr "&Ausgabe"
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Suche"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Groß-/Kleinschreibung"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Vorwärts"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Rückwärts"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "A&usführung"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "Halte&punkt"
+
+#: rc.cpp:18
+#, no-c-format
+msgid "Program Arguments"
+msgstr "Programmargumente"
+
+#: rc.cpp:21
+#, no-c-format
+msgid "&Arguments"
+msgstr "&Argumente"
+
+#: rc.cpp:24
+#, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "<i>%1</i> mit folgenden Argumenten ausführen:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+"Geben Sie hier die Argumente an, mit denen das Programm in dieser Debug-"
+"Sitzung ausgeführt werden soll. Sie geben die Argumente genau so an, wie Sie "
+"das auch auf der Kommandozeile angeben würden; d.h. Sie können auch "
+"Anführungszeichen und Umgebungsvariablen verwenden, z.B.:<p><tt>--message "
+"'start in: ' $HOME</tt>"
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr "&Dateinamen einfügen..."
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr "Alt+D"
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+"Suchen Sie nach einer Datei; der komplette Dateiname wird an der "
+"Cursorposition im obigen Feld eingefügt."
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr "&Verzeichnis einfügen..."
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr "Alt+V"
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+"Suchen Sie nach einem Verzeichnis;der komplette Verzeichnisname wird an der "
+"Cursorposition im obigen Feld eingefügt."
+
+#: rc.cpp:48
+#, no-c-format
+msgid "&Working Directory"
+msgstr "Arbeitsverzeichnis"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+"Geben Sie hier das Arbeitsverzeichnis an, in dem das Program ausgeführt "
+"werden soll."
+
+#: rc.cpp:54
+#, no-c-format
+msgid "&Browse..."
+msgstr "&Durchsuchen..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr "Alt+D"
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+"Hiermit suchen Sie das Arbeitsverzeichnis, in dem das Programm ausgeführt "
+"werden soll."
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr "&Umgebungsvariablen"
+
+#: rc.cpp:66
+#, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Umgebungsvariablen (<tt>NAME=Wert</tt>):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+"Um eine neue Umgebungsvariable anzulegen oder eine vorhandene zu verändern, "
+"geben Sie sie hier in der Form <tt>NAME=Wert</tt> an und wählen Sie "
+"<b>Ändern</b>."
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Name"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+"Die Umgebungsvariablen in dieser Liste werden <i>zusätzlich</i> zu den "
+"vererbten gesetzt. Um eine neue Umgebungsvariable anzulegen, geben Sie sie "
+"in der Form <tt>NAME=Wert</tt> im Eingebefeld an und wählen <b>Ändern</b>. "
+"Um den Wert zu verändern, wählen Sie die Variable in der Liste aus und "
+"wählen <b>Ändern</b>. Mit <b>Löschen</b> wird die ausgewählte Variable aus "
+"der Liste entfernt."
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr "Alt+Ä"
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+"Fügt die Umgebungsvariable, die gerade im Eingabefeld angegeben ist, zu der "
+"Liste hinzu. Wenn die genannte Variable schon vorhanden ist, wird ihr Wert "
+"geändert."
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+"Entfernt die ausgewählte Umgebungsvariable aus der Liste. Diese Funktion "
+"kann nicht verwendet werden, um vererbte Variablen zu entfernen."
+
+#: rc.cpp:99
+#, no-c-format
+msgid "&xsldbg Options"
+msgstr "&xsldbg-Einstellungen"
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr "F1"
+
+#: rc.cpp:116
+#, no-c-format
+msgid "Attach to Process"
+msgstr "An Prozess attachen"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr "&Filter oder PID:"
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+"Geben Sie hier den Programmnamen oder die Prozess-ID (PID) an, sodass "
+"weniger Einträge in der Tabelle aufscheinen."
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr "Filter löschen"
+
+#: rc.cpp:131
+#, no-c-format
+msgid "Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+"Mit dieser Schaltfläche können Sie die Filtereingabe löschen, sodass alle "
+"Prozesse angezeigt werden."
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr "Befehlszeile"
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr "PID"
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr "PPID"
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+"<p>Diese Tabelle zeigt alle Prozesse an, die gerade auf dem System laufen. "
+"Sie müssen einen Prozess auswählen, an den sich KDbg attachen soll. Geben "
+"Sie in <b>Filter oder PID</b> den Programmnamen oder die Prozess-ID ein; "
+"damit wird die Tabelle kürzer.<p>Der Text in der Spalte <i>Befehlszeile</i> "
+"ist normalerweise (aber nicht immer) der Befehl, mit dem der Prozess "
+"gestartet wurde. Die Spalte <i>PID</i> zeigt die Prozess-ID. Die Spalte "
+"<i>PPID</i> zeigt die Prozess-ID des Vater-Prozesses. In den weiteren "
+"Spalten stehen zusätzliche Informationen über die Prozesse, die auch mit dem "
+"Systembefehl <i>ps</i> angezeigt werden können.</p><p>Die Tabelle wird nicht "
+"automatisch aktualisiert. Benutzen Sie dazu die Schaltfläche "
+"<b>Aktualisieren</b>.</p>"
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr "&Aktualisieren"
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr "Diese Schaltfläche aktualisiert die Anzeige."
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+"Sie müssenen einen Prozess in der Liste auswählen. Dann klicken Sie <b>OK</"
+"b>, um den Prozess zu attachen."
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr "Thread-ID"
+
+#: dbgmainwnd.cpp:46
+msgid "Source"
+msgstr "Quellcode"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr "Stack"
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr "Lokale Variablen"
+
+#: dbgmainwnd.cpp:58
+msgid "Variable"
+msgstr "Variable"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr "Ausdrücke"
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+msgid "Registers"
+msgstr "Register"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Haltepunkte"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr "Ausgabe"
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr "Threads"
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr "Speicher"
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "Quellcode Ö&ffnen..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "E&rneut laden"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Programm..."
+
+#: dbgmainwnd.cpp:189
+msgid "Recent E&xecutables"
+msgstr "&Zuletzt geöffnete Programme"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Core dump..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr "Dieses &Programm"
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "&Globale Einstellungen..."
+
+#: dbgmainwnd.cpp:207
+msgid "&Find"
+msgstr "&Suche"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr "&Quellcode"
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr "Stac&k"
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr "&Lokale Variablen"
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr "&Ausdrücke"
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr "&Register"
+
+#: dbgmainwnd.cpp:219
+msgid "&Breakpoints"
+msgstr "&Haltepunkte"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr "&Threads"
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr "&Speicher"
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "Aus&führen"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "&In Funktion"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Ü&ber Funktion"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "&Aus Funktion"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "&Zum Cursor"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr "I&nstruktion - in Funktion"
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr "In&struktion - über Funktion"
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr "&Programmzähler auf aktuelle Zeile"
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Unterbrechen"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr "Been&den"
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "&Erneut ausführen"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "A&ttachen..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "Argu&mente..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "&Setzen/entfernen"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "&Temporären Haltepunkt setzen"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Aktiv/inaktiv"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr "Ausdruck beobachten"
+
+#: dbgmainwnd.cpp:293
+msgid "Edit Value"
+msgstr "Wert bearbeiten"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Erneut ausführen"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Core dump"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' ist keine Datei oder existiert nicht"
+
+#: dbgmainwnd.cpp:702
+msgid "|All source files\n"
+msgstr "|Alle Quellcodedateien\n"
+
+#: dbgmainwnd.cpp:703
+msgid "|Source files\n"
+msgstr "|Quellcodedateien\n"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr "|Header-Dateien\n"
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr "*|Alle Dateien"
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Ausführbares Programm zum Debuggen wählen"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Core dump wählen"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr "Speicherinhalt nicht verfügbar"
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr "Debugger nach &vorne bringen, sobald das Programm stoppt"
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+"Ver&zögerung, bis Debugger wieder\n"
+"nach hinten geht (in Millisek.):"
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr "&Tabulatorweite (in Zeichen):"
+
+#: prefmisc.cpp:37
+msgid "File filter for &source files:"
+msgstr "Dateifilter für &Quellcodedateien:"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr "Dateifilter für &Header-Dateien:"
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr "&Löschen"
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr "Als Programmargument einzusetzende Datei wählen"
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr "Als Programmargument einzusetzendes Verzeichnis wählen"
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr "&GDB-Standard"
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr "&Dezimal"
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr "Reell (&e)"
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr "Reell (&f)"
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr "&Reell (g)"
+
+#: regwnd.cpp:427
+msgid "Register"
+msgstr "Register"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr "Dekodierter Wert"
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr "x86/x87 Segment"
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr "Schalter"
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr "Allgemein u.a."
+
diff --git a/po/es.gmo b/po/es.gmo
new file mode 100644
index 0000000..53f066d
--- /dev/null
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..af6eff1
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,902 @@
+# translation of es.po to
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998-2000 Johannes Sixt
+#
+# Johannes Sixt <j6t@kdbg.org>, 2000.
+# Borja Bergua Guerra <bbergua@arcos.inf.uc3m.es>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: es\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2007-12-30 12:45+0100\n"
+"Last-Translator: Borja Bergua Guerra <bbergua@arcos.inf.uc3m.es>\n"
+"Language-Team: <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Valor"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr "Dirección"
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+msgid "&Strings"
+msgstr ""
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr "&Instrucciones"
+
+#: brkpt.cpp:63
+msgid "Add &Breakpoint"
+msgstr "Añadir &Breakpoint"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr "Añadir &Watchpoint"
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr "&Deshabilitar"
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr "&Habilitar"
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Ver Código"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Condicionados..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Lugar"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Ocurrencias"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Ignorar"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Condición"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Parada condicional"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Condición : "
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Ig&norar siguientes ocurrencias:"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr "<se han suprimido las entradas adicionales del array>"
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Nuevo directorio de trabajo:"
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 se murió de forma inesperada.\n"
+"Reinicie la sesión (por ejemplo,.: con Fichero|Ejecutable)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+"La configuración de este programa especifica el siguiente depurador:\n"
+"%1\n"
+"¿Se debe usar esta orden?"
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Añadir "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Borrar "
+
+#: mainwndbase.cpp:45
+msgid "Expression"
+msgstr "Expresión"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "activo"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr "No se puede depurar el lenguaje `%1'"
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+"No se pudo iniciar el depurador.\n"
+"Por favor, cierre KDbg y solucione el problema."
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Opciones globales"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr "&Depurador"
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr "&Miscelánea"
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Datos de salida"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr "Un depurador"
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr "Depuración XSLT"
+
+#: main.cpp:49
+#, fuzzy
+msgid "Register groups and formating"
+msgstr "Registro de grupos y formato"
+
+#: main.cpp:54
+#, fuzzy
+msgid "transcript of conversation with the debugger"
+msgstr "transcripción de conversación con el depurador"
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr "depuración remota a través de <device>"
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr "especificar lenguaje: C, XSLT"
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr "usar lenguaje XSLT (en desuso)"
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr "especificar el PID del proceso a depurar"
+
+#: main.cpp:60
+msgid "path of executable to debug"
+msgstr "ruta del ejecutable a depurar"
+
+#: main.cpp:61
+#, fuzzy
+msgid "a core file to use"
+msgstr "un fichero core a usar"
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Imposible iniciar el depurador."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Borrar las entradas para volver a los valores por omisión"
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "Cómo iniciar &GDB"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T Será reemplazado por un título,\n"
+"%C será reemplazado por un guión de Bourne shell que\n"
+"mantenga la ventana de terminal abierta."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "&Terminal de los datos de salida:"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Ligarse al proceso"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Especificar el número de proceso al que ligarse :"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+"Cómo iniciar &GDB - dejar en blanco para usar\n"
+"la opción por omisión de las opciones globales:"
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr "&Sin entrada ni salida"
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr "Só&lo salida, emulación de terminal sencilla"
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr "&Emulación de terminal completa"
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr "%1: Configuración para %2"
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr "&Salida"
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Buscar"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Distinción de mayúsculas"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Siguiente"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Anterior"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "E&jecución"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Punto de interrupción"
+
+#: rc.cpp:18
+#, no-c-format
+msgid "Program Arguments"
+msgstr "Argumentos del programa"
+
+#: rc.cpp:21
+#, no-c-format
+msgid "&Arguments"
+msgstr "&Argumentos"
+
+#: rc.cpp:24
+#, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Ejecutar <i>%1</i> con estos argumentos: "
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+"Especifique los argumentos con los que se debe invocar el programa para esta "
+"sesión de depuración. Especifique los argumentos como lo haría en línea de "
+"órdenes, es decir, puede incluso usar comillas y variables de entorno, por "
+"ejemplo: <p><tt>--message 'start in: ' $HOME</tt>"
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr "Insertar nombre de &fichero..."
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+"Busque un fichero; la ruta completa se insertará en la posición actual del "
+"cursor en la caja de edición de arriba."
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr "Insertar nombre de d&irectorio..."
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+"Busque un directorio; la ruta completa se insertará en la posición actual "
+"del cursor en la caja de edición de arriba."
+
+#: rc.cpp:48
+#, no-c-format
+msgid "&Working Directory"
+msgstr "&Directorio de trabajo"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+"Especifique aquí el directorio de trabajo inicial donde se ejecuta el "
+"programa"
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Más..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr "Elija el directorio de trabajo inicial donde se ejecuta el programa"
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr "&Entorno"
+
+#: rc.cpp:66
+#, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Variables de entorno (<tt>NOMBRE=valor</tt>):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+"Para añadir una nueva variable de entorno o para modificar una, "
+"especifiquela aquí de la forma <tt>NOMBRE=valor</tt> y pulse <b>Modificar</"
+"b>."
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Nombre"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+"Las variables de entorno que se especifiquen <i>además de</i> aquellas que "
+"se hereden se listan en esta tabla. Para añadir nuevas variables de entorno, "
+"especifiquelas de la forma <tt>NOMBRE=valor</tt> en la caja de edición de "
+"arriba y pulse <b>Modificar</b>. Para modificar un valor, selecciónelo en "
+"esta lista y pulse <b>Modificar</b>. Para eliminar una variable de entorno, "
+"selecciónela en esta lista y pulse <b>Eliminar</b>"
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+"Introduce la variable de entorno que está especificada actualmente en la "
+"caja de edición dentro de la lista. Si la variable ya está en la lista, "
+"recibe un nuevo valor, en otro caso, se crea una nueva entrada."
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+"Elimina la variables de entorno seleccionada de la lista. No puede usarse "
+"para eliminar variables de entorno heredadas."
+
+#: rc.cpp:99
+#, no-c-format
+msgid "&xsldbg Options"
+msgstr "&Opciones xsldbg"
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, no-c-format
+msgid "Attach to Process"
+msgstr "Ligar al proceso"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr "&Filtro o PID"
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+"Escriba el nombre del proceso o su identificador (PID) aquí para reducir el "
+"número de entradas en la lista."
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr "Borrar filtro"
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+"Use este botón para borrar el texto del filtro de forma que se muestren "
+"todos los procesos."
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr "Comando"
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+"<p>Esta lista muestra todos los procesos que se estań ejecutando "
+"actualmente. Debe seleccionar el proceso al que quiera que KDbg se ligue. "
+"Use la caja de edición <b>Filtro o PID</b> para reducir el número de "
+"entradas en esta lista.<p> El texto en la columna <i>Comando</i> es "
+"normalmente, pero no siempre, la orden que se usó para iniciar el proceso. "
+"La columna <i>PID</i> muestra el identificador del proceso. La columna "
+"<i>PPID</i> muestra el identificador del proceso padre. Las demás columnas "
+"muestran más información sobre los procesos que también esta disponible a "
+"través de la orden del sistema <i>ps</i>.</p><p>La lista no se actualiza "
+"automáticamente. Use el botón <b>Actualizar</b> para actualizarla.</p>"
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr "&Actualizar"
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr "Este botón actualiza la lista de procesos."
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+"Debe seleccionar un proceso de la lista. Después, pulse el botón <b>Aceptar</"
+"b> para ligar a ese proceso."
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr "ID de Hilo"
+
+#: dbgmainwnd.cpp:46
+msgid "Source"
+msgstr "Fuente"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr "Pila"
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr "Locales"
+
+#: dbgmainwnd.cpp:58
+msgid "Variable"
+msgstr "Variable"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr "Expresiones Vigiladas"
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+msgid "Registers"
+msgstr "Registros"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Puntos de interrupción"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr "Salida"
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr "Hilos"
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr "Memoria"
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Abrir un fichero fuente..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Recargar el fichero fuente"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Ejecutable..."
+
+#: dbgmainwnd.cpp:189
+msgid "Recent E&xecutables"
+msgstr "E&jecutables Recientes"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr ""
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr "&Este Programa"
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "&Opciones globales..."
+
+#: dbgmainwnd.cpp:207
+msgid "&Find"
+msgstr "&Buscar"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr "&Código fuente"
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr "&Pila"
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr "&Locales"
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr "&Expresiones Vigiladas"
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr "&Registros"
+
+#: dbgmainwnd.cpp:219
+msgid "&Breakpoints"
+msgstr "&Puntos de interrupción"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr "&Hilos"
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr "&Memoria"
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Ejecutar"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Entrar en la &función"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "&Otra instrucción"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "&Salir de la función"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Ejecutar hasta &cursor"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Parar"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr "&Matar"
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "&Reiniciar"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "&Ligar..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumentos..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "&Poner/Quitar puntos de interrupción"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "&Definir puntos de interrupción temporales"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Activar/Desactivar puntos de interrupción"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr "Vigilar Expresión"
+
+#: dbgmainwnd.cpp:293
+msgid "Edit Value"
+msgstr "Editar Valor"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Reiniciar"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr ""
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' no es un fichero o no existe"
+
+#: dbgmainwnd.cpp:702
+msgid "|All source files\n"
+msgstr "|Todos los ficheros fuente\n"
+
+#: dbgmainwnd.cpp:703
+msgid "|Source files\n"
+msgstr "|Ficheros fuente\n"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr "|Ficheros de cabeceras\n"
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr "*|Todos los ficheros"
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Elija el ejecutable a analizar"
+
+#: dbgmainwnd.cpp:813
+#, fuzzy
+msgid "Select core dump"
+msgstr "Elija el core dump"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr "Volcado de memoria no disponible"
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr "&Saltar a primer plano cuando el programa finalice"
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr "Tiempo hasta que la ventana vuelva (en milisegundos):"
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+msgid "File filter for &source files:"
+msgstr "Filtro para ficheros fuente:"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr "Filtro para ficheros de &cabeceras:"
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr "&Limpiar"
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr "Seleccione un fichero para insertarlo como argumento del programa"
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr "Seleccione un directorio para insertarlo como argumento del programa"
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+msgid "Register"
+msgstr "Registro"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr "Valor Decodificado"
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr "Segmento x86/x87"
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr "Banderas"
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr "GP y otros"
diff --git a/po/fr.gmo b/po/fr.gmo
new file mode 100644
index 0000000..305c02c
--- /dev/null
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..7028457
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,912 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998,1999 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 1999
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2006-10-10 23:08MDT\n"
+"Last-Translator: Sylvestre Ledru <sylvestre-kdbg@ecranbleu.org>\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Valeur"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr "Adresse"
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr "B&ytes"
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr "Demi-mots (&2 Bytes)"
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr "Mots (&4 Bytes)"
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr "Double-mots (&8 Bytes)"
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr "He&xadecimal"
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr "&Décimal signé"
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr "Décimal non-signé"
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr "&Octal"
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr "&Binaire"
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr "&Adresses"
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr "&Caractère"
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr "&Virgule flottante"
+
+#: memwindow.cpp:83
+#, fuzzy
+msgid "&Strings"
+msgstr "Re&chercher..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr "&Instructions"
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Points d'arrêt"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr "Ajouter un &point de surveillance"
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr "&Désactiver"
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr "&Activer"
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Voir le code"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Conditionnés"
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Position"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Hits"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Ignorer"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Condition"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Points d'arrêt conditionnés"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Condition : "
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Ignore les hits &suivants"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr "<entrées supplémentaires du tableau supprimées>"
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Nouveau répertoire de travail"
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 s'est terminé involontairement.\n"
+"Redémarrez votre session (avec Fichier|Exécutable)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+"La commande pour le débogueur pour ce programme est :\n"
+"%1\n"
+"Cette commande doit-elle être utilisée ?"
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Ajouter "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Supp "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "Expression surveillée"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "actif"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr "Ne sait pas débogguer le langage `%1'"
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+"Impossible de démarrer le processus de déboggage.\n"
+"Quittez KDbg et corrigez le problème."
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Préférences"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr "&Déboguer"
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr "Di&vers"
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Sortie du programme"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr "Un débogueur"
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr "Déboggage XSLT"
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr "Groupes de registre et formatage"
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr "Log de la communication avec le débogueur"
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr "Déboggage distant via <device>"
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr "Entrez le langage : C, XSLT"
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr "Utilise le langage XSLT (déprécié)"
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr "Entrez le PID du processus à débogger"
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Choisissez l'exécutable à débogguer"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr "Fichier core à utiliser"
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Incapable de démarrer le débogueur."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Pour les paramêtres par défaut, effacez les valeurs"
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "Comment lancer &GDB"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T sera remplacé par un titre,\n"
+"%C sera remplacé par un script qui\n"
+"garde la console active."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "&Sortie du programme :"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Attacher au processus"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Entrez le numéro du processus à attacher :"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+"Comment lancer &GDB - laissez la cellule vide\n"
+"pour utiliser les valeurs par défault:"
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr "&Pas d'entrée/sortie"
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr "Uniquement la &sortie, émulation de terminal simple"
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr "&Emulation complète de terminal "
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr "%1: Paramètres pour %2"
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr "&Sortie"
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Rechercher"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Différencier min/maj"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Suivant"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Précédent"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "E&xécution"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Points d'arrêt"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Paramètres du programme"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Paramètres..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Exécuter %1 avec ces paramètres : "
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "Répertoire de travail:"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Autres..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Variables d'environnement (Nom=Valeur):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Nom"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "&Préférences"
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Attacher au processus"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, fuzzy, no-c-format
+msgid "Clear filter"
+msgstr "|Fichiers d'entête\n"
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr "ID du Thread"
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "&Recharger ce fichier source"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr "Pile"
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr "Locales"
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "&Désactiver"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr "Points de surveillance"
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Registres"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Points d'arrêt"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr "Sortie"
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr "Threads"
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr "Mémoire"
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Ouvrir un fichier source..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Recharger ce fichier source"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Exécutable..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Exécutables récents"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Core dump..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr "Ce &programme..."
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "&Préférences"
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Recherche"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr "Code &source"
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr "&Pile"
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr "&Locales"
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr "&Expressions surveillées"
+
+#: dbgmainwnd.cpp:218
+#, fuzzy
+msgid "&Registers"
+msgstr "&Registres"
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "&Points d'arrêt"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr "T&hreads"
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr "&Mémoire"
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "E&xécuter"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "&Entrer dans cette fonction"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "&Prochaine instruction"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "&Sortir de cette fonction"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Exécuter &jusqu'au curseur"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr "&Entrer dans cette instruction"
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr "&Passer cette instruction"
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr "&Program Counter jusqu'à la ligne courante"
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Stopper"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr "&Tuer"
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "&Continuer"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "A&ttacher..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Paramètres..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Placer/supp. &point d'arrêt"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Point d'arrêt &temporaire"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Activer/Désactiver pt. d'arrêt"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr "Expression surveillée"
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Valeur"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Redémarrer"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Core dump"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' n'est pas un fichier ou n'existe pas"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Recharger ce fichier source\n"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Ouvrir un fichier source\n"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr "|Fichiers d'entête\n"
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr "*|Tous les fichiers"
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Choisissez l'exécutable à déboguer"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Choisissez le core dump"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr "Pas de dump de la mémoire disponible"
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr "&Apparait au premier plan quand le programme s'arrête"
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr "Temps à partir duquel la fenêtre revient (en millisecondes):"
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr "&Tabstop chaque (caractères):"
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Filtre fichier pour les fichier sources:"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr "Filtre fichier pour les fichiers d'entête:"
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr "&Vider"
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr "Selectionner un nom de fichier à insérer comme argument de programme"
+
+#: pgmargs.cpp:230
+#, fuzzy
+msgid "Select a directory to insert as program argument"
+msgstr "Selectionner un nom de fichier à insérer comme argument de programme"
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr "Défaut &GDB"
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr "&Décimal"
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr "Réel (&e)"
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr "Réel (&f)"
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr "&Réel (g)"
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Registre"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr "Valeur décodée"
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr "Segment x86/x87"
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr "Flags"
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr "GR et autres"
+
+#~ msgid "Options:"
+#~ msgstr "Options:"
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "Re&chercher..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Barre d'ou&tils"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Barre d'ét&at"
+
+#~ msgid "Executable"
+#~ msgstr "Exécutable"
+
+#~ msgid "Open a source file"
+#~ msgstr "Ouvrir un fichier source"
+
+#~ msgid "Reload source file"
+#~ msgstr "Recharger ce fichier source"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Exécuter/Continuer"
+
+#~ msgid "Step into"
+#~ msgstr "Entrer dans cette fonction"
+
+#~ msgid "Step over"
+#~ msgstr "Prochaine instruction"
+
+#~ msgid "Step out"
+#~ msgstr "Sortir de cette fonction"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Point d'arrêt"
+
+#~ msgid "Search"
+#~ msgstr "Rechercher"
diff --git a/po/hr.gmo b/po/hr.gmo
new file mode 100644
index 0000000..007220a
--- /dev/null
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
new file mode 100644
index 0000000..d9eb4f7
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,877 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998,1999 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 1999
+# Vladimir Vuksan <vuksan@veus.hr>, 1998.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:17MDT\n"
+"Last-Translator: Vladimir Vuksan <vuksan@veus.hr>\n"
+"Language-Team: Croatian <hr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr ""
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+#, fuzzy
+msgid "&Strings"
+msgstr "&Lista..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Mjesta prekida"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Gledaj kod"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr ""
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Mjesto"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr ""
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr ""
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr ""
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ""
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr ""
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr ""
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr ""
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Dodaj "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Obriši "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "I&zvršavanje"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktivan"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ""
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Izlaz programa"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Izaberite izvršni program za debugiranje"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Ne mogu pokrenuti debugger."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr ""
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr ""
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+
+#: prefdebugger.cpp:38
+#, fuzzy
+msgid "&Terminal for program output:"
+msgstr ": Izlaz programa"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ""
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr ""
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ""
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr ""
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr ""
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr ""
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "I&zvršavanje"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Mjesta prekida"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Argumenti programa"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argumenti..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Pokreni %1 sa ovim argumentima:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, no-c-format
+msgid "&Working Directory"
+msgstr ""
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Još..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr ""
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr ""
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, no-c-format
+msgid "&xsldbg Options"
+msgstr ""
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, no-c-format
+msgid "Attach to Process"
+msgstr ""
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+msgid "Source"
+msgstr ""
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+msgid "Variable"
+msgstr ""
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+msgid "Registers"
+msgstr ""
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Mjesto prekida"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Otvori izvorni kod..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr ""
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Izvršni program..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Izvršni program..."
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr ""
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr ""
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Prozor"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr ""
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Mjesto prekida"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "Pok&reni"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr ""
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr ""
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr ""
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Izvrši do poka&zivača"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Prekid"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr ""
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr ""
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumenti..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Postavi/Obriši mjesta &prekida"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Postavi pri&vremena mjesta prekida"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Uklj./isklj. mjesta prekida"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+msgid "Edit Value"
+msgstr ""
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr ""
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr ""
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' nije datoteka ili ne postoji"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Otvori datoteku sa izvornim kodom"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Otvori datoteku sa izvornim kodom"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Izaberite izvršni program za debugiranje"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr ""
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+msgid "File filter for &source files:"
+msgstr ""
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+msgid "Register"
+msgstr ""
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Lista..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Uklj./isklj. &traku sa alatima"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Uklj./isklj. traku sa &statusom"
+
+#~ msgid "Executable"
+#~ msgstr "Izvršni program..."
+
+#~ msgid "Open a source file"
+#~ msgstr "Otvori datoteku sa izvornim kodom"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Izvrši/Nastavi"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Mjesto prekida"
diff --git a/po/hu.gmo b/po/hu.gmo
new file mode 100644
index 0000000..0121202
--- /dev/null
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
new file mode 100644
index 0000000..06e1036
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,861 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998-2000 Johannes Sixt
+# Mucsi László <lmucsi@freemail.hu>, 1999.
+# Tamas Szanto, <tszanto AT interware DOT hu>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: 2.0.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2005-08-18 10:10+0100\n"
+"Last-Translator: Tamas Szanto <tszanto AT interware DOT hu>\n"
+"Language-Team: Hungarian <kde-lista@sophia.jpte.hu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Érték"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr "Cím"
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr "Bá&jt"
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr "Félszó (&2 bájt)"
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr "Szó (&4 bájt)"
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr "Hosszúszó (&8 bájt)"
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr "He&xadecimális"
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr "Előjeles de&cimális"
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr "Előjel nélküli &decimális"
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr "&Oktális"
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr "&Bináris"
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr "&Címek"
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr "&Karakter"
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr "&Lebegőpontos"
+
+#: memwindow.cpp:83
+msgid "&Strings"
+msgstr "Sztr&ingek"
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr "Utasítás&ok"
+
+#: brkpt.cpp:63
+msgid "Add &Breakpoint"
+msgstr "&Töréspont hozzáadása"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr "Figyelőpont ho&zzáadása"
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr "Kik&apcsolás"
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr "Bekap&csolás"
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "A kó&d megtekintése"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Feltételes..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Hely"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Találatok"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Figyelmen kívül hagyás"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Feltétel"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Feltételes töréspont"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Feltétel:"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "A következö találatok figyelmen kívül &hagyása:"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr "<a tömb további elemei nem jelennek meg>"
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Új munkakönyvtár: "
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 váratlanul leállt.\n"
+"Indítsa újra a munkafolyamatot (pl. a Fájl|Programfájl menüponttal)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+"A program beállításai az alábbi nyomkövetési parancsot írják elő:\n"
+"%1\n"
+"Ezt a parancsot szeretné használni?"
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Hozzáadás "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Törlés "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "Figyelt kifejezés"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktív"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr "Nem lehet nyomkövetni a(z) '%1' nyelvet"
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+"Nem sikerült elindítani a nyomkövetési folyamatot.\n"
+"Zárja be a KDbg-t és hárítsa el a problémát."
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Globális beállítások"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr "Ny&omkövető"
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr "&Egyéb"
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": A program kimenete"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr "Nyomkövető"
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr "XSLT nyomkövetés"
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr "Regisztercsoportok és formázás"
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr "a nyomkövetővel folytatott párbeszéd átirata"
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr "távoli nyomkövetés a <device> eszközön keresztül"
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr "a nyelv megdása: C, XSLT"
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr "XSLT nyelv használata (elavult)"
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr "a nyomkövetni kívánt folyamat azonosítója"
+
+#: main.cpp:60
+msgid "path of executable to debug"
+msgstr "a nyomkövetni kívánt fájl elérési útja"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr "a használni kívánt memóriakép"
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "A nyomkövetőt nem sikerült elindítani."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Az eredeti beállítások visszaállításához törölje a bejegyzéseket."
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "A &GDB meghívási módja:"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T helyére a cím,\n"
+"%C helyére egy szkript kerül,\n"
+"amely nyitva tartja a terminálablakot."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "&Terminál a program kimenetének:"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Kapcsolódás folyamathoz"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Adja meg, mely azonosítójú folyamathoz szeretne kapcsolódni:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+"A &GDB indítási módja - ha üresen hagyja,\n"
+"a globális alapértelmezés lesz érvényes:"
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr "Kimenet és bemenet nél&kül"
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr "Csa&k a kimenet, egyszerű terminálemuláció"
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr "Teljes terminálemulá&ció"
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr "%1: %2 beállításai"
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr "&Kimenet"
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Keresés"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Nagybetűérzékeny"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Előre"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Hátra"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "F&uttatás"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Töréspont"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Program argumentumok"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argumentumok..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "%1 futtatása ezekkel az argumentokkal:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "Munkakönyvtár:"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "T&ovább..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Környezeti változók (NÉV=érték):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Név"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "&Globális beállítások..."
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Kapcsolódás folyamathoz"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, fuzzy, no-c-format
+msgid "Clear filter"
+msgstr "|Header fájlok\n"
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr "Szálazonosító"
+
+#: dbgmainwnd.cpp:46
+msgid "Source"
+msgstr "Forrás"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr "Verem"
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr "Helyi változók"
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "Kik&apcsolás"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr "Figyeltek"
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+msgid "Registers"
+msgstr "Regiszterek"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Töréspontok"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr "Kimenet"
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr "Szálak"
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr "Memória"
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "Forrás &megnyitása..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "A forrás ú&jratöltése"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Programfájl..."
+
+#: dbgmainwnd.cpp:189
+msgid "Recent E&xecutables"
+msgstr "A leg&utóbbi programfájlok"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "Memór&iakép..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr "Ez a p&rogram..."
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "&Globális beállítások..."
+
+#: dbgmainwnd.cpp:207
+msgid "&Find"
+msgstr "&Keresés"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr "&Forráskód"
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr "&Verem"
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr "&Helyi változók"
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr "F&igyelt kifejezések"
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr "&Regiszterek"
+
+#: dbgmainwnd.cpp:219
+msgid "&Breakpoints"
+msgstr "Törésp&ontok"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr "S&zálak"
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr "M&emória"
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Futtatás"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "&Belépés"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Á&tlépés"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "&Kilépés"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Futtatás a k&urzorig"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr "&Belépés az utasításba"
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr "Az utasítás á&tlépése"
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr "Az aktuális sor pr&ogramszámlálója"
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "Me&gszakítás"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr "Kilö&vés"
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "Újra&indítás"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "&Hozzáfüzés..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumentumok..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Töréspont &beállítása/törlése"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Átmeneti törés&pont beállítása"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "Töréspont &ki-be kapcsolása"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr "Figyelt kifejezés"
+
+#: dbgmainwnd.cpp:293
+msgid "Edit Value"
+msgstr "Az érték szerkesztése"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Újraindítás"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Memóriakép"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' nem fájl vagy nem létezik"
+
+#: dbgmainwnd.cpp:702
+msgid "|All source files\n"
+msgstr "|Minden forrásfájl\n"
+
+#: dbgmainwnd.cpp:703
+msgid "|Source files\n"
+msgstr "|Forrásfájlok\n"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr "|Header fájlok\n"
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr "*|Minden fájl"
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "A nyomkövetni kívánt programfájl kiválasztása"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Memóriakép kiválasztása"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr "Nem érhető el memóriakép"
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr "Az előté&rbe hozás a program leállásakor"
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr "Az ablak v&isszahozási ideje (ms):"
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr "Tab&ulátorszélesség (karakter):"
+
+#: prefmisc.cpp:37
+msgid "File filter for &source files:"
+msgstr "Fájlszűrő a f&orrásfájlokhoz:"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr "Fájlszűrő a &header fájlokhoz:"
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr "&Törlés"
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr "Válassza ki a programnak argumentumként átadni kívánt fájlnevet"
+
+#: pgmargs.cpp:230
+#, fuzzy
+msgid "Select a directory to insert as program argument"
+msgstr "Válassza ki a programnak argumentumként átadni kívánt fájlnevet"
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr "GDB ala&pértelmezés"
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr "De&cimális"
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr "Valós (&e)"
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr "Valós (&f)"
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr "Valós (&g)"
+
+#: regwnd.cpp:427
+msgid "Register"
+msgstr "Regiszter"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr "Dekódolt érték"
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr "x86/x87 szegmens"
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr "Jelzők"
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr "GP és egyéb"
+
+#~ msgid "Options:"
+#~ msgstr "Beállítások:"
diff --git a/po/it.gmo b/po/it.gmo
new file mode 100644
index 0000000..a85c42f
--- /dev/null
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 0000000..5133243
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,1036 @@
+# Translation Table for KDbg into Italian
+#
+# Tabella di traduzione per KDbg dall'inglese all'italiano
+#
+#
+# Copyright (C) 1999 Free Software Foundation, Inc.
+# Massimo Morin <mmorin@schedsys.com, mmorin@110.net>, 1999.
+# Walter Tasin <tasin@e-technik.fh-muenchen.de>, 1999.
+#
+# Queste regole vengono da Kdevelop it.po
+#
+# Regole Base
+#
+# Bisogna fissarsi delle regole da cui partire, per cui parto da
+# queste; se qualcuno me ne può suggerire di altre e/o di
+# migliori....
+#
+# o Uso sempre la seconda persona singolare in forma IMPERATIVA
+# PRESENTE (fai, premi etc..) quando mi riferisco all'utente
+# o Uso la prima persona singolare indicativa quando riferito al
+# programma (compilo.... controllo....)
+# o Parole che riferiscono a programmi all'interno di frasi le
+# racchiudo in `' cosicchè non siano troppo ambigui
+# o Cerco di evitare il più possibile ripetizioni di aggettivi
+# possessivi quali "tuo, nostro..." per cui "your project" diventa "il
+# progetto"
+# o Gli avverbi come "here" e simili non hanno molto senso in
+# italiano (sono proprio brutti ed ovvii) per cui se sono ripetitivi
+# e inutili come "Add comments here" diviene "Aggiungi commenti" li
+# tolgo
+# o Le parole inglesi sono ammesse in italiano ma non hanno plurale,
+# per cui "file" diventa "il file" e "files" diventa "i file"
+# o Non sono sicuro ma alcune parole inglesi si sono italianizzate,
+# per cui "to click" è diventato "clickare" e "to debug"
+# "debuggare"... vedo di usare "the comon sense (tm)"
+# o Le abbreviazioni le tengo uguali (CV, RFV) anche perchè
+# molte volte non so come interpretarle....
+#
+# (WAT) spiegazione (CV = class view - struttura di classe,
+# RFV = real file view - presentazione di tutti i file,
+# LFV=logical fileview - presentazione dei file collegati
+# col progetto)
+#
+# # o Uso ' come apostrofo e ` come accento (non ho i caratteri a, e i
+# # accentati per ora :( )
+# #
+# o (WAT) Sempre usare la vocale e con ` per è (o con ´ per ó, o con ` per ò,
+# u con ` per ù, ecc. ...)
+# ... c'è un programma che cambierà poi queste combinazioni
+# nelle vocali accentate
+# ' <= usa questo tipo di accento come apostrofo
+#
+# Traduzioni mancate
+#
+# Secondo me alcune parole inglesi hanno più significato per i
+# programmatori nella loro forma originale che non in una "possibile"
+# traduzione. Qui di seguito indico le parole non tradotte.
+#
+# - file
+# - directory
+# - bug detesto la parola "baco", anche perchè diciamo
+# debuggare e non debacare :)
+# - editor what the heck we are talking with programmers not with
+# secretaries!
+# - ChangeLog non mi viene niente di meglio
+# - DistClean è una opzione standard del make
+# - window manager
+# - warning sembra più bello di avvisi (quando non è attenzione!)
+# - widget
+# - syntax highlighting
+# - bookmark segnalibro non mi piace
+# - clipboard è più bello di avagnetta
+# - wizard decisamente meglio che mago o stregone 8-)
+# - stop (vedi sotto)
+# - breakpoint meglio di "punto di interruzione"
+# - database
+# - logo
+# - private protected public sono keyword
+# - team non esiste un analogo in italiano
+# - target quando si riferisce a regola del makefile
+# - symbol table
+# - shared library librerie condivise?? È più bello inalterato
+# - touch quando si tratta del programma (touch)
+# - job quando si tratta di job=task
+# - cast promozione nei casi che ha senso, sennò invariato (eppoi si dice cast anche in italiano)
+# - prototype quando parliamo di prototype di funzione
+# - signed/unsigned quando si tratta di modificatori
+# - fixed point and floating point non ha senso tradurre
+# - old-style
+# - C-style
+# - breakpoint
+# - process-id
+#
+# Ambiguità
+#
+# Queste sono parole che traduco in parte ma non sono la "miglior traduzione
+# possibile" ma mi pare che il senso sia vicino (almeno nelle
+# intenzioni.... consigli???)
+#
+# - source lo traduco in `sorgente', solo se non è chiaro dal
+# contesto altrimenti lascio inalterato
+# - project qualche volta ha più senso parlare di `project file'
+# che `file del progetto'
+# - report in alcuni casi lo traduco in rapporto in altri lo
+# lascio inalterato (come Bug report)
+# - tree qualche volta `albero' va bene ma altre volte
+# preferisco `struttura'
+# - dialog qualche volta lo traduco in "finestra di dialogo" o
+# semplicemente "finestra" ma in casi come "dialog
+# editor" lo lascio inalterato
+# - history page la lascio come "history page" perché non so come
+# tradurla nel modo più sensato
+# - view è vista o visualizzazione o visore???? Mah!!! Cerco
+# di esser consistente..... In linea di massima se è ...-View
+# come in Output-View la traduco come Vista (Vista-Output)
+# - All of Fame che è l'Aula Magna??? Ahò facciamo meno i ganzi per
+# favore ;)
+# - Make se è il programma lo lascio inalterato, altrimenti lo
+# traduco in "Crea"
+# - Build preferirei lasciarlo in inglese ma penso che
+# "costruire" vada bene lo stesso
+# - Clean "elimina" mi pare più appropriato che "pulisci"
+# - Access traduco con Accedi ma potrebbe essere anche "Entra" o
+# "Procedi"
+# - Severity => severità ma non mi piace meglio gravità
+# - Application "applicazione" ma certe volte lo lascio
+# inalterato come in "Application Wizard"
+# - fail "fallire" ma non mi piace
+# - stop alcune volte rimane inalterato come semplicemente
+# "Stop" ma altre lo traduco con interrompi.
+# - togglebutton selettore o bottone di selezione
+# - machine lo traduco con sistema perchè mi pare più bello di macchina
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Kdbg\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:16MDT\n"
+"Last-Translator: Massimo Morin <mmorin@schedsys.com>\n"
+"Language-Team: Italiano <it@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Valore"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+#, fuzzy
+msgid "&Strings"
+msgstr "&Trova..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Breakpoint"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Mostra Codice"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Condizione..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Posizione"
+
+# Penso si riferisca a breakpoint, per cui sono i "passaggi" di esecuzione dell'istruzione
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Passaggi"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Ignora"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Condizione"
+
+# (WAT) comm: titolo della finestra di dialogo, mentre mettere le impostazioni
+# meglio cominciare con una lettera maiuscola
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Breakpoint condizionato"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Condizione:"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Ignora il &prossimo passaggio:"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+# (WAT) corr: directory
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Nuova directory di lavoro: "
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 è terminato inaspettatamente.\n"
+"Riapri la sessione (ad esempio con File|Esegui)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Aggiungi "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Elimina "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "E&secuzione"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "attiva"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Impostazioni globali"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Output del programma"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Seleziona l'eseguibile da debuggare"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Non riesco ad eseguire il debugger"
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Per rimettere i valori di default, cancella le impostazioni"
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "Come eseguire &GDB:"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T verrà sostituita con il titolo,\n"
+"%C verrà sostituito da uno script Bourne shell\n"
+"che terrà la finestra del terminale aperta."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "&Terminale per l'output del programma:"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Connessione al processo"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Specifica il process-id al quale connettersi:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Cerca"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Maiuscole/Minuscole"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Avanti"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Indietro"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "E&secuzione"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Breakpoint"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Argomenti del programma"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argomenti..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Esegui %1 con questi argomenti:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "Directory di lavoro"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Altri..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Variabili di ambiente (NAME=valore):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Nome"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "&Impostazioni Globali..."
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Connessione al processo"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "&Ricarica Sorgente"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "Valore"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Riparti"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Breakpoint"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Apri Sorgente..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Ricarica Sorgente"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Eseguibile"
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Eseguibile"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Core dump..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "&Impostazioni Globali..."
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Finestra"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+#, fuzzy
+msgid "&Registers"
+msgstr "Riparti"
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Breakpoint"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Esegui"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Entra nella &funzione"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "&Salta la funzione"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "&Esci dalla funzione"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Esegui fino al &cursore"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Interrompi"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "&Riparti"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "Co&nnetti..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argomenti..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Imposta/Elimina &breakpoint"
+
+# (WAT) corr: mancanza del hotkey
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Imposta breakpoint &temporaneo"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Abilita/Disabilita breakpoint"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Valore"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Riparti"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Core dump"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' non è un file oppure non esiste"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Ricarica file sorgente"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Apri file sorgente"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Seleziona l'eseguibile da debuggare"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Seleziona il core dump"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Ricarica file sorgente"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Riparti"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Trova..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Attiva/Disattiva &Toolbar"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Attiva/Disattiva &Barra di Stato"
+
+#~ msgid "Executable"
+#~ msgstr "Eseguibile"
+
+#~ msgid "Open a source file"
+#~ msgstr "Apri file sorgente"
+
+#~ msgid "Reload source file"
+#~ msgstr "Ricarica file sorgente"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Esegui/Continua"
+
+#~ msgid "Step into"
+#~ msgstr "Entra nella funzione"
+
+#~ msgid "Step over"
+#~ msgstr "Salta la funzione"
+
+#~ msgid "Step out"
+#~ msgstr "Esci dalla funzione"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Breakpoint"
+
+#~ msgid "Search"
+#~ msgstr "Cerca"
diff --git a/po/ja.gmo b/po/ja.gmo
new file mode 100644
index 0000000..f27819b
--- /dev/null
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..33c39a2
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,911 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998-2000 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2000-05-12 20:54+0900\n"
+"Last-Translator: Eri Ishida <>\n"
+"Language-Team: Japanese <Kdeveloper@kde.gr.jp>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"X-Generator: PODB ver.0.2.0\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "値"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+msgid "&Strings"
+msgstr ""
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "ブレークポイント(&B)"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "コードを表示(&V)"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "条件付き...(&C)"
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "場所"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "ヒット"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "無視"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "状態"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": 条件付きブレークポイント"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "条件(&C)"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "無視 次のヒット(&n)"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "新しい作業ディレクトリ:"
+
+#: debugger.cpp:650
+#, fuzzy
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"gdbの予期せぬ終了\n"
+"セッションを再スタート(例;with File|Executable)"
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr "追加"
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr "削除"
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "実行(&x)"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "アクティブ"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": グローバルオプション"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": プログラムの出力"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "デバッグ可能なものを選択"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "デバッガを起動できません"
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "デフォルトの設定を復元するには、エントリーを削除してください。"
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "GDBを呼び出すには(&G):"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%Tはタイトルの文字列と置き換わり、\n"
+"%Cはターミナルのウインドウを開いておくボーンシェル\n"
+"スクリプトに置き換わります。"
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "プログラムの出力用ターミナル(&T):"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": プロセスに接続"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "接続先プロセス番号を指定:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": 検索"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "大文字と小文字を区別する(&C)"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "進む(&F)"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "戻る(&B)"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "実行(&x)"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "ブレークポイント(&B)"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr "プログラムの引数"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "引数(&A)"
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "これらの引数で %s を実行"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "作業ディレクトリ:"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "More(&M)"
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "環境変数 (NAME=values):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "名前"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "グローバルオプション(&G)"
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": プロセスに接続"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "ソースの再読み込み(&R)"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "値"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "再スタート"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "ブレークポイント"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "ソースを開く(&O)"
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "ソースの再読み込み(&R)"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "実行可能(&E)"
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "実行可能"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "コアダンプ(&C)"
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "グローバルオプション(&G)"
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "検索(&F)"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr ""
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "ブレークポイント"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "実行(&R)"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "ステップ イントゥ(&i)"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "ステップ オーバー(&o)"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "ステップ アウト(&u)"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "カーソルまで行く(&c)"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "ブレーク(&B)"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "再スタート(&s)"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "接続(&t)"
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "引数(&A)"
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "ブレークポイントのセット/クリア(&b)"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "仮ブレークポイントをセット(&t)"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "ブレークポイントを有効/無効(&E)"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "値"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "再スタート"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "コアダンプ"
+
+#: dbgmainwnd.cpp:588
+#, fuzzy
+msgid "`%1' is not a file or does not exist"
+msgstr "`%s'はファイルでないか、もしくは存在しません"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "ソースファイルを再読み込み"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "ソースファイルを開く"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "デバッグ可能なものを選択"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "コアダンプを選択"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "ソースファイルを再読み込み"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "再スタート"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "検索(&F)"
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "ツールバーをトグル(&T)"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "ステータスバーをトグル(&S)"
+
+#~ msgid "Executable"
+#~ msgstr "実行可能"
+
+#~ msgid "Open a source file"
+#~ msgstr "ソースファイルを開く"
+
+#~ msgid "Reload source file"
+#~ msgstr "ソースファイルを再読み込み"
+
+#~ msgid "Run/Continue"
+#~ msgstr "実行/続ける"
+
+#~ msgid "Step into"
+#~ msgstr "ステップイントゥ"
+
+#~ msgid "Step over"
+#~ msgstr "ステップオーバー"
+
+#~ msgid "Step out"
+#~ msgstr "ステップアウト"
+
+#~ msgid "Breakpoint"
+#~ msgstr "ブレークポイント"
+
+#~ msgid "Search"
+#~ msgstr "検索"
+
+#~ msgid "&Modify"
+#~ msgstr "変更(&M)"
+
+#~ msgid "&Add"
+#~ msgstr "追加(&A)"
+
+#~ msgid "&List..."
+#~ msgstr "リスト(&L)"
diff --git a/po/nb.gmo b/po/nb.gmo
new file mode 100644
index 0000000..55c15ac
--- /dev/null
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
new file mode 100644
index 0000000..9669596
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,900 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998,1999 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 1999
+# Hans Petter Bieker <zerium@webindex.no>, 1998.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:09MDT\n"
+"Last-Translator: Hans Petter Bieker <zerium@webindex.no>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Verdi"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+#, fuzzy
+msgid "&Strings"
+msgstr "&Finn..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Brytningpunkter"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Vis kode"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr ""
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Sted"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr ""
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr ""
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr ""
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ""
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr ""
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr ""
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr ""
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Legg til "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Slett "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "&Programfil"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktiv"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ""
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Programutmating"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Velg programmet du vil avluse"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Kan ikke starte avluser."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr ""
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr ""
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+
+#: prefdebugger.cpp:38
+#, fuzzy
+msgid "&Terminal for program output:"
+msgstr ": Programutmating"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Knytt til prosess"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Oppgi prosessnummeret du vil knytte til:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Søk"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Avhengig av bokstavstørrelse"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Forover"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Bakover"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "&Programfil"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Brytningpunkter"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Programargumenter"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argumenter..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Kjør %1 med disse argumentene:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, no-c-format
+msgid "&Working Directory"
+msgstr ""
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Mer..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr ""
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Navn"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, no-c-format
+msgid "&xsldbg Options"
+msgstr ""
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Knytt til prosess"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "L&ast kildekode på nytt"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "Verdi"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Omstart"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Brytningspunkter"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Åpne kildekode..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "L&ast kildekode på nytt"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Programfil..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Programfil"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Minnedump..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr ""
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Vindu"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+#, fuzzy
+msgid "&Registers"
+msgstr "Omstart"
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Brytningspunkter"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Kjør"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Hopp &inn i"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Hopp &over"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "Hopp &ut"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Kjør til &markør"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Bryt"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "&Omstart"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "&Knytt til..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumenter..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Sett/nullstill &brytningspunkter"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Se&tt midlertidig brytningspunkt"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Skru av/på brytningspunkter"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Verdi"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Omstart"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Minnedump"
+
+#: dbgmainwnd.cpp:588
+#, fuzzy
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' er ikke en fil eller eksisterer ikke"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Åpne kildekode på nytt"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Åpne en kildekodefil"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Velg programmet du vil avluse"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Velg en minnedump"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Åpne kildekode på nytt"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Omstart"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Finn..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Vis/skjul &verktøylinje"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Vis/skjul &statuslinje"
+
+#~ msgid "Executable"
+#~ msgstr "Programfil"
+
+#~ msgid "Open a source file"
+#~ msgstr "Åpne en kildekodefil"
+
+#~ msgid "Reload source file"
+#~ msgstr "Åpne kildekode på nytt"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Kjør/fortsett"
+
+#~ msgid "Step into"
+#~ msgstr "Hopp inn i"
+
+#~ msgid "Step over"
+#~ msgstr "Hopp over"
+
+#~ msgid "Step out"
+#~ msgstr "Hopp ut"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Brytningspunkt"
+
+#~ msgid "Search"
+#~ msgstr "Søk"
diff --git a/po/nn.gmo b/po/nn.gmo
new file mode 100644
index 0000000..31e3182
--- /dev/null
+++ b/po/nn.gmo
Binary files differ
diff --git a/po/nn.po b/po/nn.po
new file mode 100644
index 0000000..35467b9
--- /dev/null
+++ b/po/nn.po
@@ -0,0 +1,903 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998-2000 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 2000
+# Norwegian (Nynorsk) KDE translation
+# Copyright (C) 2000 Gaute Hvoslef Kvalnes.
+# Gaute Hvoslef Kvalnes <ai98ghk@stud.hib.no>, 1999
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OTHERS/kdbg\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:10MDT\n"
+"Last-Translator: Gaute Hvoslef Kvalnes <ai98ghk@stud.hib.no>\n"
+"Language-Team: Norsk (nynorsk)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Verdi"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+msgid "&Strings"
+msgstr ""
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Brotpunkt"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Vis kode"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Vilkår ..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Plassering"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Treff"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Ignorer"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Vilkår"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Brotpunkt på vilkår"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Vilkår:"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Ignorer &neste treff:"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Ny arbeidskatalog: "
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 avslutta uventa.\n"
+"Start om att (med Fil|Køyrbar fil)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Legg til "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Slett "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "&Køyring"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktiv"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Globale val"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Programutskrift"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Vel den køyrbare fila som skal avlusast"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Kan ikkje starta avlusar."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Slett oppføringane for å gå tilbake til standardinnstilingane."
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "Korleis starta &GDB:"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T vert erstatta med ein titteltekst,\n"
+"%C vert erstatta me eit Bourne-skalskript som\n"
+"held terminalvindauget òpe."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "&Terminal for programutskrift:"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Knyt til prosess"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Vel prosessnummeret det skal knytast til:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Søk"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Omsyn til bokstavstorleik"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Framover"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Bakover"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "&Køyring"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Brotpunkt"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Programargument"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argument ..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Køyr %1 med desse arguenta:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "Arbeidskatalog:"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Meir ..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Miljøvariablar (NAMN=verdi):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Namn"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "&Globale val ..."
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Knyt til prosess"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "&Last kjelde om att"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "Verdi"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Start om att"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Brotpunkt"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Opna kjelde ..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Last kjelde om att"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Køyrbar fil ..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Køyrbar fil"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "K&jernedump ..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "&Globale val ..."
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Vindauge"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr ""
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Brotpunkt"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Køyr"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Gå &inn"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Hopp &over"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "Gå &ut"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Køyr til &skrivemerket"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Avbryt"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "&Start om att"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "&Legg ved ..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argument ..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Set/fjern brotpunkt"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Set &mellombels brotpunkt"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "Brotpunkt &av/på"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Verdi"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Start om att"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Kjernedump"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "'%1' er inga fil eller finst ikkje"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Last kjeldefil om att"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Opna ei kjeldefil"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Vel den køyrbare fila som skal avlusast"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Vel kjernedump"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Last kjeldefil om att"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Start om att"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Finn ..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "&Verktøylinje av/på"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "&Statuslinje av/på"
+
+#~ msgid "Executable"
+#~ msgstr "Køyrbar fil"
+
+#~ msgid "Open a source file"
+#~ msgstr "Opna ei kjeldefil"
+
+#~ msgid "Reload source file"
+#~ msgstr "Last kjeldefil om att"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Køyr/fortset"
+
+#~ msgid "Step into"
+#~ msgstr "Gå inn"
+
+#~ msgid "Step over"
+#~ msgstr "Hopp over"
+
+#~ msgid "Step out"
+#~ msgstr "Gå ut"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Brotpunkt"
+
+#~ msgid "Search"
+#~ msgstr "Søk"
diff --git a/po/pl.gmo b/po/pl.gmo
new file mode 100644
index 0000000..110c90c
--- /dev/null
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..213fc8d
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,901 @@
+# KDbg Polish translation file.
+# Main translation work:
+# Jacek Wojdel <wojdel@kbs.twi.tudelft.nl>
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:12MDT\n"
+"Last-Translator: Jacek Wojdel <wojdel@kbs.twi.tudelft.nl>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: iso-8859-2\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Wartość"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+#, fuzzy
+msgid "&Strings"
+msgstr "&Wyszukaj..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "Punkt &zatrzymania"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Pokaż kod"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Warunkowy..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Lokacja"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Trafienia"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr ""
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Warunek"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Warunkowy punkt zatrzymania"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Warunek:"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Ignoruj &następne trafienia:"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Nowy katalog roboczy: "
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 niespodziewanie zakończył pracę.\n"
+"Uruchom sesję ponownie (np. używając Plik|Plik wykonywalny)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Dodaj "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Usuń "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "&Wykonywanie"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktywny"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Ogólne opcje"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Wyniki działania programu"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Wybierz plik wykonywalny do debugowania"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Nie udało się uruchomić debugera."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Wyczyść pola by przywrócić domyślne ustawienia."
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "Jak uruchomić &GDB:"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T zostanie zastąpione tekstem tytułowym,\n"
+"%C zostanie zastąpione przez skrypt w Bourne shell,\n"
+"który spowoduje pozostawienie otwartego okna terminala."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "&Terminal dla wyników programu:"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Podłącz do procesu"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Podaj numer procesu do podłączenia się:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Wyszukaj"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Rozróżniaj wielkie/małe"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Do przodu"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Wstecz"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "&Wykonywanie"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "Punkt &zatrzymania"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Argumenty programu"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argumenty..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Uruchom %1 z tymi argumentami:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "Katalog roboczy:"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Więcej..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Zmienne środowiskowe (NAZWA=wartość):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr ""
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "Opcje o&gólne..."
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Podłącz do procesu"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "P&rzeładuj źródła..."
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "Wartość"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Restartuj"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Punkty zatrzymania"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Otwórz źródła..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "P&rzeładuj źródła..."
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "Plik &wykonywalny..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Plik wykonywalny"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Zrzut rdzenia..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "Opcje o&gólne..."
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Okno"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+#, fuzzy
+msgid "&Registers"
+msgstr "Restartuj"
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Punkty zatrzymania"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "U&ruchom"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Wejdź &w"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Przejdź &przez"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "Wyjdź &z"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Uruchom do &kursora"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Zatrzymaj"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "Re&startuj"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "&Podłącz..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumenty..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Ustaw/usuń punkt &zatrzymania"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Us&taw chwilowy punkt zatrzymania"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Włącz/wyłącz punkt zatrzymania"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Wartość"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Restartuj"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Zrzut rdzenia"
+
+#: dbgmainwnd.cpp:588
+#, fuzzy
+msgid "`%1' is not a file or does not exist"
+msgstr "%1' nie jest plikiem lub nie istnieje"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Przeładuj plik źródłowy"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Otwórz plik źródłowy"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Wybierz plik wykonywalny do debugowania"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Wybierz zrzut rdzenia"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Przeładuj plik źródłowy"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Restartuj"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Wyszukaj..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Pasek &narzędzi"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Pasek &stanu"
+
+#~ msgid "Executable"
+#~ msgstr "Plik wykonywalny"
+
+#~ msgid "Open a source file"
+#~ msgstr "Otwórz plik źródłowy"
+
+#~ msgid "Reload source file"
+#~ msgstr "Przeładuj plik źródłowy"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Uruchom/kontynuuj"
+
+#~ msgid "Step into"
+#~ msgstr "Wejdź w"
+
+#~ msgid "Step over"
+#~ msgstr "Przejdź przez"
+
+#~ msgid "Step out"
+#~ msgstr "Wyjdź z"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Punkt zatrzymania"
+
+#~ msgid "Search"
+#~ msgstr "Wyszukaj"
diff --git a/po/pt.gmo b/po/pt.gmo
new file mode 100644
index 0000000..b0fb22a
--- /dev/null
+++ b/po/pt.gmo
Binary files differ
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 0000000..767b665
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,884 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998,1999 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 1999
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:12MDT\n"
+"Last-Translator: Pedro Morais <morais@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr ""
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+#, fuzzy
+msgid "&Strings"
+msgstr "&Listar..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Breakpoint"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Ver Cdigo"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr ""
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Localizao"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr ""
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr ""
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr ""
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ""
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr ""
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr ""
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr ""
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Adicionar "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Apagar "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "E&xecuo"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "activo"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ""
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Sada do programa"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Seleccione o executavel a depurar"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "No consigo iniciar o depurador."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr ""
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr ""
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+
+#: prefdebugger.cpp:38
+#, fuzzy
+msgid "&Terminal for program output:"
+msgstr ": Sada do programa"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ""
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr ""
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ""
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr ""
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr ""
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr ""
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "E&xecuo"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Breakpoint"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Argumentos do programa"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argumentos..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Correr %1 com estes argumentos:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, no-c-format
+msgid "&Working Directory"
+msgstr ""
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Mais..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr ""
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr ""
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, no-c-format
+msgid "&xsldbg Options"
+msgstr ""
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, no-c-format
+msgid "Attach to Process"
+msgstr ""
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+msgid "Source"
+msgstr ""
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+msgid "Variable"
+msgstr ""
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+msgid "Registers"
+msgstr ""
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Breakpoints"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Abrir Cdigo..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr ""
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Executavel..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Executavel..."
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr ""
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr ""
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Janela"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr ""
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Breakpoints"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Correr"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "&Entrar"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "&Saltar"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "S&air"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Correr at ao &cursor"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Paragens"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr ""
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr ""
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumentos..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Colocar/tirar &breakpoint"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Colocar breakpoint &temporario"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Activar/desactivar breakpoint"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+msgid "Edit Value"
+msgstr ""
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr ""
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr ""
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' no um ficheiro ou no existe"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Abrir o ficheiro com o cdigo"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Abrir o ficheiro com o cdigo"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Seleccione o executavel a depurar"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr ""
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+msgid "File filter for &source files:"
+msgstr ""
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+msgid "Register"
+msgstr ""
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Listar..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Mostrar Barra de &Ferramentas"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Mostrar Barra de &Status"
+
+#~ msgid "Executable"
+#~ msgstr "Executavel..."
+
+#~ msgid "Open a source file"
+#~ msgstr "Abrir o ficheiro com o cdigo"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Correr/Continuar"
+
+#~ msgid "Step into"
+#~ msgstr "Entrar"
+
+#~ msgid "Step over"
+#~ msgstr "Saltar"
+
+#~ msgid "Step out"
+#~ msgstr "Sair"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Breakpoint"
diff --git a/po/ro.gmo b/po/ro.gmo
new file mode 100644
index 0000000..838f4b8
--- /dev/null
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
new file mode 100644
index 0000000..d612b8f
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,885 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998,1999 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 1999
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:12MDT\n"
+"Last-Translator: Vatafu Valerica <wally@socrates.tlnet.de>\n"
+"Language-Team: Romanian <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr ""
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+#, fuzzy
+msgid "&Strings"
+msgstr "&Lista..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Breakpoint"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Analizează Codul"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr ""
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Locaţia"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr ""
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr ""
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr ""
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ""
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr ""
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr ""
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr ""
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr "Adaugă"
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Şterge "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "E&xecutarea"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "activ"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ""
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Program output"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Selectează programul pentru debug"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Nu pot porni debugger-ul."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr ""
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr ""
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+
+#: prefdebugger.cpp:38
+#, fuzzy
+msgid "&Terminal for program output:"
+msgstr ": Program output"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ""
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr ""
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ""
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr ""
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr ""
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr ""
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "E&xecutarea"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Breakpoint"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Argumentele programului"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argumente..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Rulează %1 cu aceste argumente:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, no-c-format
+msgid "&Working Directory"
+msgstr ""
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Mai mult..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr ""
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr ""
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, no-c-format
+msgid "&xsldbg Options"
+msgstr ""
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, no-c-format
+msgid "Attach to Process"
+msgstr ""
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+msgid "Source"
+msgstr ""
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+msgid "Variable"
+msgstr ""
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+msgid "Registers"
+msgstr ""
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Breakpoints"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Deschide sursa..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr ""
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Executabil..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Executabil..."
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr ""
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr ""
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Fereastra"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr ""
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Breakpoints"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Rulează"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Pas &înauntru"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Pas &deasupra"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "Pas în a&fară"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Rulează la &cursor"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Break"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr ""
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr ""
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumente..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Setează/Şterge &Breakpoint"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Setează breakpoint-ul &temporar"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Activează/Dezactivează breakpoint"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+msgid "Edit Value"
+msgstr ""
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr ""
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr ""
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "'%1' nu există ca fişier"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Deschide un fişier sursă"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Deschide un fişier sursă"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Selectează programul pentru debug"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr ""
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+msgid "File filter for &source files:"
+msgstr ""
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+msgid "Register"
+msgstr ""
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Lista..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Toggle &Toolbar"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Toggle &Statusbar"
+
+#~ msgid "Executable"
+#~ msgstr "Executabil..."
+
+#~ msgid "Open a source file"
+#~ msgstr "Deschide un fişier sursă"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Rulează/Continuă"
+
+#~ msgid "Step into"
+#~ msgstr "Pas înauntru"
+
+#~ msgid "Step over"
+#~ msgstr "Pas înafară"
+
+#~ msgid "Step out"
+#~ msgstr "Pas în afară"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Breakpoint"
diff --git a/po/ru.gmo b/po/ru.gmo
new file mode 100644
index 0000000..270ef36
--- /dev/null
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..1725bb6
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,924 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998,1999 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 1999
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 1998-08-06 16:10+MET\n"
+"Last-Translator: Ilmar Habibulin <ilmar@ints.ru>\n"
+"Language-Team: ru@li.org\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Значение"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+#, fuzzy
+msgid "&Strings"
+msgstr "Искать..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Точки останова"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Посмотреть код"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Условный..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Расположение"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Попадания"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Игнорировать"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Условие"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Условная точка останова"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Условие:"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Игнорировать &следующее попадание:"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Новая рабочая директория: "
+
+#: debugger.cpp:650
+#, fuzzy
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"gdb неожиданно завершился\n"
+"Перезапустите сессию (например, через Файл|Исполняемый модуль."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Добавить "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Удалить "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "&Исполнение"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "активный"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Глобальные параметры"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Вывод программы"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Выберите исполняемый модуль для отладки"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Невозможно запустить отладчик."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Для возврата значений по-умолчанию, очитите поля."
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "Как вызывать &GDB:"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T будет заменено на строку заголовка,\n"
+"%C будет заменено скриптом на Bourne shell, который\n"
+"будет держать терминальное окно открытым."
+
+#: prefdebugger.cpp:38
+#, fuzzy
+msgid "&Terminal for program output:"
+msgstr ": Вывод программы"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Подсоединиться к процессу"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Укажите номер порцесса: к которому будем подсоединяться:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Поиск"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Учитывать регистр"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Переадресация"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Назад"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "&Исполнение"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Точки останова"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Аргументы программы"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Аргументы..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Запустить %s со следующими аргументами:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "Рабочая директория:"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Дальше..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Переменные окружения (ИМЯ=значение):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Имя"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "Глобальные &Параметры..."
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Подсоединиться к процессу"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "&Перезагрузить исходный текст"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "Значение"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Перезапустить"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Точки останова"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Открыть исходный текст..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Перезагрузить исходный текст"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Исполняемый модуль..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Исполняемый модуль"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Образ памяти..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "Глобальные &Параметры..."
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "Искать..."
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+#, fuzzy
+msgid "&Registers"
+msgstr "Перезапустить"
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Точки останова"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "Запустить"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Шаг &внутрь"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Шаг &через"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "Шаг &изнутри"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Исполнять до &курсора"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Останов"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "Пере&запуск"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "Под&соединение..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Аргументы..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Установить/Снять &точку останова"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Установить &временную точку останова"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Вкл/Выкл точку останова"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Значение"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Перезапустить"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Образ памяти процесса"
+
+#: dbgmainwnd.cpp:588
+#, fuzzy
+msgid "`%1' is not a file or does not exist"
+msgstr "`%s' не файл или не существует"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Перезагрузить файл исходных текстов"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Открыть файл исходных текстов"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Выберите исполняемый модуль для отладки"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Выберите сохраненный образ памяти процесса"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Перезагрузить файл исходных текстов"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Перезапустить"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "Искать..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Вкл/Выкл панель &инструментов"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Вкл/Выкл панель &состояния"
+
+#~ msgid "Executable"
+#~ msgstr "Исполняемый модуль"
+
+#~ msgid "Open a source file"
+#~ msgstr "Открыть файл исходных текстов"
+
+#~ msgid "Reload source file"
+#~ msgstr "Перезагрузить файл исходных текстов"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Запустить/Продолжить"
+
+#~ msgid "Step into"
+#~ msgstr "Шаг внутрь"
+
+#~ msgid "Step over"
+#~ msgstr "Шаг через"
+
+#~ msgid "Step out"
+#~ msgstr "Шаг изнутри"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Точка останова"
+
+#~ msgid "Search"
+#~ msgstr "Поиск"
+
+#~ msgid "&Modify"
+#~ msgstr "Изменит&ь"
+
+#, fuzzy
+#~ msgid "&Font..."
+#~ msgstr "Искать..."
+
+#, fuzzy
+#~ msgid "&View mode"
+#~ msgstr "&Посмотреть код"
+
+#~ msgid "&Add"
+#~ msgstr "&Добавить"
+
+#~ msgid "&List..."
+#~ msgstr "Список..."
+
+#~ msgid "&About"
+#~ msgstr "&О программе"
diff --git a/po/sk.gmo b/po/sk.gmo
new file mode 100644
index 0000000..ac805e9
--- /dev/null
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
new file mode 100644
index 0000000..6f2d8e7
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,896 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998,1999 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 1999
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:13MDT\n"
+"Last-Translator: Peter Iványi <ivanyi@internet.sk>\n"
+"Language-Team: Slovak <bednar@isternet.sk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr ""
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+#, fuzzy
+msgid "&Strings"
+msgstr "&Hľadať..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Zarážka"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Prezrieť kód"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr ""
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Umiestnenie"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr ""
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr ""
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr ""
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ""
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr ""
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr ""
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr ""
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Pridať "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Zmazať "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "Spust&enie"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktívny"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ""
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Výstup programu"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Vyberte, kt. spustiteľný súbor chcete debugovať "
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Nemôžem spustiť debuger."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr ""
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr ""
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+
+#: prefdebugger.cpp:38
+#, fuzzy
+msgid "&Terminal for program output:"
+msgstr ": Výstup programu"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Pripojiť k procesu"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Špecifikovať proces na pripojenie:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Hľadať"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Rozlišovať veľké/malé"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Vpred"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "V&zad"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "Spust&enie"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Zarážka"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": argumenty programu"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argumenty..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Spustiť %1 s týmito argumentami:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, no-c-format
+msgid "&Working Directory"
+msgstr ""
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Viac..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr ""
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr ""
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, no-c-format
+msgid "&xsldbg Options"
+msgstr ""
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Pripojiť k procesu"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "&Znovu načítať zdroj"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+msgid "Variable"
+msgstr ""
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Reštart"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Zarážky"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Otvoriť zdroj..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Znovu načítať zdroj"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "Spustit&eľný súbor..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Spustiteľný súbor"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Core dump..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr ""
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Okno"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+#, fuzzy
+msgid "&Registers"
+msgstr "Reštart"
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Zarážky"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "S&pustiť"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Krokovať &do"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Krokovať &nad"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "Krokovať &za"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Spustiť po &kurzor"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Prerušenie"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "Reš&tart"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "P&ripojiť..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumenty..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Nastaviť/zmazať &zarážku"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Nastaviť &dočasnú zarážku"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "Po&voliť/zakázať &zarážku"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+msgid "Edit Value"
+msgstr ""
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Reštart"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Core dump"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' nie je súbor alebo neexistuje"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Znovu načítať zdrojový súbor"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Otvoriť zdrojový súbor"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Vyberte, kt. spustiteľný súbor chcete debugovať "
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Zvoliť core dump"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Znovu načítať zdrojový súbor"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Reštart"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Hľadať..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Prepnúť panel &nástrojov"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Prepnúť &stavový riadok"
+
+#~ msgid "Executable"
+#~ msgstr "Spustiteľný súbor"
+
+#~ msgid "Open a source file"
+#~ msgstr "Otvoriť zdrojový súbor"
+
+#~ msgid "Reload source file"
+#~ msgstr "Znovu načítať zdrojový súbor"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Spustiť/pokračovať"
+
+#~ msgid "Step into"
+#~ msgstr "Krokovať do"
+
+#~ msgid "Step over"
+#~ msgstr "Krokovať cez"
+
+#~ msgid "Step out"
+#~ msgstr "Krokovať za"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Zarážka"
+
+#~ msgid "Search"
+#~ msgstr "Hľadať"
diff --git a/po/sr.gmo b/po/sr.gmo
new file mode 100644
index 0000000..59c16af
--- /dev/null
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
new file mode 100644
index 0000000..fb7a3d8
--- /dev/null
+++ b/po/sr.po
@@ -0,0 +1,901 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998-2000 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 2000
+# Strahinja Radić <mr99164@alas.matf.bg.ac.yu>, 2000.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:14MDT\n"
+"Last-Translator: Strahinja Radić <mr99164@alas.matf.bg.ac.yu>\n"
+"Language-Team: Serbian <LL@kde.org.yu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: ENCODING\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Vrednost"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+msgid "&Strings"
+msgstr ""
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Prekid"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Pregled koda"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Uslovni..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Lokacija"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Prolaza"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Ignoriši"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Uslov"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Uslovni prekid"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Uslov:"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Ignoriši sledeće prolaze:"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Novi radni direktorijum: "
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 je neočekivano izašao.\n"
+"Ponovo pokrenite seansu (npr. sa Fajl|Program)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Dodaj "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Briši "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "I&zvršavanje"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktivan"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Globalna podešavanja"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Izlaz programa"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Izaberite program za trebljenje"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Ne mogu da pokrenem trebilicu."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Da vratite podraz. podešavanja, obrišite stavke."
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "Kako da pokrenem &GDB:"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T će biti zamenjeno naslovom,\n"
+"%C će biti zamenjeno skriptom ljuske Bourne koji\n"
+"drži terminalski prozor otvoren."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "&Terminal za izlaz programa:"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Zakači za proces"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Unesite broj procesa za zakačinjanje:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Pretraga"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Razlikuj velika i mala slova"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Napred"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Nazad"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "I&zvršavanje"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Prekid"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Argumenti programa"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argumenti..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Pokreni %1 sa sledećim argumentima:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "Radni direktorijum:"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Više..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Promenljive ljuske (IME=vrednost):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Ime"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "&Globalna podešavanja..."
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Zakači za proces"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "&Ponovo učitaj izvorni kod"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "Vrednost"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Pokreni ponovo"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Prekidi"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Otvori izvorni kod..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Ponovo učitaj izvorni kod"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Program..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Program"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Core fajl..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "&Globalna podešavanja..."
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "Pr&ozor"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr ""
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Prekidi"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Pokreni"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Kroči &u"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Kroči prek&o"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "Kroči &iz"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Izvrši do &kursora"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "P&rekid"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "Po&novo pokreni"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "&Zakači..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argumenti..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Postavi/očisti p&rekid"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Pos&tavi privremeni prekid"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "Omogući/on&emogući prekid"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Vrednost"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Pokreni ponovo"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Core fajl"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' nije fajl ili ne postoji"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Ponovo učitaj izvorni kod"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Otvori izvorni kod"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Izaberite program za trebljenje"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Izaberite core fajl"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Ponovo učitaj izvorni kod"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Pokreni ponovo"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Nađi..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Uključi/isključi alatke"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Uključi/isključi statusnu liniju"
+
+#~ msgid "Executable"
+#~ msgstr "Program"
+
+#~ msgid "Open a source file"
+#~ msgstr "Otvori izvorni kod"
+
+#~ msgid "Reload source file"
+#~ msgstr "Ponovo učitaj izvorni kod"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Pokreni/nastavi"
+
+#~ msgid "Step into"
+#~ msgstr "Kroči u"
+
+#~ msgid "Step over"
+#~ msgstr "Kroči preko"
+
+#~ msgid "Step out"
+#~ msgstr "Kroči iz"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Prekid"
+
+#~ msgid "Search"
+#~ msgstr "Pretraga"
diff --git a/po/sv.gmo b/po/sv.gmo
new file mode 100644
index 0000000..4c19605
--- /dev/null
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..770685e
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,902 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998,1999,2000 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg 1.0.3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:15MDT\n"
+"Last-Translator: Örjan Lindbergh <orjan.lindbergh@telia.com>\n"
+"Language-Team: (None)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Värde"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+#, fuzzy
+msgid "&Strings"
+msgstr "&Sök..."
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Brytpunkt"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Visa kod"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "Beroende..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Plats"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Träffar"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Ingorera"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Vilkor"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr "Beroende brytpunkt"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Villkor"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "Ignorera &nästa träff:"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Ny arbets katalog:"
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 avslutades oväntat.\n"
+"Starta om programmet (e.g. med Fil|exefil)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr "Lägg till"
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Ta bort "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "K&ör"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktiv"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Allmänna inställningar"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Programutskrift"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Välj exefil för avlusning"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Kan inte starta avlusaren."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "För att sätta på dom ordinarie inställningarna, ta bort texten"
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "Hur man anropar &GDB:"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T kommer att bytas mot en text\n"
+"%C kommer att bytas mot ett Bourne skript som\n"
+"behåller terminalfönstret öppet."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "&Terminal för programutskrift:"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr "Lägg till processen"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "Specifiera processnumret att lägga till"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Sök"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Gör skillnad på små och stora bokstäver"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "&Framåt"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Bakåt"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "K&ör"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Brytpunkt"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr "Program argument"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argument..."
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "Kör %1 med dessa argument:"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "Arbets katalog:"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Mer..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Miljö variabel (Namn=värde):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Namn"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "&Allmänna inställningar..."
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr "Lägg till processen"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "&Ladda om källa"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "Värde"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Starta om"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Brytpunkt"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Öpnna källa..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Ladda om källa"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "Körbar..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Körbar"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Core dump..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "&Allmänna inställningar..."
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Fönster"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+#, fuzzy
+msgid "&Registers"
+msgstr "Starta om"
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Brytpunkt"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "&Kör"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "Stega &in"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Stega &över"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "stega u&t"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "Kör till &markör"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Bryt"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr "&Stoppa"
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "St&arta om"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "L&ägg till..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argument..."
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Sätt/rensa &brytpunkt"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "Sätt &temoprär brytpunkt"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "&Sätt på/ stäng av brytpunkt"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Värde"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Starta om"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "Core dump"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' är inte någon fil eller så finns den inte"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Ladda om källfilen"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Öppna en källfil"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Välj exefil för avlusning"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Välj core dump"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Ladda om källfilen"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Starta om"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Sök..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "Sätt på &verktygsraden"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "Sätt på &statusraden"
+
+#~ msgid "Executable"
+#~ msgstr "Körbar"
+
+#~ msgid "Open a source file"
+#~ msgstr "Öppna en källfil"
+
+#~ msgid "Reload source file"
+#~ msgstr "Ladda om källfilen"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Kör/fortsätt"
+
+#~ msgid "Step into"
+#~ msgstr "Stig in i"
+
+#~ msgid "Step over"
+#~ msgstr "Stega över"
+
+#~ msgid "Step out"
+#~ msgstr "Stega ut"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Brytpunkt"
+
+#~ msgid "Search"
+#~ msgstr "Sök"
diff --git a/po/tr.gmo b/po/tr.gmo
new file mode 100644
index 0000000..655d1c3
--- /dev/null
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..830a484
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,902 @@
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998-2000 Johannes Sixt
+# Johannes Sixt <j6t@kdbg.org>, 2000
+# KDE TÜRKÇELEŞTİRME PROJESİ.
+# Adem GUNES <adem@alaeddin.cc.selcuk.edu.tr>, 2000.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: kdbg\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2002-03-03 16:16MDT\n"
+"Last-Translator: Serdar Cevher <serdar@linuxtr.com>\n"
+"Language-Team: Turkish <kde-i18n-tr@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"X-Generator: KBabel 0.9.5\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "Değer"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr ""
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr ""
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr ""
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr ""
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr ""
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr ""
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr ""
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr ""
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr ""
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr ""
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr ""
+
+#: memwindow.cpp:83
+msgid "&Strings"
+msgstr ""
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr ""
+
+#: brkpt.cpp:63
+#, fuzzy
+msgid "Add &Breakpoint"
+msgstr "&Bırakma noktası"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr ""
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr ""
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr ""
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "&Kodu Göster"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "&Koşullu..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "Konum"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "Vuruşlar"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "Yoksay"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "Koşul"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ": Koşullu bırakma"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "&Koşul"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "&Sonraki vuruşları yoksay"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr ""
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr ""
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "Yeni çalışma dizini: "
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"%1 beklenmedik şekilde sonlandı.\n"
+"Oturumu yeniden başlatın (ör., Dosya|Çalıştırılabilir)."
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr " Ekle "
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr " Sil "
+
+#: mainwndbase.cpp:45
+#, fuzzy
+msgid "Expression"
+msgstr "Ç&alıştırma"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "aktif"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr ""
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr ""
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ": Genel seçenekler"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr ""
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr ""
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ": Program çıktısı"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr ""
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr ""
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr ""
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr ""
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr ""
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr ""
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr ""
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr ""
+
+#: main.cpp:60
+#, fuzzy
+msgid "path of executable to debug"
+msgstr "Hataları ayıklanacak çalıştırılabilir dosyayı seçin"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr ""
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "Hata ayıklayıcı başlatılamıyor."
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "Öntanımlı ayarlara dönmek için, girişleri temizleyiniz."
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "&GDB nasıl başlatılır:"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T'nin yerine bir başlık konulacak,\n"
+"%C bir Bourne kabuk betiğiyle değiştirilecek,\n"
+"böylece uçbirim penceresi açık kalacak."
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "Program çıktısı için &Terminal:"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ": Sürece iliştir"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "İliştirilecek süreç numarasını belirtin:"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr ""
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr ""
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr ""
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr ""
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ": Ara"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "&Büyük/küçük harfe duyarlı"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "İ&leri"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "&Geri"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "Ç&alıştırma"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "&Bırakma noktası"
+
+#: rc.cpp:18
+#, fuzzy, no-c-format
+msgid "Program Arguments"
+msgstr ": Program argümanları"
+
+#: rc.cpp:21
+#, fuzzy, no-c-format
+msgid "&Arguments"
+msgstr "&Argümanlar"
+
+#: rc.cpp:24
+#, fuzzy, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "%1'i bu argümanlarla çalıştır"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr ""
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr ""
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr ""
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr ""
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr ""
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr ""
+
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "&Working Directory"
+msgstr "Çalışma dizini:"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Browse..."
+msgstr "&Diğer..."
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr ""
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr ""
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr ""
+
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "Çevre değişkenleri (AD=değer):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "Ad"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr ""
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr ""
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr ""
+
+#: rc.cpp:99
+#, fuzzy, no-c-format
+msgid "&xsldbg Options"
+msgstr "&Genel Seçenekler..."
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr ""
+
+#: rc.cpp:116
+#, fuzzy, no-c-format
+msgid "Attach to Process"
+msgstr ": Sürece iliştir"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr ""
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr ""
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr ""
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr ""
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr ""
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr ""
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr ""
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr ""
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr ""
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr ""
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr ""
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr ""
+
+#: dbgmainwnd.cpp:46
+#, fuzzy
+msgid "Source"
+msgstr "&Kaynağı Yeniden Yükle"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr ""
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:58
+#, fuzzy
+msgid "Variable"
+msgstr "Değer"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr ""
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+#, fuzzy
+msgid "Registers"
+msgstr "Yeniden başlat"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "Bırakma noktaları"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr ""
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr ""
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "&Kaynağı Aç..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "&Kaynağı Yeniden Yükle"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "&Çalıştırılabilir..."
+
+#: dbgmainwnd.cpp:189
+#, fuzzy
+msgid "Recent E&xecutables"
+msgstr "Çalıştırılabilir"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "&Içi at..."
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr ""
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "&Genel Seçenekler..."
+
+#: dbgmainwnd.cpp:207
+#, fuzzy
+msgid "&Find"
+msgstr "&Pencere"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr ""
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr ""
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr ""
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr ""
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr ""
+
+#: dbgmainwnd.cpp:219
+#, fuzzy
+msgid "&Breakpoints"
+msgstr "Bırakma noktaları"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr ""
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr ""
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "Ç&alıştır"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "İç&e adım"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "Biten &adım"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "Dışa adım"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "İ&mlece kadar çalıştır"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr ""
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr ""
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "&Bırak"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr ""
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "Yeniden &başlat"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "İ&liştir..."
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "&Argümanlar"
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "Bırakma noktaları Koy/Kaldır"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "&Geçici bırakma noktası koy"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "Bırakma noktasını etkinleştir/etkinlikten çıkart"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr ""
+
+#: dbgmainwnd.cpp:293
+#, fuzzy
+msgid "Edit Value"
+msgstr "Değer"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "Yeniden başlat"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "İçi at"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1' dosya değil veya yok"
+
+#: dbgmainwnd.cpp:702
+#, fuzzy
+msgid "|All source files\n"
+msgstr "Kaynak dosyasını yeniden yükle"
+
+#: dbgmainwnd.cpp:703
+#, fuzzy
+msgid "|Source files\n"
+msgstr "Kaynak dosyası aç"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr ""
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr ""
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "Hataları ayıklanacak çalıştırılabilir dosyayı seçin"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "Atılacak içi seçin"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr ""
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr ""
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr ""
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr ""
+
+#: prefmisc.cpp:37
+#, fuzzy
+msgid "File filter for &source files:"
+msgstr "Kaynak dosyasını yeniden yükle"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr ""
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr ""
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr ""
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr ""
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr ""
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr ""
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr ""
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr ""
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr ""
+
+#: regwnd.cpp:427
+#, fuzzy
+msgid "Register"
+msgstr "Yeniden başlat"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr ""
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr ""
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr ""
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr ""
+
+#, fuzzy
+#~ msgid "&Settings..."
+#~ msgstr "&Bul..."
+
+#~ msgid "Toggle &Toolbar"
+#~ msgstr "&Araç Çubuğuna Geç"
+
+#~ msgid "Toggle &Statusbar"
+#~ msgstr "&Durum Çubuğuna Geç"
+
+#~ msgid "Executable"
+#~ msgstr "Çalıştırılabilir"
+
+#~ msgid "Open a source file"
+#~ msgstr "Kaynak dosyası aç"
+
+#~ msgid "Reload source file"
+#~ msgstr "Kaynak dosyasını yeniden yükle"
+
+#~ msgid "Run/Continue"
+#~ msgstr "Çalıştır/Devam et"
+
+#~ msgid "Step into"
+#~ msgstr "İçe adım"
+
+#~ msgid "Step over"
+#~ msgstr "Biten adım"
+
+#~ msgid "Step out"
+#~ msgstr "Dışa adım"
+
+#~ msgid "Breakpoint"
+#~ msgstr "Bırakma noktası"
+
+#~ msgid "Search"
+#~ msgstr "Ara"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
new file mode 100644
index 0000000..930d606
--- /dev/null
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..83720ad
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,868 @@
+# translation of zh_CN.po to
+# KDbg - Debugger GUI for gdb
+# Copyright (C) 1998-2000 Johannes Sixt
+#
+# Johannes Sixt <j6t@kdbg.org>, 2000.
+# Moligaloo <moligaloo@163.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: zh_CN\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-07-19 22:57+0200\n"
+"PO-Revision-Date: 2008-04-18 18:27+0800\n"
+"Last-Translator: Moligaloo <moligaloo@163.com>\n"
+"Language-Team: <zh@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: exprwnd.cpp:314 rc.cpp:75 regwnd.cpp:428
+#, no-c-format
+msgid "Value"
+msgstr "值"
+
+#: memwindow.cpp:55 brkpt.cpp:317
+msgid "Address"
+msgstr "地址"
+
+#: memwindow.cpp:70
+msgid "B&ytes"
+msgstr "字节"
+
+#: memwindow.cpp:71
+msgid "Halfwords (&2 Bytes)"
+msgstr "半字"
+
+#: memwindow.cpp:72
+msgid "Words (&4 Bytes)"
+msgstr "字"
+
+#: memwindow.cpp:73
+msgid "Giantwords (&8 Bytes)"
+msgstr "双字"
+
+#: memwindow.cpp:75 regwnd.cpp:79
+msgid "He&xadecimal"
+msgstr "十六进制"
+
+#: memwindow.cpp:76
+msgid "Signed &decimal"
+msgstr "有符号整数"
+
+#: memwindow.cpp:77
+msgid "&Unsigned decimal"
+msgstr "无符号整数"
+
+#: memwindow.cpp:78 regwnd.cpp:77
+msgid "&Octal"
+msgstr "八进制"
+
+#: memwindow.cpp:79 regwnd.cpp:76
+msgid "&Binary"
+msgstr "二进制"
+
+#: memwindow.cpp:80
+msgid "&Addresses"
+msgstr "地址"
+
+#: memwindow.cpp:81
+msgid "&Character"
+msgstr "字符"
+
+#: memwindow.cpp:82
+msgid "&Floatingpoint"
+msgstr "浮点数"
+
+#: memwindow.cpp:83
+msgid "&Strings"
+msgstr "字符串"
+
+#: memwindow.cpp:84
+msgid "&Instructions"
+msgstr "指令"
+
+#: brkpt.cpp:63
+msgid "Add &Breakpoint"
+msgstr "添加断点"
+
+#: brkpt.cpp:67
+msgid "Add &Watchpoint"
+msgstr "添加监视点"
+
+#: brkpt.cpp:76 brkpt.cpp:235
+msgid "&Disable"
+msgstr "启用"
+
+#: brkpt.cpp:81 brkpt.cpp:237
+msgid "&Enable"
+msgstr "禁用"
+
+#: brkpt.cpp:91
+msgid "&View Code"
+msgstr "查看代码"
+
+#: brkpt.cpp:95
+msgid "&Conditional..."
+msgstr "条件..."
+
+#: brkpt.cpp:316 threadlist.cpp:42
+msgid "Location"
+msgstr "位置"
+
+#: brkpt.cpp:318
+msgid "Hits"
+msgstr "提示"
+
+#: brkpt.cpp:319
+msgid "Ignore"
+msgstr "忽略"
+
+#: brkpt.cpp:320
+msgid "Condition"
+msgstr "状态"
+
+#: brkpt.cpp:443
+msgid ": Conditional breakpoint"
+msgstr ":条件断点"
+
+#: brkpt.cpp:446
+msgid "&Condition:"
+msgstr "条件:"
+
+#: brkpt.cpp:448
+msgid "Ignore &next hits:"
+msgstr "忽略下一个提示"
+
+#: gdbdriver.cpp:894
+msgid "<anonymous struct or union>"
+msgstr "<匿名结构体或共用体>"
+
+#: gdbdriver.cpp:1488
+msgid "<additional entries of the array suppressed>"
+msgstr "<被抑制数组的额外条目>"
+
+#: gdbdriver.cpp:2041 xsldbgdriver.cpp:1334
+msgid "New working directory: "
+msgstr "新的工作目录:"
+
+#: debugger.cpp:650
+msgid ""
+"%1 exited unexpectedly.\n"
+"Restart the session (e.g. with File|Executable)."
+msgstr ""
+"gdb非预期中止\n"
+"请重启会话,返回代码为%1"
+
+#: debugger.cpp:833
+msgid ""
+"The settings for this program specify the following debugger command:\n"
+"%1\n"
+"Shall this command be used?"
+msgstr ""
+"这个程序的设置指定了下面的调试命令:\n"
+"%1 使用这个命令吗?"
+
+#: mainwndbase.cpp:43
+msgid " Add "
+msgstr "添加"
+
+#: mainwndbase.cpp:44
+msgid " Del "
+msgstr "删除"
+
+#: mainwndbase.cpp:45
+msgid "Expression"
+msgstr "表达式"
+
+#: mainwndbase.cpp:135
+msgid "active"
+msgstr "激活"
+
+#: mainwndbase.cpp:301
+msgid "Don't know how to debug language `%1'"
+msgstr "不能调试的语言:%1"
+
+#: mainwndbase.cpp:314
+msgid ""
+"Could not start the debugger process.\n"
+"Please shut down KDbg and resolve the problem."
+msgstr "无法启动调试器进程"
+
+#: mainwndbase.cpp:418
+msgid ": Global options"
+msgstr ":全局选项"
+
+#: mainwndbase.cpp:435 pgmsettings.cpp:111
+msgid "&Debugger"
+msgstr "调试器"
+
+#: mainwndbase.cpp:436
+msgid "&Miscellaneous"
+msgstr "杂项"
+
+#: mainwndbase.cpp:506
+msgid ": Program output"
+msgstr ":程序输出"
+
+#: main.cpp:38
+msgid "A Debugger"
+msgstr "一个基于GDB的图形界面调试器"
+
+#: main.cpp:46
+msgid "XSLT debugging"
+msgstr "XSLT调试"
+
+#: main.cpp:49
+msgid "Register groups and formating"
+msgstr "寄存器组与格式化"
+
+#: main.cpp:54
+msgid "transcript of conversation with the debugger"
+msgstr "与调试器会话的副本"
+
+#: main.cpp:55
+msgid "remote debugging via <device>"
+msgstr "通过<device>进行远程调试"
+
+#: main.cpp:56
+msgid "specify language: C, XSLT"
+msgstr "指定语言:C,XSLT "
+
+#: main.cpp:57
+msgid "use language XSLT (deprecated)"
+msgstr "使用语言XSLT(过时)"
+
+#: main.cpp:58
+msgid "specify arguments of debugged executable"
+msgstr ""
+
+#: main.cpp:59
+msgid "specify PID of process to debug"
+msgstr "指定要调试进程的PID"
+
+#: main.cpp:60
+msgid "path of executable to debug"
+msgstr "可执行程序的路径"
+
+#: main.cpp:61
+msgid "a core file to use"
+msgstr "要使用的核心转储"
+
+#: main.cpp:126
+msgid "Cannot start debugger."
+msgstr "不能启动调试器"
+
+#: prefdebugger.cpp:21
+msgid "To revert to the default settings, clear the entries."
+msgstr "恢复默认设置清除条目"
+
+#: prefdebugger.cpp:25
+msgid "How to invoke &GDB:"
+msgstr "怎样调用GDB"
+
+#: prefdebugger.cpp:32
+msgid ""
+"%T will be replaced with a title string,\n"
+"%C will be replaced by a Bourne shell script that\n"
+"keeps the terminal window open."
+msgstr ""
+"%T将会替换为一个标题字符串\n"
+"%C会替换为了一个Bourne shell脚本\n"
+"以保持终端窗口打开"
+
+#: prefdebugger.cpp:38
+msgid "&Terminal for program output:"
+msgstr "程序输出的终端"
+
+#: procattach.cpp:271
+msgid ": Attach to process"
+msgstr ":连接到进程"
+
+#: procattach.cpp:275
+msgid "Specify the process number to attach to:"
+msgstr "指定要连接的进程号"
+
+#: pgmsettings.cpp:26
+msgid ""
+"How to invoke &GDB - leave empty to use\n"
+"the default from the global options:"
+msgstr ""
+"怎样启动GDB\n"
+"默认与全局选项相同。"
+
+#: pgmsettings.cpp:61
+msgid "&No input and output"
+msgstr "没有输入和输出"
+
+#: pgmsettings.cpp:66
+msgid "&Only output, simple terminal emulation"
+msgstr "只有输出,简单终端的模拟"
+
+#: pgmsettings.cpp:71
+msgid "&Full terminal emulation"
+msgstr "全终端模拟"
+
+#: pgmsettings.cpp:105
+msgid "%1: Settings for %2"
+msgstr "%1:%2的设置"
+
+#: pgmsettings.cpp:112 dbgmainwnd.cpp:221
+msgid "&Output"
+msgstr "输出"
+
+#: winstack.cpp:390
+msgid ": Search"
+msgstr ":搜索"
+
+#: winstack.cpp:396
+msgid "&Case sensitive"
+msgstr "区分大小写"
+
+#: winstack.cpp:398
+msgid "&Forward"
+msgstr "前进"
+
+#: winstack.cpp:400
+msgid "&Backward"
+msgstr "后退"
+
+#: rc.cpp:9
+#, no-c-format
+msgid "E&xecution"
+msgstr "执行"
+
+#: rc.cpp:12
+#, no-c-format
+msgid "&Breakpoint"
+msgstr "断点"
+
+#: rc.cpp:18
+#, no-c-format
+msgid "Program Arguments"
+msgstr "程序参数"
+
+#: rc.cpp:21
+#, no-c-format
+msgid "&Arguments"
+msgstr "参数"
+
+#: rc.cpp:24
+#, no-c-format
+msgid "Run <i>%1</i> with these arguments:"
+msgstr "以下列参数运行<b>%1</b>"
+
+#: rc.cpp:27
+#, no-c-format
+msgid ""
+"Specify the arguments with which the program shall be invoked for this "
+"debugging session. You specify the arguments just as you would on the "
+"command line, that is, you can even use quotes and environment variables, "
+"for example:<p><tt>--message 'start in: ' $HOME</tt>"
+msgstr ""
+"指定程序启动的参数,就像你从命令行中启动一样。\n"
+"同样,你甚至可以用引号和环境变量,例如:\n"
+"<p><tt>--message 'start in: ' $HOME</tt>"
+
+#: rc.cpp:30
+#, no-c-format
+msgid "Insert &file name..."
+msgstr "插入文件名"
+
+#: rc.cpp:33
+#, no-c-format
+msgid "Alt+F"
+msgstr "Alt+F"
+
+#: rc.cpp:36
+#, no-c-format
+msgid ""
+"Browse for a file; the full path name will be inserted at the current cursor "
+"location in the edit box above."
+msgstr "浏览一个文件,它完整的路径将会插入到当前光标所在行"
+
+#: rc.cpp:39
+#, no-c-format
+msgid "Insert &directory name..."
+msgstr "插入目录名"
+
+#: rc.cpp:42 rc.cpp:93
+#, no-c-format
+msgid "Alt+D"
+msgstr "Alt+D"
+
+#: rc.cpp:45
+#, no-c-format
+msgid ""
+"Browse for a directory; the full path name will be inserted at the current "
+"cursor location in the edit box above."
+msgstr "浏览一个目录。它完整的路径名将会被插入到当前光标的位置"
+
+#: rc.cpp:48
+#, no-c-format
+msgid "&Working Directory"
+msgstr "工作目录"
+
+#: rc.cpp:51
+#, no-c-format
+msgid "Specify here the initial working directory where the program is run."
+msgstr "指定程序运行的初始目录"
+
+#: rc.cpp:54
+#, no-c-format
+msgid "&Browse..."
+msgstr "浏览"
+
+#: rc.cpp:57
+#, no-c-format
+msgid "Alt+B"
+msgstr "Alt+B"
+
+#: rc.cpp:60
+#, no-c-format
+msgid "Browse for the initial working directory where the program is run."
+msgstr "浏览程序运行的初始工作目录"
+
+#: rc.cpp:63
+#, no-c-format
+msgid "&Environment"
+msgstr "环境"
+
+#: rc.cpp:66
+#, no-c-format
+msgid "Environment variables (<tt>NAME=value</tt>):"
+msgstr "环境变量(变量名=值):"
+
+#: rc.cpp:69
+#, no-c-format
+msgid ""
+"To add a new environment variable or to modify one, specify it here in the "
+"form <tt>NAME=value</tt> and click <b>Modify</b>."
+msgstr ""
+"添加一个环境变量或者修改已有的,用这个形式去指定:\n"
+"<tt>变量名=值</tt>,然后点击<b>修改</b>"
+
+#: rc.cpp:72
+#, no-c-format
+msgid "Name"
+msgstr "名称"
+
+#: rc.cpp:78
+#, no-c-format
+msgid ""
+"Environment variables that are set <i>in addition</i> to those that are "
+"inherited are listed in this table. To add new environment variables, "
+"specify them as <tt>NAME=value</tt> in the edit box above and click "
+"<b>Modify</b>. To modify a value, select it in this list and click "
+"<b>Modify</b>. To delete an environment variable, select it in this list and "
+"click <b>Delete</b>."
+msgstr ""
+"环境变量设置:<i>添加</i>到表格中,以<tt>变量名=值</tt>指定 <b>修改</b>一个"
+"值,从列表中选择,然后点击<b>修改</b按钮 删除一个环境变量,从列表中选择,然后"
+"选择<b>删除</b>"
+
+#: rc.cpp:84
+#, no-c-format
+msgid "Alt+M"
+msgstr "Alt+M"
+
+#: rc.cpp:87
+#, no-c-format
+msgid ""
+"Enters the environment variable that is currently specified in the edit box "
+"into the list. If the named variable is already in the list, it receives a "
+"new value; otherwise, a new entry is created."
+msgstr "输入环境变量的值,如果它的名字在列表中,则修改之,反之则创建之"
+
+#: rc.cpp:96
+#, no-c-format
+msgid ""
+"Deletes the selected environment variable from the list. This cannot be used "
+"to delete environment variables that are inherited."
+msgstr "从列表中删除选择的环境变量,这不能用来删除那些继承的环境变量"
+
+#: rc.cpp:99
+#, no-c-format
+msgid "&xsldbg Options"
+msgstr "xsldbg选项"
+
+#: rc.cpp:105
+#, no-c-format
+msgid "F1"
+msgstr "F1"
+
+#: rc.cpp:116
+#, no-c-format
+msgid "Attach to Process"
+msgstr "连接到进程"
+
+#: rc.cpp:119
+#, no-c-format
+msgid "&Filter or PID:"
+msgstr "过滤文本或者PID"
+
+#: rc.cpp:122
+#, no-c-format
+msgid ""
+"Type the name of the process or its process ID (PID) here to reduce the "
+"number of entries in the list."
+msgstr "在这里输入进程的名字或ID以减少列表中的进程数"
+
+#: rc.cpp:125
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#: rc.cpp:128
+#, no-c-format
+msgid "Clear filter"
+msgstr "清除过滤"
+
+#: rc.cpp:131
+#, no-c-format
+msgid ""
+"Use this button to clear the filter text so that all processes are displayed."
+msgstr "用这个按钮来清除过滤文本,这样就可以显示所有的进程"
+
+#: rc.cpp:134
+#, no-c-format
+msgid "Command"
+msgstr "命令"
+
+#: rc.cpp:137
+#, no-c-format
+msgid "PID"
+msgstr "PID"
+
+#: rc.cpp:140
+#, no-c-format
+msgid "PPID"
+msgstr "PPID"
+
+#: rc.cpp:143
+#, no-c-format
+msgid ""
+"<p>This list displays all processes that are currently running. You must "
+"select the process that you want KDbg to attach to. Use the <b>Filter or "
+"PID</b> edit box to reduce the number of entries in this list.<p>The text in "
+"the <i>Command</i> column is usually, but not always, the command that was "
+"used to start the process. The <i>PID</i> column shows the process ID. The "
+"<i>PPID</i> column shows the process ID of the parent process. Additional "
+"columns show more information about the processes that is also available via "
+"the system's <i>ps</i> command.</p><p>The list is not updated automatically. "
+"Use the <b>Refresh</b> button to update it.</p>"
+msgstr ""
+"<p>这个列表显示了所有当前运行的进程,你得从中选择一个以连接调试,使用<b>过滤名"
+"或进程ID</b>可以减少当前的条目<p> <p>在<i>命令</i>栏中的文字通常是(但并不总"
+"是)启动进程的命令。<i>PID</i>栏显示了进程ID<i>PPID</i>栏显示的父进程的PID. "
+"额外栏显示了这个进程的更多信息。这个列表并不会自动更新,请用<b>刷新</b>按钮以"
+"更新。"
+
+#: rc.cpp:146
+#, no-c-format
+msgid "&Refresh"
+msgstr "刷新"
+
+#: rc.cpp:149
+#, no-c-format
+msgid "This button updates the list of processes."
+msgstr "这个按钮更新这个进程表"
+
+#: rc.cpp:156
+#, no-c-format
+msgid ""
+"You must select a process from the list. Then click the <b>OK</b> button to "
+"attach to that process."
+msgstr "你必须从下面的列表中选择一个进程,然后点击<b>确定</b>按钮连接那个进程"
+
+#: threadlist.cpp:41
+msgid "Thread ID"
+msgstr "线程ID"
+
+#: dbgmainwnd.cpp:46
+msgid "Source"
+msgstr "源文件"
+
+#: dbgmainwnd.cpp:54 dbgmainwnd.cpp:388
+msgid "Stack"
+msgstr "堆栈"
+
+#: dbgmainwnd.cpp:57 dbgmainwnd.cpp:389
+msgid "Locals"
+msgstr "局部变量"
+
+#: dbgmainwnd.cpp:58
+msgid "Variable"
+msgstr "变量"
+
+#: dbgmainwnd.cpp:60 dbgmainwnd.cpp:390
+msgid "Watches"
+msgstr "监视点"
+
+#: dbgmainwnd.cpp:63 dbgmainwnd.cpp:391
+msgid "Registers"
+msgstr "寄存器"
+
+#: dbgmainwnd.cpp:66 dbgmainwnd.cpp:392
+msgid "Breakpoints"
+msgstr "断点"
+
+#: dbgmainwnd.cpp:69 dbgmainwnd.cpp:394
+msgid "Output"
+msgstr "输出"
+
+#: dbgmainwnd.cpp:72 dbgmainwnd.cpp:393
+msgid "Threads"
+msgstr "线程"
+
+#: dbgmainwnd.cpp:75 dbgmainwnd.cpp:395
+msgid "Memory"
+msgstr "内存"
+
+#: dbgmainwnd.cpp:181
+msgid "&Open Source..."
+msgstr "打开源文件..."
+
+#: dbgmainwnd.cpp:183
+msgid "&Reload Source"
+msgstr "再载入源程序"
+
+#: dbgmainwnd.cpp:186
+msgid "&Executable..."
+msgstr "可执行程序..."
+
+#: dbgmainwnd.cpp:189
+msgid "Recent E&xecutables"
+msgstr "最近的可执行程序"
+
+#: dbgmainwnd.cpp:192
+msgid "&Core dump..."
+msgstr "核心转储"
+
+#: dbgmainwnd.cpp:197
+msgid "This &Program..."
+msgstr "这个程序..."
+
+#: dbgmainwnd.cpp:200
+msgid "&Global Options..."
+msgstr "全局选项"
+
+#: dbgmainwnd.cpp:207
+msgid "&Find"
+msgstr "查找"
+
+#: dbgmainwnd.cpp:213
+msgid "Source &code"
+msgstr "源代码"
+
+#: dbgmainwnd.cpp:215
+msgid "Stac&k"
+msgstr "堆栈"
+
+#: dbgmainwnd.cpp:216
+msgid "&Locals"
+msgstr "局部变量"
+
+#: dbgmainwnd.cpp:217
+msgid "&Watched expressions"
+msgstr "被监视的表达式"
+
+#: dbgmainwnd.cpp:218
+msgid "&Registers"
+msgstr "寄存器"
+
+#: dbgmainwnd.cpp:219
+msgid "&Breakpoints"
+msgstr "断点"
+
+#: dbgmainwnd.cpp:220
+msgid "T&hreads"
+msgstr "线程"
+
+#: dbgmainwnd.cpp:222
+msgid "&Memory"
+msgstr "内存"
+
+#: dbgmainwnd.cpp:232
+msgid "&Run"
+msgstr "执行"
+
+#: dbgmainwnd.cpp:235
+msgid "Step &into"
+msgstr "跳入"
+
+#: dbgmainwnd.cpp:239
+msgid "Step &over"
+msgstr "跳过"
+
+#: dbgmainwnd.cpp:243
+msgid "Step o&ut"
+msgstr "跳出"
+
+#: dbgmainwnd.cpp:247
+msgid "Run to &cursor"
+msgstr "运行到光标"
+
+#: dbgmainwnd.cpp:251
+msgid "Step i&nto by instruction"
+msgstr "跳入到汇编指令"
+
+#: dbgmainwnd.cpp:255
+msgid "Step o&ver by instruction"
+msgstr "从汇编指令中跳出"
+
+#: dbgmainwnd.cpp:259
+msgid "&Program counter to current line"
+msgstr "到当前行的程序计数"
+
+#: dbgmainwnd.cpp:262
+msgid "&Break"
+msgstr "断开"
+
+#: dbgmainwnd.cpp:265
+msgid "&Kill"
+msgstr "杀死"
+
+#: dbgmainwnd.cpp:268
+msgid "Re&start"
+msgstr "重启"
+
+#: dbgmainwnd.cpp:271
+msgid "A&ttach..."
+msgstr "连接"
+
+#: dbgmainwnd.cpp:274
+msgid "&Arguments..."
+msgstr "参数"
+
+#: dbgmainwnd.cpp:279
+msgid "Set/Clear &breakpoint"
+msgstr "设置/清除断点"
+
+#: dbgmainwnd.cpp:282
+msgid "Set &temporary breakpoint"
+msgstr "设置临时断点"
+
+#: dbgmainwnd.cpp:285
+msgid "&Enable/Disable breakpoint"
+msgstr "启用/禁用断点"
+
+#: dbgmainwnd.cpp:290
+msgid "Watch Expression"
+msgstr "监视表达式"
+
+#: dbgmainwnd.cpp:293
+msgid "Edit Value"
+msgstr "编辑值"
+
+#: dbgmainwnd.cpp:322
+msgid "Restart"
+msgstr "重启"
+
+#: dbgmainwnd.cpp:323
+msgid "Core dump"
+msgstr "核心转储"
+
+#: dbgmainwnd.cpp:588
+msgid "`%1' is not a file or does not exist"
+msgstr "`%1'不是一个文件或者文件不存在"
+
+#: dbgmainwnd.cpp:702
+msgid "|All source files\n"
+msgstr "|所有源文件\n"
+
+#: dbgmainwnd.cpp:703
+msgid "|Source files\n"
+msgstr "|源文件\n"
+
+#: dbgmainwnd.cpp:704
+msgid "|Header files\n"
+msgstr "|头文件\n"
+
+#: dbgmainwnd.cpp:705
+msgid "*|All files"
+msgstr "*|所有文件"
+
+#: dbgmainwnd.cpp:800
+msgid "Select the executable to debug"
+msgstr "选择要调试的可执行程序"
+
+#: dbgmainwnd.cpp:813
+msgid "Select core dump"
+msgstr "选择核心转储"
+
+#: xsldbgdriver.cpp:1441
+msgid "No memory dump available"
+msgstr "没有可用的内存映像"
+
+#: prefmisc.cpp:23
+msgid "&Pop into foreground when program stops"
+msgstr "当程序停止时弹入前台"
+
+#: prefmisc.cpp:28
+msgid "Time until window goes &back (in milliseconds):"
+msgstr "计时(毫秒)直到窗口到后台"
+
+#: prefmisc.cpp:35
+msgid "&Tabstop every (characters):"
+msgstr "每个字符之间的间隔"
+
+#: prefmisc.cpp:37
+msgid "File filter for &source files:"
+msgstr "源文件过滤"
+
+#: prefmisc.cpp:39
+msgid "File filter for &header files:"
+msgstr "头文件过滤"
+
+#: ttywnd.cpp:229
+msgid "&Clear"
+msgstr "清除"
+
+#: pgmargs.cpp:216
+msgid "Select a file name to insert as program argument"
+msgstr "选择一个文件名作为程序参数"
+
+#: pgmargs.cpp:230
+msgid "Select a directory to insert as program argument"
+msgstr "选择一个目录作为程序参数"
+
+#: regwnd.cpp:75
+msgid "&GDB default"
+msgstr "GDB默认"
+
+#: regwnd.cpp:78
+msgid "&Decimal"
+msgstr "十进制数"
+
+#: regwnd.cpp:80
+msgid "Real (&e)"
+msgstr "实数(e)"
+
+#: regwnd.cpp:81
+msgid "Real (&f)"
+msgstr "实数(f)"
+
+#: regwnd.cpp:82
+msgid "&Real (g)"
+msgstr "实数(g)"
+
+#: regwnd.cpp:427
+msgid "Register"
+msgstr "寄存器"
+
+#: regwnd.cpp:429
+msgid "Decoded value"
+msgstr "编码值"
+
+#: regwnd.cpp:462
+msgid "x86/x87 segment"
+msgstr "x86/x87段"
+
+#: regwnd.cpp:465
+msgid "Flags"
+msgstr "标志位"
+
+#: regwnd.cpp:468
+msgid "GP and others"
+msgstr "GP和其它"
diff --git a/stamp-h.in b/stamp-h.in
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/stamp-h.in
diff --git a/subdirs b/subdirs
new file mode 100644
index 0000000..ad6d3f2
--- /dev/null
+++ b/subdirs
@@ -0,0 +1,2 @@
+kdbg
+po