From d4a5f984a0ed59505cb5686129c890c3d0eb3241 Mon Sep 17 00:00:00 2001 From: Nick Bolton Date: Mon, 2 May 2022 12:07:52 +0100 Subject: [PATCH] Archive of v1.3.0 from 2006/03/21 --- ChangeLog | 924 ++ Makefile.in | 187 +- aclocal.m4 | 588 +- cmd/Makefile.in | 62 +- cmd/launcher/CAutoStart.cpp | 46 +- cmd/launcher/CAutoStart.h | 7 + cmd/launcher/CHotkeyOptions.cpp | 1859 ++++ cmd/launcher/CHotkeyOptions.h | 225 + cmd/launcher/Makefile.am | 2 + cmd/launcher/Makefile.in | 114 +- cmd/launcher/launcher.cpp | 45 +- cmd/launcher/launcher.dsp | 12 +- cmd/launcher/launcher.rc | 133 +- cmd/launcher/resource.h | 40 +- cmd/launcher/synergy.ico | Bin 1078 -> 8478 bytes cmd/synergyc/CClientTaskBarReceiver.cpp | 18 +- cmd/synergyc/CClientTaskBarReceiver.h | 1 + .../CMSWindowsClientTaskBarReceiver.cpp | 35 + cmd/synergyc/Makefile.in | 148 +- cmd/synergyc/resource.h | 10 +- cmd/synergyc/synergyc.cpp | 26 +- cmd/synergyc/synergyc.dsp | 4 +- cmd/synergyc/synergyc.ico | Bin 1078 -> 8478 bytes cmd/synergyc/synergyc.rc | 18 + cmd/synergyc/tb_error.ico | Bin 318 -> 318 bytes cmd/synergyc/tb_idle.ico | Bin 318 -> 318 bytes cmd/synergyc/tb_run.ico | Bin 318 -> 318 bytes cmd/synergyc/tb_wait.ico | Bin 318 -> 318 bytes .../CMSWindowsServerTaskBarReceiver.cpp | 35 + cmd/synergys/CServerTaskBarReceiver.cpp | 13 +- cmd/synergys/Makefile.in | 148 +- cmd/synergys/resource.h | 10 +- cmd/synergys/synergys.cpp | 26 +- cmd/synergys/synergys.dsp | 4 +- cmd/synergys/synergys.ico | Bin 1078 -> 8478 bytes cmd/synergys/synergys.rc | 18 + cmd/synergys/tb_error.ico | Bin 318 -> 318 bytes cmd/synergys/tb_idle.ico | Bin 318 -> 318 bytes cmd/synergys/tb_run.ico | Bin 318 -> 318 bytes cmd/synergys/tb_wait.ico | Bin 318 -> 318 bytes config.h.in | 91 +- configure | 8054 +++++------------ dist/Makefile.in | 62 +- dist/nullsoft/Makefile.in | 40 +- dist/nullsoft/synergy.nsi | 21 +- dist/rpm/Makefile.in | 42 +- doc/Makefile.am | 11 +- doc/Makefile.in | 54 +- doc/about.html | 55 + doc/authors.html | 45 +- doc/autostart.html | 173 +- doc/banner.html | 16 + doc/border.html | 14 + doc/compiling.html | 94 +- doc/configuration.html | 512 +- doc/contact.html | 44 + doc/developer.html | 51 +- doc/faq.html | 132 +- doc/history.html | 14 +- doc/home.html | 61 + doc/images/logo.gif | Bin 0 -> 1827 bytes doc/images/warp.gif | Bin 0 -> 68841 bytes doc/index.html | 117 +- doc/license.html | 153 +- doc/news.html | 339 +- doc/{todo.html => roadmap.html} | 70 +- doc/running.html | 174 +- doc/security.html | 29 +- doc/synergy.css | 17 +- doc/tips.html | 56 +- doc/toc.html | 43 + doc/trouble.html | 204 + lib/Makefile.in | 62 +- lib/arch/CArch.cpp | 14 +- lib/arch/CArch.h | 2 + lib/arch/CArchConsoleUnix.cpp | 8 +- lib/arch/CArchConsoleUnix.h | 3 +- lib/arch/CArchConsoleWindows.cpp | 445 +- lib/arch/CArchConsoleWindows.h | 37 +- lib/arch/CArchLogUnix.cpp | 6 + lib/arch/CArchLogUnix.h | 1 + lib/arch/CArchLogWindows.cpp | 6 + lib/arch/CArchLogWindows.h | 1 + lib/arch/CArchMiscWindows.cpp | 16 + lib/arch/CArchMiscWindows.h | 14 + lib/arch/IArchConsole.h | 9 + lib/arch/IArchLog.h | 9 + lib/arch/Makefile.in | 252 +- lib/arch/arch.dsp | 4 +- lib/base/CLog.cpp | 8 +- lib/base/ILogOutputter.h | 9 + lib/base/LogOutputters.cpp | 39 +- lib/base/LogOutputters.h | 6 +- lib/base/Makefile.in | 104 +- lib/base/base.dsp | 4 +- lib/client/CClient.cpp | 6 + lib/client/CClient.h | 7 + lib/client/Makefile.in | 72 +- lib/client/client.dsp | 4 +- lib/common/Makefile.in | 68 +- lib/common/Version.cpp | 4 +- lib/common/Version.h | 2 +- lib/common/common.dsp | 4 +- lib/io/Makefile.in | 78 +- lib/io/io.dsp | 4 +- lib/mt/Makefile.in | 80 +- lib/mt/mt.dsp | 4 +- lib/net/Makefile.in | 97 +- lib/net/net.dsp | 4 +- lib/platform/CMSWindowsDesks.cpp | 21 + lib/platform/CMSWindowsDesks.h | 12 + lib/platform/CMSWindowsKeyState.cpp | 186 +- lib/platform/CMSWindowsKeyState.h | 53 +- lib/platform/CMSWindowsScreen.cpp | 38 +- lib/platform/CMSWindowsScreen.h | 2 + lib/platform/COSXKeyState.cpp | 32 +- lib/platform/COSXKeyState.h | 9 + lib/platform/COSXScreen.cpp | 29 +- lib/platform/COSXScreen.h | 2 + lib/platform/CSynergyHook.cpp | 30 +- lib/platform/CSynergyHook.h | 3 + lib/platform/CXWindowsScreen.cpp | 25 +- lib/platform/CXWindowsScreen.h | 2 + lib/platform/CXWindowsUtil.cpp | 25 +- lib/platform/Makefile.in | 365 +- lib/platform/platform.dsp | 4 +- lib/platform/synrgyhk.dsp | 4 +- lib/server/CConfig.cpp | 5 + lib/server/CInputFilter.cpp | 234 +- lib/server/CInputFilter.h | 72 +- lib/server/CPrimaryClient.cpp | 43 +- lib/server/CPrimaryClient.h | 16 + lib/server/CServer.cpp | 25 + lib/server/CServer.h | 2 + lib/server/Makefile.in | 105 +- lib/server/server.dsp | 4 +- lib/synergy/CKeyMap.cpp | 10 +- lib/synergy/CKeyState.cpp | 14 +- lib/synergy/CKeyState.h | 8 + lib/synergy/CPlatformScreen.h | 2 + lib/synergy/CScreen.cpp | 25 +- lib/synergy/CScreen.h | 18 + lib/synergy/IKeyState.cpp | 30 + lib/synergy/IKeyState.h | 2 + lib/synergy/IPlatformScreen.h | 2 + lib/synergy/IPrimaryScreen.cpp | 22 + lib/synergy/IPrimaryScreen.h | 23 + lib/synergy/Makefile.in | 114 +- lib/synergy/libsynergy.dsp | 4 +- stamp-h.in | 0 synergy.xcode/project.pbxproj | 252 +- 151 files changed, 9836 insertions(+), 9077 deletions(-) create mode 100644 cmd/launcher/CHotkeyOptions.cpp create mode 100644 cmd/launcher/CHotkeyOptions.h create mode 100644 doc/about.html create mode 100644 doc/banner.html create mode 100644 doc/border.html create mode 100644 doc/contact.html create mode 100644 doc/home.html create mode 100644 doc/images/logo.gif create mode 100644 doc/images/warp.gif rename doc/{todo.html => roadmap.html} (54%) create mode 100644 doc/toc.html create mode 100644 doc/trouble.html create mode 100644 stamp-h.in diff --git a/ChangeLog b/ChangeLog index 8e93174..34abac9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,927 @@ +2006/03/21 21:54:16 crs +lib/platform/CXWindowsUtil.cpp + +Add all #defines for including keysyms that we use. The #defines in +X11/keysym.h vary from platform to platform and cannot be relied on. + +---------- +2006/03/21 21:42:53 crs +lib/common/Version.h + +Changed version to 1.3.0. + +---------- +2006/03/21 21:38:52 crs +cmd/launcher/Makefile.am + +Added new files to makefile. + +---------- +2006/03/21 21:38:02 crs +cmd/launcher/CAutoStart.cpp +cmd/launcher/CAutoStart.h +cmd/launcher/CHotkeyOptions.cpp +cmd/launcher/CHotkeyOptions.h +cmd/launcher/launcher.cpp +cmd/launcher/launcher.dsp +cmd/launcher/launcher.rc +cmd/launcher/resource.h +cmd/synergyc/synergyc.dsp +cmd/synergys/synergys.dsp +lib/arch/arch.dsp +lib/base/base.dsp +lib/client/client.dsp +lib/common/common.dsp +lib/io/io.dsp +lib/mt/mt.dsp +lib/net/net.dsp +lib/platform/platform.dsp +lib/platform/synrgyhk.dsp +lib/server/CConfig.cpp +lib/server/CInputFilter.cpp +lib/server/CInputFilter.h +lib/server/server.dsp +lib/synergy/IKeyState.cpp +lib/synergy/IKeyState.h +lib/synergy/IPrimaryScreen.cpp +lib/synergy/IPrimaryScreen.h +lib/synergy/libsynergy.dsp + +Added a hot key dialog to the win32 launcher, providing full support +for all features of hot keys. This required a bunch of small changes +to CInputFilter and stuff used by it (mainly getter methods). + +The hot key dialog uses dynamic_cast<> to determine the kinds of +conditions and actions for each rule in the configuration. This +required enabling RTTI in the project files. + +Also changed the 'Start' button to start the synergy service if +installed (i.e. synergy is configured to start when the computer +starts). + +---------- +2006/03/21 21:37:59 crs +lib/platform/CMSWindowsKeyState.cpp +lib/platform/CMSWindowsKeyState.h + +Changed AltGr handling on win32. Previously the server would send +ctrl and alt up events when sending a key that used AltGr then send +matching down events. Now we just clear the ctrl and alt bits in +the mask sent with the key; clients will temporarily release the +ctrl and alt modifiers as necessary to yield the key. If the key +doesn't need AltGr then the ctrl and alt bits are kept. We also +used to reserve the right alt key for AltGr even if the keyboard +layout didn't use it that way. This has been removed. The keyboard +mapping now presses the ctrl and alt keys for AltGr rather than use +the right alt. + +Also made getKeyID() a public method. + +---------- +2006/03/21 21:37:57 crs +lib/platform/CMSWindowsScreen.cpp +lib/platform/COSXScreen.cpp +lib/platform/CXWindowsScreen.cpp + +Improved log output when registering hot keys. + +---------- +2006/03/21 21:37:53 crs +cmd/synergyc/synergyc.cpp +cmd/synergys/synergys.cpp + +Added "server" and "client" to synergy log windows. + +---------- +2006/03/21 21:37:52 crs +lib/synergy/CKeyMap.cpp + +Fixed bug in keyboard mapping when releasing modifiers. This caused +a problem with AltGr on win32. The left alt key was being +(synthetically) released but it was the right alt key that was down. + +---------- +2006/03/21 21:37:49 crs +doc/configuration.html + +Documentation fix. + +---------- +2006/03/20 23:13:11 crs +doc/images/warp.gif + +Replaced animated GIF demonstrating cursor warp with one that +doesn't show the cursor in the region between the monitors. +This is the original GIF with frames removed. Supplied by +user Brian A. + +---------- +2006/03/18 19:17:46 crs +synergy.xcode/project.pbxproj + +Updated Xcode project to build universal binaries. The PPC build +uses the 10.2.8 SDK while the i386 build uses the 10.4u SDK. Also +removed the "Default" configuration; "Development" is now the +default. + +---------- +2006/03/18 16:39:43 crs +lib/platform/COSXKeyState.cpp +lib/platform/COSXKeyState.h +lib/platform/COSXScreen.cpp + +Improved handling of option key on OS X servers. Previously it +was always treated as the super modifier. Now it's treated as +AltGr if it generates a glyph, though AltGr is not sent to the +clients. So if option+key produces a glyph then key is sent +without the option or AltGr modifiers. If option+key does not +produce a glpyh then option is sent as the super modifier. +Note that combining an option+key combination that would produce +a glyph with the command or control modifiers will cause it to +not produce a glyph. In that case we send option as the super +modifier and we send the glyph that would've been produced on +the server had the option key not been pressed. So option+s +sends the beta key id with no modifiers but command+option+s +sends the "s" key id with the alt and super modifiers. + +This seems to handle the user expectations. However some users +may expect option+L to produce win+L on win32 clients. These +same users probably expect option+? to produce an upside down +question mark. But these two expectations are fundamentally at +odds. We cannot satisfy everyone because OS X doesn't have +enough modifier keys. + +---------- +2006/03/18 13:20:18 crs +lib/server/CInputFilter.cpp + +Fixed mousebutton condition. Wasn't working if num lock, caps lock +or scroll lock was on. + +---------- +2006/03/18 12:05:34 crs +lib/platform/CXWindowsScreen.cpp + +Applied patch from Jaco Kroon to fix a problem with mouse focus +on X11. + +---------- +2006/03/18 11:54:40 crs +doc/index.html + +Added support for index.html?child#anchor syntax. This will open +the index.html page then child in the page frame and jump to anchor. + +---------- +2006/03/12 20:24:43 crs +cmd/launcher/CAutoStart.cpp +cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp +cmd/synergyc/synergyc.cpp +cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp +cmd/synergys/synergys.cpp +lib/arch/CArch.cpp +lib/arch/CArch.h +lib/arch/CArchConsoleUnix.cpp +lib/arch/CArchConsoleUnix.h +lib/arch/CArchConsoleWindows.cpp +lib/arch/CArchConsoleWindows.h +lib/arch/CArchLogUnix.cpp +lib/arch/CArchLogUnix.h +lib/arch/CArchLogWindows.cpp +lib/arch/CArchLogWindows.h +lib/arch/IArchConsole.h +lib/arch/IArchLog.h +lib/base/CLog.cpp +lib/base/ILogOutputter.h +lib/base/LogOutputters.cpp +lib/base/LogOutputters.h + +Added show() method to console and logs. + +---------- +2006/03/12 20:24:14 crs +dist/nullsoft/synergy.nsi + +Updated windows installer to install new documentation pages and +to put a shortcut on the desktop. + +---------- +2006/03/12 20:23:46 crs +cmd/launcher/synergy.ico +cmd/synergyc/synergyc.ico +cmd/synergyc/tb_error.ico +cmd/synergyc/tb_idle.ico +cmd/synergyc/tb_run.ico +cmd/synergyc/tb_wait.ico +cmd/synergys/synergys.ico +cmd/synergys/tb_error.ico +cmd/synergys/tb_idle.ico +cmd/synergys/tb_run.ico +cmd/synergys/tb_wait.ico + +Updated icons on win32. + +---------- +2006/03/12 12:42:18 crs +doc/configuration.html +doc/faq.html +doc/running.html +doc/trouble.html + +More documentation fixes. + +---------- +2006/03/12 12:19:02 crs +doc/configuration.html +doc/faq.html +doc/Makefile.am +doc/toc.html +doc/trouble.html + +Added a page with typical problems and solutions. + +---------- +2006/03/12 10:25:15 crs +doc/tips.html + +More documentation fixes. + +---------- +2006/03/12 10:20:14 crs +doc/about.html +doc/configuration.html +doc/faq.html + +Documentation fixes. + +---------- +2006/03/12 09:34:16 crs +doc/toc.html + +Fixed link in table of contents. + +---------- +2006/03/11 15:01:00 crs +doc/banner.html +doc/border.html +doc/index.html +doc/synergy.css + +Adjusted how the border under the banner is drawn. + +---------- +2006/03/11 14:49:38 crs +doc/images/logo.gif + +Updated logo. + +---------- +2006/03/11 14:42:00 crs +doc/about.html +doc/authors.html +doc/autostart.html +doc/banner.html +doc/compiling.html +doc/configuration.html +doc/contact.html +doc/developer.html +doc/faq.html +doc/history.html +doc/home.html +doc/images/logo.gif +doc/images/warp.gif +doc/index.html +doc/license.html +doc/Makefile.am +doc/news.html +doc/roadmap.html +doc/running.html +doc/security.html +doc/synergy.css +doc/tips.html +doc/toc.html +doc/todo.html + +Updated documentation pages. They're now the web site pages except +they now use frames. + +---------- +2006/03/08 20:07:09 crs +lib/platform/CMSWindowsDesks.cpp +lib/platform/CMSWindowsDesks.h +lib/platform/CMSWindowsKeyState.cpp +lib/platform/CMSWindowsKeyState.h +lib/platform/CMSWindowsScreen.cpp +lib/platform/CMSWindowsScreen.h +lib/platform/COSXScreen.cpp +lib/platform/COSXScreen.h +lib/platform/CSynergyHook.cpp +lib/platform/CSynergyHook.h +lib/platform/CXWindowsScreen.cpp +lib/platform/CXWindowsScreen.h +lib/server/CInputFilter.cpp +lib/server/CPrimaryClient.cpp +lib/server/CPrimaryClient.h +lib/server/CServer.cpp +lib/server/CServer.h +lib/synergy/CKeyMap.cpp +lib/synergy/CKeyState.cpp +lib/synergy/CKeyState.h +lib/synergy/CPlatformScreen.h +lib/synergy/CScreen.cpp +lib/synergy/CScreen.h +lib/synergy/IPlatformScreen.h +lib/synergy/IPrimaryScreen.cpp +lib/synergy/IPrimaryScreen.h + +Added beginnings of support for synthesizing keystrokes on server's +screen. It's partly implemented on win32; it just needs to track +the modifier keys and adjust them as appropriate when synthesizing +keys. It's not implemented on X11 or OS X. It's also currently +disabled (in CPrimaryClient.cpp). + +---------- +2006/03/08 20:05:38 crs +cmd/synergyc/CClientTaskBarReceiver.cpp +cmd/synergyc/CClientTaskBarReceiver.h +cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp +cmd/synergyc/resource.h +cmd/synergyc/synergyc.cpp +cmd/synergyc/synergyc.rc +cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp +cmd/synergys/CServerTaskBarReceiver.cpp +cmd/synergys/resource.h +cmd/synergys/synergys.cpp +cmd/synergys/synergys.rc +lib/arch/CArch.cpp +lib/arch/CArchConsoleUnix.cpp +lib/arch/CArchConsoleUnix.h +lib/arch/CArchConsoleWindows.cpp +lib/arch/CArchConsoleWindows.h +lib/arch/CArchMiscWindows.cpp +lib/arch/CArchMiscWindows.h +lib/base/CLog.cpp +lib/base/LogOutputters.cpp +lib/base/LogOutputters.h +lib/client/CClient.cpp +lib/client/CClient.h +lib/common/Version.cpp + +Replaced using win32 console for log with a dialog containing a rich +edit control. The user can close this window without quiting synergy +and can reopen the window using the tray icon menu. Also added menu +items to switch the current logging level. + +---------- +2006/02/22 19:21:21 crs +lib/platform/COSXScreen.cpp + +Removed bogus logging call. + +---------- +2006/02/20 19:46:47 crs +cmd/launcher/launcher.cpp +cmd/launcher/LaunchUtil.cpp +cmd/launcher/LaunchUtil.h + +Fixed infinite loop of error dialogs in win32 launcher. + +---------- +2006/02/20 12:59:20 crs +doc/faq.html + +Added firewall info to faq12. Added faq19, a discussion of not taking +the foreground on win32. + +---------- +2006/02/20 12:46:18 crs +doc/authors.html +doc/autostart.html +doc/compiling.html +doc/configuration.html +doc/developer.html +doc/faq.html +doc/history.html +doc/index.html +doc/license.html +doc/news.html +doc/running.html +doc/security.html +doc/tips.html +doc/todo.html + +Changed !DOCTYPE to HTML 4.0 (from 3.2). + +---------- +2006/02/20 12:21:34 crs +doc/configuration.html +lib/server/CConfig.cpp +lib/server/CConfig.h +lib/server/CInputFilter.cpp +lib/server/CInputFilter.h +lib/server/CServer.cpp +lib/server/CServer.h + +Hot key overhaul. Added support for multiple actions per hot key. +Actions and conditions are now idempotent so they no longer track +the active state (on, off, toggled, etc). Actions can be assigned +to the activation or deactivation of a condition, basically a hot +key or mouse button being pressed (activation) or released +(deactivation). The keystroke and mousebutton actions map to both +and the new keyDown, keyUp, mouseDown and mouseUp map to one or the +other. The lock cursor to screen action now takes a mode: on, off +or toggle and the corresponding event state is respected by the +server. Removed the modifiers action. Mouse button actions now use +the new kKeySetModifiers and kKeyClearModifiers keys to set/reset +modifier state directly on the client. + +Conditions and actions are much simpler now that they're idempotent +and so is CInputFilter. Refactored CRule into a class since there's +now more to a rule than a condition and action. + +---------- +2006/02/20 11:29:41 crs +lib/synergy/CKeyMap.cpp +lib/synergy/CKeyMap.h +lib/synergy/CKeyState.cpp + +Added support for kKeySetModifiers and kKeyClearModifiers keys. +The former activates the given modifiers and the latter deactivates +them. + +---------- +2006/02/20 11:25:44 crs +lib/synergy/KeyTypes.h + +Added special keys for setting/clearing modifiers. The intent +is to use these to set/reset modifiers for mouse button hot key +actions. + +---------- +2006/02/19 21:01:08 crs +lib/platform/COSXScreen.cpp + +Fixed OS X to send current keyboard modifiers with mouse button events. + +---------- +2006/02/19 13:26:54 crs +lib/client/CClient.cpp +lib/client/CClient.h + +Fixed two clipboard problems. + +First, synergy would blow an assert given the following sequence +of events: + enter client screen A + A takes clipboard + enter server screen B + B takes clipboard + clipboard on A changes (while we're not on the screen) + enter A + enter B +On entering B we find that the clipboard sender is not the owner +of the clipboard. This is because when A changed the clipboard +while we were on B, B ignored the grab from A. A now thinks it +owns the clipboard (even though B does). So when we leave A the +second time, it sends the clipboard (which contains what B sent +it) to B. The assertion is blown because B owns the clipboard +but A sends a clipboard with a valid sequence number. The fix +is simply that clients must reset their internal clipboard +ownership flag when told to set the clipboard by the server. + +Second, synergy clients would fail to send the clipboard to the +server given the following sequence of events: + enter client A + A takes the clipboard + enter screen B + B takes the clipboard + enter A + A takes the clipboard with the same contents as before +In an effort to reduce bandwidth, clients don't send unchanged +clipboard contents. Clients were incorrectly treating this +case as unchanged contents when, in fact, the contents are those +set by B not those of A. Clients now handle this case. + +---------- +2006/02/19 13:13:55 crs +lib/server/CServer.cpp + +Fixed error in log message. Was trying to report the sender of +a clipboard but was reporting the owner of the clipboard. + +---------- +2006/02/16 22:12:37 crs +lib/platform/CXWindowsKeyState.cpp +lib/platform/CXWindowsKeyState.h + +Added a hack to work around how VMware handles modifier keys on X11 +when a virtual machine has focus. VMware removes all of the modifier +mappings so synergy doesn't know about any modifiers. The hack is to +use the last known good modifiers when there aren't any active +modifiers. + +---------- +2006/02/14 18:10:12 crs +lib/server/CServer.cpp + +Made switch in direction hot keys use the cursor's current position +when calculating what the neighbor is. This only affects layouts +using fractional edges. + +---------- +2006/02/12 16:49:16 crs +synergy.xcode/project.pbxproj + +Updated Xcode project. + +---------- +2006/02/12 16:40:02 crs +doc/configuration.html +lib/server/CServer.cpp +lib/server/CServer.h +lib/synergy/KeyTypes.cpp + +Removed onCommandKey() from server. This was used only for handling +the ScrollLock key to lock the cursor to the screen but this has been +obsoleted by the hotkey support for locking the cursor. Also, +ScrollLock is now only added as a hotkey to lock the cursor if the +user hasn't configured some other hotkey to lock the cursor. + +---------- +2006/02/12 16:22:41 crs +doc/configuration.html +lib/server/CConfig.cpp +lib/server/CConfig.h +lib/server/CInputFilter.cpp +lib/server/CServer.cpp +lib/server/CServer.h +lib/synergy/IKeyState.cpp +lib/synergy/IKeyState.h + +Added support for directing hotkey key actions to a particular screen +or screens or to broadcast to all screens. However, key action +keystrokes are never sent to the server screen. This should be fixed. + +---------- +2006/02/12 16:16:11 crs +doc/configuration.html +lib/synergy/CKeyMap.cpp +lib/synergy/CKeyMap.h +lib/synergy/KeyTypes.cpp +lib/synergy/KeyTypes.h +lib/synergy/libsynergy.dsp +lib/synergy/Makefile.am +lib/synergy/mkspecialkeynames.pl +lib/synergy/SpecialKeyNameMap.h + +Moved and restructed key name maps. Also added names for all +non-alphanumeric ASCII characters and added support for \uXXXX +unicode character codes. + +---------- +2006/02/12 14:47:23 crs +lib/synergy/CKeyState.cpp + +Now allowing fake key presses from server with a server button ID +of 0. Hot keys that synthesize key events use a server button ID +of 0. Note that other code will prevent a client from processing +a hotkey press while another hotkey is pressed. The nature of +hotkeys should ensure that never happens except for modifier only +hotkeys. Worry about that later. + +---------- +2006/02/12 12:06:50 crs +lib/platform/COSXScreen.cpp + +Fixed 2 axis scrolling on OS X. + +---------- +2006/02/12 11:53:35 crs +lib/client/CClient.cpp +lib/client/CClient.h +lib/client/CServerProxy.cpp +lib/platform/CMSWindowsDesks.cpp +lib/platform/CMSWindowsDesks.h +lib/platform/CMSWindowsScreen.cpp +lib/platform/CMSWindowsScreen.h +lib/platform/COSXScreen.cpp +lib/platform/COSXScreen.h +lib/platform/CXWindowsScreen.cpp +lib/platform/CXWindowsScreen.h +lib/server/CClientProxy.h +lib/server/CClientProxy1_0.cpp +lib/server/CClientProxy1_0.h +lib/server/CClientProxy1_3.cpp +lib/server/CClientProxy1_3.h +lib/server/CPrimaryClient.cpp +lib/server/CPrimaryClient.h +lib/server/CServer.cpp +lib/server/CServer.h +lib/synergy/CPlatformScreen.h +lib/synergy/CScreen.cpp +lib/synergy/CScreen.h +lib/synergy/IClient.h +lib/synergy/IPlatformScreen.h +lib/synergy/IPrimaryScreen.cpp +lib/synergy/IPrimaryScreen.h +lib/synergy/ISecondaryScreen.h +lib/synergy/ProtocolTypes.cpp +lib/synergy/ProtocolTypes.h + +Added support for horizontal scrolling. + +---------- +2006/02/12 10:08:49 crs +lib/platform/COSXScreen.cpp +lib/platform/COSXScreen.h + +Applied patch from stkamp@users.sf.net that clamps mouse positions +to valid areas on OS X. It also improves using the local keyboard +with the remote mouse on OS X. + +---------- +2006/02/11 20:01:42 crs +lib/platform/CMSWindowsKeyState.cpp +lib/platform/CMSWindowsKeyState.h +lib/platform/CMSWindowsScreen.cpp + +Fixed synthesis of ctrl+alt+del and handling of AltGr on win32 +client. + +---------- +2006/02/11 20:00:32 crs +lib/server/server.dsp + +Added CClientProxy1_3 to project. + +---------- +2006/02/06 19:27:45 crs +lib/server/CConfig.cpp + +Fixed handling of comments when parsing the configuration. +Had changed leading whitespace stripping which broke it. + +---------- +2006/02/05 19:42:55 crs +synergy.xcode/project.pbxproj + +Updated Xcode project. + +---------- +2006/02/05 18:48:35 crs +lib/server/CClientProxy1_3.cpp + +Fixed warning. + +---------- +2006/02/05 18:02:47 crs +lib/server/CInputFilter.cpp + +Fixed updates of input filters when configuration is changed. + +---------- +2006/02/05 17:55:45 crs +lib/server/CClientProxy1_0.cpp +lib/server/CClientProxy1_3.cpp + +More fixes for server side keep alives. + +---------- +2006/02/05 17:55:19 crs +lib/server/CServer.cpp + +Fixed sending of options to client. Wasn't reseting options first. + +---------- +2006/02/05 17:39:20 crs +lib/client/CServerProxy.cpp + +Fixed memory bug in releasing keep alive timer. + +---------- +2006/02/05 17:36:17 crs +lib/server/CClientProxy1_0.cpp +lib/server/CClientProxy1_0.h +lib/server/CClientProxy1_3.cpp +lib/server/CClientProxy1_3.h +lib/server/CClientProxyUnknown.cpp + +Fixed server side handling of keep alives. + +---------- +2006/02/05 17:34:14 crs +lib/client/CServerProxy.cpp +lib/client/CServerProxy.h + +Fixed client side handling of keep alives. + +---------- +2006/02/05 16:56:00 crs +lib/synergy/ProtocolTypes.h + +Added comment for protocol version 1.3. + +---------- +2006/02/05 16:54:39 crs +lib/client/CServerProxy.cpp +lib/client/CServerProxy.h +lib/server/CClientProxy1_0.cpp +lib/server/CClientProxy1_0.h +lib/server/CClientProxy1_3.cpp +lib/server/CClientProxy1_3.h +lib/server/Makefile.am +lib/synergy/ProtocolTypes.cpp +lib/synergy/ProtocolTypes.h + +Deprecated heartbeat and added keep alive to replace it. While a +heartbeat was generated by clients and sent to the server, a keep +alive is sent from the server and echoed by the client. This +checks both directions of the connection. Either side will hang +up if the other hasn't been heard from in a reasonable amount of +time. This fixes a problem where clients would not hang up on +an unavailable server. + +---------- +2006/02/05 16:29:01 crs +cmd/launcher/Makefile.am + +Added CInfo files to makefile. + +---------- +2006/02/05 15:30:49 crs +lib/synergy/CKeyState.cpp + +Fixed handling of modifier keys that are held down while leaving +a client screen. Was correctly releasing those keys on the client +but wasn't reseting the active modifier state so as soon as a key +was pressed after reentering the client the modifiers were +reactivated. However, the user could only see the problem by +typing on the local keyboard because the modifier was correctly +adjusted for keys from the server. Now reseting modifier state +when leaving a client screen. + +---------- +2006/02/05 14:47:59 crs +cmd/launcher/CInfo.cpp +cmd/launcher/CInfo.h +cmd/launcher/launcher.cpp +cmd/launcher/launcher.dsp +cmd/launcher/launcher.rc +cmd/launcher/LaunchUtil.cpp +cmd/launcher/LaunchUtil.h +cmd/launcher/resource.h + +Added two features to the win32 launcher. First there's now a +info dialog which reports some useful information. The other is +that configuration files are now re-read when the application is +activated and the file's modification time has changed. This +should help when users are hand editing the configuration file +while the launcher is running. + +---------- +2006/02/05 14:45:39 crs +lib/server/CConfig.cpp + +Fixed a bug in writing configuration files with fractional edges. + +---------- +2006/02/05 14:43:17 crs +cmd/launcher/CAddScreen.cpp +cmd/launcher/CScreensLinks.cpp +cmd/launcher/CScreensLinks.h +cmd/launcher/launcher.rc +cmd/launcher/resource.h +doc/configuration.html +lib/server/CConfig.cpp +lib/server/CConfig.h +lib/server/CServer.cpp +lib/server/CServer.h + +Added support for fractional edge links. This allows users to +configure a portion of an edge to map to a portion of another +edge, rather than linking entire edges. This does not allow +users to split a (presumably multimonitor) screen to allow +switching on reaching an interior edge. + +---------- +2006/02/01 21:34:28 crs +lib/synergy/CKeyMap.cpp + +Fixed parsing of modifier plus single character keystroke and +mousebutton entries in the configuration. Was discarding single +characters. + +---------- +2006/02/01 21:20:46 crs +lib/platform/COSXKeyState.cpp + +Fixed OS X keypad enter key. + +---------- +2006/01/29 20:50:54 crs +lib/server/CConfig.cpp +lib/server/CInputFilter.cpp +lib/server/CInputFilter.h +lib/server/CServer.cpp +lib/server/CServer.h + +Added support for performing an action when a screen connects. +Also added support for jumping to the screen that just connected. +The line 'connect() = switchToScreen()' in the global options will +cause the cursor to jump to a screen as soon as it connects. This +isn't especially useful but serves as an example. + +---------- +2006/01/29 19:56:31 crs +lib/platform/CXWindowsScreen.cpp + +Fixed X11 hot key grabbing. Previously was sensitive to CapsLock, +NumLock and ScrollLock and is now insensitive to all of those. + +---------- +2006/01/29 17:54:08 crs +lib/platform/COSXScreen.cpp + +Changed input suppress delay to 0. This might be right or it +might need to be a small positive value like 0.1. + +---------- +2006/01/29 15:52:44 crs +lib/server/CConfig.h +lib/server/CInputFilter.cpp +lib/server/CInputFilter.h +lib/server/CServer.cpp + +Fixed support for ScrollLock to lock the cursor to the screen. +It now works via the hotkey mechanism. + +---------- +2006/01/29 15:51:59 crs +lib/platform/CMSWindowsKeyState.cpp +lib/platform/CMSWindowsKeyState.h + +Fixed failure to run on win95 family. Was linked against +ToUnicodeEx which is not available on that family. Now looking +up that symbol at run time. + +---------- +2006/01/29 15:50:29 crs +lib/platform/COSXScreen.cpp + +Fixed minor bug in call to CGSetLocalEventsSuppressionInterval. + +---------- +2006/01/29 13:26:48 crs +lib/platform/CSynergyHook.cpp + +Win32 reports VK_RSHIFT as an extended key, which it is not. +We now correct this which fixes the right shift key when using +win32 servers. + +---------- +2006/01/29 12:47:31 crs +lib/synergy/CKeyMap.cpp + +Fixed handling of modifiers when synthesizing a modifier. We +were previously trying to match the desired modifier state +when synthesizing any key, even if some of those modifiers +weren't required (i.e. the key was insensitive to the state +of some of those modifiers). We no longer try to match the +state of non-required modifiers because doing so can break +the synthesis of some keys, particularly modifiers. For +example, previously pressing Control with NumLock on would +turn NumLock off, press Control, then turn NumLock back on. +If this Control was used with Alt on win32 to effect AltGr +then AltGr would not take effect. On X11 the Shift key was +improperly combined with NumLock, causing mouse keys to take +effect. + +---------- +2006/01/29 12:37:30 crs +lib/common/Version.h + +Changed to version 1.2.8. + +---------- +2005/12/18 18:00:56 crs +synergy.xcode/project.pbxproj + +Added new files to xcode project. + +---------- +2005/12/18 17:35:57 crs +doc/configuration.html +doc/news.html + +More documentation for 1.2.7. + +---------- +2005/12/18 16:51:52 crs +doc/news.html + +Fixed error in documentation. + +---------- 2005/12/18 16:15:42 crs lib/platform/CSynergyHook.cpp diff --git a/Makefile.in b/Makefile.in index c0367c4..1bb1c27 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -172,24 +165,23 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \ uninstall-info-recursive all-recursive install-data-recursive \ install-exec-recursive installdirs-recursive install-recursive \ uninstall-recursive check-recursive installcheck-recursive -DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \ - Makefile.in NEWS acinclude.m4 aclocal.m4 config.h.in \ - config/config.guess config/config.sub config/depcomp \ - config/install-sh config/missing config/mkinstalldirs configure \ - configure.in +DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \ + Makefile.am Makefile.in NEWS acinclude.m4 aclocal.m4 \ + config.h.in config/config.guess config/config.sub \ + config/depcomp config/install-sh config/missing \ + config/mkinstalldirs configure configure.in DIST_SUBDIRS = $(SUBDIRS) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: - -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$@ $(SHELL) ./config.status $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck @@ -198,23 +190,31 @@ $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENC $(ACLOCAL_M4): configure.in acinclude.m4 cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) - -config.h: stamp-h1 +config.h: stamp-h @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) stamp-h1; \ + rm -f stamp-h; \ + $(MAKE) stamp-h; \ 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: $(top_srcdir)/configure.in $(ACLOCAL_M4) +stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h stamp-hT + @echo timestamp > stamp-hT 2> /dev/null + cd $(top_builddir) \ + && CONFIG_FILES= CONFIG_HEADERS=config.h \ + $(SHELL) ./config.status + @mv stamp-hT stamp-h +$(srcdir)/config.h.in: $(srcdir)/./stamp-h.in + @if test ! -f $@; then \ + rm -f $(srcdir)/./stamp-h.in; \ + $(MAKE) $(srcdir)/./stamp-h.in; \ + else :; fi +$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) + @rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT + @echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null cd $(top_srcdir) && $(AUTOHEADER) - touch $(srcdir)/config.h.in + @mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in distclean-hdr: - -rm -f config.h stamp-h1 + -rm -f config.h uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd @@ -224,7 +224,7 @@ uninstall-info-am: # (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): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -244,7 +244,7 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -272,19 +272,16 @@ tags-recursive: test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) @@ -295,61 +292,51 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = . +# Avoid unsightly `./'. distdir = $(PACKAGE)-$(VERSION) -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } - GZIP_ENV = --best -distcleancheck_listfiles = find . -type f -print distdir: $(DISTFILES) - $(am__remove_distdir) + -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) mkdir $(distdir) $(mkinstalldirs) $(distdir)/config $(distdir)/dist/rpm $(distdir)/doc $(distdir)/examples $(distdir)/synergy.xcode - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + for subdir in $(SUBDIRS); do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ @@ -367,28 +354,23 @@ distdir: $(DISTFILES) ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) -dist-gzip: distdir +dist: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist dist-all: distdir - $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) + -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(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 - $(am__remove_distdir) + -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - 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` \ + dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \ && cd $(distdir)/=build \ && ../configure --srcdir=.. --prefix=$$dc_install_base \ - $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ @@ -396,24 +378,17 @@ distcheck: dist && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - find $$dc_install_base -type f -print ; \ - exit 1; } >&2 ) \ - && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ + || (echo "Error: files left after uninstall" 1>&2; \ + exit 1) ) \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && $(MAKE) $(AM_MAKEFLAGS) distclean \ && rm -f $(distdir).tar.gz \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) + && (test `find . -type f -print | wc -l` -eq 0 \ + || (echo "Error: files left after distclean" 1>&2; \ + exit 1) ) + -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) @echo "$(distdir).tar.gz is ready for distribution" | \ sed 'h;s/./=/g;p;x;p;x' -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 after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h @@ -431,7 +406,6 @@ install-am: all-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -439,7 +413,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -449,8 +423,11 @@ clean: clean-recursive clean-am: clean-generic mostlyclean-am +dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f config.status config.cache config.log distclean-am: clean-am distclean-generic distclean-hdr distclean-tags dvi: dvi-recursive @@ -472,8 +449,7 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf autom4te.cache + maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive @@ -485,20 +461,19 @@ uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ - clean-generic clean-recursive dist dist-all dist-gzip distcheck \ - distclean distclean-generic distclean-hdr distclean-recursive \ - distclean-tags distcleancheck distdir dvi dvi-am dvi-recursive \ - info info-am info-recursive install install-am install-data \ - install-data-am install-data-recursive install-exec \ - install-exec-am install-exec-recursive install-info \ - install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-recursive tags tags-recursive uninstall \ - uninstall-am uninstall-info-am uninstall-info-recursive \ - uninstall-recursive + clean-generic clean-recursive dist dist-all distcheck distclean \ + distclean-generic distclean-hdr distclean-recursive \ + distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ + info-recursive install install-am install-data install-data-am \ + install-data-recursive install-exec install-exec-am \ + install-exec-recursive install-info install-info-am \ + install-info-recursive install-man install-recursive \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am installdirs-recursive maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive mostlyclean \ + mostlyclean-generic mostlyclean-recursive tags tags-recursive \ + uninstall uninstall-am uninstall-info-am \ + uninstall-info-recursive uninstall-recursive # build doxygen documentation diff --git a/aclocal.m4 b/aclocal.m4 index b2c523e..6692ae4 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*- +# aclocal.m4 generated automatically by aclocal 1.5 -# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -566,30 +566,11 @@ AC_DEFUN([ACX_CXX_WARNINGS_ARE_ERRORS], [ AC_MSG_RESULT($acx_cxx_warnings_are_errors) ])dnl ACX_CXX_WARNINGS_ARE_ERRORS -# Do all the work for Automake. -*- Autoconf -*- +# Do all the work for Automake. This macro actually does too much -- +# some checks are only needed if your package does certain things. +# But this isn't really a big deal. -# 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. - -# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 -# Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 8 +# serial 5 # 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, @@ -598,52 +579,62 @@ AC_DEFUN([ACX_CXX_WARNINGS_ARE_ERRORS], [ # CC etc. in the Makefile, will ask for an AC_PROG_CC use... -AC_PREREQ([2.52]) +# We require 2.13 because we rely on SHELL being computed by configure. +AC_PREREQ([2.13]) -# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow -# the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl - -# 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_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED. +# The purpose of this macro is to provide the user with a means to +# check macros which are provided without letting her know how the +# information is coded. +# If this macro is not defined by Autoconf, define it here. +ifdef([AC_PROVIDE_IFELSE], + [], + [define([AC_PROVIDE_IFELSE], + [ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE]) +# ---------------------------------------------- AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl +[AC_REQUIRE([AC_PROG_INSTALL])dnl # test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && +if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first]) fi # 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 - AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl - AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl - -_AM_IF_OPTION([no-define],, +PACKAGE=$1 +AC_SUBST(PACKAGE)dnl +VERSION=$2 +AC_SUBST(VERSION)dnl +ifelse([$3],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) + +# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow +# the ones we care about. +ifdef([m4_pattern_allow], + [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl + +# Autoconf 2.50 always computes EXEEXT. However we need to be +# compatible with 2.13, for now. So we always define EXEEXT, but we +# don't compute it. +AC_SUBST(EXEEXT) +# Similar for OBJEXT -- only we only use OBJEXT if the user actually +# requests that it be used. This is a bit dumb. +: ${OBJEXT=o} +AC_SUBST(OBJEXT) # 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(ACLOCAL, aclocal) AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOMAKE, automake) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_MISSING_PROG(AMTAR, tar) @@ -653,9 +644,9 @@ AM_PROG_INSTALL_STRIP # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl - -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_][CC], +AC_REQUIRE([AM_DEP_TRACK])dnl +AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_PROVIDE_IFELSE([AC_PROG_][CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_][CC], defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl @@ -664,102 +655,11 @@ AC_PROVIDE_IFELSE([AC_PROG_][CXX], [define([AC_PROG_][CXX], defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl ]) -]) - -# Copyright 2002 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - -# 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. -AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"]) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION so it can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.6.3])]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright 2001, 2002 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 2 - -# _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. # -# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - # serial 3 # AM_SANITY_CHECK @@ -803,27 +703,8 @@ Check your system clock]) fi AC_MSG_RESULT(yes)]) -# -*- Autoconf -*- - -# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 3 +# serial 2 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ @@ -845,29 +726,13 @@ 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]) + am_backtick='`' + AC_MSG_WARN([${am_backtick}missing' script is too old or missing]) fi ]) # AM_AUX_DIR_EXPAND -# Copyright 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - # 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/../..'. @@ -906,59 +771,19 @@ fi # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. -# Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50]) - AC_DEFUN([AM_AUX_DIR_EXPAND], [ # expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` +am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` ]) # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. - -# Copyright 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) -# AM_PROG_INSTALL_STRIP - -# Copyright 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - # 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 @@ -968,35 +793,11 @@ AC_SUBST(install_sh)]) # 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="\${SHELL} \$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # serial 4 -*- Autoconf -*- -# Copyright 1999, 2000, 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be @@ -1008,9 +809,9 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])]) # _AM_DEPENDENCIES(NAME) -# ---------------------- +# --------------------- # See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". +# NAME is "CC", "CXX" 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 @@ -1025,7 +826,7 @@ 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], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'] [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) @@ -1087,7 +888,8 @@ else am_cv_$1_dependencies_compiler_type=none fi ]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type" +AC_SUBST([$1DEPMODE]) ]) @@ -1105,7 +907,7 @@ else DEPDIR=_deps fi rmdir .deps 2>/dev/null -AC_SUBST([DEPDIR]) +AC_SUBST(DEPDIR) ]) @@ -1120,48 +922,30 @@ if test "x$enable_dependency_tracking" != xno; then AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH]) +pushdef([subst], defn([AC_SUBST])) +subst(AMDEPBACKSLASH) +popdef([subst]) ]) -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -#serial 2 +# Generate code to set up dependency tracking. +# This macro should only be invoked once -- use via AC_REQUIRE. +# Usage: +# AM_OUTPUT_DEPENDENCY_COMMANDS -# _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. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue +# +# 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_OUTPUT_COMMANDS([ +test x"$AMDEP_TRUE" != x"" || +for mf in $CONFIG_FILES; do + case "$mf" in + Makefile) dirpart=.;; + */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; + *) continue;; + esac + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` @@ -1185,46 +969,14 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], 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]) + fdir=`echo "$file" | sed -e 's|/[^/]*$||'` + $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 # 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 2001 Free Software Foundation, Inc. -*- Autoconf -*- - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 2 +], [AMDEP_TRUE="$AMDEP_TRUE" +ac_aux_dir="$ac_aux_dir"])]) # AM_MAKE_INCLUDE() # ----------------- @@ -1237,7 +989,7 @@ 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__include='#' am__quote= _am_result=none # First try GNU make style include. @@ -1257,7 +1009,7 @@ 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__quote='"' _am_result=BSD fi fi @@ -1267,35 +1019,23 @@ AC_MSG_RESULT($_am_result) rm -f confinc confmf ]) -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright 1997, 2000, 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 5 - -AC_PREREQ(2.52) +# serial 3 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. +# +# FIXME: Once using 2.50, use this: +# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl AC_DEFUN([AM_CONDITIONAL], -[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +[ifelse([$1], [TRUE], + [errprint(__file__:__line__: [$0: invalid condition: $1 +])dnl +m4exit(1)])dnl +ifelse([$1], [FALSE], + [errprint(__file__:__line__: [$0: invalid condition: $1 +])dnl +m4exit(1)])dnl AC_SUBST([$1_TRUE]) AC_SUBST([$1_FALSE]) if $2; then @@ -1304,88 +1044,72 @@ if $2; then 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])]) - -# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- - -# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. +fi]) -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# Like AC_CONFIG_HEADER, but automatically create stamp file. -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -AC_PREREQ([2.52]) - -# serial 6 +# serial 3 # 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. We must strip everything past the first ":", # and everything past the last "/". +AC_PREREQ([2.12]) + +AC_DEFUN([AM_CONFIG_HEADER], +[ifdef([AC_FOREACH],dnl + [dnl init our file count if it isn't already + m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0])) + dnl prepare to store our destination file list for use in config.status + AC_FOREACH([_AM_File], [$1], + [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*])) + m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index)) + dnl and add it to the list of files AC keeps track of, along + dnl with our hook + AC_CONFIG_HEADERS(_AM_File, +dnl COMMANDS, [, INIT-CMDS] +[# update the timestamp +echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index[" +][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS + m4_popdef([_AM_Dest])])],dnl +[AC_CONFIG_HEADER([$1]) + AC_OUTPUT_COMMANDS( + ifelse(patsubst([$1], [[^ ]], []), + [], + [test -z "$CONFIG_HEADERS" || echo timestamp >dnl + patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl +[am_indx=1 +for am_file in $1; do + case " \$CONFIG_HEADERS " in + *" \$am_file "*) + am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\` + if test -n "\$am_dir"; then + am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\` + for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do + am_tmpdir=\$am_tmpdir\$am_subdir/ + if test ! -d \$am_tmpdir; then + mkdir \$am_tmpdir + fi + done + fi + echo timestamp > "\$am_dir"stamp-h\$am_indx + ;; + esac + am_indx=\`expr \$am_indx + 1\` +done]) +])]) # AM_CONFIG_HEADER + # _AM_DIRNAME(PATH) # ----------------- # Like AS_DIRNAME, only do it during macro expansion AC_DEFUN([_AM_DIRNAME], - [m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, - m4_if(regexp([$1], [^//\([^/]\|$\)]), -1, - m4_if(regexp([$1], [^/.*]), -1, + [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, + m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1, + m4_if(m4_regexp([$1], [^/.*]), -1, [.], - patsubst([$1], [^\(/\).*], [\1])), - patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), - patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl -])# _AM_DIRNAME - - -# The stamp files are numbered to have different names. -# We could number them on a directory basis, but that's additional -# complications, let's have a unique counter. -m4_define([_AM_STAMP_Count], [0]) - - -# _AM_STAMP(HEADER) -# ----------------- -# The name of the stamp file for HEADER. -AC_DEFUN([_AM_STAMP], -[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl -AS_ESCAPE(_AM_DIRNAME(patsubst([$1], - [:.*])))/stamp-h[]_AM_STAMP_Count]) - - -# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS) -# ------------------------------------------------------------ -# We used to try to get a real timestamp in stamp-h. But the fear is that -# that will cause unnecessary cvs conflicts. -AC_DEFUN([_AM_CONFIG_HEADER], -[# Add the stamp file to the list of files AC keeps track of, -# along with our hook. -AC_CONFIG_HEADERS([$1], - [# update the timestamp -echo 'timestamp for $1' >"_AM_STAMP([$1])" -$2], - [$3]) -])# _AM_CONFIG_HEADER - - -# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS) -# -------------------------------------------------------------- -AC_DEFUN([AM_CONFIG_HEADER], -[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])]) -])# AM_CONFIG_HEADER + m4_patsubst([$1], [^\(/\).*], [\1])), + m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), + m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl +]) # _AM_DIRNAME diff --git a/cmd/Makefile.in b/cmd/Makefile.in index c2748aa..01487f7 100644 --- a/cmd/Makefile.in +++ b/cmd/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -141,7 +134,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu cmd/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd @@ -151,7 +146,7 @@ uninstall-info-am: # (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): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -171,7 +166,7 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -199,19 +194,16 @@ tags-recursive: test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) @@ -222,50 +214,45 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + for subdir in $(SUBDIRS); do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ @@ -295,7 +282,6 @@ install-am: all-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -303,7 +289,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/cmd/launcher/CAutoStart.cpp b/cmd/launcher/CAutoStart.cpp index 27cff65..7b390a5 100644 --- a/cmd/launcher/CAutoStart.cpp +++ b/cmd/launcher/CAutoStart.cpp @@ -21,10 +21,10 @@ #include "LaunchUtil.h" #include "resource.h" -#define CLIENT_DAEMON_NAME "Synergy Client" -#define SERVER_DAEMON_NAME "Synergy Server" -#define CLIENT_DAEMON_INFO "Uses a shared mouse and keyboard." -#define SERVER_DAEMON_INFO "Shares this system's mouse and keyboard with others." +static const char* CLIENT_DAEMON_NAME = "Synergy Client"; +static const char* SERVER_DAEMON_NAME = "Synergy Server"; +static const char* CLIENT_DAEMON_INFO = "Uses a shared mouse and keyboard."; +static const char* SERVER_DAEMON_INFO = "Shares this system's mouse and keyboard with others."; // // CAutoStartOutputter @@ -40,6 +40,7 @@ class CAutoStartOutputter : public ILogOutputter { // ILogOutputter overrides virtual void open(const char*) { } virtual void close() { } + virtual void show(bool) { } virtual bool write(ELevel level, const char* message); virtual const char* getNewline() const { return ""; } @@ -140,6 +141,43 @@ CAutoStart::uninstallDaemons(bool client) } } +bool +CAutoStart::startDaemon() +{ + const char* name = NULL; + if (ARCH->isDaemonInstalled(CLIENT_DAEMON_NAME, true)) { + name = CLIENT_DAEMON_NAME; + } + else if (ARCH->isDaemonInstalled(SERVER_DAEMON_NAME, true)) { + name = SERVER_DAEMON_NAME; + } + if (name == NULL) { + return false; + } + + // open service manager + SC_HANDLE mgr = OpenSCManager(NULL, NULL, GENERIC_READ); + if (mgr == NULL) { + return false; + } + + // open the service + SC_HANDLE service = OpenService(mgr, name, SERVICE_START); + if (service == NULL) { + CloseServiceHandle(mgr); + return false; + } + + // start the service + BOOL okay = StartService(service, 0, NULL); + + // clean up + CloseServiceHandle(service); + CloseServiceHandle(mgr); + + return (okay != 0); +} + bool CAutoStart::isDaemonInstalled() { diff --git a/cmd/launcher/CAutoStart.h b/cmd/launcher/CAutoStart.h index fcc0aa2..46aad10 100644 --- a/cmd/launcher/CAutoStart.h +++ b/cmd/launcher/CAutoStart.h @@ -47,6 +47,13 @@ class CAutoStart { */ static void uninstallDaemons(bool client); + //! Starts an installed daemon + /*! + Returns \c true iff a daemon was started. This will only start daemons + installed for all users. + */ + static bool startDaemon(); + //@} //! @name accessors //@{ diff --git a/cmd/launcher/CHotkeyOptions.cpp b/cmd/launcher/CHotkeyOptions.cpp new file mode 100644 index 0000000..18bec19 --- /dev/null +++ b/cmd/launcher/CHotkeyOptions.cpp @@ -0,0 +1,1859 @@ +/* + * synergy -- mouse and keyboard sharing utility + * Copyright (C) 2006 Chris Schoeneman + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file COPYING that should have accompanied this file. + * + * This package 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. + */ + +#include "CArchMiscWindows.h" +#include "CMSWindowsKeyState.h" +#include "CConfig.h" +#include "CHotkeyOptions.h" +#include "CStringUtil.h" +#include "LaunchUtil.h" +#include "resource.h" + +#if !defined(WM_XBUTTONDOWN) +#define WM_XBUTTONDOWN 0x020B +#define WM_XBUTTONUP 0x020C +#define WM_XBUTTONDBLCLK 0x020D +#define XBUTTON1 0x0001 +#define XBUTTON2 0x0002 +#endif + +// +// CAdvancedOptions +// + +CHotkeyOptions* CHotkeyOptions::s_singleton = NULL; + +CHotkeyOptions::CHotkeyOptions(HWND parent, CConfig* config) : + m_parent(parent), + m_config(config) +{ + assert(s_singleton == NULL); + s_singleton = this; +} + +CHotkeyOptions::~CHotkeyOptions() +{ + s_singleton = NULL; +} + +void +CHotkeyOptions::doModal() +{ + // do dialog + m_inputFilter = m_config->getInputFilter(); + DialogBoxParam(s_instance, MAKEINTRESOURCE(IDD_HOTKEY_OPTIONS), + m_parent, dlgProc, (LPARAM)this); +} + +void +CHotkeyOptions::doInit(HWND hwnd) +{ + m_activeRuleIndex = (UInt32)-1; + fillHotkeys(hwnd); + openRule(hwnd); +} + +void +CHotkeyOptions::fillHotkeys(HWND hwnd, UInt32 select) +{ + HWND rules = getItem(hwnd, IDC_HOTKEY_HOTKEYS); + + SendMessage(rules, LB_RESETCONTENT, 0, 0); + for (UInt32 i = 0, n = m_inputFilter->getNumRules(); i < n; ++i) { + CInputFilter::CRule& rule = m_inputFilter->getRule(i); + SendMessage(rules, LB_INSERTSTRING, (WPARAM)-1, + (LPARAM)rule.getCondition()->format().c_str()); + } + + if (select < m_inputFilter->getNumRules()) { + SendMessage(rules, LB_SETCURSEL, select, 0); + } + + updateHotkeysControls(hwnd); +} + +void +CHotkeyOptions::updateHotkeysControls(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_HOTKEYS); + bool selected = (SendMessage(child, LB_GETCURSEL, 0, 0) != LB_ERR); + + enableItem(hwnd, IDC_HOTKEY_ADD_HOTKEY, TRUE); + enableItem(hwnd, IDC_HOTKEY_EDIT_HOTKEY, selected); + enableItem(hwnd, IDC_HOTKEY_REMOVE_HOTKEY, selected); +} + +void +CHotkeyOptions::addHotkey(HWND hwnd) +{ + closeRule(hwnd); + CInputFilter::CCondition* condition = NULL; + if (editCondition(hwnd, condition)) { + m_inputFilter->addFilterRule(CInputFilter::CRule(condition)); + fillHotkeys(hwnd, m_inputFilter->getNumRules() - 1); + } + else { + delete condition; + } + openRule(hwnd); +} + +void +CHotkeyOptions::removeHotkey(HWND hwnd) +{ + UInt32 ruleIndex = m_activeRuleIndex; + closeRule(hwnd); + + m_inputFilter->removeFilterRule(ruleIndex); + UInt32 n = m_inputFilter->getNumRules(); + if (n > 0 && ruleIndex >= n) { + ruleIndex = n - 1; + } + fillHotkeys(hwnd, ruleIndex); + + openRule(hwnd); +} + +void +CHotkeyOptions::editHotkey(HWND hwnd) +{ + // save selected item in action list + HWND actions = getItem(hwnd, IDC_HOTKEY_ACTIONS); + LRESULT aIndex = SendMessage(actions, LB_GETCURSEL, 0, 0); + + UInt32 index = m_activeRuleIndex; + closeRule(hwnd); + + CInputFilter::CRule& rule = m_inputFilter->getRule(index); + CInputFilter::CCondition* condition = rule.getCondition()->clone(); + if (editCondition(hwnd, condition)) { + rule.setCondition(condition); + fillHotkeys(hwnd, index); + } + else { + delete condition; + } + + openRule(hwnd); + + // restore selected item in action list + if (aIndex != LB_ERR) { + SendMessage(actions, LB_SETCURSEL, aIndex, 0); + } +} + +void +CHotkeyOptions::fillActions(HWND hwnd, UInt32 select) +{ + HWND actions = getItem(hwnd, IDC_HOTKEY_ACTIONS); + SendMessage(actions, LB_RESETCONTENT, 0, 0); + if (m_activeRuleIndex != (UInt32)-1) { + UInt32 n = m_activeRule.getNumActions(true); + UInt32 n2 = m_activeRule.getNumActions(false); + for (UInt32 i = 0; i < n; ++i) { + const CInputFilter::CAction& action = + m_activeRule.getAction(true, i); + CString line("A "); + line += action.format(); + SendMessage(actions, LB_INSERTSTRING, (WPARAM)-1, + (LPARAM)line.c_str()); + SendMessage(actions, LB_SETITEMDATA, (WPARAM)i, (LPARAM)i); + } + for (UInt32 i = 0; i < n2; ++i) { + const CInputFilter::CAction& action = + m_activeRule.getAction(false, i); + CString line("D "); + line += action.format(); + SendMessage(actions, LB_INSERTSTRING, (WPARAM)-1, + (LPARAM)line.c_str()); + SendMessage(actions, LB_SETITEMDATA, (WPARAM)i + n, + (LPARAM)(i | 0x80000000u)); + } + + if (select < n + n2) { + SendMessage(actions, LB_SETCURSEL, select, 0); + } + } + + updateActionsControls(hwnd); +} + +void +CHotkeyOptions::updateActionsControls(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_HOTKEYS); + bool active = (m_activeRuleIndex != (UInt32)-1); + + child = getItem(hwnd, IDC_HOTKEY_ACTIONS); + bool selected = + (active && (SendMessage(child, LB_GETCURSEL, 0, 0) != LB_ERR)); + + enableItem(hwnd, IDC_HOTKEY_ADD_ACTION, active); + enableItem(hwnd, IDC_HOTKEY_EDIT_ACTION, selected); + enableItem(hwnd, IDC_HOTKEY_REMOVE_ACTION, selected); +} + +void +CHotkeyOptions::addAction(HWND hwnd) +{ + CInputFilter::CAction* action = NULL; + bool onActivate = true; + if (editAction(hwnd, action, onActivate)) { + m_activeRule.adoptAction(action, onActivate); + + UInt32 actionIndex = m_activeRule.getNumActions(true) - 1; + if (!onActivate) { + actionIndex += m_activeRule.getNumActions(false); + } + fillActions(hwnd, actionIndex); + } + else { + delete action; + } +} + +void +CHotkeyOptions::removeAction(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_ACTIONS); + LRESULT index = SendMessage(child, LB_GETCURSEL, 0, 0); + if (index != LB_ERR) { + UInt32 actionIndex = + (UInt32)SendMessage(child, LB_GETITEMDATA, index, 0); + bool onActivate = ((actionIndex & 0x80000000u) == 0); + actionIndex &= ~0x80000000u; + + m_activeRule.removeAction(onActivate, actionIndex); + + actionIndex = static_cast(index); + UInt32 n = m_activeRule.getNumActions(true) + + m_activeRule.getNumActions(false); + if (n > 0 && actionIndex >= n) { + actionIndex = n - 1; + } + fillActions(hwnd, actionIndex); + } +} + +void +CHotkeyOptions::editAction(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_ACTIONS); + LRESULT index = SendMessage(child, LB_GETCURSEL, 0, 0); + if (index != LB_ERR) { + UInt32 actionIndex = + (UInt32)SendMessage(child, LB_GETITEMDATA, index, 0); + bool onActivate = ((actionIndex & 0x80000000u) == 0); + actionIndex &= ~0x80000000u; + + CInputFilter::CAction* action = + m_activeRule.getAction(onActivate, actionIndex).clone(); + bool newOnActivate = onActivate; + if (editAction(hwnd, action, newOnActivate)) { + if (onActivate == newOnActivate) { + m_activeRule.replaceAction(action, onActivate, actionIndex); + actionIndex = static_cast(index); + } + else { + m_activeRule.removeAction(onActivate, actionIndex); + m_activeRule.adoptAction(action, newOnActivate); + actionIndex = m_activeRule.getNumActions(true) - 1; + if (!newOnActivate) { + actionIndex += m_activeRule.getNumActions(false); + } + } + fillActions(hwnd, actionIndex); + } + else { + delete action; + } + } +} + +bool +CHotkeyOptions::editCondition(HWND hwnd, CInputFilter::CCondition*& condition) +{ + return CConditionDialog::doModal(hwnd, condition); +} + +bool +CHotkeyOptions::editAction(HWND hwnd, CInputFilter::CAction*& action, + bool& onActivate) +{ + return CActionDialog::doModal(hwnd, m_config, action, onActivate); +} + +void +CHotkeyOptions::openRule(HWND hwnd) +{ + // get the active rule and copy it, merging down/up pairs of keystroke + // and mouse button actions into single actions for the convenience of + // of the user. + HWND rules = getItem(hwnd, IDC_HOTKEY_HOTKEYS); + LRESULT index = SendMessage(rules, LB_GETCURSEL, 0, 0); + if (index != LB_ERR) { + // copy the rule as is + m_activeRuleIndex = (SInt32)index; + m_activeRule = m_inputFilter->getRule(m_activeRuleIndex); + + // look for actions to combine + for (UInt32 i = 0, n = m_activeRule.getNumActions(true); i < n; ++i) { + // get next activate action + const CInputFilter::CAction* action = + &m_activeRule.getAction(true, i); + + // check if it's a key or mouse action + const CInputFilter::CKeystrokeAction* keyAction = + dynamic_cast(action); + const CInputFilter::CMouseButtonAction* mouseAction = + dynamic_cast(action); + if (keyAction == NULL && mouseAction == NULL) { + continue; + } + + // check for matching deactivate action + UInt32 j = (UInt32)-1; + CInputFilter::CAction* newAction = NULL; + if (keyAction != NULL) { + j = findMatchingAction(keyAction); + if (j != (UInt32)-1) { + // found a match + const IPlatformScreen::CKeyInfo* oldInfo = + keyAction->getInfo(); + IPlatformScreen::CKeyInfo* newInfo = + IKeyState::CKeyInfo::alloc(*oldInfo); + newAction = new CKeystrokeDownUpAction(newInfo); + } + } + else if (mouseAction != NULL) { + j = findMatchingAction(mouseAction); + if (j != (UInt32)-1) { + // found a match + const IPlatformScreen::CButtonInfo* oldInfo = + mouseAction->getInfo(); + IPlatformScreen::CButtonInfo* newInfo = + IPrimaryScreen::CButtonInfo::alloc(*oldInfo); + newAction = new CMouseButtonDownUpAction(newInfo); + } + } + + // perform merge + if (newAction != NULL) { + m_activeRule.replaceAction(newAction, true, i); + m_activeRule.removeAction(false, j); + } + } + } + else { + m_activeRuleIndex = (UInt32)-1; + } + fillActions(hwnd); +} + +void +CHotkeyOptions::closeRule(HWND) +{ + // copy rule back to input filter, expanding merged actions into the + // two component actions. + if (m_activeRuleIndex != (UInt32)-1) { + // expand merged rules + for (UInt32 i = 0, n = m_activeRule.getNumActions(true); i < n; ++i) { + // get action + const CInputFilter::CAction* action = + &m_activeRule.getAction(true, i); + + // check if it's a merged key or mouse action + const CKeystrokeDownUpAction* keyAction = + dynamic_cast(action); + const CMouseButtonDownUpAction* mouseAction = + dynamic_cast(action); + if (keyAction == NULL && mouseAction == NULL) { + continue; + } + + // expand + if (keyAction != NULL) { + const IPlatformScreen::CKeyInfo* oldInfo = + keyAction->getInfo(); + IPlatformScreen::CKeyInfo* newInfo = + IKeyState::CKeyInfo::alloc(*oldInfo); + CInputFilter::CKeystrokeAction* downAction = + new CInputFilter::CKeystrokeAction(newInfo, true); + newInfo = IKeyState::CKeyInfo::alloc(*oldInfo); + CInputFilter::CKeystrokeAction* upAction = + new CInputFilter::CKeystrokeAction(newInfo, false); + m_activeRule.replaceAction(downAction, true, i); + m_activeRule.adoptAction(upAction, false); + } + else if (mouseAction != NULL) { + const IPlatformScreen::CButtonInfo* oldInfo = + mouseAction->getInfo(); + IPlatformScreen::CButtonInfo* newInfo = + IPrimaryScreen::CButtonInfo::alloc(*oldInfo); + CInputFilter::CMouseButtonAction* downAction = + new CInputFilter::CMouseButtonAction(newInfo, true); + newInfo = IPrimaryScreen::CButtonInfo::alloc(*oldInfo); + CInputFilter::CMouseButtonAction* upAction = + new CInputFilter::CMouseButtonAction(newInfo, false); + m_activeRule.replaceAction(downAction, true, i); + m_activeRule.adoptAction(upAction, false); + } + } + + // copy it back + m_inputFilter->getRule(m_activeRuleIndex) = m_activeRule; + } + m_activeRuleIndex = (UInt32)-1; +} + +UInt32 +CHotkeyOptions::findMatchingAction( + const CInputFilter::CKeystrokeAction* src) const +{ + for (UInt32 i = 0, n = m_activeRule.getNumActions(false); i < n; ++i) { + const CInputFilter::CKeystrokeAction* dst = + dynamic_cast( + &m_activeRule.getAction(false, i)); + if (dst != NULL && + IKeyState::CKeyInfo::equal(src->getInfo(), dst->getInfo())) { + return i; + } + } + return (UInt32)-1; +} + +UInt32 +CHotkeyOptions::findMatchingAction( + const CInputFilter::CMouseButtonAction* src) const +{ + for (UInt32 i = 0, n = m_activeRule.getNumActions(false); i < n; ++i) { + const CInputFilter::CMouseButtonAction* dst = + dynamic_cast( + &m_activeRule.getAction(false, i)); + if (dst != NULL && + IPrimaryScreen::CButtonInfo::equal( + src->getInfo(), dst->getInfo())) { + return i; + } + } + return (UInt32)-1; +} + +BOOL +CHotkeyOptions::doDlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM) +{ + switch (message) { + case WM_INITDIALOG: + doInit(hwnd); + return TRUE; + + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDOK: + case IDCANCEL: + closeRule(hwnd); + EndDialog(hwnd, 0); + return TRUE; + + case IDC_HOTKEY_HOTKEYS: + switch (HIWORD(wParam)) { + case LBN_DBLCLK: + editHotkey(hwnd); + return TRUE; + + case LBN_SELCHANGE: { + HWND rules = getItem(hwnd, IDC_HOTKEY_HOTKEYS); + LRESULT index = SendMessage(rules, LB_GETCURSEL, 0, 0); + if (m_activeRuleIndex != (UInt32)index) { + closeRule(hwnd); + updateHotkeysControls(hwnd); + openRule(hwnd); + } + return TRUE; + } + } + break; + + case IDC_HOTKEY_ADD_HOTKEY: + addHotkey(hwnd); + return TRUE; + + case IDC_HOTKEY_REMOVE_HOTKEY: + removeHotkey(hwnd); + return TRUE; + + case IDC_HOTKEY_EDIT_HOTKEY: + editHotkey(hwnd); + return TRUE; + + case IDC_HOTKEY_ACTIONS: + switch (HIWORD(wParam)) { + case LBN_DBLCLK: + editAction(hwnd); + return TRUE; + + case LBN_SELCHANGE: + updateActionsControls(hwnd); + return TRUE; + } + break; + + case IDC_HOTKEY_ADD_ACTION: + addAction(hwnd); + return TRUE; + + case IDC_HOTKEY_REMOVE_ACTION: + removeAction(hwnd); + return TRUE; + + case IDC_HOTKEY_EDIT_ACTION: + editAction(hwnd); + return TRUE; + } + break; + + default: + break; + } + + return FALSE; +} + +BOOL CALLBACK +CHotkeyOptions::dlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + return s_singleton->doDlgProc(hwnd, message, wParam, lParam); +} + + +// +// CHotkeyOptions::CConditionDialog +// + +CInputFilter::CCondition* + CHotkeyOptions::CConditionDialog::s_condition = NULL; +CInputFilter::CCondition* + CHotkeyOptions::CConditionDialog::s_lastGoodCondition = NULL; +WNDPROC CHotkeyOptions::CConditionDialog::s_editWndProc = NULL; + +bool +CHotkeyOptions::CConditionDialog::doModal(HWND parent, + CInputFilter::CCondition*& condition) +{ + s_condition = condition; + if (s_condition != NULL) { + s_lastGoodCondition = s_condition->clone(); + } + else { + s_lastGoodCondition = NULL; + } + int n = DialogBox(s_instance, MAKEINTRESOURCE(IDD_HOTKEY_CONDITION), + parent, dlgProc); + + condition = s_condition; + delete s_lastGoodCondition; + s_condition = NULL; + s_lastGoodCondition = NULL; + + return (n == 1); +} + +void +CHotkeyOptions::CConditionDialog::doInit(HWND hwnd) +{ + // subclass edit control + HWND child = getItem(hwnd, IDC_HOTKEY_CONDITION_HOTKEY); + s_editWndProc = (WNDPROC)GetWindowLong(child, GWL_WNDPROC); + SetWindowLong(child, GWL_WNDPROC, (LONG)editProc); + + // fill control + fillHotkey(hwnd); +} + +void +CHotkeyOptions::CConditionDialog::fillHotkey(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_CONDITION_HOTKEY); + if (s_condition != NULL) { + setWindowText(child, s_condition->format().c_str()); + } + else { + setWindowText(child, ""); + } +} + +void +CHotkeyOptions::CConditionDialog::onButton(HWND hwnd, ButtonID button) +{ + delete s_condition; + s_condition = + new CInputFilter::CMouseButtonCondition(button, getModifiers()); + + fillHotkey(GetParent(hwnd)); +} + +void +CHotkeyOptions::CConditionDialog::onKey(HWND hwnd, WPARAM wParam, LPARAM lParam) +{ + // ignore key repeats + if ((lParam & 0xc0000000u) == 0x40000000u) { + return; + } + + // ignore key releases if the condition is complete and for the tab + // key (in case we were just tabbed to) + if ((lParam & 0x80000000u) != 0) { + if (isGoodCondition() || wParam == VK_TAB) { + return; + } + } + + KeyID key = kKeyNone; + KeyModifierMask mask = getModifiers(); + switch (wParam) { + case VK_SHIFT: + case VK_LSHIFT: + case VK_RSHIFT: + case VK_CONTROL: + case VK_LCONTROL: + case VK_RCONTROL: + case VK_MENU: + case VK_LMENU: + case VK_RMENU: + case VK_LWIN: + case VK_RWIN: + break; + + case VK_TAB: + // allow tabbing out of control + if ((mask & (KeyModifierControl | + KeyModifierAlt | KeyModifierSuper)) == 0) { + HWND next = hwnd; + if ((mask & KeyModifierShift) == 0) { + do { + next = GetWindow(next, GW_HWNDNEXT); + if (next == NULL) { + next = GetWindow(hwnd, GW_HWNDFIRST); + } + } while (next != hwnd && + (!IsWindowVisible(next) || + (GetWindowLong(next, GWL_STYLE) & WS_TABSTOP) == 0)); + } + else { + do { + next = GetWindow(next, GW_HWNDPREV); + if (next == NULL) { + next = GetWindow(hwnd, GW_HWNDLAST); + } + } while (next != hwnd && + (!IsWindowVisible(next) || + (GetWindowLong(next, GWL_STYLE) & WS_TABSTOP) == 0)); + } + SetFocus(next); + return; + } + // fall through + + default: + key = CMSWindowsKeyState::getKeyID(wParam, + static_cast((lParam & 0x1ff0000u) >> 16)); + switch (key) { + case kKeyNone: + // could be a character + key = getChar(wParam, lParam); + if (key == kKeyNone) { + return; + } + break; + + case kKeyShift_L: + case kKeyShift_R: + case kKeyControl_L: + case kKeyControl_R: + case kKeyAlt_L: + case kKeyAlt_R: + case kKeyMeta_L: + case kKeyMeta_R: + case kKeySuper_L: + case kKeySuper_R: + case kKeyCapsLock: + case kKeyNumLock: + case kKeyScrollLock: + // bogus + return; + } + break; + } + + delete s_condition; + s_condition = new CInputFilter::CKeystrokeCondition(key, mask); + + fillHotkey(GetParent(hwnd)); +} + +KeyID +CHotkeyOptions::CConditionDialog::getChar(WPARAM wParam, LPARAM lParam) +{ + BYTE keyState[256]; + UINT virtualKey = (UINT)wParam; + UINT scanCode = (UINT)((lParam & 0x0ff0000u) >> 16); + GetKeyboardState(keyState); + + // reset modifier state + keyState[VK_SHIFT] = 0; + keyState[VK_LSHIFT] = 0; + keyState[VK_RSHIFT] = 0; + keyState[VK_CONTROL] = 0; + keyState[VK_LCONTROL] = 0; + keyState[VK_RCONTROL] = 0; + keyState[VK_MENU] = 0; + keyState[VK_LMENU] = 0; + keyState[VK_RMENU] = 0; + keyState[VK_LWIN] = 0; + keyState[VK_RWIN] = 0; + + // translate virtual key to character + int n; + KeyID id; + if (CArchMiscWindows::isWindows95Family()) { + // XXX -- how do we get characters not in Latin-1? + WORD ascii; + n = ToAscii(virtualKey, scanCode, keyState, &ascii, 0); + id = static_cast(ascii & 0xffu); + } + else { + typedef int (WINAPI *ToUnicode_t)(UINT wVirtKey, + UINT wScanCode, + PBYTE lpKeyState, + LPWSTR pwszBuff, + int cchBuff, + UINT wFlags); + ToUnicode_t s_ToUnicode = NULL; + if (s_ToUnicode == NULL) { + HMODULE userModule = GetModuleHandle("user32.dll"); + s_ToUnicode = + (ToUnicode_t)GetProcAddress(userModule, "ToUnicode"); + } + + WCHAR unicode[2]; + n = s_ToUnicode(virtualKey, scanCode, keyState, + unicode, sizeof(unicode) / sizeof(unicode[0]), + 0); + id = static_cast(unicode[0]); + } + switch (n) { + case -1: + // no hot keys on dead keys + return kKeyNone; + + default: + case 0: + // unmapped + return kKeyNone; + + case 1: + return id; + } +} + +KeyModifierMask +CHotkeyOptions::CConditionDialog::getModifiers() +{ + KeyModifierMask mask = 0; + if ((GetKeyState(VK_SHIFT) & 0x8000) != 0) { + mask |= KeyModifierShift; + } + if ((GetKeyState(VK_CONTROL) & 0x8000) != 0) { + mask |= KeyModifierControl; + } + if ((GetKeyState(VK_MENU) & 0x8000) != 0) { + mask |= KeyModifierAlt; + } + if ((GetKeyState(VK_LWIN) & 0x8000) != 0 || + (GetKeyState(VK_RWIN) & 0x8000) != 0) { + mask |= KeyModifierSuper; + } + return mask; +} + +bool +CHotkeyOptions::CConditionDialog::isGoodCondition() +{ + CInputFilter::CKeystrokeCondition* keyCondition = + dynamic_cast(s_condition); + return (keyCondition == NULL || keyCondition->getKey() != kKeyNone); +} + +BOOL CALLBACK +CHotkeyOptions::CConditionDialog::dlgProc(HWND hwnd, + UINT message, WPARAM wParam, LPARAM) +{ + switch (message) { + case WM_INITDIALOG: + doInit(hwnd); + return TRUE; + + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDOK: + EndDialog(hwnd, 1); + return TRUE; + + case IDCANCEL: + EndDialog(hwnd, 0); + return TRUE; + } + break; + + default: + break; + } + + return FALSE; +} + +LRESULT CALLBACK +CHotkeyOptions::CConditionDialog::editProc(HWND hwnd, + UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) { + case WM_LBUTTONDOWN: + if (GetFocus() == hwnd) { + onButton(hwnd, kButtonLeft); + } + else { + SetFocus(hwnd); + } + return 0; + + case WM_MBUTTONDOWN: + if (GetFocus() == hwnd) { + onButton(hwnd, kButtonMiddle); + } + return 0; + + case WM_RBUTTONDOWN: + if (GetFocus() == hwnd) { + onButton(hwnd, kButtonRight); + } + return 0; + + case WM_XBUTTONDOWN: + if (GetFocus() == hwnd) { + switch (HIWORD(wParam)) { + case XBUTTON1: + onButton(hwnd, kButtonExtra0 + 0); + break; + + case XBUTTON2: + onButton(hwnd, kButtonExtra0 + 1); + break; + } + } + return 0; + + case WM_KEYDOWN: + case WM_SYSKEYDOWN: + case WM_KEYUP: + case WM_SYSKEYUP: + onKey(hwnd, wParam, lParam); + return 0; + + case WM_LBUTTONUP: + case WM_MBUTTONUP: + case WM_RBUTTONUP: + case WM_XBUTTONUP: + case WM_CHAR: + case WM_SYSCHAR: + case WM_DEADCHAR: + case WM_SYSDEADCHAR: + return 0; + + case WM_SETFOCUS: + if (s_condition != NULL) { + delete s_lastGoodCondition; + s_lastGoodCondition = s_condition->clone(); + } + break; + + case WM_KILLFOCUS: + if (!isGoodCondition()) { + delete s_condition; + if (s_lastGoodCondition != NULL) { + s_condition = s_lastGoodCondition->clone(); + } + else { + s_condition = NULL; + } + } + fillHotkey(GetParent(hwnd)); + break; + + case WM_GETDLGCODE: + return DLGC_WANTALLKEYS; + + default: + break; + } + return CallWindowProc(s_editWndProc, hwnd, message, wParam, lParam); +} + + +// +// CHotkeyOptions::CActionDialog +// + +CConfig* CHotkeyOptions::CActionDialog::s_config = NULL; +bool CHotkeyOptions::CActionDialog::s_onActivate = false; +CInputFilter::CAction* + CHotkeyOptions::CActionDialog::s_action = NULL; +CInputFilter::CAction* + CHotkeyOptions::CActionDialog::s_lastGoodAction = NULL; +WNDPROC CHotkeyOptions::CActionDialog::s_editWndProc = NULL; + +bool +CHotkeyOptions::CActionDialog::doModal(HWND parent, CConfig* config, + CInputFilter::CAction*& action, bool& onActivate) +{ + s_config = config; + s_onActivate = onActivate; + s_action = action; + if (s_action != NULL) { + s_lastGoodAction = s_action->clone(); + } + else { + s_lastGoodAction = NULL; + } + + int n = DialogBox(s_instance, MAKEINTRESOURCE(IDD_HOTKEY_ACTION), + parent, dlgProc); + + onActivate = s_onActivate; + action = s_action; + delete s_lastGoodAction; + s_action = NULL; + s_lastGoodAction = NULL; + + return (n == 1); +} + +void +CHotkeyOptions::CActionDialog::doInit(HWND hwnd) +{ + // subclass edit control + HWND child = getItem(hwnd, IDC_HOTKEY_ACTION_HOTKEY); + s_editWndProc = (WNDPROC)GetWindowLong(child, GWL_WNDPROC); + SetWindowLong(child, GWL_WNDPROC, (LONG)editProc); + setWindowText(getItem(hwnd, IDC_HOTKEY_ACTION_HOTKEY), ""); + fillHotkey(hwnd); + + // fill screens + child = getItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_TO_LIST); + SendMessage(child, CB_RESETCONTENT, 0, 0); + for (CConfig::const_iterator index = s_config->begin(); + index != s_config->end(); ) { + const CString& name = *index; + ++index; + if (index != s_config->end()) { + SendMessage(child, CB_INSERTSTRING, + (WPARAM)-1, (LPARAM)name.c_str()); + } + else { + SendMessage(child, CB_ADDSTRING, 0, (LPARAM)name.c_str()); + } + } + SendMessage(child, CB_SETCURSEL, 0, 0); + + // fill directions + child = getItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_IN_LIST); + SendMessage(child, CB_ADDSTRING, 0, + (LPARAM)getString(IDS_EDGE_LEFT).c_str()); + SendMessage(child, CB_ADDSTRING, 0, + (LPARAM)getString(IDS_EDGE_RIGHT).c_str()); + SendMessage(child, CB_ADDSTRING, 0, + (LPARAM)getString(IDS_EDGE_TOP).c_str()); + SendMessage(child, CB_ADDSTRING, 0, + (LPARAM)getString(IDS_EDGE_BOTTOM).c_str()); + SendMessage(child, CB_SETCURSEL, 0, 0); + + // fill lock modes + child = getItem(hwnd, IDC_HOTKEY_ACTION_LOCK_LIST); + SendMessage(child, CB_ADDSTRING, 0, + (LPARAM)getString(IDS_LOCK_MODE_OFF).c_str()); + SendMessage(child, CB_ADDSTRING, 0, + (LPARAM)getString(IDS_LOCK_MODE_ON).c_str()); + SendMessage(child, CB_ADDSTRING, 0, + (LPARAM)getString(IDS_LOCK_MODE_TOGGLE).c_str()); + SendMessage(child, CB_SETCURSEL, 0, 0); + + // select when + if (s_onActivate) { + child = getItem(hwnd, IDC_HOTKEY_ACTION_ON_ACTIVATE); + } + else { + child = getItem(hwnd, IDC_HOTKEY_ACTION_ON_DEACTIVATE); + } + setItemChecked(child, true); + + // select mode + child = NULL; + CInputFilter::CKeystrokeAction* keyAction = + dynamic_cast(s_action); + CInputFilter::CMouseButtonAction* mouseAction = + dynamic_cast(s_action); + CInputFilter::CLockCursorToScreenAction* lockAction = + dynamic_cast(s_action); + CInputFilter::CSwitchToScreenAction* switchToAction = + dynamic_cast(s_action); + CInputFilter::CSwitchInDirectionAction* switchInAction = + dynamic_cast(s_action); + if (keyAction != NULL) { + if (dynamic_cast(s_action) != NULL) { + child = getItem(hwnd, IDC_HOTKEY_ACTION_DOWNUP); + } + else if (keyAction->isOnPress()) { + child = getItem(hwnd, IDC_HOTKEY_ACTION_DOWN); + } + else { + child = getItem(hwnd, IDC_HOTKEY_ACTION_UP); + } + } + else if (mouseAction != NULL) { + if (dynamic_cast(s_action) != NULL) { + child = getItem(hwnd, IDC_HOTKEY_ACTION_DOWNUP); + } + else if (keyAction->isOnPress()) { + child = getItem(hwnd, IDC_HOTKEY_ACTION_DOWN); + } + else { + child = getItem(hwnd, IDC_HOTKEY_ACTION_UP); + } + } + else if (lockAction != NULL) { + child = getItem(hwnd, IDC_HOTKEY_ACTION_LOCK_LIST); + SendMessage(child, CB_SETCURSEL, lockAction->getMode(), 0); + child = getItem(hwnd, IDC_HOTKEY_ACTION_LOCK); + } + else if (switchToAction != NULL) { + child = getItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_TO_LIST); + DWORD i = SendMessage(child, CB_FINDSTRINGEXACT, (WPARAM)-1, + (LPARAM)switchToAction->getScreen().c_str()); + if (i == CB_ERR) { + i = 0; + } + SendMessage(child, CB_SETCURSEL, i, 0); + child = getItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_TO); + } + else if (switchInAction != NULL) { + child = getItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_IN_LIST); + SendMessage(child, CB_SETCURSEL, + switchInAction->getDirection() - kLeft, 0); + child = getItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_IN); + } + if (child != NULL) { + setItemChecked(child, true); + } + + updateControls(hwnd); +} + +void +CHotkeyOptions::CActionDialog::fillHotkey(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_ACTION_HOTKEY); + CInputFilter::CKeystrokeAction* keyAction = + dynamic_cast(s_action); + CInputFilter::CMouseButtonAction* mouseAction = + dynamic_cast(s_action); + if (keyAction != NULL || mouseAction != NULL) { + setWindowText(child, s_action->format().c_str()); + } + else { + setWindowText(child, ""); + } + + // can only set screens in key actions + enableItem(hwnd, IDC_HOTKEY_ACTION_SCREENS, keyAction != NULL); +} + +void +CHotkeyOptions::CActionDialog::updateControls(HWND hwnd) +{ + // determine which mode we're in + UInt32 mode = 0; + if (isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_DOWNUP)) || + isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_DOWN)) || + isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_UP))) { + mode = 1; + } + else if (isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_TO))) { + mode = 2; + } + else if (isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_IN))) { + mode = 3; + } + else if (isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_LOCK))) { + mode = 4; + } + + // enable/disable all mode specific controls + enableItem(hwnd, IDC_HOTKEY_ACTION_HOTKEY, mode == 1); + enableItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_TO_LIST, mode == 2); + enableItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_IN_LIST, mode == 3); + enableItem(hwnd, IDC_HOTKEY_ACTION_LOCK_LIST, mode == 4); + + // can only set screens in key actions + CInputFilter::CKeystrokeAction* keyAction = + dynamic_cast(s_action); + enableItem(hwnd, IDC_HOTKEY_ACTION_SCREENS, keyAction != NULL); +} + +void +CHotkeyOptions::CActionDialog::onButton(HWND hwnd, ButtonID button) +{ + IPlatformScreen::CButtonInfo* info = + IPrimaryScreen::CButtonInfo::alloc(button, getModifiers()); + delete s_action; + HWND parent = GetParent(hwnd); + if (isItemChecked(getItem(parent, IDC_HOTKEY_ACTION_DOWNUP))) { + s_action = new CMouseButtonDownUpAction(info); + } + else if (isItemChecked(getItem(parent, IDC_HOTKEY_ACTION_DOWN))) { + s_action = new CInputFilter::CMouseButtonAction(info, true); + } + else if (isItemChecked(getItem(parent, IDC_HOTKEY_ACTION_UP))) { + s_action = new CInputFilter::CMouseButtonAction(info, false); + } + else { + s_action = NULL; + } + + fillHotkey(parent); +} + +void +CHotkeyOptions::CActionDialog::onKey(HWND hwnd, WPARAM wParam, LPARAM lParam) +{ + // ignore key repeats + if ((lParam & 0xc0000000u) == 0x40000000u) { + return; + } + + // ignore key releases if the action is complete and for the tab + // key (in case we were just tabbed to) + if ((lParam & 0x80000000u) != 0) { + if (isGoodAction() || wParam == VK_TAB) { + return; + } + } + + KeyID key = kKeyNone; + KeyModifierMask mask = getModifiers(); + switch (wParam) { + case VK_SHIFT: + case VK_LSHIFT: + case VK_RSHIFT: + case VK_CONTROL: + case VK_LCONTROL: + case VK_RCONTROL: + case VK_MENU: + case VK_LMENU: + case VK_RMENU: + case VK_LWIN: + case VK_RWIN: + break; + + case VK_TAB: + // allow tabbing out of control + if ((mask & (KeyModifierControl | + KeyModifierAlt | KeyModifierSuper)) == 0) { + HWND next = hwnd; + if ((mask & KeyModifierShift) == 0) { + do { + next = GetWindow(next, GW_HWNDNEXT); + if (next == NULL) { + next = GetWindow(hwnd, GW_HWNDFIRST); + } + } while (next != hwnd && + (!IsWindowVisible(next) || + (GetWindowLong(next, GWL_STYLE) & WS_TABSTOP) == 0)); + } + else { + do { + next = GetWindow(next, GW_HWNDPREV); + if (next == NULL) { + next = GetWindow(hwnd, GW_HWNDLAST); + } + } while (next != hwnd && + (!IsWindowVisible(next) || + (GetWindowLong(next, GWL_STYLE) & WS_TABSTOP) == 0)); + } + SetFocus(next); + return; + } + // fall through + + default: + key = CMSWindowsKeyState::getKeyID(wParam, + static_cast((lParam & 0x1ff0000u) >> 16)); + switch (key) { + case kKeyNone: + // could be a character + key = getChar(wParam, lParam); + if (key == kKeyNone) { + return; + } + break; + + case kKeyShift_L: + case kKeyShift_R: + case kKeyControl_L: + case kKeyControl_R: + case kKeyAlt_L: + case kKeyAlt_R: + case kKeyMeta_L: + case kKeyMeta_R: + case kKeySuper_L: + case kKeySuper_R: + case kKeyCapsLock: + case kKeyNumLock: + case kKeyScrollLock: + // bogus + return; + } + break; + } + + // get old screen list + std::set screens; + CInputFilter::CKeystrokeAction* keyAction = + dynamic_cast(s_action); + if (keyAction == NULL) { + keyAction = + dynamic_cast(s_lastGoodAction); + } + if (keyAction != NULL) { + IKeyState::CKeyInfo::split(keyAction->getInfo()->m_screens, screens); + } + + // create new action + IPlatformScreen::CKeyInfo* info = + IKeyState::CKeyInfo::alloc(key, mask, 0, 0, screens); + delete s_action; + HWND parent = GetParent(hwnd); + if (isItemChecked(getItem(parent, IDC_HOTKEY_ACTION_DOWNUP))) { + s_action = new CKeystrokeDownUpAction(info); + } + else if (isItemChecked(getItem(parent, IDC_HOTKEY_ACTION_DOWN))) { + s_action = new CInputFilter::CKeystrokeAction(info, true); + } + else if (isItemChecked(getItem(parent, IDC_HOTKEY_ACTION_UP))) { + s_action = new CInputFilter::CKeystrokeAction(info, false); + } + else { + s_action = NULL; + } + + fillHotkey(parent); +} + +void +CHotkeyOptions::CActionDialog::onLockAction(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_ACTION_LOCK_LIST); + LRESULT index = SendMessage(child, CB_GETCURSEL, 0, 0); + if (index != CB_ERR) { + delete s_action; + s_action = new CInputFilter::CLockCursorToScreenAction( + (CInputFilter::CLockCursorToScreenAction::Mode)index); + } +} + +void +CHotkeyOptions::CActionDialog::onSwitchToAction(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_TO_LIST); + CString screen = getWindowText(child); + delete s_action; + s_action = new CInputFilter::CSwitchToScreenAction(screen); +} + +void +CHotkeyOptions::CActionDialog::onSwitchInAction(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_ACTION_SWITCH_IN_LIST); + LRESULT index = SendMessage(child, CB_GETCURSEL, 0, 0); + if (index != CB_ERR) { + delete s_action; + s_action = new CInputFilter::CSwitchInDirectionAction( + (EDirection)(index + kLeft)); + } +} + +KeyID +CHotkeyOptions::CActionDialog::getChar(WPARAM wParam, LPARAM lParam) +{ + BYTE keyState[256]; + UINT virtualKey = (UINT)wParam; + UINT scanCode = (UINT)((lParam & 0x0ff0000u) >> 16); + GetKeyboardState(keyState); + + // reset modifier state + keyState[VK_SHIFT] = 0; + keyState[VK_LSHIFT] = 0; + keyState[VK_RSHIFT] = 0; + keyState[VK_CONTROL] = 0; + keyState[VK_LCONTROL] = 0; + keyState[VK_RCONTROL] = 0; + keyState[VK_MENU] = 0; + keyState[VK_LMENU] = 0; + keyState[VK_RMENU] = 0; + keyState[VK_LWIN] = 0; + keyState[VK_RWIN] = 0; + + // translate virtual key to character + int n; + KeyID id; + if (CArchMiscWindows::isWindows95Family()) { + // XXX -- how do we get characters not in Latin-1? + WORD ascii; + n = ToAscii(virtualKey, scanCode, keyState, &ascii, 0); + id = static_cast(ascii & 0xffu); + } + else { + typedef int (WINAPI *ToUnicode_t)(UINT wVirtKey, + UINT wScanCode, + PBYTE lpKeyState, + LPWSTR pwszBuff, + int cchBuff, + UINT wFlags); + ToUnicode_t s_ToUnicode = NULL; + if (s_ToUnicode == NULL) { + HMODULE userModule = GetModuleHandle("user32.dll"); + s_ToUnicode = + (ToUnicode_t)GetProcAddress(userModule, "ToUnicode"); + } + + WCHAR unicode[2]; + n = s_ToUnicode(virtualKey, scanCode, keyState, + unicode, sizeof(unicode) / sizeof(unicode[0]), + 0); + id = static_cast(unicode[0]); + } + switch (n) { + case -1: + // no hot keys on dead keys + return kKeyNone; + + default: + case 0: + // unmapped + return kKeyNone; + + case 1: + return id; + } +} + +KeyModifierMask +CHotkeyOptions::CActionDialog::getModifiers() +{ + KeyModifierMask mask = 0; + if ((GetKeyState(VK_SHIFT) & 0x8000) != 0) { + mask |= KeyModifierShift; + } + if ((GetKeyState(VK_CONTROL) & 0x8000) != 0) { + mask |= KeyModifierControl; + } + if ((GetKeyState(VK_MENU) & 0x8000) != 0) { + mask |= KeyModifierAlt; + } + if ((GetKeyState(VK_LWIN) & 0x8000) != 0 || + (GetKeyState(VK_RWIN) & 0x8000) != 0) { + mask |= KeyModifierSuper; + } + return mask; +} + +bool +CHotkeyOptions::CActionDialog::isGoodAction() +{ + CInputFilter::CMouseButtonAction* mouseAction = + dynamic_cast(s_action); + CInputFilter::CKeystrokeAction* keyAction = + dynamic_cast(s_action); + return (mouseAction == NULL || keyAction == NULL || + keyAction->getInfo()->m_key != kKeyNone); +} + +void +CHotkeyOptions::CActionDialog::convertAction(HWND hwnd) +{ + if (s_lastGoodAction != NULL) { + CInputFilter::CMouseButtonAction* mouseAction = + dynamic_cast(s_lastGoodAction); + CInputFilter::CKeystrokeAction* keyAction = + dynamic_cast(s_lastGoodAction); + if (mouseAction != NULL) { + IPlatformScreen::CButtonInfo* info = + IPrimaryScreen::CButtonInfo::alloc(*mouseAction->getInfo()); + delete s_action; + if (isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_DOWNUP))) { + s_action = new CMouseButtonDownUpAction(info); + } + else if (isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_DOWN))) { + s_action = new CInputFilter::CMouseButtonAction(info, true); + } + else if (isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_UP))) { + s_action = new CInputFilter::CMouseButtonAction(info, false); + } + else { + free(info); + s_action = NULL; + } + } + else if (keyAction != NULL) { + IPlatformScreen::CKeyInfo* info = + IKeyState::CKeyInfo::alloc(*keyAction->getInfo()); + delete s_action; + if (isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_DOWNUP))) { + s_action = new CKeystrokeDownUpAction(info); + } + else if (isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_DOWN))) { + s_action = new CInputFilter::CKeystrokeAction(info, true); + } + else if (isItemChecked(getItem(hwnd, IDC_HOTKEY_ACTION_UP))) { + s_action = new CInputFilter::CKeystrokeAction(info, false); + } + else { + free(info); + s_action = NULL; + } + } + } +} + +bool +CHotkeyOptions::CActionDialog::isDownUpAction() +{ + return (dynamic_cast(s_action) != NULL || + dynamic_cast(s_action) != NULL); +} + +BOOL CALLBACK +CHotkeyOptions::CActionDialog::dlgProc(HWND hwnd, + UINT message, WPARAM wParam, LPARAM) +{ + switch (message) { + case WM_INITDIALOG: + doInit(hwnd); + return TRUE; + + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDOK: + if (isDownUpAction()) { + s_onActivate = true; + } + EndDialog(hwnd, 1); + return TRUE; + + case IDCANCEL: + EndDialog(hwnd, 0); + return TRUE; + + case IDC_HOTKEY_ACTION_ON_ACTIVATE: + s_onActivate = true; + return TRUE; + + case IDC_HOTKEY_ACTION_ON_DEACTIVATE: + s_onActivate = false; + return TRUE; + + case IDC_HOTKEY_ACTION_DOWNUP: + case IDC_HOTKEY_ACTION_DOWN: + case IDC_HOTKEY_ACTION_UP: + convertAction(hwnd); + fillHotkey(hwnd); + updateControls(hwnd); + return TRUE; + + case IDC_HOTKEY_ACTION_LOCK: + onLockAction(hwnd); + updateControls(hwnd); + return TRUE; + + case IDC_HOTKEY_ACTION_SWITCH_TO: + onSwitchToAction(hwnd); + updateControls(hwnd); + return TRUE; + + case IDC_HOTKEY_ACTION_SWITCH_IN: + onSwitchInAction(hwnd); + updateControls(hwnd); + return TRUE; + + case IDC_HOTKEY_ACTION_LOCK_LIST: + switch (HIWORD(wParam)) { + case LBN_SELCHANGE: + onLockAction(hwnd); + return TRUE; + } + break; + + case IDC_HOTKEY_ACTION_SWITCH_TO_LIST: + switch (HIWORD(wParam)) { + case LBN_SELCHANGE: + onSwitchToAction(hwnd); + return TRUE; + } + break; + + case IDC_HOTKEY_ACTION_SWITCH_IN_LIST: + switch (HIWORD(wParam)) { + case LBN_SELCHANGE: + onSwitchInAction(hwnd); + return TRUE; + } + break; + + case IDC_HOTKEY_ACTION_SCREENS: + CScreensDialog::doModal(hwnd, s_config, + dynamic_cast(s_action)); + fillHotkey(hwnd); + return TRUE; + } + break; + + default: + break; + } + + return FALSE; +} + +LRESULT CALLBACK +CHotkeyOptions::CActionDialog::editProc(HWND hwnd, + UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) { + case WM_LBUTTONDOWN: + if (GetFocus() == hwnd) { + onButton(hwnd, kButtonLeft); + } + else { + SetFocus(hwnd); + } + return 0; + + case WM_MBUTTONDOWN: + if (GetFocus() == hwnd) { + onButton(hwnd, kButtonMiddle); + } + return 0; + + case WM_RBUTTONDOWN: + if (GetFocus() == hwnd) { + onButton(hwnd, kButtonRight); + } + return 0; + + case WM_XBUTTONDOWN: + if (GetFocus() == hwnd) { + switch (HIWORD(wParam)) { + case XBUTTON1: + onButton(hwnd, kButtonExtra0 + 0); + break; + + case XBUTTON2: + onButton(hwnd, kButtonExtra0 + 1); + break; + } + } + return 0; + + case WM_KEYDOWN: + case WM_SYSKEYDOWN: + case WM_KEYUP: + case WM_SYSKEYUP: + onKey(hwnd, wParam, lParam); + return 0; + + case WM_LBUTTONUP: + case WM_MBUTTONUP: + case WM_RBUTTONUP: + case WM_XBUTTONUP: + case WM_CHAR: + case WM_SYSCHAR: + case WM_DEADCHAR: + case WM_SYSDEADCHAR: + return 0; + + case WM_SETFOCUS: + if (s_action != NULL) { + delete s_lastGoodAction; + s_lastGoodAction = s_action->clone(); + } + break; + + case WM_KILLFOCUS: + if (!isGoodAction()) { + delete s_action; + if (s_lastGoodAction != NULL) { + s_action = s_lastGoodAction->clone(); + } + else { + s_action = NULL; + } + } + else if (s_action != NULL) { + delete s_lastGoodAction; + s_lastGoodAction = s_action->clone(); + } + fillHotkey(GetParent(hwnd)); + break; + + case WM_GETDLGCODE: + return DLGC_WANTALLKEYS; + + default: + break; + } + return CallWindowProc(s_editWndProc, hwnd, message, wParam, lParam); +} + + +// +// CHotkeyOptions::CScreensDialog +// + +CConfig* CHotkeyOptions::CScreensDialog::s_config = NULL; +CInputFilter::CKeystrokeAction* + CHotkeyOptions::CScreensDialog::s_action = NULL; +CHotkeyOptions::CScreensDialog::CScreens + CHotkeyOptions::CScreensDialog::s_nonTargets; +CHotkeyOptions::CScreensDialog::CScreens + CHotkeyOptions::CScreensDialog::s_targets; +CString CHotkeyOptions::CScreensDialog::s_allScreens; + +void +CHotkeyOptions::CScreensDialog::doModal(HWND parent, CConfig* config, + CInputFilter::CKeystrokeAction* action) +{ + s_allScreens = getString(IDS_ALL_SCREENS); + s_config = config; + s_action = action; + DialogBox(s_instance, MAKEINTRESOURCE(IDD_HOTKEY_SCREENS), + parent, dlgProc); + s_config = NULL; + s_action = NULL; +} + +void +CHotkeyOptions::CScreensDialog::doInit(HWND hwnd) +{ + s_nonTargets.clear(); + s_targets.clear(); + + // get screens from config + s_nonTargets.insert("*"); + for (CConfig::const_iterator i = s_config->begin(); + i != s_config->end(); ++i) { + s_nonTargets.insert(*i); + } + + // get screens in action + IKeyState::CKeyInfo::split(s_action->getInfo()->m_screens, s_targets); + + // remove screens in action from screens in config + for (CScreens::const_iterator i = s_targets.begin(); + i != s_targets.end(); ++i) { + s_nonTargets.erase(*i); + } + + // fill dialog + fillScreens(hwnd); + updateControls(hwnd); +} + +void +CHotkeyOptions::CScreensDialog::doFini(HWND) +{ + // put screens into action + const IPlatformScreen::CKeyInfo* oldInfo = s_action->getInfo(); + IPlatformScreen::CKeyInfo* newInfo = + IKeyState::CKeyInfo::alloc(oldInfo->m_key, + oldInfo->m_mask, 0, 0, s_targets); + s_action->adoptInfo(newInfo); +} + +void +CHotkeyOptions::CScreensDialog::fillScreens(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_SCREENS_SRC); + SendMessage(child, LB_RESETCONTENT, 0, 0); + for (CScreens::const_iterator i = s_nonTargets.begin(); + i != s_nonTargets.end(); ++i) { + CString name = *i; + if (name == "*") { + name = s_allScreens; + } + SendMessage(child, LB_INSERTSTRING, (WPARAM)-1, + (LPARAM)name.c_str()); + } + + child = getItem(hwnd, IDC_HOTKEY_SCREENS_DST); + SendMessage(child, LB_RESETCONTENT, 0, 0); + for (CScreens::const_iterator i = s_targets.begin(); + i != s_targets.end(); ++i) { + CString name = *i; + if (name == "*") { + name = s_allScreens; + } + SendMessage(child, LB_INSERTSTRING, (WPARAM)-1, + (LPARAM)name.c_str()); + } + if (s_targets.empty()) { + // if no targets then add a special item so the user knows + // what'll happen + CString activeScreenLabel = getString(IDS_ACTIVE_SCREEN); + SendMessage(child, LB_INSERTSTRING, (WPARAM)-1, + (LPARAM)activeScreenLabel.c_str()); + } +} + +void +CHotkeyOptions::CScreensDialog::updateControls(HWND hwnd) +{ + HWND child = getItem(hwnd, IDC_HOTKEY_SCREENS_SRC); + bool canAdd = (SendMessage(child, LB_GETSELCOUNT, 0, 0) != 0); + child = getItem(hwnd, IDC_HOTKEY_SCREENS_DST); + bool canRemove = (!s_targets.empty() && + (SendMessage(child, LB_GETSELCOUNT, 0, 0) != 0)); + + enableItem(hwnd, IDC_HOTKEY_SCREENS_ADD, canAdd); + enableItem(hwnd, IDC_HOTKEY_SCREENS_REMOVE, canRemove); +} + +void +CHotkeyOptions::CScreensDialog::add(HWND hwnd) +{ + CScreens selected; + getSelected(hwnd, IDC_HOTKEY_SCREENS_SRC, s_nonTargets, selected); + for (CScreens::const_iterator i = selected.begin(); + i != selected.end(); ++i) { + s_targets.insert(*i); + s_nonTargets.erase(*i); + } + fillScreens(hwnd); + updateControls(hwnd); +} + +void +CHotkeyOptions::CScreensDialog::remove(HWND hwnd) +{ + CScreens selected; + getSelected(hwnd, IDC_HOTKEY_SCREENS_DST, s_targets, selected); + for (CScreens::const_iterator i = selected.begin(); + i != selected.end(); ++i) { + s_nonTargets.insert(*i); + s_targets.erase(*i); + } + fillScreens(hwnd); + updateControls(hwnd); +} + +void +CHotkeyOptions::CScreensDialog::getSelected(HWND hwnd, UINT id, + const CScreens& inScreens, CScreens& outScreens) +{ + // get the selected item indices + HWND child = getItem(hwnd, id); + UInt32 n = (UInt32)SendMessage(child, LB_GETSELCOUNT, 0, 0); + int* index = new int[n]; + SendMessage(child, LB_GETSELITEMS, (WPARAM)n, (LPARAM)index); + + // get the items in a vector + std::vector tmpList; + for (CScreens::const_iterator i = inScreens.begin(); + i != inScreens.end(); ++i) { + tmpList.push_back(*i); + } + + // get selected items into the output set + outScreens.clear(); + for (UInt32 i = 0; i < n; ++i) { + outScreens.insert(tmpList[index[i]]); + } + + // clean up + delete[] index; +} + +BOOL CALLBACK +CHotkeyOptions::CScreensDialog::dlgProc(HWND hwnd, + UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) { + case WM_INITDIALOG: + doInit(hwnd); + return TRUE; + + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDOK: + doFini(hwnd); + EndDialog(hwnd, 0); + return TRUE; + + case IDCANCEL: + EndDialog(hwnd, 0); + return TRUE; + + case IDC_HOTKEY_SCREENS_ADD: + add(hwnd); + return TRUE; + + case IDC_HOTKEY_SCREENS_REMOVE: + remove(hwnd); + return TRUE; + + case IDC_HOTKEY_SCREENS_SRC: + case IDC_HOTKEY_SCREENS_DST: + switch (HIWORD(wParam)) { + case LBN_SELCANCEL: + case LBN_SELCHANGE: + updateControls(hwnd); + return TRUE; + } + break; + } + break; + + case WM_CTLCOLORLISTBOX: + if (s_targets.empty() && + (HWND)lParam == getItem(hwnd, IDC_HOTKEY_SCREENS_DST)) { + // override colors + HDC dc = (HDC)wParam; + SetTextColor(dc, GetSysColor(COLOR_GRAYTEXT)); + return (BOOL)GetSysColorBrush(COLOR_WINDOW); + } + break; + + default: + break; + } + + return FALSE; +} diff --git a/cmd/launcher/CHotkeyOptions.h b/cmd/launcher/CHotkeyOptions.h new file mode 100644 index 0000000..b63fcf2 --- /dev/null +++ b/cmd/launcher/CHotkeyOptions.h @@ -0,0 +1,225 @@ +/* + * synergy -- mouse and keyboard sharing utility + * Copyright (C) 2006 Chris Schoeneman + * + * This package is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * found in the file COPYING that should have accompanied this file. + * + * This package 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. + */ + +#ifndef CHOTKEYOPTIONS_H +#define CHOTKEYOPTIONS_H + +#include "CString.h" +#include "KeyTypes.h" +#include "MouseTypes.h" +#include "CInputFilter.h" + +#define WINDOWS_LEAN_AND_MEAN +#include + +class CConfig; + +//! Hotkey options dialog for Microsoft Windows launcher +class CHotkeyOptions { +public: + CHotkeyOptions(HWND parent, CConfig*); + ~CHotkeyOptions(); + + //! @name manipulators + //@{ + + //! Run dialog + /*! + Display and handle the dialog until closed by the user. + */ + void doModal(); + + //@} + //! @name accessors + //@{ + + //@} + +private: + void doInit(HWND hwnd); + + void fillHotkeys(HWND hwnd, UInt32 select = (UInt32)-1); + void updateHotkeysControls(HWND hwnd); + + void addHotkey(HWND hwnd); + void removeHotkey(HWND hwnd); + void editHotkey(HWND hwnd); + + void fillActions(HWND hwnd, UInt32 select = (UInt32)-1); + void updateActionsControls(HWND hwnd); + + void addAction(HWND hwnd); + void removeAction(HWND hwnd); + void editAction(HWND hwnd); + + bool editCondition(HWND hwnd, CInputFilter::CCondition*&); + bool editAction(HWND hwnd, CInputFilter::CAction*&, + bool& onActivate); + + void openRule(HWND hwnd); + void closeRule(HWND hwnd); + UInt32 findMatchingAction( + const CInputFilter::CKeystrokeAction*) const; + UInt32 findMatchingAction( + const CInputFilter::CMouseButtonAction*) const; + + // message handling + BOOL doDlgProc(HWND, UINT, WPARAM, LPARAM); + static BOOL CALLBACK dlgProc(HWND, UINT, WPARAM, LPARAM); + + // special actions we use to combine matching down/up actions into a + // single action for the convenience of the user. + class CKeystrokeDownUpAction : public CInputFilter::CKeystrokeAction { + public: + CKeystrokeDownUpAction(IPlatformScreen::CKeyInfo* adoptedInfo) : + CInputFilter::CKeystrokeAction(adoptedInfo, true) { } + + // CAction overrides + virtual CInputFilter::CAction* clone() const + { + IKeyState::CKeyInfo* info = IKeyState::CKeyInfo::alloc(*getInfo()); + return new CKeystrokeDownUpAction(info); + } + + protected: + // CKeystrokeAction overrides + virtual const char* formatName() const { return "keystroke"; } + }; + class CMouseButtonDownUpAction : public CInputFilter::CMouseButtonAction { + public: + CMouseButtonDownUpAction(IPrimaryScreen::CButtonInfo* adoptedInfo) : + CInputFilter::CMouseButtonAction(adoptedInfo, true) { } + + // CAction overrides + virtual CInputFilter::CAction* clone() const + { + IPlatformScreen::CButtonInfo* info = + IPrimaryScreen::CButtonInfo::alloc(*getInfo()); + return new CMouseButtonDownUpAction(info); + } + + protected: + // CMouseButtonAction overrides + virtual const char* formatName() const { return "mousebutton"; } + }; + + class CConditionDialog { + public: + static bool doModal(HWND parent, CInputFilter::CCondition*&); + + private: + static void doInit(HWND hwnd); + static void fillHotkey(HWND hwnd); + + static void onButton(HWND hwnd, ButtonID button); + static void onKey(HWND hwnd, WPARAM wParam, LPARAM lParam); + static KeyID getChar(WPARAM wParam, LPARAM lParam); + static KeyModifierMask + getModifiers(); + + static bool isGoodCondition(); + + static BOOL CALLBACK dlgProc(HWND, UINT, WPARAM, LPARAM); + static LRESULT CALLBACK editProc(HWND hwnd, UINT, WPARAM, LPARAM); + + private: + static CInputFilter::CCondition* + s_condition; + static CInputFilter::CCondition* + s_lastGoodCondition; + static WNDPROC s_editWndProc; + }; + + class CActionDialog { + public: + static bool doModal(HWND parent, CConfig* config, + CInputFilter::CAction*&, bool& onActivate); + + private: + static void doInit(HWND hwnd); + static void fillHotkey(HWND hwnd); + static void updateControls(HWND hwnd); + + static void onButton(HWND hwnd, ButtonID button); + static void onKey(HWND hwnd, WPARAM wParam, LPARAM lParam); + static void onLockAction(HWND hwnd); + static void onSwitchToAction(HWND hwnd); + static void onSwitchInAction(HWND hwnd); + + static KeyID getChar(WPARAM wParam, LPARAM lParam); + static KeyModifierMask + getModifiers(); + + static bool isGoodAction(); + static void convertAction(HWND hwnd); + + static bool isDownUpAction(); + + static BOOL CALLBACK dlgProc(HWND, UINT, WPARAM, LPARAM); + static LRESULT CALLBACK editProc(HWND hwnd, UINT, WPARAM, LPARAM); + + private: + static CConfig* s_config; + static bool s_onActivate; + static CInputFilter::CAction* + s_action; + static CInputFilter::CAction* + s_lastGoodAction; + static WNDPROC s_editWndProc; + }; + +// public to allow CActionDialog to use it +public: + class CScreensDialog { + public: + static void doModal(HWND parent, CConfig* config, + CInputFilter::CKeystrokeAction*); + + // public due to compiler brokenness + typedef std::set CScreens; + + private: + + static void doInit(HWND hwnd); + static void doFini(HWND hwnd); + static void fillScreens(HWND hwnd); + static void updateControls(HWND hwnd); + + static void add(HWND hwnd); + static void remove(HWND hwnd); + + static void getSelected(HWND hwnd, UINT id, + const CScreens& inScreens, CScreens& outScreens); + + static BOOL CALLBACK dlgProc(HWND, UINT, WPARAM, LPARAM); + + private: + static CConfig* s_config; + static CInputFilter::CKeystrokeAction* s_action; + static CScreens s_nonTargets; + static CScreens s_targets; + static CString s_allScreens; + }; + +private: + static CHotkeyOptions* s_singleton; + + HWND m_parent; + CConfig* m_config; + CInputFilter* m_inputFilter; + CInputFilter::CRule m_activeRule; + UInt32 m_activeRuleIndex; +}; + +#endif diff --git a/cmd/launcher/Makefile.am b/cmd/launcher/Makefile.am index 5573a3b..729aeb7 100644 --- a/cmd/launcher/Makefile.am +++ b/cmd/launcher/Makefile.am @@ -18,6 +18,7 @@ MSWINDOWS_SOURCE_FILES = \ CAdvancedOptions.cpp \ CAutoStart.cpp \ CGlobalOptions.cpp \ + CHotkeyOptions.cpp \ CInfo.cpp \ CScreensLinks.cpp \ LaunchUtil.cpp \ @@ -26,6 +27,7 @@ MSWINDOWS_SOURCE_FILES = \ CAdvancedOptions.h \ CAutoStart.h \ CGlobalOptions.h \ + CHotkeyOptions.h \ CInfo.h \ CScreensLinks.h \ LaunchUtil.h \ diff --git a/cmd/launcher/Makefile.in b/cmd/launcher/Makefile.in index b14a400..9fb8943 100644 --- a/cmd/launcher/Makefile.in +++ b/cmd/launcher/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -111,6 +104,7 @@ MSWINDOWS_SOURCE_FILES = \ CAdvancedOptions.cpp \ CAutoStart.cpp \ CGlobalOptions.cpp \ + CHotkeyOptions.cpp \ CInfo.cpp \ CScreensLinks.cpp \ LaunchUtil.cpp \ @@ -119,6 +113,7 @@ MSWINDOWS_SOURCE_FILES = \ CAdvancedOptions.h \ CAutoStart.h \ CGlobalOptions.h \ + CHotkeyOptions.h \ CInfo.h \ CScreensLinks.h \ LaunchUtil.h \ @@ -176,12 +171,13 @@ CONFIG_CLEAN_FILES = @MSWINDOWS_FALSE@bin_PROGRAMS = PROGRAMS = $(bin_PROGRAMS) -am__objects_1 = -am__objects_2 = CAddScreen.$(OBJEXT) CAdvancedOptions.$(OBJEXT) \ - CAutoStart.$(OBJEXT) CGlobalOptions.$(OBJEXT) CInfo.$(OBJEXT) \ - CScreensLinks.$(OBJEXT) LaunchUtil.$(OBJEXT) launcher.$(OBJEXT) \ - $(am__objects_1) -@MSWINDOWS_TRUE@am_synergy_OBJECTS = $(am__objects_2) $(am__objects_1) +@MSWINDOWS_TRUE@am_synergy_OBJECTS = CAddScreen.$(OBJEXT) \ +@MSWINDOWS_TRUE@ CAdvancedOptions.$(OBJEXT) CAutoStart.$(OBJEXT) \ +@MSWINDOWS_TRUE@ CGlobalOptions.$(OBJEXT) \ +@MSWINDOWS_TRUE@ CHotkeyOptions.$(OBJEXT) CInfo.$(OBJEXT) \ +@MSWINDOWS_TRUE@ CScreensLinks.$(OBJEXT) LaunchUtil.$(OBJEXT) \ +@MSWINDOWS_TRUE@ launcher.$(OBJEXT) +@MSWINDOWS_FALSE@am_synergy_OBJECTS = synergy_OBJECTS = $(am_synergy_OBJECTS) synergy_DEPENDENCIES = $(top_builddir)/lib/server/libserver.a \ $(top_builddir)/lib/platform/libplatform.a \ @@ -199,13 +195,12 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CAddScreen.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CAdvancedOptions.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CAutoStart.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CGlobalOptions.Po ./$(DEPDIR)/CInfo.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CScreensLinks.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/LaunchUtil.Po ./$(DEPDIR)/launcher.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CAddScreen.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CAdvancedOptions.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CAutoStart.Po $(DEPDIR)/CGlobalOptions.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CHotkeyOptions.Po $(DEPDIR)/CInfo.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CScreensLinks.Po $(DEPDIR)/LaunchUtil.Po \ +@AMDEP_TRUE@ $(DEPDIR)/launcher.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -229,8 +224,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu cmd/launcher/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @@ -238,16 +234,16 @@ install-binPROGRAMS: $(bin_PROGRAMS) p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \ + f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \ 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)/'`; \ + f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ rm -f $(DESTDIR)$(bindir)/$$f; \ done @@ -264,23 +260,24 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CAddScreen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CAdvancedOptions.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CAutoStart.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CGlobalOptions.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CInfo.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CScreensLinks.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LaunchUtil.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launcher.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CAddScreen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CAdvancedOptions.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CAutoStart.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CGlobalOptions.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CHotkeyOptions.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CInfo.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CScreensLinks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/LaunchUtil.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/launcher.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -290,61 +287,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -369,7 +358,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -377,7 +365,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/cmd/launcher/launcher.cpp b/cmd/launcher/launcher.cpp index 05a0325..07eab67 100644 --- a/cmd/launcher/launcher.cpp +++ b/cmd/launcher/launcher.cpp @@ -31,6 +31,7 @@ #include "CAdvancedOptions.h" #include "CAutoStart.h" #include "CGlobalOptions.h" +#include "CHotkeyOptions.h" #include "CInfo.h" #include "CScreensLinks.h" @@ -61,6 +62,7 @@ HINSTANCE s_instance = NULL; static CGlobalOptions* s_globalOptions = NULL; static CAdvancedOptions* s_advancedOptions = NULL; +static CHotkeyOptions* s_hotkeyOptions = NULL; static CScreensLinks* s_screensLinks = NULL; static CInfo* s_info = NULL; @@ -118,6 +120,8 @@ enableMainWindowControls(HWND hwnd) enableItem(hwnd, IDC_MAIN_CLIENT_SERVER_NAME_EDIT, client); enableItem(hwnd, IDC_MAIN_SERVER_SCREENS_LABEL, !client); enableItem(hwnd, IDC_MAIN_SCREENS, !client); + enableItem(hwnd, IDC_MAIN_OPTIONS, !client); + enableItem(hwnd, IDC_MAIN_HOTKEYS, !client); } static @@ -244,9 +248,21 @@ getCommandLine(HWND hwnd, bool testing, bool silent) } static -HANDLE -launchApp(HWND hwnd, bool testing, DWORD* threadID) +bool +launchApp(HWND hwnd, bool testing, HANDLE* thread, DWORD* threadID) { + if (thread != NULL) { + *thread = NULL; + } + if (threadID != NULL) { + *threadID = 0; + } + + // start daemon if it's installed and we're not testing + if (!testing && CAutoStart::startDaemon()) { + return true; + } + // decide if client or server const bool isClient = isClientChecked(hwnd); const char* app = isClient ? CLIENT_APP : SERVER_APP; @@ -254,7 +270,7 @@ launchApp(HWND hwnd, bool testing, DWORD* threadID) // prepare command line CString cmdLine = getCommandLine(hwnd, testing, false); if (cmdLine.empty()) { - return NULL; + return false; } // start child @@ -263,19 +279,21 @@ launchApp(HWND hwnd, bool testing, DWORD* threadID) showError(hwnd, CStringUtil::format( getString(IDS_STARTUP_FAILED).c_str(), getErrorString(GetLastError()).c_str())); - return NULL; + return false; } // don't need process handle CloseHandle(procInfo.hProcess); - // save thread ID if desired + // save thread handle and thread ID if desired + if (thread != NULL) { + *thread = procInfo.hThread; + } if (threadID != NULL) { *threadID = procInfo.dwThreadId; } - // return thread handle - return procInfo.hThread; + return true; } static @@ -583,8 +601,8 @@ mainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) if (saveMainWindow(hwnd, SAVE_NORMAL)) { // launch child app DWORD threadID; - HANDLE thread = launchApp(hwnd, testing, &threadID); - if (thread == NULL) { + HANDLE thread; + if (!launchApp(hwnd, testing, &thread, &threadID)) { return 0; } @@ -598,7 +616,9 @@ mainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) } else { // don't need thread handle - CloseHandle(thread); + if (thread != NULL) { + CloseHandle(thread); + } // notify of success askOkay(hwnd, getString(IDS_STARTED_TITLE), @@ -638,6 +658,10 @@ mainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) s_advancedOptions->doModal(isClientChecked(hwnd)); break; + case IDC_MAIN_HOTKEYS: + s_hotkeyOptions->doModal(); + break; + case IDC_MAIN_INFO: s_info->doModal(); break; @@ -697,6 +721,7 @@ WinMain(HINSTANCE instance, HINSTANCE, LPSTR cmdLine, int nCmdShow) initMainWindow(mainWindow); s_globalOptions = new CGlobalOptions(mainWindow, &ARG->m_config); s_advancedOptions = new CAdvancedOptions(mainWindow, &ARG->m_config); + s_hotkeyOptions = new CHotkeyOptions(mainWindow, &ARG->m_config); s_screensLinks = new CScreensLinks(mainWindow, &ARG->m_config); s_info = new CInfo(mainWindow); diff --git a/cmd/launcher/launcher.dsp b/cmd/launcher/launcher.dsp index e5808a9..b2019fa 100644 --- a/cmd/launcher/launcher.dsp +++ b/cmd/launcher/launcher.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\mt" /I "..\..\lib\io" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\server" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Fd"..\..\gen\build\launcher.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\mt" /I "..\..\lib\io" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\server" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Fd"..\..\gen\build\launcher.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 @@ -71,7 +71,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\mt" /I "..\..\lib\io" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\server" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fd"..\..\gen\debug\launcher.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\mt" /I "..\..\lib\io" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\server" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fd"..\..\gen\debug\launcher.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 @@ -111,6 +111,10 @@ SOURCE=.\CGlobalOptions.cpp # End Source File # Begin Source File +SOURCE=.\CHotkeyOptions.cpp +# End Source File +# Begin Source File + SOURCE=.\CInfo.cpp # End Source File # Begin Source File @@ -151,6 +155,10 @@ SOURCE=.\CGlobalOptions.h # End Source File # Begin Source File +SOURCE=.\CHotkeyOptions.h +# End Source File +# Begin Source File + SOURCE=.\CInfo.h # End Source File # Begin Source File diff --git a/cmd/launcher/launcher.rc b/cmd/launcher/launcher.rc index e2e7336..802f3d3 100644 --- a/cmd/launcher/launcher.rc +++ b/cmd/launcher/launcher.rc @@ -77,9 +77,9 @@ BEGIN 54,8 PUSHBUTTON "Configure...",IDC_MAIN_SCREENS,71,86,50,14 PUSHBUTTON "&Options...",IDC_MAIN_OPTIONS,12,129,50,14 - PUSHBUTTON "Adva&nced...",IDC_MAIN_ADVANCED,68,129,50,14 - LTEXT "Automatic Startup:",IDC_STATIC,138,131,59,8 - PUSHBUTTON "Con&figure...",IDC_MAIN_AUTOSTART,202,129,50,14 + PUSHBUTTON "Hot &Keys...",IDC_MAIN_HOTKEYS,68,129,50,14 + PUSHBUTTON "Adva&nced...",IDC_MAIN_ADVANCED,124,129,50,14 + PUSHBUTTON "&AutoStart...",IDC_MAIN_AUTOSTART,180,129,50,14 LTEXT "&Logging Level:",IDC_STATIC,12,154,48,8 COMBOBOX IDC_MAIN_DEBUG,68,151,61,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP @@ -203,8 +203,8 @@ BEGIN IDC_STATIC,7,176,193,8 CONTROL "Synchronize screen savers",IDC_GLOBAL_SCREENSAVER_SYNC, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,192,101,10 - LTEXT "Experimental: Relative mouse moves on secondary screens.", - IDC_STATIC,7,213,193,8 + LTEXT "Relative mouse moves on secondary screens.",IDC_STATIC, + 7,213,193,8 CONTROL "Use relative mouse moves",IDC_GLOBAL_RELATIVE_MOVES, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,229,99,10 CONTROL "Don't take foreground window on Windows servers", @@ -303,6 +303,92 @@ BEGIN DEFPUSHBUTTON "OK",IDOK,129,74,50,14 END +IDD_HOTKEY_OPTIONS DIALOG DISCARDABLE 0, 0, 360, 151 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Hot Keys" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "&Hot Keys:",IDC_STATIC,7,7,32,8 + LISTBOX IDC_HOTKEY_HOTKEYS,7,18,169,88,LBS_SORT | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "+",IDC_HOTKEY_ADD_HOTKEY,7,109,17,14 + PUSHBUTTON "-",IDC_HOTKEY_REMOVE_HOTKEY,28,109,17,14 + PUSHBUTTON "Edit",IDC_HOTKEY_EDIT_HOTKEY,49,109,24,14 + LTEXT "&Actions:",IDC_STATIC,183,7,26,8 + LISTBOX IDC_HOTKEY_ACTIONS,183,18,169,88,LBS_SORT | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "+",IDC_HOTKEY_ADD_ACTION,183,109,17,14 + PUSHBUTTON "-",IDC_HOTKEY_REMOVE_ACTION,204,109,17,14 + PUSHBUTTON "Edit",IDC_HOTKEY_EDIT_ACTION,225,109,24,14 + DEFPUSHBUTTON "OK",IDOK,302,130,50,14 +END + +IDD_HOTKEY_CONDITION DIALOG DISCARDABLE 0, 0, 183, 58 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Hot Key" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "Enter &new hot key or mouse button:",IDC_STATIC,7,7,113, + 8 + EDITTEXT IDC_HOTKEY_CONDITION_HOTKEY,7,17,169,12,ES_WANTRETURN + DEFPUSHBUTTON "OK",IDOK,70,37,50,14 + PUSHBUTTON "Cancel",IDCANCEL,126,37,50,14 +END + +IDD_HOTKEY_ACTION DIALOG DISCARDABLE 0, 0, 183, 202 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Action" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "&Action:",IDC_STATIC,7,7,23,8 + CONTROL "Press:",IDC_HOTKEY_ACTION_DOWN,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,7,19,35,10 + CONTROL "Release:",IDC_HOTKEY_ACTION_UP,"Button", + BS_AUTORADIOBUTTON,7,31,44,10 + CONTROL "Press && Release:",IDC_HOTKEY_ACTION_DOWNUP,"Button", + BS_AUTORADIOBUTTON,7,43,69,10 + CONTROL "Switch To Screen:",IDC_HOTKEY_ACTION_SWITCH_TO,"Button", + BS_AUTORADIOBUTTON,7,85,75,10 + CONTROL "Switch In Direction:",IDC_HOTKEY_ACTION_SWITCH_IN, + "Button",BS_AUTORADIOBUTTON,7,101,77,10 + CONTROL "Lock Cursor to Screen:",IDC_HOTKEY_ACTION_LOCK,"Button", + BS_AUTORADIOBUTTON,7,117,89,10 + LTEXT "&Hot key or mouse button:",IDC_STATIC,7,55,80,8 + EDITTEXT IDC_HOTKEY_ACTION_HOTKEY,7,67,152,12,ES_WANTRETURN + PUSHBUTTON "...",IDC_HOTKEY_ACTION_SCREENS,162,67,14,12 + COMBOBOX IDC_HOTKEY_ACTION_SWITCH_TO_LIST,87,83,89,62, + CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_HOTKEY_ACTION_SWITCH_IN_LIST,106,99,70,66, + CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_HOTKEY_ACTION_LOCK_LIST,106,115,70,58, + CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Action takes place &when:",IDC_STATIC,7,137,81,8 + CONTROL "Hot key is pressed",IDC_HOTKEY_ACTION_ON_ACTIVATE, + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,7,149,74,10 + CONTROL "Hot key is released",IDC_HOTKEY_ACTION_ON_DEACTIVATE, + "Button",BS_AUTORADIOBUTTON,7,161,76,10 + DEFPUSHBUTTON "OK",IDOK,70,181,50,14 + PUSHBUTTON "Cancel",IDCANCEL,126,181,50,14 +END + +IDD_HOTKEY_SCREENS DIALOG DISCARDABLE 0, 0, 237, 79 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Target Screens" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "&Available screens:",IDC_STATIC,7,7,58,8 + LISTBOX IDC_HOTKEY_SCREENS_SRC,7,17,100,36,LBS_NOINTEGRALHEIGHT | + LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP + LISTBOX IDC_HOTKEY_SCREENS_DST,130,17,100,36, + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_TABSTOP + PUSHBUTTON "-->",IDC_HOTKEY_SCREENS_ADD,109,21,17,14 + PUSHBUTTON "<--",IDC_HOTKEY_SCREENS_REMOVE,109,38,17,14 + DEFPUSHBUTTON "OK",IDOK,124,58,50,14 + PUSHBUTTON "Cancel",IDCANCEL,180,58,50,14 + LTEXT "&Send action to screens:",IDC_STATIC,130,7,76,8 +END + ///////////////////////////////////////////////////////////////////////////// // @@ -375,6 +461,38 @@ BEGIN TOPMARGIN, 7 BOTTOMMARGIN, 88 END + + IDD_HOTKEY_OPTIONS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 353 + TOPMARGIN, 7 + BOTTOMMARGIN, 144 + END + + IDD_HOTKEY_CONDITION, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 176 + TOPMARGIN, 7 + BOTTOMMARGIN, 51 + END + + IDD_HOTKEY_ACTION, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 176 + TOPMARGIN, 7 + BOTTOMMARGIN, 195 + END + + IDD_HOTKEY_SCREENS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 230 + TOPMARGIN, 7 + BOTTOMMARGIN, 72 + END END #endif // APSTUDIO_INVOKED @@ -465,6 +583,11 @@ BEGIN IDS_AUTOSTART_SAVE_FAILED "Failed to save autostart configuration: %{1}" IDS_LOAD_FAILED "Failed to load configuration." IDS_CONFIG_CHANGED "Configuration changed on disk. Reload?" + IDS_LOCK_MODE_OFF "off" + IDS_LOCK_MODE_ON "on" + IDS_LOCK_MODE_TOGGLE "toggle" + IDS_ALL_SCREENS "All Screens" + IDS_ACTIVE_SCREEN "Active Screen" END #endif // English (U.S.) resources diff --git a/cmd/launcher/resource.h b/cmd/launcher/resource.h index b2add26..e4e7b48 100644 --- a/cmd/launcher/resource.h +++ b/cmd/launcher/resource.h @@ -59,6 +59,11 @@ #define IDS_AUTOSTART_SAVE_FAILED 54 #define IDS_LOAD_FAILED 55 #define IDS_CONFIG_CHANGED 56 +#define IDS_LOCK_MODE_OFF 57 +#define IDS_LOCK_MODE_ON 58 +#define IDS_LOCK_MODE_TOGGLE 59 +#define IDS_ALL_SCREENS 60 +#define IDS_ACTIVE_SCREEN 61 #define IDD_MAIN 101 #define IDD_ADD 102 #define IDD_WAIT 103 @@ -68,6 +73,10 @@ #define IDD_GLOBAL_OPTIONS 107 #define IDD_SCREENS_LINKS 110 #define IDD_INFO 111 +#define IDD_HOTKEY_OPTIONS 112 +#define IDD_HOTKEY_CONDITION 113 +#define IDD_HOTKEY_ACTION 114 +#define IDD_HOTKEY_SCREENS 115 #define IDC_MAIN_CLIENT_RADIO 1000 #define IDC_MAIN_SERVER_RADIO 1001 #define IDC_MAIN_CLIENT_SERVER_NAME_LABEL 1002 @@ -79,6 +88,7 @@ #define IDC_MAIN_AUTOSTART 1008 #define IDC_MAIN_TEST 1009 #define IDC_MAIN_SAVE 1010 +#define IDC_MAIN_HOTKEYS 1010 #define IDC_MAIN_DEBUG 1011 #define IDC_ADD_SCREEN_NAME_EDIT 1020 #define IDC_ADD_ALIASES_EDIT 1021 @@ -130,18 +140,44 @@ #define IDC_INFO_VERSION 1073 #define IDC_MAIN_INFO 1074 #define IDC_INFO_HOSTNAME 1076 +#define IDC_HOTKEY_HOTKEYS 1076 #define IDC_INFO_IP_ADDRESS 1077 +#define IDC_HOTKEY_ADD_HOTKEY 1077 #define IDC_INFO_USER_CONFIG 1078 +#define IDC_HOTKEY_REMOVE_HOTKEY 1078 #define IDC_INFO_SYS_CONFIG 1079 +#define IDC_HOTKEY_EDIT_HOTKEY 1079 +#define IDC_HOTKEY_ACTIONS 1080 +#define IDC_HOTKEY_CONDITION_HOTKEY 1080 +#define IDC_HOTKEY_ACTION_DOWNUP 1081 +#define IDC_HOTKEY_ADD_ACTION 1082 +#define IDC_HOTKEY_ACTION_DOWN 1082 +#define IDC_HOTKEY_REMOVE_ACTION 1083 +#define IDC_HOTKEY_ACTION_UP 1083 +#define IDC_HOTKEY_EDIT_ACTION 1084 +#define IDC_HOTKEY_ACTION_HOTKEY 1085 +#define IDC_HOTKEY_ACTION_SWITCH_TO_LIST 1086 +#define IDC_HOTKEY_ACTION_SWITCH_TO 1087 +#define IDC_HOTKEY_ACTION_SWITCH_IN 1088 +#define IDC_HOTKEY_ACTION_LOCK 1089 +#define IDC_HOTKEY_ACTION_SWITCH_IN_LIST 1090 +#define IDC_HOTKEY_ACTION_LOCK_LIST 1091 +#define IDC_HOTKEY_ACTION_ON_ACTIVATE 1092 +#define IDC_HOTKEY_ACTION_ON_DEACTIVATE 1093 +#define IDC_HOTKEY_ACTION_SCREENS 1094 +#define IDC_HOTKEY_SCREENS_SRC 1095 +#define IDC_HOTKEY_SCREENS_DST 1096 +#define IDC_HOTKEY_SCREENS_ADD 1097 +#define IDC_HOTKEY_SCREENS_REMOVE 1098 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NO_MFC 1 -#define _APS_NEXT_RESOURCE_VALUE 112 +#define _APS_NEXT_RESOURCE_VALUE 116 #define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1076 +#define _APS_NEXT_CONTROL_VALUE 1098 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/cmd/launcher/synergy.ico b/cmd/launcher/synergy.ico index 39e0ff8d3a06d50e01aeab55c816f77d949c772d..89f965f4432c5f58054b9a1b0eae5bf6cbfd245d 100644 GIT binary patch literal 8478 zcmeI1KWH3B6vm(a*e8S|%Z-~Dq__}vXV}UrV&mT6#z|>aLkbt^+yrSM;8FwvhV6t% zLQiZmzTr%%8baza{{iY$oC5(ZeHZtwQ9U1vh;!S!}zl^B0qm9a)se4 z$4!nI!GV?&yT9dtAbB1-&RoiHIHXs=+duJMuQ>Qqlb(9p`ug^E1I+I3?(XmJkD_Ir zwoR+XpoZ`7n_*F5!?$xa7_9y@9UB~QjWDbDj>v-IqX1iNmO=`Jq0y9JcvU(jnEQ^w z7Gb2>!%ze~pRL_3zyv-RkH?YkoZDF1+}w=gwY9a?KK%1QIIFneKdQ#~i{M`c0A3Tt z1K}(%xF*;nf_mc~2;;GW3Worjn~JKt$bbM9zM*5w5O5oY2+>S!bo#xVIM#9I(&{w)eJBUN zeJAtt^Rlq8Am`4VlM5Fv$i<5n<({SK{)Lx2 zcf5QpPsRUH%CArVl&9mdeD%YRB+58+ffXEO7-rZqY#FvpZQOaKIPAI@9d?J^VOO^T zdx5=RP+%{x(@BZF#9m@AF_hRnW6#)^mO0~`5j-PMhEvA(o2BQJp&>&8GBjjp$k32^Z0N|)k*N+oJ*YAjjs+pbjlo20;DbJG3~oSXt2F(BaVG(BaTwr9y{8gF}NugO<*r!=b^Up|o%I zGL(=!;g7MESF3|6au@Kd)Z{MERFJeFL4l@%+y!7k?t?N}3)s-$(csbG(csbG(O}C74J8^p8ax_G zG!TXZJ{mk4JQ_S22+e^V4IT|14ITlW{3XFWjvkUDhGXo|;VrguoO~qT%DsE{eVYbJUo4A)*c53emtZek(@;r+A&?7`%alYMX$a zY+S?5oN9)eBHqA@i;?Pjweae)tI(w2f&-E#+${e5S>63iAM`TagzjPcMcFJ$Y(hZaAL zK9Rw|H_|&9)FI_tfX*qMLxQ;r%W>h`ir$IeFQ=8D75`u1H(R)5quI_B_inZY z`w#h31SN9V5+-_1#7`aC(~P4ezM76pkkD<1n(})TrS!0)eWSx9y(K8_{d=_ISy@{N zT9R7PBfXOV?+~X=Zo;=qR3)1r*J?T?JqdqOQS0|g$Q4UqeS6A`CiJxElT+yOJM;;M z4u68)b!hW@=$O(;r2KxiS{sjsKb@U=ME;xEhFTKipMZQE#eS#RJDbrUyt}d2IpX6> za(ySP_)ug{dwv(qXfHHQN7`?RK8(?u08Lb>z>#22Rc4!-|>%e>pWH7s3Yo%I-~CHeBwOgyeWaz zp{~oYs#C06tRuuw-%(X(t$cW&zD$T!j`%zECiCoXIRyaW$EkIkxjg-ydip!{^nLpK z@IIZrF`MQ1m2Nxb=7&PqIET$NlxiPcZLX`ax&{w}LnJfkI1B@$JJyFz#P!+JH%|8{ t;Zdj_)sxDeTJ=5vdoUQ9?87Q{NCkzlT_5sH8R_#vpACFJzU}{8{tX4i2$ui= literal 1078 zcmcIjF>ZrE5FBhIED^>0AXJf`ktfl)y)G-^$50||bEOL&;nF2tnn+}JFIZr?iL8vh zyEE(_9Op5RVS~D^V7P98ch;&(`j7#yTj0QJHRFSkA!h~xXCEW5$xaBVFq0z2$ZCzr zznCUt41VmArGJJv>>-Jz+yJ}8xQA)_q84#F7>Wj+$hY&P%aul{OC3v1I=iZr3+-$OY_kFlMUs(<&!6Qm*oKUsy=X4hhYoZPM#moz)C`vDH;Q(pi8 diff --git a/cmd/synergyc/CClientTaskBarReceiver.cpp b/cmd/synergyc/CClientTaskBarReceiver.cpp index ddd8ec5..025b43f 100644 --- a/cmd/synergyc/CClientTaskBarReceiver.cpp +++ b/cmd/synergyc/CClientTaskBarReceiver.cpp @@ -15,8 +15,10 @@ #include "CClientTaskBarReceiver.h" #include "CClient.h" #include "CLock.h" +#include "CStringUtil.h" #include "IEventQueue.h" #include "CArch.h" +#include "Version.h" // // CClientTaskBarReceiver @@ -48,6 +50,8 @@ CClientTaskBarReceiver::updateStatus(CClient* client, const CString& errorMsg) } } else { + m_server = client->getServerAddress().getHostname(); + if (client->isConnected()) { m_state = kConnected; } @@ -108,19 +112,23 @@ CClientTaskBarReceiver::getToolTip() const { switch (m_state) { case kNotRunning: - return "Synergy: Not running"; + return CStringUtil::print("%s: Not running", kAppVersion); case kNotWorking: - return CString("Synergy: ") + m_errorMessage; + return CStringUtil::print("%s: %s", + kAppVersion, m_errorMessage.c_str()); case kNotConnected: - return CString("Synergy: Not connected: ") + m_errorMessage; + return CStringUtil::print("%s: Not connected: %s", + kAppVersion, m_errorMessage.c_str()); case kConnecting: - return "Synergy: Connecting..."; + return CStringUtil::print("%s: Connecting to %s...", + kAppVersion, m_server.c_str()); case kConnected: - return "Synergy: Connected"; + return CStringUtil::print("%s: Connected to %s", + kAppVersion, m_server.c_str()); default: return ""; diff --git a/cmd/synergyc/CClientTaskBarReceiver.h b/cmd/synergyc/CClientTaskBarReceiver.h index a9fe50c..0e3440e 100644 --- a/cmd/synergyc/CClientTaskBarReceiver.h +++ b/cmd/synergyc/CClientTaskBarReceiver.h @@ -77,6 +77,7 @@ class CClientTaskBarReceiver : public IArchTaskBarReceiver { private: EState m_state; CString m_errorMessage; + CString m_server; }; #endif diff --git a/cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp b/cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp index c53ea1c..5c31f4a 100644 --- a/cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp +++ b/cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp @@ -139,6 +139,9 @@ CMSWindowsClientTaskBarReceiver::runMenu(int x, int y) SetForegroundWindow(m_window); HMENU menu = GetSubMenu(m_menu, 0); SetMenuDefaultItem(menu, IDC_TASKBAR_STATUS, FALSE); + HMENU logLevelMenu = GetSubMenu(menu, 3); + CheckMenuRadioItem(logLevelMenu, 0, 6, + CLOG->getFilter() - CLog::kERROR, MF_BYPOSITION); int n = TrackPopupMenu(menu, TPM_NONOTIFY | TPM_RETURNCMD | @@ -157,6 +160,38 @@ CMSWindowsClientTaskBarReceiver::runMenu(int x, int y) copyLog(); break; + case IDC_TASKBAR_SHOW_LOG: + ARCH->showConsole(true); + break; + + case IDC_TASKBAR_LOG_LEVEL_ERROR: + CLOG->setFilter(CLog::kERROR); + break; + + case IDC_TASKBAR_LOG_LEVEL_WARNING: + CLOG->setFilter(CLog::kWARNING); + break; + + case IDC_TASKBAR_LOG_LEVEL_NOTE: + CLOG->setFilter(CLog::kNOTE); + break; + + case IDC_TASKBAR_LOG_LEVEL_INFO: + CLOG->setFilter(CLog::kINFO); + break; + + case IDC_TASKBAR_LOG_LEVEL_DEBUG: + CLOG->setFilter(CLog::kDEBUG); + break; + + case IDC_TASKBAR_LOG_LEVEL_DEBUG1: + CLOG->setFilter(CLog::kDEBUG1); + break; + + case IDC_TASKBAR_LOG_LEVEL_DEBUG2: + CLOG->setFilter(CLog::kDEBUG2); + break; + case IDC_TASKBAR_QUIT: quit(); break; diff --git a/cmd/synergyc/Makefile.in b/cmd/synergyc/Makefile.in index 2d6070c..a1efbd1 100644 --- a/cmd/synergyc/Makefile.in +++ b/cmd/synergyc/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -202,20 +195,50 @@ CONFIG_CLEAN_FILES = bin_PROGRAMS = synergyc$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) -am__objects_1 = -am__objects_2 = CClientTaskBarReceiver.$(OBJEXT) synergyc.$(OBJEXT) \ - $(am__objects_1) -am__objects_3 = COSXClientTaskBarReceiver.$(OBJEXT) $(am__objects_1) -am__objects_4 = CMSWindowsClientTaskBarReceiver.$(OBJEXT) \ - $(am__objects_1) -am__objects_5 = CXWindowsClientTaskBarReceiver.$(OBJEXT) \ - $(am__objects_1) -@CARBON_TRUE@am_synergyc_OBJECTS = $(am__objects_2) $(am__objects_3) \ -@CARBON_TRUE@ $(am__objects_1) -@MSWINDOWS_TRUE@am_synergyc_OBJECTS = $(am__objects_2) $(am__objects_4) \ -@MSWINDOWS_TRUE@ $(am__objects_1) -@XWINDOWS_TRUE@am_synergyc_OBJECTS = $(am__objects_2) $(am__objects_5) \ -@XWINDOWS_TRUE@ $(am__objects_1) +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@am_synergyc_OBJECTS = \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ synergyc.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClientTaskBarReceiver.$(OBJEXT) +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@am_synergyc_OBJECTS = +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@am_synergyc_OBJECTS = \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ synergyc.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ synergyc.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClientTaskBarReceiver.$(OBJEXT) +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@am_synergyc_OBJECTS = \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ synergyc.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClientTaskBarReceiver.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@am_synergyc_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ synergyc.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ synergyc.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXClientTaskBarReceiver.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@am_synergyc_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ synergyc.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXClientTaskBarReceiver.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@am_synergyc_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ synergyc.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ synergyc.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ synergyc.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXClientTaskBarReceiver.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@am_synergyc_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ synergyc.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CClientTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ synergyc.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXClientTaskBarReceiver.$(OBJEXT) synergyc_OBJECTS = $(am_synergyc_OBJECTS) synergyc_DEPENDENCIES = $(top_builddir)/lib/client/libclient.a \ $(top_builddir)/lib/platform/libplatform.a \ @@ -232,12 +255,11 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CClientTaskBarReceiver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsClientTaskBarReceiver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXClientTaskBarReceiver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsClientTaskBarReceiver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/synergyc.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CClientTaskBarReceiver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsClientTaskBarReceiver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/COSXClientTaskBarReceiver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsClientTaskBarReceiver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/synergyc.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -261,8 +283,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu cmd/synergyc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @@ -270,16 +293,16 @@ install-binPROGRAMS: $(bin_PROGRAMS) p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \ + f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \ 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)/'`; \ + f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ rm -f $(DESTDIR)$(bindir)/$$f; \ done @@ -296,20 +319,20 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CClientTaskBarReceiver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsClientTaskBarReceiver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXClientTaskBarReceiver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsClientTaskBarReceiver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/synergyc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CClientTaskBarReceiver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsClientTaskBarReceiver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXClientTaskBarReceiver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsClientTaskBarReceiver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/synergyc.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -319,61 +342,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -398,7 +413,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -406,7 +420,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/cmd/synergyc/resource.h b/cmd/synergyc/resource.h index 1a5455a..eeee6e1 100644 --- a/cmd/synergyc/resource.h +++ b/cmd/synergyc/resource.h @@ -16,13 +16,21 @@ #define IDC_TASKBAR_QUIT 40001 #define IDC_TASKBAR_STATUS 40002 #define IDC_TASKBAR_LOG 40003 +#define IDC_TASKBAR_SHOW_LOG 40004 +#define IDC_TASKBAR_LOG_LEVEL_ERROR 40009 +#define IDC_TASKBAR_LOG_LEVEL_WARNING 40010 +#define IDC_TASKBAR_LOG_LEVEL_NOTE 40011 +#define IDC_TASKBAR_LOG_LEVEL_INFO 40012 +#define IDC_TASKBAR_LOG_LEVEL_DEBUG 40013 +#define IDC_TASKBAR_LOG_LEVEL_DEBUG1 40014 +#define IDC_TASKBAR_LOG_LEVEL_DEBUG2 40015 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 109 -#define _APS_NEXT_COMMAND_VALUE 40004 +#define _APS_NEXT_COMMAND_VALUE 40016 #define _APS_NEXT_CONTROL_VALUE 1001 #define _APS_NEXT_SYMED_VALUE 101 #endif diff --git a/cmd/synergyc/synergyc.cpp b/cmd/synergyc/synergyc.cpp index 9597d68..eabddb4 100644 --- a/cmd/synergyc/synergyc.cpp +++ b/cmd/synergyc/synergyc.cpp @@ -414,7 +414,11 @@ static int daemonMainLoop(int, const char**) { - CSystemLogger sysLogger(DAEMON_NAME); +#if SYSAPI_WIN32 + CSystemLogger sysLogger(DAEMON_NAME, false); +#else + CSystemLogger sysLogger(DAEMON_NAME, true); +#endif return mainLoop(); } @@ -422,6 +426,10 @@ static int standardStartup(int argc, char** argv) { + if (!ARG->m_daemon) { + ARCH->showConsole(false); + } + // parse command line parse(argc, argv); @@ -731,6 +739,7 @@ class CMessageBoxOutputter : public ILogOutputter { // ILogOutputter overrides virtual void open(const char*) { } virtual void close() { } + virtual void show(bool) { } virtual bool write(ELevel level, const char* message); virtual const char* getNewline() const { return ""; } }; @@ -775,7 +784,7 @@ static int daemonNTStartup(int, char**) { - CSystemLogger sysLogger(DAEMON_NAME); + CSystemLogger sysLogger(DAEMON_NAME, false); bye = &byeThrow; return ARCH->daemonize(DAEMON_NAME, &daemonNTMainLoop); } @@ -784,6 +793,8 @@ static int foregroundStartup(int argc, char** argv) { + ARCH->showConsole(false); + // parse command line parse(argc, argv); @@ -804,12 +815,23 @@ int WINAPI WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int) { try { + CArchMiscWindows::setIcons((HICON)LoadImage(instance, + MAKEINTRESOURCE(IDI_SYNERGY), + IMAGE_ICON, + 32, 32, LR_SHARED), + (HICON)LoadImage(instance, + MAKEINTRESOURCE(IDI_SYNERGY), + IMAGE_ICON, + 16, 16, LR_SHARED)); CArch arch(instance); CMSWindowsScreen::init(instance); CLOG; CThread::getCurrentThread().setPriority(-14); CArgs args; + // set title on log window + ARCH->openConsole((CString(kAppVersion) + " " + "Client").c_str()); + // windows NT family starts services using no command line options. // since i'm not sure how to tell the difference between that and // a user providing no options we'll assume that if there are no diff --git a/cmd/synergyc/synergyc.dsp b/cmd/synergyc/synergyc.dsp index 099a279..94d914c 100644 --- a/cmd/synergyc/synergyc.dsp +++ b/cmd/synergyc/synergyc.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\io" /I "..\..\lib\mt" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\client" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FD /c /Fd..\..\gen\build\synergyc.pdb +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\io" /I "..\..\lib\mt" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\client" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Fd"..\..\gen\build\synergyc.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 @@ -70,7 +70,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\io" /I "..\..\lib\mt" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\client" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /FD /GZ /c /Fd..\..\gen\debug\synergyc.pdb +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\io" /I "..\..\lib\mt" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\client" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fd"..\..\gen\debug\synergyc.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 diff --git a/cmd/synergyc/synergyc.ico b/cmd/synergyc/synergyc.ico index 23d9a0906462ab9c0d97b7493376c20036ea471e..89f965f4432c5f58054b9a1b0eae5bf6cbfd245d 100644 GIT binary patch literal 8478 zcmeI1KWH3B6vm(a*e8S|%Z-~Dq__}vXV}UrV&mT6#z|>aLkbt^+yrSM;8FwvhV6t% zLQiZmzTr%%8baza{{iY$oC5(ZeHZtwQ9U1vh;!S!}zl^B0qm9a)se4 z$4!nI!GV?&yT9dtAbB1-&RoiHIHXs=+duJMuQ>Qqlb(9p`ug^E1I+I3?(XmJkD_Ir zwoR+XpoZ`7n_*F5!?$xa7_9y@9UB~QjWDbDj>v-IqX1iNmO=`Jq0y9JcvU(jnEQ^w z7Gb2>!%ze~pRL_3zyv-RkH?YkoZDF1+}w=gwY9a?KK%1QIIFneKdQ#~i{M`c0A3Tt z1K}(%xF*;nf_mc~2;;GW3Worjn~JKt$bbM9zM*5w5O5oY2+>S!bo#xVIM#9I(&{w)eJBUN zeJAtt^Rlq8Am`4VlM5Fv$i<5n<({SK{)Lx2 zcf5QpPsRUH%CArVl&9mdeD%YRB+58+ffXEO7-rZqY#FvpZQOaKIPAI@9d?J^VOO^T zdx5=RP+%{x(@BZF#9m@AF_hRnW6#)^mO0~`5j-PMhEvA(o2BQJp&>&8GBjjp$k32^Z0N|)k*N+oJ*YAjjs+pbjlo20;DbJG3~oSXt2F(BaVG(BaTwr9y{8gF}NugO<*r!=b^Up|o%I zGL(=!;g7MESF3|6au@Kd)Z{MERFJeFL4l@%+y!7k?t?N}3)s-$(csbG(csbG(O}C74J8^p8ax_G zG!TXZJ{mk4JQ_S22+e^V4IT|14ITlW{3XFWjvkUDhGXo|;VrguoO~qT%DsE{eVYbJUo4A)*c53emtZek(@;r+A&?7`%alYMX$a zY+S?5oN9)eBHqA@i;?Pjweae)tI(w2f&-E#+${e5S>63iAM`TagzjPcMcFJ$Y(hZaAL zK9Rw|H_|&9)FI_tfX*qMLxQ;r%W>h`ir$IeFQ=8D75`u1H(R)5quI_B_inZY z`w#h31SN9V5+-_1#7`aC(~P4ezM76pkkD<1n(})TrS!0)eWSx9y(K8_{d=_ISy@{N zT9R7PBfXOV?+~X=Zo;=qR3)1r*J?T?JqdqOQS0|g$Q4UqeS6A`CiJxElT+yOJM;;M z4u68)b!hW@=$O(;r2KxiS{sjsKb@U=ME;xEhFTKipMZQE#eS#RJDbrUyt}d2IpX6> za(ySP_)ug{dwv(qXfHHQN7`?RK8(?u08Lb>z>#22Rc4!-|>%e>pWH7s3Yo%I-~CHeBwOgyeWaz zp{~oYs#C06tRuuw-%(X(t$cW&zD$T!j`%zECiCoXIRyaW$EkIkxjg-ydip!{^nLpK z@IIZrF`MQ1m2Nxb=7&PqIET$NlxiPcZLX`ax&{w}LnJfkI1B@$JJyFz#P!+JH%|8{ t;Zdj_)sxDeTJ=5vdoUQ9?87Q{NCkzlT_5sH8R_#vpACFJzU}{8{tX4i2$ui= literal 1078 zcmcIjF>ZrE5FC6+xQh8fs3Mn0+fY(a_&Id6Ct)f3ES};rr3*_b$?RURz;Y8=8GCnU z*gZJTV<5v0RaL_9wF5p_%QER>2D}B}$ZHj&Wn{>ifymkCh-|VGV=By~n5K!<8nb^f z&&C-1*da;TyJ!;jP^Q6N@Bgk5}L6UBBn>K0sicl|7 z>c~aHzIP$D4S{V|pr=T(rQ-7!*>yJK8teUVc(XssjjkWGz2AEMUHkF#ec5+9I81*g z>e-HOCD}%iv@d!g`Jq1~9Im|o1qc%Zpk4onNYgUHDh}lDlX-3f^Lfdr7>my*^5=;3 zI6L&T7iQ9ze6GqH(2HHmL*4TyYI|+Gsx*5&cPi41(wy8OavnuT5$#UelluIqoTrDl j{)%DX{(iHu1?m5W`_UE`Ag|c9SRp63>%}F_F6({(d|mCB diff --git a/cmd/synergyc/synergyc.rc b/cmd/synergyc/synergyc.rc index e168a3b..519e8e4 100644 --- a/cmd/synergyc/synergyc.rc +++ b/cmd/synergyc/synergyc.rc @@ -87,7 +87,25 @@ BEGIN POPUP "Synergy" BEGIN MENUITEM "Show Status", IDC_TASKBAR_STATUS + MENUITEM "Show Log", IDC_TASKBAR_SHOW_LOG MENUITEM "Copy Log To Clipboard", IDC_TASKBAR_LOG + POPUP "Set Log Level" + BEGIN + MENUITEM "Error", IDC_TASKBAR_LOG_LEVEL_ERROR + + MENUITEM "Warning", IDC_TASKBAR_LOG_LEVEL_WARNING + + MENUITEM "Note", IDC_TASKBAR_LOG_LEVEL_NOTE + + MENUITEM "Info", IDC_TASKBAR_LOG_LEVEL_INFO + + MENUITEM "Debug", IDC_TASKBAR_LOG_LEVEL_DEBUG + + MENUITEM "Debug1", IDC_TASKBAR_LOG_LEVEL_DEBUG1 + + MENUITEM "Debug2", IDC_TASKBAR_LOG_LEVEL_DEBUG2 + + END MENUITEM SEPARATOR MENUITEM "Quit", IDC_TASKBAR_QUIT END diff --git a/cmd/synergyc/tb_error.ico b/cmd/synergyc/tb_error.ico index a304dc1815fa0ababb136f6f1ba13735d2fbb5a6..746a87c9ec8ae70f24b4125afe9ca68defb2f6d1 100644 GIT binary patch delta 177 zcmYLI zdy84jGmU1R5{}3}fJpWtFkU;Su0ox*`K=tL?xB6&V)WT(qEfV(V;r)#M6RqNmiwRr k(H$x<10fE!BH#-5z_+~tpA(Rp{a$Tzz3iy3)m5)*KPi4Xc>n+a literal 318 zcmaKmI}U?D3`8Fa1(GSKQd6eP(da0%M{>W753q;H0Z_=8bSPr%nek^=GIWY*nn*l4 zxTlLbnZ=G?3UTN^DWIg3pGj2`5%OH@N3!o(iHaPhoKX)@YIUo1XqN6xF32N$#zwk% rh~{<7+ME_FZfttD==auOF(2NnD_ToW$P?mr8eX*h4C50%ue=|=dPPd3 diff --git a/cmd/synergyc/tb_idle.ico b/cmd/synergyc/tb_idle.ico index 9ba599de07841a8899275e54b91383ebdba39fb1..4e13a264b92f74bcb167895cbdaaca320254a8ab 100644 GIT binary patch delta 198 zcmXAhAr8Vo5Jg{?gaRSJ4M36LYK!42RZVc%8rTGdX&S`RK_Ke5L<2XeD|N_9X2ZDm z|NB#$+7$L=s@wvTSfp&A6208x_M?H3D~Q-wBF1VwJrP9d^Y6UlUBBsd F`vWq@KOF!7 literal 318 zcmZurAr8YZ5OcLkQ#4XEy23qgEVQs=fwj_)L?NM-@}RNK*GMJXU2NYux?F%xISd0V zo*i&E70elh4!syC2mhl9(7`k{5vxQgMQRuOaj@@J2}-k!&TwR~h6-SQi@40yOtNl# zA(87AkhwT%PDBb@%#1m$E;{BcpK8Iik~cV3LGuCL+q>RFM%&XC+ZR5MR$mHmRoS=p Mmq%Hp**0UdUu;rNsQ>@~ diff --git a/cmd/synergyc/tb_run.ico b/cmd/synergyc/tb_run.ico index 86aa9f3ac989981768b950663e06469635252f8e..88e160cbfcd029978599f49605ba1a3c7695027e 100644 GIT binary patch literal 318 zcmZvXJ#K_B5QRT>QHT}^QKbzPO1ZU9vz2R3fRNJr5IzCD8;(L}A7MN84cny1jNhAi z^COL+lJ|X&*-r&u76q#eLPafx?d1Px0X>%G9mGo6woTC*$N4x8%LKWVjJU*LBRA(t z*&)UlLNF;^_DhTq!s6VW^|KVov_j`difNtFX&-H(O$k3SDILcq=N9iD-8@T;1372! my*B6BBsAGS;Q0-Eqg$^!Uw{7 literal 318 zcmZ{fJqp7x428ddp@9UNsdL62FI!fRK2CNoI)D$6Bjf;u^vNdBp^^N4kR@b8r<|q< zk9P+zSHUZ@&=JI7mH$x$9b#-Emc`7ZesR{rdAbvnUUIsLlp^#g69w)PJ`2R?tWuD+=8@5=TLcpmWBg&BfSKQ6f<$ap>Mt@oPy0w4@W Ai2wiq diff --git a/cmd/synergyc/tb_wait.ico b/cmd/synergyc/tb_wait.ico index 3e2edd5f305fecd3883d8d44892dcf091156b8ee..257be0a1d1bc613eec8cc1838a1dfd25d4644844 100644 GIT binary patch literal 318 zcmZvXF%H5o3`Ji7QN#e9SYe77nRA*>nK?mJi9LtNNy<&SB_ktS@h=k+vHidOZA%U` zW?k2zcWvM#wvckMXxJFSxZpn+z?@1UcuF zl1i)Vw8|M$8oa;3u2z*2ycgFRqu9Ap#396Zhplt1gb?~ejL|uFp_CFr025R~TS5=- dGfb`By0-J}?~kW-COE!+Lz;S;(X4i~`vJXUO(y^V literal 318 zcmZ{fJr08~423^Lq%u@0Q)kAGNWK6A2V!H*m}BJt9D*ZofJ*c^5mJZN&ij#L%Lz2f zzVGpPHSly5yfO$4K@7R@FN&Z;j8(+4getFilter() - CLog::kERROR, MF_BYPOSITION); int n = TrackPopupMenu(menu, TPM_NONOTIFY | TPM_RETURNCMD | @@ -175,6 +178,10 @@ CMSWindowsServerTaskBarReceiver::runMenu(int x, int y) copyLog(); break; + case IDC_TASKBAR_SHOW_LOG: + ARCH->showConsole(true); + break; + case IDC_RELOAD_CONFIG: EVENTQUEUE->addEvent(CEvent(getReloadConfigEvent(), IEventQueue::getSystemTarget())); @@ -185,6 +192,34 @@ CMSWindowsServerTaskBarReceiver::runMenu(int x, int y) IEventQueue::getSystemTarget())); break; + case IDC_TASKBAR_LOG_LEVEL_ERROR: + CLOG->setFilter(CLog::kERROR); + break; + + case IDC_TASKBAR_LOG_LEVEL_WARNING: + CLOG->setFilter(CLog::kWARNING); + break; + + case IDC_TASKBAR_LOG_LEVEL_NOTE: + CLOG->setFilter(CLog::kNOTE); + break; + + case IDC_TASKBAR_LOG_LEVEL_INFO: + CLOG->setFilter(CLog::kINFO); + break; + + case IDC_TASKBAR_LOG_LEVEL_DEBUG: + CLOG->setFilter(CLog::kDEBUG); + break; + + case IDC_TASKBAR_LOG_LEVEL_DEBUG1: + CLOG->setFilter(CLog::kDEBUG1); + break; + + case IDC_TASKBAR_LOG_LEVEL_DEBUG2: + CLOG->setFilter(CLog::kDEBUG2); + break; + case IDC_TASKBAR_QUIT: quit(); break; diff --git a/cmd/synergys/CServerTaskBarReceiver.cpp b/cmd/synergys/CServerTaskBarReceiver.cpp index ee04d79..6555b21 100644 --- a/cmd/synergys/CServerTaskBarReceiver.cpp +++ b/cmd/synergys/CServerTaskBarReceiver.cpp @@ -15,8 +15,10 @@ #include "CServerTaskBarReceiver.h" #include "CServer.h" #include "CLock.h" +#include "CStringUtil.h" #include "IEventQueue.h" #include "CArch.h" +#include "Version.h" // // CServerTaskBarReceiver @@ -113,16 +115,17 @@ CServerTaskBarReceiver::getToolTip() const { switch (m_state) { case kNotRunning: - return "Synergy: Not running"; + return CStringUtil::print("%s: Not running", kAppVersion); case kNotWorking: - return std::string("Synergy: ") + m_errorMessage; - + return CStringUtil::print("%s: %s", + kAppVersion, m_errorMessage.c_str()); + case kNotConnected: - return "Synergy: Waiting for clients"; + return CStringUtil::print("%s: Waiting for clients", kAppVersion); case kConnected: - return "Synergy: Connected"; + return CStringUtil::print("%s: Connected", kAppVersion); default: return ""; diff --git a/cmd/synergys/Makefile.in b/cmd/synergys/Makefile.in index fb063ad..d6502cb 100644 --- a/cmd/synergys/Makefile.in +++ b/cmd/synergys/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -202,20 +195,50 @@ CONFIG_CLEAN_FILES = bin_PROGRAMS = synergys$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) -am__objects_1 = -am__objects_2 = CServerTaskBarReceiver.$(OBJEXT) synergys.$(OBJEXT) \ - $(am__objects_1) -am__objects_3 = COSXServerTaskBarReceiver.$(OBJEXT) $(am__objects_1) -am__objects_4 = CMSWindowsServerTaskBarReceiver.$(OBJEXT) \ - $(am__objects_1) -am__objects_5 = CXWindowsServerTaskBarReceiver.$(OBJEXT) \ - $(am__objects_1) -@CARBON_TRUE@am_synergys_OBJECTS = $(am__objects_2) $(am__objects_3) \ -@CARBON_TRUE@ $(am__objects_1) -@MSWINDOWS_TRUE@am_synergys_OBJECTS = $(am__objects_2) $(am__objects_4) \ -@MSWINDOWS_TRUE@ $(am__objects_1) -@XWINDOWS_TRUE@am_synergys_OBJECTS = $(am__objects_2) $(am__objects_5) \ -@XWINDOWS_TRUE@ $(am__objects_1) +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@am_synergys_OBJECTS = \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ synergys.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsServerTaskBarReceiver.$(OBJEXT) +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@am_synergys_OBJECTS = +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@am_synergys_OBJECTS = \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ synergys.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ synergys.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsServerTaskBarReceiver.$(OBJEXT) +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@am_synergys_OBJECTS = \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ synergys.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsServerTaskBarReceiver.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@am_synergys_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ synergys.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ synergys.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXServerTaskBarReceiver.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@am_synergys_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ synergys.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXServerTaskBarReceiver.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@am_synergys_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ synergys.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ synergys.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ synergys.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXServerTaskBarReceiver.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@am_synergys_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ synergys.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CServerTaskBarReceiver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ synergys.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXServerTaskBarReceiver.$(OBJEXT) synergys_OBJECTS = $(am_synergys_OBJECTS) synergys_DEPENDENCIES = $(top_builddir)/lib/server/libserver.a \ $(top_builddir)/lib/platform/libplatform.a \ @@ -232,12 +255,11 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CMSWindowsServerTaskBarReceiver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXServerTaskBarReceiver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CServerTaskBarReceiver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsServerTaskBarReceiver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/synergys.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CMSWindowsServerTaskBarReceiver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/COSXServerTaskBarReceiver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CServerTaskBarReceiver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsServerTaskBarReceiver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/synergys.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -261,8 +283,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu cmd/synergys/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) @@ -270,16 +293,16 @@ install-binPROGRAMS: $(bin_PROGRAMS) p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \ + f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \ 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)/'`; \ + f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ rm -f $(DESTDIR)$(bindir)/$$f; \ done @@ -296,20 +319,20 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsServerTaskBarReceiver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXServerTaskBarReceiver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CServerTaskBarReceiver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsServerTaskBarReceiver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/synergys.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsServerTaskBarReceiver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXServerTaskBarReceiver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CServerTaskBarReceiver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsServerTaskBarReceiver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/synergys.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -319,61 +342,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -398,7 +413,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -406,7 +420,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/cmd/synergys/resource.h b/cmd/synergys/resource.h index f312781..0ad5868 100644 --- a/cmd/synergys/resource.h +++ b/cmd/synergys/resource.h @@ -19,13 +19,21 @@ #define IDC_TASKBAR_LOG 40005 #define IDC_RELOAD_CONFIG 40006 #define IDC_FORCE_RECONNECT 40007 +#define IDC_TASKBAR_SHOW_LOG 40008 +#define IDC_TASKBAR_LOG_LEVEL_ERROR 40009 +#define IDC_TASKBAR_LOG_LEVEL_WARNING 40010 +#define IDC_TASKBAR_LOG_LEVEL_NOTE 40011 +#define IDC_TASKBAR_LOG_LEVEL_INFO 40012 +#define IDC_TASKBAR_LOG_LEVEL_DEBUG 40013 +#define IDC_TASKBAR_LOG_LEVEL_DEBUG1 40014 +#define IDC_TASKBAR_LOG_LEVEL_DEBUG2 40015 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 109 -#define _APS_NEXT_COMMAND_VALUE 40008 +#define _APS_NEXT_COMMAND_VALUE 40016 #define _APS_NEXT_CONTROL_VALUE 1003 #define _APS_NEXT_SYMED_VALUE 101 #endif diff --git a/cmd/synergys/synergys.cpp b/cmd/synergys/synergys.cpp index 160afb6..6821a4e 100644 --- a/cmd/synergys/synergys.cpp +++ b/cmd/synergys/synergys.cpp @@ -705,7 +705,11 @@ static int daemonMainLoop(int, const char**) { - CSystemLogger sysLogger(DAEMON_NAME); +#if SYSAPI_WIN32 + CSystemLogger sysLogger(DAEMON_NAME, false); +#else + CSystemLogger sysLogger(DAEMON_NAME, true); +#endif return mainLoop(); } @@ -713,6 +717,10 @@ static int standardStartup(int argc, char** argv) { + if (!ARG->m_daemon) { + ARCH->showConsole(false); + } + // parse command line parse(argc, argv); @@ -1129,6 +1137,7 @@ class CMessageBoxOutputter : public ILogOutputter { // ILogOutputter overrides virtual void open(const char*) { } virtual void close() { } + virtual void show(bool) { } virtual bool write(ELevel level, const char* message); virtual const char* getNewline() const { return ""; } }; @@ -1174,7 +1183,7 @@ static int daemonNTStartup(int, char**) { - CSystemLogger sysLogger(DAEMON_NAME); + CSystemLogger sysLogger(DAEMON_NAME, false); bye = &byeThrow; return ARCH->daemonize(DAEMON_NAME, &daemonNTMainLoop); } @@ -1183,6 +1192,8 @@ static int foregroundStartup(int argc, char** argv) { + ARCH->showConsole(false); + // parse command line parse(argc, argv); @@ -1206,12 +1217,23 @@ int WINAPI WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int) { try { + CArchMiscWindows::setIcons((HICON)LoadImage(instance, + MAKEINTRESOURCE(IDI_SYNERGY), + IMAGE_ICON, + 32, 32, LR_SHARED), + (HICON)LoadImage(instance, + MAKEINTRESOURCE(IDI_SYNERGY), + IMAGE_ICON, + 16, 16, LR_SHARED)); CArch arch(instance); CMSWindowsScreen::init(instance); CLOG; CThread::getCurrentThread().setPriority(-14); CArgs args; + // set title on log window + ARCH->openConsole((CString(kAppVersion) + " " + "Server").c_str()); + // windows NT family starts services using no command line options. // since i'm not sure how to tell the difference between that and // a user providing no options we'll assume that if there are no diff --git a/cmd/synergys/synergys.dsp b/cmd/synergys/synergys.dsp index cb38049..c113eb9 100644 --- a/cmd/synergys/synergys.dsp +++ b/cmd/synergys/synergys.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\mt" /I "..\..\lib\io" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\server" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Fd"..\..\gen\build\synergys.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\mt" /I "..\..\lib\io" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\server" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Fd"..\..\gen\build\synergys.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 @@ -70,7 +70,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\mt" /I "..\..\lib\io" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\server" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fd"..\..\gen\debug\synergys.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\..\lib\common" /I "..\..\lib\arch" /I "..\..\lib\base" /I "..\..\lib\mt" /I "..\..\lib\io" /I "..\..\lib\net" /I "..\..\lib\synergy" /I "..\..\lib\platform" /I "..\..\lib\server" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fd"..\..\gen\debug\synergys.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 diff --git a/cmd/synergys/synergys.ico b/cmd/synergys/synergys.ico index 23d9a0906462ab9c0d97b7493376c20036ea471e..89f965f4432c5f58054b9a1b0eae5bf6cbfd245d 100644 GIT binary patch literal 8478 zcmeI1KWH3B6vm(a*e8S|%Z-~Dq__}vXV}UrV&mT6#z|>aLkbt^+yrSM;8FwvhV6t% zLQiZmzTr%%8baza{{iY$oC5(ZeHZtwQ9U1vh;!S!}zl^B0qm9a)se4 z$4!nI!GV?&yT9dtAbB1-&RoiHIHXs=+duJMuQ>Qqlb(9p`ug^E1I+I3?(XmJkD_Ir zwoR+XpoZ`7n_*F5!?$xa7_9y@9UB~QjWDbDj>v-IqX1iNmO=`Jq0y9JcvU(jnEQ^w z7Gb2>!%ze~pRL_3zyv-RkH?YkoZDF1+}w=gwY9a?KK%1QIIFneKdQ#~i{M`c0A3Tt z1K}(%xF*;nf_mc~2;;GW3Worjn~JKt$bbM9zM*5w5O5oY2+>S!bo#xVIM#9I(&{w)eJBUN zeJAtt^Rlq8Am`4VlM5Fv$i<5n<({SK{)Lx2 zcf5QpPsRUH%CArVl&9mdeD%YRB+58+ffXEO7-rZqY#FvpZQOaKIPAI@9d?J^VOO^T zdx5=RP+%{x(@BZF#9m@AF_hRnW6#)^mO0~`5j-PMhEvA(o2BQJp&>&8GBjjp$k32^Z0N|)k*N+oJ*YAjjs+pbjlo20;DbJG3~oSXt2F(BaVG(BaTwr9y{8gF}NugO<*r!=b^Up|o%I zGL(=!;g7MESF3|6au@Kd)Z{MERFJeFL4l@%+y!7k?t?N}3)s-$(csbG(csbG(O}C74J8^p8ax_G zG!TXZJ{mk4JQ_S22+e^V4IT|14ITlW{3XFWjvkUDhGXo|;VrguoO~qT%DsE{eVYbJUo4A)*c53emtZek(@;r+A&?7`%alYMX$a zY+S?5oN9)eBHqA@i;?Pjweae)tI(w2f&-E#+${e5S>63iAM`TagzjPcMcFJ$Y(hZaAL zK9Rw|H_|&9)FI_tfX*qMLxQ;r%W>h`ir$IeFQ=8D75`u1H(R)5quI_B_inZY z`w#h31SN9V5+-_1#7`aC(~P4ezM76pkkD<1n(})TrS!0)eWSx9y(K8_{d=_ISy@{N zT9R7PBfXOV?+~X=Zo;=qR3)1r*J?T?JqdqOQS0|g$Q4UqeS6A`CiJxElT+yOJM;;M z4u68)b!hW@=$O(;r2KxiS{sjsKb@U=ME;xEhFTKipMZQE#eS#RJDbrUyt}d2IpX6> za(ySP_)ug{dwv(qXfHHQN7`?RK8(?u08Lb>z>#22Rc4!-|>%e>pWH7s3Yo%I-~CHeBwOgyeWaz zp{~oYs#C06tRuuw-%(X(t$cW&zD$T!j`%zECiCoXIRyaW$EkIkxjg-ydip!{^nLpK z@IIZrF`MQ1m2Nxb=7&PqIET$NlxiPcZLX`ax&{w}LnJfkI1B@$JJyFz#P!+JH%|8{ t;Zdj_)sxDeTJ=5vdoUQ9?87Q{NCkzlT_5sH8R_#vpACFJzU}{8{tX4i2$ui= literal 1078 zcmcIjF>ZrE5FC6+xQh8fs3Mn0+fY(a_&Id6Ct)f3ES};rr3*_b$?RURz;Y8=8GCnU z*gZJTV<5v0RaL_9wF5p_%QER>2D}B}$ZHj&Wn{>ifymkCh-|VGV=By~n5K!<8nb^f z&&C-1*da;TyJ!;jP^Q6N@Bgk5}L6UBBn>K0sicl|7 z>c~aHzIP$D4S{V|pr=T(rQ-7!*>yJK8teUVc(XssjjkWGz2AEMUHkF#ec5+9I81*g z>e-HOCD}%iv@d!g`Jq1~9Im|o1qc%Zpk4onNYgUHDh}lDlX-3f^Lfdr7>my*^5=;3 zI6L&T7iQ9ze6GqH(2HHmL*4TyYI|+Gsx*5&cPi41(wy8OavnuT5$#UelluIqoTrDl j{)%DX{(iHu1?m5W`_UE`Ag|c9SRp63>%}F_F6({(d|mCB diff --git a/cmd/synergys/synergys.rc b/cmd/synergys/synergys.rc index c8f7da2..117b185 100644 --- a/cmd/synergys/synergys.rc +++ b/cmd/synergys/synergys.rc @@ -73,7 +73,25 @@ BEGIN POPUP "Synergy" BEGIN MENUITEM "Show Status", IDC_TASKBAR_STATUS + MENUITEM "Show Log", IDC_TASKBAR_SHOW_LOG MENUITEM "Copy Log To Clipboard", IDC_TASKBAR_LOG + POPUP "Set Log Level" + BEGIN + MENUITEM "Error", IDC_TASKBAR_LOG_LEVEL_ERROR + + MENUITEM "Warning", IDC_TASKBAR_LOG_LEVEL_WARNING + + MENUITEM "Note", IDC_TASKBAR_LOG_LEVEL_NOTE + + MENUITEM "Info", IDC_TASKBAR_LOG_LEVEL_INFO + + MENUITEM "Debug", IDC_TASKBAR_LOG_LEVEL_DEBUG + + MENUITEM "Debug1", IDC_TASKBAR_LOG_LEVEL_DEBUG1 + + MENUITEM "Debug2", IDC_TASKBAR_LOG_LEVEL_DEBUG2 + + END MENUITEM "Reload Configuration", IDC_RELOAD_CONFIG MENUITEM "Force Reconnect", IDC_FORCE_RECONNECT MENUITEM SEPARATOR diff --git a/cmd/synergys/tb_error.ico b/cmd/synergys/tb_error.ico index a304dc1815fa0ababb136f6f1ba13735d2fbb5a6..746a87c9ec8ae70f24b4125afe9ca68defb2f6d1 100644 GIT binary patch delta 177 zcmYLI zdy84jGmU1R5{}3}fJpWtFkU;Su0ox*`K=tL?xB6&V)WT(qEfV(V;r)#M6RqNmiwRr k(H$x<10fE!BH#-5z_+~tpA(Rp{a$Tzz3iy3)m5)*KPi4Xc>n+a literal 318 zcmaKmI}U?D3`8Fa1(GSKQd6eP(da0%M{>W753q;H0Z_=8bSPr%nek^=GIWY*nn*l4 zxTlLbnZ=G?3UTN^DWIg3pGj2`5%OH@N3!o(iHaPhoKX)@YIUo1XqN6xF32N$#zwk% rh~{<7+ME_FZfttD==auOF(2NnD_ToW$P?mr8eX*h4C50%ue=|=dPPd3 diff --git a/cmd/synergys/tb_idle.ico b/cmd/synergys/tb_idle.ico index 9ba599de07841a8899275e54b91383ebdba39fb1..4e13a264b92f74bcb167895cbdaaca320254a8ab 100644 GIT binary patch delta 198 zcmXAhAr8Vo5Jg{?gaRSJ4M36LYK!42RZVc%8rTGdX&S`RK_Ke5L<2XeD|N_9X2ZDm z|NB#$+7$L=s@wvTSfp&A6208x_M?H3D~Q-wBF1VwJrP9d^Y6UlUBBsd F`vWq@KOF!7 literal 318 zcmZurAr8YZ5OcLkQ#4XEy23qgEVQs=fwj_)L?NM-@}RNK*GMJXU2NYux?F%xISd0V zo*i&E70elh4!syC2mhl9(7`k{5vxQgMQRuOaj@@J2}-k!&TwR~h6-SQi@40yOtNl# zA(87AkhwT%PDBb@%#1m$E;{BcpK8Iik~cV3LGuCL+q>RFM%&XC+ZR5MR$mHmRoS=p Mmq%Hp**0UdUu;rNsQ>@~ diff --git a/cmd/synergys/tb_run.ico b/cmd/synergys/tb_run.ico index 86aa9f3ac989981768b950663e06469635252f8e..88e160cbfcd029978599f49605ba1a3c7695027e 100644 GIT binary patch literal 318 zcmZvXJ#K_B5QRT>QHT}^QKbzPO1ZU9vz2R3fRNJr5IzCD8;(L}A7MN84cny1jNhAi z^COL+lJ|X&*-r&u76q#eLPafx?d1Px0X>%G9mGo6woTC*$N4x8%LKWVjJU*LBRA(t z*&)UlLNF;^_DhTq!s6VW^|KVov_j`difNtFX&-H(O$k3SDILcq=N9iD-8@T;1372! my*B6BBsAGS;Q0-Eqg$^!Uw{7 literal 318 zcmZ{fJqp7x428ddp@9UNsdL62FI!fRK2CNoI)D$6Bjf;u^vNdBp^^N4kR@b8r<|q< zk9P+zSHUZ@&=JI7mH$x$9b#-Emc`7ZesR{rdAbvnUUIsLlp^#g69w)PJ`2R?tWuD+=8@5=TLcpmWBg&BfSKQ6f<$ap>Mt@oPy0w4@W Ai2wiq diff --git a/cmd/synergys/tb_wait.ico b/cmd/synergys/tb_wait.ico index e94db3c30602626ad420b8a3a37d1bc0750baff8..257be0a1d1bc613eec8cc1838a1dfd25d4644844 100644 GIT binary patch literal 318 zcmZvXF%H5o3`Ji7QN#e9SYe77nRA*>nK?mJi9LtNNy<&SB_ktS@h=k+vHidOZA%U` zW?k2zcWvM#wvckMXxJFSxZpn+z?@1UcuF zl1i)Vw8|M$8oa;3u2z*2ycgFRqu9Ap#396Zhplt1gb?~ejL|uFp_CFr025R~TS5=- dGfb`By0-J}?~kW-COE!+Lz;S;(X4i~`vJXUO(y^V literal 318 zcmZ{fJr08~423^Lq_UN%Gh;_2Ux5R4W6hXj`2ZY(BQSKQ&xw#aw07Q)99vGHQ;y?E z#Iu7(s1TJ&=tyGl%D*Us4mmdw%i`|RxH#+KJi`gfCo? zvsu=yM(T~;jKz7$*8V=`Am$I&H5N7gUfJFO_XBRbFhLUP$0b)JnW(3|^ header file. */ +/* Define if you have the header file. */ #undef HAVE_ALLOCA_H /* Define if your compiler has bool support. */ @@ -22,106 +22,106 @@ prototypes. */ #undef HAVE_DPMS_PROTOTYPES -/* Define if you have a working \`getpwuid_r\' function. */ +/* Define if you have a working `getpwuid_r\' function. */ #undef HAVE_GETPWUID_R -/* Define to 1 if you have the `gmtime_r' function. */ +/* Define if you have the `gmtime_r' function. */ #undef HAVE_GMTIME_R -/* Define if you have the \`inet_aton\' function. */ +/* Define if you have the `inet_aton\' function. */ #undef HAVE_INET_ATON -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_ISTREAM -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_LOCALE_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_MEMORY_H -/* Define if you have the \`nanosleep\' function. */ +/* Define if you have the `nanosleep\' function. */ #undef HAVE_NANOSLEEP -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_OSTREAM -/* Define if you have the \`poll\' function. */ +/* Define if you have the `poll\' function. */ #undef HAVE_POLL -/* Define if you have a POSIX \`sigwait\' function. */ +/* Define if you have a POSIX `sigwait\' function. */ #undef HAVE_POSIX_SIGWAIT /* Define if you have POSIX threads libraries and header files. */ #undef HAVE_PTHREAD -/* Define if you have \`pthread_sigmask\' and \`pthread_kill\' functions. */ +/* Define if you have `pthread_sigmask\' and `pthread_kill\' functions. */ #undef HAVE_PTHREAD_SIGNAL /* Define if your compiler defines socklen_t. */ #undef HAVE_SOCKLEN_T -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_SSTREAM -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_STDINT_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_STDLIB_H -/* Define to 1 if you have the `strftime' function. */ +/* Define if you have the `strftime' function. */ #undef HAVE_STRFTIME -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_STRINGS_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_STRING_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_SYS_SELECT_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_SYS_SOCKET_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_SYS_STAT_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_SYS_TIME_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_SYS_TYPES_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_SYS_UTSNAME_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_UNISTD_H -/* Define to 1 if you have the `vsnprintf' function. */ +/* Define if you have the `vsnprintf' function. */ #undef HAVE_VSNPRINTF -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_WCHAR_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_X11_EXTENSIONS_DPMS_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_X11_EXTENSIONS_XINERAMA_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_X11_EXTENSIONS_XKBSTR_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_X11_EXTENSIONS_XTEST_H -/* Define to 1 if you have the header file. */ +/* Define if you have the header file. */ #undef HAVE_X11_XKBLIB_H /* Define this if the XKB extension is available. */ @@ -130,21 +130,6 @@ /* 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 to necessary symbol if this constant uses a non-standard name on your system. */ #undef PTHREAD_CREATE_JOINABLE @@ -170,19 +155,19 @@ /* The size of a `short', as computed by sizeof. */ #undef SIZEOF_SHORT -/* Define to 1 if you have the ANSI C header files. */ +/* Define if you have the ANSI C header files. */ #undef STDC_HEADERS -/* Define to 1 if you can safely include both and . */ +/* Define if you can safely include both and . */ #undef TIME_WITH_SYS_TIME -/* Define to 1 if your declares `struct tm'. */ +/* Define if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Version number of package */ #undef VERSION -/* Define to 1 if the X Window System is missing or not being used. */ +/* Define if the X Window System is missing or not being used. */ #undef X_DISPLAY_MISSING /* Define to `unsigned' if does not define. */ diff --git a/configure b/configure index 3416968..43f448c 100644 --- a/configure +++ b/configure @@ -1,81 +1,12 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59. +# Generated by Autoconf 2.52. # -# Copyright (C) 2003 Free Software Foundation, Inc. +# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi -DUALCASE=1; export DUALCASE # for MKS sh - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - - -# PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' @@ -83,113 +14,22 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } +# Sed expression to map a string onto a valid variable name. +as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac +# Name of the executable. +as_me=`echo "$0" |sed 's,.*[\\/],,'` if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr @@ -215,21 +55,24 @@ else fi rm -f conf$$ conf$$.exe conf$$.file -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - as_executable_p="test -f" -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +# Support unset when possible. +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi +# NLS nuisances. +$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } +$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } +$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } +$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } +$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } +$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } +$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } +$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } # IFS # We need space, tab and new line, in precisely that order. @@ -238,8 +81,7 @@ as_nl=' IFS=" $as_nl" # CDPATH. -$as_unset CDPATH - +$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, @@ -252,11 +94,9 @@ exec 6>&1 # Initializations. # ac_default_prefix=/usr/local -ac_config_libobj_dir=. cross_compiling=no subdirs= -MFLAGS= -MAKEFLAGS= +MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. @@ -264,13 +104,6 @@ SHELL=${CONFIG_SHELL-/bin/sh} # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= - ac_unique_file="lib/common/common.h" # Factoring default headers for most tests. ac_includes_default="\ @@ -309,9 +142,6 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE build build_cpu build_vendor build_os host host_cpu host_vendor host_os WIN32_TRUE WIN32_FALSE UNIX_TRUE UNIX_FALSE MSWINDOWS_TRUE MSWINDOWS_FALSE CARBON_TRUE CARBON_FALSE XWINDOWS_TRUE XWINDOWS_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE RANLIB ac_ct_RANLIB HAVE_DOT OBJC OBJCFLAGS OBJCDEPMODE acx_pthread_config PTHREAD_CC PTHREAD_LIBS PTHREAD_CFLAGS NANOSLEEP_LIBS INET_ATON_LIBS CXXCPP EGREP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS LIBOBJS LTLIBOBJS' -ac_subst_files='' - # Initialize some variables set by options. ac_init_help= ac_init_version=false @@ -350,6 +180,13 @@ oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + ac_prev= for ac_option do @@ -482,7 +319,7 @@ do with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) + | --no-cr | --no-c) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ @@ -661,31 +498,30 @@ do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir + localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. -# FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias -# FIXME: To remove some day. +# FIXME: should be removed in autoconf 3.0. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe @@ -701,23 +537,13 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null - # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + ac_prog=$0 + ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. @@ -727,16 +553,13 @@ else fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { echo "$as_me: error: cannot find sources in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || - { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 - { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias @@ -785,7 +608,7 @@ ac_cv_env_CXXCPP_value=$CXXCPP 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 + cat <&2 + echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 fi cd $ac_popdir done @@ -978,30 +748,31 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then - cat <<\_ACEOF + cat <<\EOF -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. -_ACEOF +EOF exit 0 fi exec 5>config.log -cat >&5 <<_ACEOF +cat >&5 </dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` @@ -1020,156 +791,79 @@ hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done +PATH = $PATH +_ASUNAME } >&5 -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF +cat >&5 <\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. - ac_sep=" " - ;; - esac - done + case $ac_arg in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + ac_sep=" " ;; + *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" + ac_sep=" " ;; + esac + # Get rid of the leading space. done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. -# WARNING: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, + echo >&5 + echo "## ----------------- ##" >&5 + echo "## Cache variables. ##" >&5 + echo "## ----------------- ##" >&5 + echo >&5 + # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; -} - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------- ## -## Output files. ## -## ------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - sed "/^$/d" confdefs.h | sort - echo - fi - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && +} >&5 + sed "/^$/d" confdefs.h >conftest.log + if test -s conftest.log; then + echo >&5 + echo "## ------------ ##" >&5 + echo "## confdefs.h. ##" >&5 + echo "## ------------ ##" >&5 + echo >&5 + cat conftest.log >&5 + fi + (echo; echo) >&5 + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" >&5 + echo "$as_me: exit $exit_status" >&5 + rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do @@ -1182,33 +876,6 @@ rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then @@ -1220,9 +887,9 @@ if test -z "$CONFIG_SITE"; then fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 + { echo "$as_me:890: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 + cat "$ac_site_file" >&5 . "$ac_site_file" fi done @@ -1231,7 +898,7 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 + { echo "$as_me:901: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; @@ -1239,7 +906,7 @@ echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 + { echo "$as_me:909: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -1248,49 +915,49 @@ fi # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { echo "$as_me:925: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 + { echo "$as_me:929: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { echo "$as_me:935: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 + { echo "$as_me:937: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 + { echo "$as_me:939: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + ac_cache_corrupted=: fi;; esac - # Pass precious variables to config.status. + # Pass precious variables to config.status. It doesn't matter if + # we pass some twice (in addition to the command line arguments). if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_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'" ;; + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val" + ;; esac fi done if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 + { echo "$as_me:958: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 + { { echo "$as_me:960: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi @@ -1301,23 +968,26 @@ 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 - - - - - - - - - - - - - - - - - +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac +echo "#! $SHELL" >conftest.sh +echo "exit 0" >>conftest.sh +chmod +x conftest.sh +if { (echo "$as_me:980: PATH=\".;.\"; conftest.sh") >&5 + (PATH=".;."; conftest.sh) 2>&5 + ac_status=$? + echo "$as_me:983: \$? = $ac_status" >&5 + (exit $ac_status); }; then + ac_path_separator=';' +else + ac_path_separator=: +fi +PATH_SEPARATOR="$ac_path_separator" +rm -f conftest.sh ac_aux_dir= for ac_dir in config $srcdir/config; do @@ -1336,7 +1006,7 @@ for ac_dir in config $srcdir/config; do fi done if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config $srcdir/config" >&5 + { { echo "$as_me:1009: error: cannot find install-sh or install.sh in config $srcdir/config" >&5 echo "$as_me: error: cannot find install-sh or install.sh in config $srcdir/config" >&2;} { (exit 1); exit 1; }; } fi @@ -1344,12 +1014,10 @@ ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - MAJOR_VERSION=`grep '#.*define VERSION "' $srcdir/lib/common/Version.h | sed -e 's/.*"\([0-9]*\)\.[0-9]*\.[0-9]*".*/\1/'` MINOR_VERSION=`grep '#.*define VERSION "' $srcdir/lib/common/Version.h | sed -e 's/.*"[0-9]*\.\([0-9]*\)\.[0-9]*".*/\1/'` RELEASE_VERSION=`grep '#.*define VERSION "' $srcdir/lib/common/Version.h | sed -e 's/.*"[0-9]*\.[0-9]*\.\([0-9]*\)".*/\1/'` -am__api_version="1.6" # 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: @@ -1361,51 +1029,44 @@ am__api_version="1.6" # 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. -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +echo "$as_me:1033: checking for a BSD compatible install" >&5 +echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - 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 $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + ac_save_IFS=$IFS; IFS=$ac_path_separator + for ac_dir in $PATH; do + IFS=$ac_save_IFS + # Account for people who put trailing slashes in PATH elements. + case $ac_dir/ in + / | ./ | .// | /cC/* \ + | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ + | /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + if $as_executable_p "$ac_dir/$ac_prog"; then if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 + ac_cv_path_install="$ac_dir/$ac_prog -c" + break 2 fi fi done - done - ;; -esac -done - + ;; + esac + done fi if test "${ac_cv_path_install+set}" = set; then @@ -1418,7 +1079,7 @@ fi INSTALL=$ac_install_sh fi fi -echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "$as_me:1082: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. @@ -1429,7 +1090,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo "$as_me:1093: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 @@ -1453,7 +1114,7 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken + { { echo "$as_me:1117: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} @@ -1466,13 +1127,13 @@ then # Ok. : else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! + { { echo "$as_me:1130: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi -echo "$as_me:$LINENO: result: yes" >&5 +echo "$as_me:1136: result: yes" >&5 echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && program_transform_name="s,^,$program_prefix,;$program_transform_name" @@ -1487,9 +1148,8 @@ _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed - # expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` +am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL @@ -1497,15 +1157,16 @@ if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} + am_backtick='`' + { echo "$as_me:1161: WARNING: ${am_backtick}missing' script is too old or missing" >&5 +echo "$as_me: WARNING: ${am_backtick}missing' script is too old or missing" >&2;} fi -for ac_prog in gawk mawk nawk awk +for ac_prog in mawk gawk 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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:1169: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1513,44 +1174,41 @@ 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_AWK="$ac_prog" +echo "$as_me:1184: found $ac_dir/$ac_word" >&5 +break done fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - echo "$as_me:$LINENO: result: $AWK" >&5 + echo "$as_me:1192: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:1195: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$AWK" && break done -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +echo "$as_me:1202: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.make <<\_ACEOF + cat >conftest.make <<\EOF all: - @echo 'ac_maketemp="$(MAKE)"' -_ACEOF + @echo 'ac_maketemp="${MAKE}"' +EOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then @@ -1561,168 +1219,106 @@ fi rm -f conftest.make fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:$LINENO: result: yes" >&5 + echo "$as_me:1222: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:1226: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi - # test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && +# Check whether --enable-dependency-tracking or --disable-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 + +rm -f .deps 2>/dev/null +mkdir .deps 2>/dev/null +if test -d .deps; then + DEPDIR=.deps +else + # MS-DOS does not allow filenames that begin with a dot. + DEPDIR=_deps +fi +rmdir .deps 2>/dev/null + +# test to see if srcdir already configured +if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 + { { echo "$as_me:1262: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi # Define the identity of the package. - PACKAGE=synergy - VERSION=$MAJOR_VERSION.$MINOR_VERSION.$RELEASE_VERSION - +PACKAGE=synergy +VERSION=$MAJOR_VERSION.$MINOR_VERSION.$RELEASE_VERSION -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <>confdefs.h <<_ACEOF +cat >>confdefs.h <&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - STRIP=$ac_ct_STRIP -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. - - -# Add the stamp file to the list of files AC keeps track of, -# along with our hook. - ac_config_headers="$ac_config_headers config.h" - - - - + ac_config_headers="$ac_config_headers config.h" ARCH_LIBS="" ARCH_CFLAGS="" # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 + { { echo "$as_me:1317: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } -echo "$as_me:$LINENO: checking build system type" >&5 +echo "$as_me:1321: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1731,24 +1327,26 @@ else test -z "$ac_cv_build_alias" && ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 + { { echo "$as_me:1330: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} + { { echo "$as_me:1334: error: $ac_config_sub $ac_cv_build_alias failed." >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} { (exit 1); exit 1; }; } fi -echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "$as_me:1339: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +test -z "$build_alias" && + build_alias=$ac_cv_build -echo "$as_me:$LINENO: checking host system type" >&5 +echo "$as_me:1349: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1757,18 +1355,20 @@ else test -z "$ac_cv_host_alias" && ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 + { { echo "$as_me:1358: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi -echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "$as_me:1363: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +test -z "$host_alias" && + host_alias=$ac_cv_host case $host in *-*-mingw32* | *-*-windows*) @@ -1786,7 +1386,6 @@ case $host in esac ARCH_CFLAGS="$ARCH_CFLAGS -DSYSAPI_$acx_host_arch=1 -DWINAPI_$acx_host_winapi=1" - if test x$acx_host_arch = xWIN32; then WIN32_TRUE= WIN32_FALSE='#' @@ -1795,8 +1394,6 @@ else WIN32_FALSE= fi - - if test x$acx_host_arch = xUNIX; then UNIX_TRUE= UNIX_FALSE='#' @@ -1805,8 +1402,6 @@ else UNIX_FALSE= fi - - if test x$acx_host_winapi = xMSWINDOWS; then MSWINDOWS_TRUE= MSWINDOWS_FALSE='#' @@ -1815,8 +1410,6 @@ else MSWINDOWS_FALSE= fi - - if test x$acx_host_winapi = xCARBON; then CARBON_TRUE= CARBON_FALSE='#' @@ -1825,8 +1418,6 @@ else CARBON_FALSE= fi - - if test x$acx_host_winapi = xXWINDOWS; then XWINDOWS_TRUE= XWINDOWS_FALSE='#' @@ -1835,7 +1426,6 @@ else XWINDOWS_FALSE= fi - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -1844,7 +1434,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:1437: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1852,28 +1442,25 @@ else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_CC="${ac_tool_prefix}gcc" +echo "$as_me:1452: found $ac_dir/$ac_word" >&5 +break done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 + echo "$as_me:1460: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:1463: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1882,7 +1469,7 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:1472: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1890,28 +1477,25 @@ else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_ac_ct_CC="gcc" +echo "$as_me:1487: found $ac_dir/$ac_word" >&5 +break done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + echo "$as_me:1495: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:1498: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1924,7 +1508,7 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:1511: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1932,28 +1516,25 @@ else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_CC="${ac_tool_prefix}cc" +echo "$as_me:1526: found $ac_dir/$ac_word" >&5 +break done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 + echo "$as_me:1534: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:1537: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1962,7 +1543,7 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:1546: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1970,28 +1551,25 @@ else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_ac_ct_CC="cc" +echo "$as_me:1561: found $ac_dir/$ac_word" >&5 +break done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + echo "$as_me:1569: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:1572: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -2004,7 +1582,7 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:1585: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2013,22 +1591,19 @@ else ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue +fi +ac_cv_prog_CC="cc" +echo "$as_me:1605: found $ac_dir/$ac_word" >&5 +break done if test $ac_prog_rejected = yes; then @@ -2040,17 +1615,19 @@ if test $ac_prog_rejected = yes; then # 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+' '}$@" + set dummy "$ac_dir/$ac_word" ${1+"$@"} + shift + ac_cv_prog_CC="$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 + echo "$as_me:1627: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:1630: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -2061,7 +1638,7 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:1641: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2069,28 +1646,25 @@ else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_CC="$ac_tool_prefix$ac_prog" +echo "$as_me:1656: found $ac_dir/$ac_word" >&5 +break done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 + echo "$as_me:1664: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:1667: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -2103,7 +1677,7 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:1680: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2111,28 +1685,25 @@ else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_ac_ct_CC="$ac_prog" +echo "$as_me:1695: found $ac_dir/$ac_word" >&5 +break done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + echo "$as_me:1703: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:1706: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -2144,39 +1715,33 @@ fi fi - -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} +test -z "$CC" && { { echo "$as_me:1718: error: no acceptable cc found in \$PATH" >&5 +echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ +echo "$as_me:1723:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 +{ (eval echo "$as_me:1726: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1729: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 +{ (eval echo "$as_me:1731: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1734: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 +{ (eval echo "$as_me:1736: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1739: \$? = $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. */ +#line 1743 "configure" +#include "confdefs.h" int main () @@ -2187,152 +1752,127 @@ main () } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" +ac_clean_files="$ac_clean_files a.out a.exe" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 +echo "$as_me:1759: checking for C compiler default output" >&5 +echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 +if { (eval echo "$as_me:1762: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1765: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. - -# Be careful to initialize this variable, since it used to be cached. -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -ac_cv_exeext= -# b.out is created by i960 compilers. -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out -do - test -f "$ac_file" || continue +for ac_file in `ls a.exe conftest.exe 2>/dev/null; + ls a.out conftest 2>/dev/null; + ls a.* conftest.* 2>/dev/null`; do case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; - conftest.$ac_ext ) - # This is the source file. - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext - break;; - * ) - break;; + *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; + a.out ) # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool --akim. + export ac_cv_exeext + break;; + * ) break;; esac done else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} +cat conftest.$ac_ext >&5 +{ { echo "$as_me:1788: error: C compiler cannot create executables" >&5 +echo "$as_me: error: C compiler cannot create executables" >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "$as_me:1794: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo "$as_me:1799: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { (eval echo "$as_me:1805: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1808: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 + { { echo "$as_me:1815: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'." >&5 echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} +If you meant to cross compile, use \`--host'." >&2;} { (exit 1); exit 1; }; } fi fi fi -echo "$as_me:$LINENO: result: yes" >&5 +echo "$as_me:1823: result: yes" >&5 echo "${ECHO_T}yes" >&6 -rm -f a.out a.exe conftest$ac_cv_exeext b.out +rm -f a.out a.exe conftest$ac_cv_exeext ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo "$as_me:1830: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "$as_me:1832: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 -echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +echo "$as_me:1835: checking for executable suffix" >&5 +echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 +if { (eval echo "$as_me:1837: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1840: \$? = $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 +for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; + export ac_cv_exeext + break;; * ) break;; esac done else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} + { { echo "$as_me:1856: error: cannot compute EXEEXT: cannot compile and link" >&5 +echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "$as_me:1862: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +echo "$as_me:1868: checking for object suffix" >&5 +echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 1874 "configure" +#include "confdefs.h" int main () @@ -2343,46 +1883,40 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1886: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1889: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} +cat conftest.$ac_ext >&5 +{ { echo "$as_me:1901: error: cannot compute OBJEXT: cannot compile" >&5 +echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "$as_me:1908: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo "$as_me:1912: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 1918 "configure" +#include "confdefs.h" int main () @@ -2396,55 +1930,41 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:1933: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1936: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:1939: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1942: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "$as_me:1954: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo "$as_me:1960: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 1966 "configure" +#include "confdefs.h" int main () @@ -2455,37 +1975,26 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:1978: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1981: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:1984: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:1987: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "$as_me:1997: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -2502,121 +2011,6 @@ else CFLAGS= fi fi -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_stdc=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std1 is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std1. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -fi -rm -f conftest.err conftest.$ac_objext -done -rm -f conftest.$ac_ext conftest.$ac_objext -CC=$ac_save_CC - -fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; -esac - # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide @@ -2627,29 +2021,20 @@ cat >conftest.$ac_ext <<_ACEOF #endif _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:2024: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2027: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2030: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2033: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ - '' \ + ''\ + '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ @@ -2657,13 +2042,10 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration +#line 2045 "configure" +#include "confdefs.h" #include +$ac_declaration int main () { @@ -2673,41 +2055,27 @@ exit (42); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:2058: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2061: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2064: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2067: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 continue fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 2077 "configure" +#include "confdefs.h" $ac_declaration int main () @@ -2718,34 +2086,23 @@ exit (42); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:2089: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2092: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2095: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2098: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then @@ -2756,28 +2113,16 @@ fi else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -rm -f .deps 2>/dev/null -mkdir .deps 2>/dev/null -if test -d .deps; then - DEPDIR=.deps -else - # MS-DOS does not allow filenames that begin with a dot. - DEPDIR=_deps -fi -rmdir .deps 2>/dev/null - - - ac_config_commands="$ac_config_commands depfiles" +ac_config_commands="$ac_config_commands default-1" am_make=${MAKE-make} cat > confinc << 'END' @@ -2785,9 +2130,9 @@ doit: @echo done END # If we don't find an include directive, just comment out the code. -echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo "$as_me:2133: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 -am__include="#" +am__include='#' am__quote= _am_result=none # First try GNU make style include. @@ -2807,41 +2152,18 @@ 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__quote='"' _am_result=BSD fi fi - -echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "$as_me:2160: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6 rm -f confinc confmf -# Check whether --enable-dependency-tracking or --disable-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 - - - - depcc="$CC" am_compiler_list= -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo "$as_me:2166: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2903,10 +2225,9 @@ else fi fi -echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "$as_me:2228: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - +CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' @@ -2918,7 +2239,7 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:2242: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2926,28 +2247,25 @@ 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" +echo "$as_me:2257: found $ac_dir/$ac_word" >&5 +break done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 + echo "$as_me:2265: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:2268: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -2960,7 +2278,7 @@ if test -z "$CXX"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:2281: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2968,28 +2286,25 @@ 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_ac_ct_CXX="$ac_prog" +echo "$as_me:2296: found $ac_dir/$ac_word" >&5 +break done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 + echo "$as_me:2304: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:2307: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3000,38 +2315,34 @@ test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi - # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ +echo "$as_me:2319:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 +{ (eval echo "$as_me:2322: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2325: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 +{ (eval echo "$as_me:2327: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2330: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 +{ (eval echo "$as_me:2332: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2335: \$? = $ac_status" >&5 (exit $ac_status); } -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo "$as_me:2338: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 2344 "configure" +#include "confdefs.h" int main () @@ -3045,55 +2356,41 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:2359: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2362: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2365: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2368: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "$as_me:2380: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo "$as_me:2386: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 2392 "configure" +#include "confdefs.h" int main () @@ -3104,37 +2401,26 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:2404: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2407: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2410: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2413: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "$as_me:2423: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS @@ -3152,7 +2438,8 @@ else fi fi for ac_declaration in \ - '' \ + ''\ + '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ @@ -3160,13 +2447,10 @@ for ac_declaration in \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_declaration +#line 2450 "configure" +#include "confdefs.h" #include +$ac_declaration int main () { @@ -3176,41 +2460,27 @@ exit (42); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:2463: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2466: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2469: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2472: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 continue fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 2482 "configure" +#include "confdefs.h" $ac_declaration int main () @@ -3221,34 +2491,23 @@ exit (42); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:2494: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2497: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2500: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2503: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then @@ -3265,7 +2524,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo "$as_me:2527: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3327,15 +2586,14 @@ else fi fi -echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "$as_me:2589: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - +CXXDEPMODE="depmode=$am_cv_CXX_dependencies_compiler_type" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:2596: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3343,28 +2601,25 @@ 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" +echo "$as_me:2611: found $ac_dir/$ac_word" >&5 +break done fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - echo "$as_me:$LINENO: result: $RANLIB" >&5 + echo "$as_me:2619: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:2622: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3373,7 +2628,7 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:2631: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3381,18 +2636,15 @@ 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_ac_ct_RANLIB="ranlib" +echo "$as_me:2646: found $ac_dir/$ac_word" >&5 +break done test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" @@ -3400,10 +2652,10 @@ fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 + echo "$as_me:2655: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:2658: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3414,7 +2666,7 @@ fi # Extract the first word of "dot", so it can be a program name with args. set dummy dot; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:2669: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_HAVE_DOT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3422,18 +2674,15 @@ else if test -n "$HAVE_DOT"; then ac_cv_prog_HAVE_DOT="$HAVE_DOT" # Let the user override the test. else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_HAVE_DOT="YES" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_HAVE_DOT="YES" +echo "$as_me:2684: found $ac_dir/$ac_word" >&5 +break done test -z "$ac_cv_prog_HAVE_DOT" && ac_cv_prog_HAVE_DOT="NO" @@ -3441,22 +2690,20 @@ fi fi HAVE_DOT=$ac_cv_prog_HAVE_DOT if test -n "$HAVE_DOT"; then - echo "$as_me:$LINENO: result: $HAVE_DOT" >&5 + echo "$as_me:2693: result: $HAVE_DOT" >&5 echo "${ECHO_T}$HAVE_DOT" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:2696: result: no" >&5 echo "${ECHO_T}no" >&6 fi - OBJC="${CC}" OBJCFLAGS="${CFLAGS}" - - depcc="$OBJC" am_compiler_list='gcc3 gcc' + OBJC -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo "$as_me:2706: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_OBJC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3518,11 +2765,9 @@ else fi fi -echo "$as_me:$LINENO: result: $am_cv_OBJC_dependencies_compiler_type" >&5 +echo "$as_me:2768: result: $am_cv_OBJC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_OBJC_dependencies_compiler_type" >&6 -OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type - - +OBJCDEPMODE="depmode=$am_cv_OBJC_dependencies_compiler_type" ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' @@ -3530,7 +2775,6 @@ 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_ext=cpp # Check whether --enable-debug or --disable-debug was given. @@ -3544,16 +2788,11 @@ else CXXFLAGS="$CXXFLAGS -DNDEBUG" fi - - - echo "$as_me:$LINENO: checking if g++ defines correct C++ macro" >&5 + echo "$as_me:2791: checking if g++ defines correct C++ macro" >&5 echo $ECHO_N "checking if g++ defines correct C++ macro... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 2794 "configure" +#include "confdefs.h" int main () @@ -3567,36 +2806,25 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:2809: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2812: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2815: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2818: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_cxx_macro_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_cxx_macro_ok=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_cxx_macro_ok" >&5 +rm -f conftest.$ac_objext conftest.$ac_ext + echo "$as_me:2827: result: $acx_cxx_macro_ok" >&5 echo "${ECHO_T}$acx_cxx_macro_ok" >&6 if test x"$acx_cxx_macro_ok" = xyes; then SYNERGY_CXXFLAGS="" @@ -3604,13 +2832,8 @@ echo "${ECHO_T}$acx_cxx_macro_ok" >&6 SYNERGY_CXXFLAGS="-U_LANGUAGE_C -D_LANGUAGE_C_PLUS_PLUS" fi - if test x"$acx_host_arch" = xUNIX; then - - - - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3631,14 +2854,11 @@ if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then CFLAGS="$CFLAGS $PTHREAD_CFLAGS" save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" - echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 + echo "$as_me:2857: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 2860 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -3656,36 +2876,24 @@ pthread_join (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:2879: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2882: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:2885: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:2888: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_pthread_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + echo "$as_me:2896: result: $acx_pthread_ok" >&5 echo "${ECHO_T}$acx_pthread_ok" >&6 if test x"$acx_pthread_ok" = xno; then PTHREAD_LIBS="" @@ -3746,12 +2954,12 @@ for flag in $acx_pthread_flags; do case $flag in none) - echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 + echo "$as_me:2957: checking whether pthreads work without any flags" >&5 echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6 ;; -*) - echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 + echo "$as_me:2962: checking whether pthreads work with $flag" >&5 echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6 PTHREAD_CFLAGS="$flag" ;; @@ -3759,7 +2967,7 @@ echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6 pthread-config) # Extract the first word of "pthread-config", so it can be a program name with args. set dummy pthread-config; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:2970: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_acx_pthread_config+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3767,18 +2975,15 @@ else if test -n "$acx_pthread_config"; then ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_acx_pthread_config="yes" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_acx_pthread_config="yes" +echo "$as_me:2985: found $ac_dir/$ac_word" >&5 +break done test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" @@ -3786,10 +2991,10 @@ fi fi acx_pthread_config=$ac_cv_prog_acx_pthread_config if test -n "$acx_pthread_config"; then - echo "$as_me:$LINENO: result: $acx_pthread_config" >&5 + echo "$as_me:2994: result: $acx_pthread_config" >&5 echo "${ECHO_T}$acx_pthread_config" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:2997: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3799,7 +3004,7 @@ fi ;; *) - echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 + echo "$as_me:3007: checking for the pthreads library -l$flag" >&5 echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6 PTHREAD_LIBS="-l$flag" ;; @@ -3820,11 +3025,8 @@ echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6 # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3028 "configure" +#include "confdefs.h" #include int main () @@ -3837,40 +3039,28 @@ pthread_t th; pthread_join(th, 0); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:3042: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3045: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:3048: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3051: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_pthread_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" - echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 + echo "$as_me:3063: result: $acx_pthread_ok" >&5 echo "${ECHO_T}$acx_pthread_ok" >&6 if test "x$acx_pthread_ok" = xyes; then break; @@ -3889,16 +3079,13 @@ if test "x$acx_pthread_ok" = xyes; then CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 + echo "$as_me:3082: checking for joinable pthread attribute" >&5 echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6 attr_name=unknown for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3087 "configure" +#include "confdefs.h" #include int main () @@ -3909,68 +3096,53 @@ int attr=$attr; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:3099: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3102: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:3105: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3108: \$? = $ac_status" >&5 (exit $ac_status); }; }; then attr_name=$attr; break else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext done - echo "$as_me:$LINENO: result: $attr_name" >&5 + echo "$as_me:3117: result: $attr_name" >&5 echo "${ECHO_T}$attr_name" >&6 if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <&5 + echo "$as_me:3127: checking if more special flags are required for pthreads" >&5 echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6 flag=no case "${host_cpu}-${host_os}" in *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; esac - echo "$as_me:$LINENO: result: ${flag}" >&5 + echo "$as_me:3134: result: ${flag}" >&5 echo "${ECHO_T}${flag}" >&6 if test "x$flag" != xno; then PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" fi # Detect POSIX sigwait() - echo "$as_me:$LINENO: checking for POSIX sigwait" >&5 + echo "$as_me:3141: checking for POSIX sigwait" >&5 echo $ECHO_N "checking for POSIX sigwait... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3144 "configure" +#include "confdefs.h" #include #include int @@ -3982,45 +3154,30 @@ sigset_t sigset; int signal; sigwait(&sigset, &signal); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:3157: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3160: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:3163: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3166: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ok=unknown fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test x"$ok" = xunknown; then save_CFLAGS2="$CFLAGS" CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS" cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3179 "configure" +#include "confdefs.h" #include #include int @@ -4032,45 +3189,33 @@ sigset_t sigset; int signal; sigwait(&sigset, &signal); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:3192: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3195: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:3198: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3201: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ok=-D_POSIX_PTHREAD_SEMANTICS else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ok=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext CFLAGS="$save_CFLAGS2" fi - echo "$as_me:$LINENO: result: ${ok}" >&5 + echo "$as_me:3212: result: ${ok}" >&5 echo "${ECHO_T}${ok}" >&6 if test x"$ok" != xno; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_POSIX_SIGWAIT 1 -_ACEOF +EOF if test x"$ok" != xyes; then PTHREAD_CFLAGS="$ok $PTHREAD_CFLAGS" @@ -4078,14 +3223,11 @@ _ACEOF fi # Detect pthread signal functions - echo "$as_me:$LINENO: checking for pthread signal functions" >&5 + echo "$as_me:3226: checking for pthread signal functions" >&5 echo $ECHO_N "checking for pthread signal functions... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3229 "configure" +#include "confdefs.h" #include #include int @@ -4097,43 +3239,31 @@ pthread_kill(pthread_self(), SIGTERM); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:3242: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3245: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:3248: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3251: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ok=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - echo "$as_me:$LINENO: result: ${ok}" >&5 +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + echo "$as_me:3260: result: ${ok}" >&5 echo "${ECHO_T}${ok}" >&6 if test x"$ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_PTHREAD_SIGNAL 1 -_ACEOF +EOF fi @@ -4143,7 +3273,7 @@ _ACEOF # More AIX lossage: must compile with cc_r # Extract the first word of "cc_r", so it can be a program name with args. set dummy cc_r; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo "$as_me:3276: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4151,18 +3281,15 @@ else if test -n "$PTHREAD_CC"; then ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_PTHREAD_CC="cc_r" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_PTHREAD_CC="cc_r" +echo "$as_me:3291: found $ac_dir/$ac_word" >&5 +break done test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" @@ -4170,10 +3297,10 @@ fi fi PTHREAD_CC=$ac_cv_prog_PTHREAD_CC if test -n "$PTHREAD_CC"; then - echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 + echo "$as_me:3300: result: $PTHREAD_CC" >&5 echo "${ECHO_T}$PTHREAD_CC" >&6 else - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:3303: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -4181,21 +3308,17 @@ else PTHREAD_CC="$CC" fi - - - - # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x"$acx_pthread_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_PTHREAD 1 -_ACEOF +EOF : else acx_pthread_ok=no - { { echo "$as_me:$LINENO: error: You must have pthreads to compile synergy" >&5 + { { echo "$as_me:3321: error: You must have pthreads to compile synergy" >&5 echo "$as_me: error: You must have pthreads to compile synergy" >&2;} { (exit 1); exit 1; }; } fi @@ -4205,7 +3328,6 @@ 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 - ARCH_LIBS="$PTHREAD_LIBS $ARCH_LIBS" ARCH_CFLAGS="$ARCH_CFLAGS $PTHREAD_CFLAGS" fi @@ -4225,19 +3347,19 @@ fi for flag in $acx_nanosleep_list; do case $flag in none) - echo "$as_me:$LINENO: checking for nanosleep" >&5 + echo "$as_me:3350: checking for nanosleep" >&5 echo $ECHO_N "checking for nanosleep... $ECHO_C" >&6 NANOSLEEP_LIBS="" ;; user) - echo "$as_me:$LINENO: checking for nanosleep in $save_user_NANOSLEEP_LIBS" >&5 + echo "$as_me:3356: checking for nanosleep in $save_user_NANOSLEEP_LIBS" >&5 echo $ECHO_N "checking for nanosleep in $save_user_NANOSLEEP_LIBS... $ECHO_C" >&6 NANOSLEEP_LIBS="$save_user_NANOSLEEP_LIBS" ;; *) - echo "$as_me:$LINENO: checking for nanosleep in -l$flag" >&5 + echo "$as_me:3362: checking for nanosleep in -l$flag" >&5 echo $ECHO_N "checking for nanosleep in -l$flag... $ECHO_C" >&6 NANOSLEEP_LIBS="-l$flag" ;; @@ -4246,11 +3368,8 @@ echo $ECHO_N "checking for nanosleep in -l$flag... $ECHO_C" >&6 save_LIBS="$LIBS" LIBS="$NANOSLEEP_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3371 "configure" +#include "confdefs.h" #include int main () @@ -4261,38 +3380,26 @@ struct timespec t = { 1, 1000 }; nanosleep(&t, NULL); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:3383: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3386: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:3389: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3392: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_nanosleep_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_nanosleep_ok=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$save_LIBS" - echo "$as_me:$LINENO: result: $acx_nanosleep_ok" >&5 + echo "$as_me:3402: result: $acx_nanosleep_ok" >&5 echo "${ECHO_T}$acx_nanosleep_ok" >&6 if test x"$acx_nanosleep_ok" = xyes; then break; @@ -4300,14 +3407,12 @@ echo "${ECHO_T}$acx_nanosleep_ok" >&6 NANOSLEEP_LIBS="" done - - # execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x"$acx_nanosleep_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_NANOSLEEP 1 -_ACEOF +EOF : else @@ -4315,7 +3420,6 @@ _ACEOF fi - acx_inet_aton_ok=no acx_inet_aton_list="" @@ -4328,19 +3432,19 @@ _ACEOF for flag in $acx_inet_aton_list; do case $flag in none) - echo "$as_me:$LINENO: checking for inet_aton" >&5 + echo "$as_me:3435: checking for inet_aton" >&5 echo $ECHO_N "checking for inet_aton... $ECHO_C" >&6 INET_ATON_LIBS="" ;; user) - echo "$as_me:$LINENO: checking for inet_aton in $save_user_INET_ATON_LIBS" >&5 + echo "$as_me:3441: checking for inet_aton in $save_user_INET_ATON_LIBS" >&5 echo $ECHO_N "checking for inet_aton in $save_user_INET_ATON_LIBS... $ECHO_C" >&6 INET_ATON_LIBS="$save_user_INET_ATON_LIBS" ;; *) - echo "$as_me:$LINENO: checking for inet_aton in -l$flag" >&5 + echo "$as_me:3447: checking for inet_aton in -l$flag" >&5 echo $ECHO_N "checking for inet_aton in -l$flag... $ECHO_C" >&6 INET_ATON_LIBS="-l$flag" ;; @@ -4349,11 +3453,8 @@ echo $ECHO_N "checking for inet_aton in -l$flag... $ECHO_C" >&6 save_LIBS="$LIBS" LIBS="$INET_ATON_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3456 "configure" +#include "confdefs.h" #include #include #include @@ -4367,59 +3468,44 @@ struct in_addr addr; inet_aton("foo.bar", &addr); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:3471: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3474: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:3477: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3480: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_inet_aton_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_inet_aton_ok=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$save_LIBS" - echo "$as_me:$LINENO: result: $acx_inet_aton_ok" >&5 + echo "$as_me:3490: result: $acx_inet_aton_ok" >&5 echo "${ECHO_T}$acx_inet_aton_ok" >&6 if test x"$acx_inet_aton_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_INET_ATON 1 -_ACEOF +EOF break; fi INET_ATON_LIBS="" done - - - ac_ext=cc 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 -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo "$as_me:3508: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then @@ -4433,34 +3519,24 @@ 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 to if __STDC__ is defined, since - # 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 -#else -# include -#endif - Syntax error +#line 3525 "configure" +#include "confdefs.h" +#include + Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3530: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3536: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -4471,8 +3547,7 @@ if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + cat conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi @@ -4481,24 +3556,20 @@ rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3559 "configure" +#include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3563: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3569: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -4510,8 +3581,7 @@ if test -z "$ac_cpp_err"; then continue else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + cat conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break @@ -4533,41 +3603,31 @@ fi else ac_cv_prog_CXXCPP=$CXXCPP fi -echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "$as_me:3606: result: $CXXCPP" >&5 echo "${ECHO_T}$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 to if __STDC__ is defined, since - # 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. */ +#line 3616 "configure" +#include "confdefs.h" +#include + Syntax error _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3621: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3627: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -4578,8 +3638,7 @@ if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + cat conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi @@ -4588,24 +3647,20 @@ rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3650 "configure" +#include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3654: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3660: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -4617,8 +3672,7 @@ if test -z "$ac_cpp_err"; then continue else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + cat conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break @@ -4631,10 +3685,8 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} + { { echo "$as_me:3688: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } fi @@ -4644,90 +3696,55 @@ 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 - -echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_prog_egrep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 - EGREP=$ac_cv_prog_egrep - - -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo "$as_me:3699: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3705 "configure" +#include "confdefs.h" #include #include #include #include -int -main () -{ - - ; - return 0; -} _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:3713: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + echo "$as_me:3719: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_stdc=no + cat conftest.$ac_ext >&5 + ac_cv_header_stdc=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 3741 "configure" +#include "confdefs.h" #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then + egrep "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no @@ -4739,16 +3756,13 @@ 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. */ +#line 3759 "configure" +#include "confdefs.h" #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then + egrep "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no @@ -4763,20 +3777,16 @@ if test $ac_cv_header_stdc = 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. */ +#line 3780 "configure" +#include "confdefs.h" #include #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 ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif @@ -4787,202 +3797,114 @@ main () int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) + || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +if { (eval echo "$as_me:3806: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3809: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { (eval echo "$as_me:3811: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3814: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) +cat conftest.$ac_ext >&5 ac_cv_header_stdc=no fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "$as_me:3827: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define STDC_HEADERS 1 -_ACEOF +EOF fi -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h +for ac_header in unistd.h sys/time.h sys/types.h locale.h wchar.h alloca.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo "$as_me:3840: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - +#line 3846 "configure" +#include "confdefs.h" #include <$ac_header> _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:3850: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + echo "$as_me:3856: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" + cat conftest.$ac_ext >&5 + eval "$as_ac_Header=no" fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:3875: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 +echo "$as_me:3888: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF +#line 3894 "configure" +#include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3898: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3904: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -4990,300 +3912,47 @@ else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then - ac_header_preproc=yes + eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + cat conftest.$ac_ext >&5 + eval "$as_ac_Header=no" fi rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:3923: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 +echo "$as_me:3936: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF +#line 3942 "configure" +#include "confdefs.h" +#include <$ac_header> _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in sys/utsname.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3946: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:3952: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -5291,151 +3960,47 @@ else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then - ac_header_preproc=yes + eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + cat conftest.$ac_ext >&5 + eval "$as_ac_Header=no" fi rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:3971: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 +echo "$as_me:3984: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF +#line 3990 "configure" +#include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3994: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4000: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -5443,80 +4008,32 @@ else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then - ac_header_preproc=yes + eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + cat conftest.$ac_ext >&5 + eval "$as_ac_Header=no" fi rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:4019: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 +echo "$as_me:4029: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 4035 "configure" +#include "confdefs.h" #include #include #include @@ -5531,51 +4048,39 @@ return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:4051: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4054: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:4057: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4060: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_time=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_header_time=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 +echo "$as_me:4070: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define TIME_WITH_SYS_TIME 1 -_ACEOF +EOF fi if test x"$acx_host_winapi" = xXWINDOWS; then - echo "$as_me:$LINENO: checking for X" >&5 + echo "$as_me:4081: checking for X" >&5 echo $ECHO_N "checking for X... $ECHO_C" >&6 - # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then withval="$with_x" @@ -5599,18 +4104,18 @@ rm -fr conftest.dir if mkdir conftest.dir; then cd conftest.dir # Make sure to not put "make" in the Imakefile rules, since we grep it out. - cat >Imakefile <<'_ACEOF' + cat >Imakefile <<'EOF' acfindx: @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' -_ACEOF +EOF if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && - test -f $ac_im_libdir/libX11.$ac_extension; then - ac_im_usrlibdir=$ac_im_libdir; break + 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 @@ -5670,24 +4175,20 @@ if test "$ac_x_includes" = no; then # Guess where to find include files, by looking for Intrinsic.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 4178 "configure" +#include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4182: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4188: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -5699,8 +4200,7 @@ if test -z "$ac_cpp_err"; then ac_x_includes= else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + cat conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do if test -r "$ac_dir/X11/Intrinsic.h"; then ac_x_includes=$ac_dir @@ -5718,11 +4218,8 @@ if test "$ac_x_libraries" = no; then ac_save_LIBS=$LIBS LIBS="-lXt $LIBS" cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 4221 "configure" +#include "confdefs.h" #include int main () @@ -5733,34 +4230,23 @@ XtMalloc (0) } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4233: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4236: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4239: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4242: \$? = $ac_status" >&5 (exit $ac_status); }; }; then LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 LIBS=$ac_save_LIBS for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do @@ -5773,8 +4259,7 @@ do done done fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then @@ -5783,7 +4268,7 @@ if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then else # Record where we found X for the cache. ac_cv_have_x="have_x=yes \ - ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" + ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" fi fi @@ -5792,7 +4277,7 @@ fi fi # $with_x != no if test "$have_x" != yes; then - echo "$as_me:$LINENO: result: $have_x" >&5 + echo "$as_me:4280: result: $have_x" >&5 echo "${ECHO_T}$have_x" >&6 no_x=yes else @@ -5802,16 +4287,16 @@ else # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes \ ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 + echo "$as_me:4290: result: libraries $x_libraries, headers $x_includes" >&5 echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 fi if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define X_DISPLAY_MISSING 1 -_ACEOF +EOF X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else @@ -5826,15 +4311,12 @@ else # others require no space. Words are not sufficient . . . . case `(uname -sr) 2>/dev/null` in "SunOS 5"*) - echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 + echo "$as_me:4314: checking whether -R must be followed by a space" >&5 echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 4318 "configure" +#include "confdefs.h" int main () @@ -5845,48 +4327,33 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4330: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4333: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4336: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4339: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_R_nospace=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_R_nospace=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test $ac_R_nospace = yes; then - echo "$as_me:$LINENO: result: no" >&5 + echo "$as_me:4349: result: no" >&5 echo "${ECHO_T}no" >&6 X_LIBS="$X_LIBS -R$x_libraries" else LIBS="$ac_xsave_LIBS -R $x_libraries" cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 4355 "configure" +#include "confdefs.h" int main () @@ -5897,42 +4364,30 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4367: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4370: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4373: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4376: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_R_space=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_R_space=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test $ac_R_space = yes; then - echo "$as_me:$LINENO: result: yes" >&5 + echo "$as_me:4386: result: yes" >&5 echo "${ECHO_T}yes" >&6 X_LIBS="$X_LIBS -R $x_libraries" else - echo "$as_me:$LINENO: result: neither works" >&5 + echo "$as_me:4390: result: neither works" >&5 echo "${ECHO_T}neither works" >&6 fi fi @@ -5952,11 +4407,8 @@ echo "${ECHO_T}neither works" >&6 # the Alpha needs dnet_stub (dnet does not exist). ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 4410 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -5974,33 +4426,22 @@ XOpenDisplay (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4429: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4432: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4435: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4438: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 +cat conftest.$ac_ext >&5 +echo "$as_me:4444: checking for dnet_ntoa in -ldnet" >&5 echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6 if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6008,11 +4449,8 @@ 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. */ +#line 4452 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -6030,46 +4468,34 @@ dnet_ntoa (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4471: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4474: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4477: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4480: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dnet_dnet_ntoa=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_dnet_dnet_ntoa=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +echo "$as_me:4491: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6 if test $ac_cv_lib_dnet_dnet_ntoa = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then - echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 + echo "$as_me:4498: checking for dnet_ntoa in -ldnet_stub" >&5 echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6 if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6077,11 +4503,8 @@ 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. */ +#line 4506 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -6099,39 +4522,27 @@ dnet_ntoa (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4525: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4528: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4531: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4534: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dnet_stub_dnet_ntoa=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_dnet_stub_dnet_ntoa=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +echo "$as_me:4545: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6 if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" @@ -6139,8 +4550,7 @@ fi fi fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$ac_xsave_LIBS" # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, @@ -6151,99 +4561,67 @@ rm -f conftest.err conftest.$ac_objext \ # on Irix 5.2, according to T.E. Dickey. # The functions gethostbyname, getservbyname, and inet_addr are # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. - echo "$as_me:$LINENO: checking for gethostbyname" >&5 + echo "$as_me:4564: checking for gethostbyname" >&5 echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 if test "${ac_cv_func_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define gethostbyname to an innocuous variant, in case declares gethostbyname. - For example, HP-UX 11i declares gettimeofday. */ -#define gethostbyname innocuous_gethostbyname - +#line 4570 "configure" +#include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gethostbyname (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef gethostbyname - + which can conflict with char gethostbyname (); below. */ +#include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" -{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname (); +char (*f) (); + +int +main () +{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) choke me #else -char (*f) () = gethostbyname; -#endif -#ifdef __cplusplus -} +f = gethostbyname; #endif -int -main () -{ -return f != gethostbyname; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4601: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4604: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4607: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4610: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_gethostbyname=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_func_gethostbyname=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 +echo "$as_me:4620: result: $ac_cv_func_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 if test $ac_cv_func_gethostbyname = no; then - echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 + echo "$as_me:4624: checking for gethostbyname in -lnsl" >&5 echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6251,11 +4629,8 @@ 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. */ +#line 4632 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -6273,46 +4648,34 @@ gethostbyname (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4651: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4654: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4657: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4660: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_nsl_gethostbyname=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_nsl_gethostbyname=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 +echo "$as_me:4671: result: $ac_cv_lib_nsl_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 if test $ac_cv_lib_nsl_gethostbyname = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" fi if test $ac_cv_lib_nsl_gethostbyname = no; then - echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 + echo "$as_me:4678: checking for gethostbyname in -lbsd" >&5 echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6 if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6320,11 +4683,8 @@ 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. */ +#line 4686 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -6342,39 +4702,27 @@ gethostbyname (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4705: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4708: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4711: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4714: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_bsd_gethostbyname=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_bsd_gethostbyname=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 +echo "$as_me:4725: result: $ac_cv_lib_bsd_gethostbyname" >&5 echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6 if test $ac_cv_lib_bsd_gethostbyname = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" @@ -6387,102 +4735,70 @@ fi # socket/setsockopt and other routines are undefined under SCO ODT # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary # on later versions), says Simon Leinen: it contains gethostby* - # variants that don't use the name server (or something). -lsocket + # variants that don't use the nameserver (or something). -lsocket # must be given before -lnsl if both are needed. We assume that # if connect needs -lnsl, so does gethostbyname. - echo "$as_me:$LINENO: checking for connect" >&5 + echo "$as_me:4741: checking for connect" >&5 echo $ECHO_N "checking for connect... $ECHO_C" >&6 if test "${ac_cv_func_connect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define connect to an innocuous variant, in case declares connect. - For example, HP-UX 11i declares gettimeofday. */ -#define connect innocuous_connect - +#line 4747 "configure" +#include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char connect (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef connect - + which can conflict with char connect (); below. */ +#include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" -{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char connect (); +char (*f) (); + +int +main () +{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_connect) || defined (__stub___connect) choke me #else -char (*f) () = connect; -#endif -#ifdef __cplusplus -} +f = connect; #endif -int -main () -{ -return f != connect; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4778: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4781: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4784: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4787: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_connect=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_func_connect=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 +echo "$as_me:4797: result: $ac_cv_func_connect" >&5 echo "${ECHO_T}$ac_cv_func_connect" >&6 if test $ac_cv_func_connect = no; then - echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 + echo "$as_me:4801: checking for connect in -lsocket" >&5 echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_connect+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6490,11 +4806,8 @@ 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. */ +#line 4809 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -6512,39 +4825,27 @@ connect (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4828: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4831: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4834: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4837: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_connect=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_socket_connect=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 +echo "$as_me:4848: result: $ac_cv_lib_socket_connect" >&5 echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 if test $ac_cv_lib_socket_connect = yes; then X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" @@ -6553,99 +4854,67 @@ fi fi # Guillermo Gomez says -lposix is necessary on A/UX. - echo "$as_me:$LINENO: checking for remove" >&5 + echo "$as_me:4857: checking for remove" >&5 echo $ECHO_N "checking for remove... $ECHO_C" >&6 if test "${ac_cv_func_remove+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define remove to an innocuous variant, in case declares remove. - For example, HP-UX 11i declares gettimeofday. */ -#define remove innocuous_remove - +#line 4863 "configure" +#include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char remove (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef remove - + which can conflict with char remove (); below. */ +#include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" -{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char remove (); +char (*f) (); + +int +main () +{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_remove) || defined (__stub___remove) choke me #else -char (*f) () = remove; -#endif -#ifdef __cplusplus -} +f = remove; #endif -int -main () -{ -return f != remove; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4894: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4897: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4900: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4903: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_remove=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_func_remove=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 +echo "$as_me:4913: result: $ac_cv_func_remove" >&5 echo "${ECHO_T}$ac_cv_func_remove" >&6 if test $ac_cv_func_remove = no; then - echo "$as_me:$LINENO: checking for remove in -lposix" >&5 + echo "$as_me:4917: checking for remove in -lposix" >&5 echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6 if test "${ac_cv_lib_posix_remove+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6653,11 +4922,8 @@ 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. */ +#line 4925 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -6675,39 +4941,27 @@ remove (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:4944: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4947: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:4950: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:4953: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_posix_remove=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_posix_remove=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 +echo "$as_me:4964: result: $ac_cv_lib_posix_remove" >&5 echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6 if test $ac_cv_lib_posix_remove = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" @@ -6716,99 +4970,67 @@ fi fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. - echo "$as_me:$LINENO: checking for shmat" >&5 + echo "$as_me:4973: checking for shmat" >&5 echo $ECHO_N "checking for shmat... $ECHO_C" >&6 if test "${ac_cv_func_shmat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shmat to an innocuous variant, in case declares shmat. - For example, HP-UX 11i declares gettimeofday. */ -#define shmat innocuous_shmat - +#line 4979 "configure" +#include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shmat (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shmat - + which can conflict with char shmat (); below. */ +#include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" -{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shmat (); +char (*f) (); + +int +main () +{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_shmat) || defined (__stub___shmat) choke me #else -char (*f) () = shmat; -#endif -#ifdef __cplusplus -} +f = shmat; #endif -int -main () -{ -return f != shmat; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:5010: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5013: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:5016: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5019: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_shmat=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_func_shmat=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 +echo "$as_me:5029: result: $ac_cv_func_shmat" >&5 echo "${ECHO_T}$ac_cv_func_shmat" >&6 if test $ac_cv_func_shmat = no; then - echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 + echo "$as_me:5033: checking for shmat in -lipc" >&5 echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6 if test "${ac_cv_lib_ipc_shmat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6816,11 +5038,8 @@ 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. */ +#line 5041 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -6838,39 +5057,27 @@ shmat (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:5060: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5063: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:5066: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5069: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ipc_shmat=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_ipc_shmat=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 +echo "$as_me:5080: result: $ac_cv_lib_ipc_shmat" >&5 echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6 if test $ac_cv_lib_ipc_shmat = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" @@ -6888,7 +5095,7 @@ fi # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # John Interrante, Karl Berry - echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 + echo "$as_me:5098: checking for IceConnectionNumber in -lICE" >&5 echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6 if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6896,11 +5103,8 @@ 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. */ +#line 5106 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -6918,39 +5122,27 @@ IceConnectionNumber (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:5125: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5128: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:5131: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5134: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ICE_IceConnectionNumber=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_ICE_IceConnectionNumber=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +echo "$as_me:5145: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6 if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" @@ -6964,7 +5156,7 @@ fi CPPFLAGS="$X_CFLAGS $CPPFLAGS" XEXT_LDADD= - echo "$as_me:$LINENO: checking for XTestQueryExtension in -lXtst" >&5 + echo "$as_me:5159: checking for XTestQueryExtension in -lXtst" >&5 echo $ECHO_N "checking for XTestQueryExtension in -lXtst... $ECHO_C" >&6 if test "${ac_cv_lib_Xtst_XTestQueryExtension+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6972,11 +5164,8 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lXtst $X_LIBS -lXext -lX11 $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. */ +#line 5167 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -6994,128 +5183,59 @@ XTestQueryExtension (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:5186: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5189: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:5192: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5195: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xtst_XTestQueryExtension=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_Xtst_XTestQueryExtension=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XTestQueryExtension" >&5 +echo "$as_me:5206: result: $ac_cv_lib_Xtst_XTestQueryExtension" >&5 echo "${ECHO_T}$ac_cv_lib_Xtst_XTestQueryExtension" >&6 if test $ac_cv_lib_Xtst_XTestQueryExtension = yes; then XEXT_LDADD="$XEXT_LDADD -lXtst" else - { { echo "$as_me:$LINENO: error: You must have the XTest library to build synergy" >&5 + { { echo "$as_me:5211: error: You must have the XTest library to build synergy" >&5 echo "$as_me: error: You must have the XTest library to build synergy" >&2;} { (exit 1); exit 1; }; } fi - for ac_header in X11/extensions/XTest.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo "$as_me:5219: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF +#line 5225 "configure" +#include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:5229: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5235: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -7123,76 +5243,30 @@ else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then - ac_header_preproc=yes + eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + cat conftest.$ac_ext >&5 + eval "$as_ac_Header=no" fi rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:5254: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 + { { echo "$as_me:5262: error: You must have the XTest headers to compile synergy" >&5 echo "$as_me: error: You must have the XTest headers to compile synergy" >&2;} { (exit 1); exit 1; }; } fi - done - acx_have_xkb=no - echo "$as_me:$LINENO: checking for XkbQueryExtension in -lX11" >&5 + echo "$as_me:5269: checking for XkbQueryExtension in -lX11" >&5 echo $ECHO_N "checking for XkbQueryExtension in -lX11... $ECHO_C" >&6 if test "${ac_cv_lib_X11_XkbQueryExtension+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7200,11 +5274,8 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 $X_LIBS $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. */ +#line 5277 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -7222,39 +5293,27 @@ XkbQueryExtension (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:5296: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5299: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:5302: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5305: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_X11_XkbQueryExtension=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_X11_XkbQueryExtension=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XkbQueryExtension" >&5 +echo "$as_me:5316: result: $ac_cv_lib_X11_XkbQueryExtension" >&5 echo "${ECHO_T}$ac_cv_lib_X11_XkbQueryExtension" >&6 if test $ac_cv_lib_X11_XkbQueryExtension = yes; then acx_have_xkb=yes @@ -7264,76 +5323,56 @@ fi if test x"$acx_have_xkb" = xyes; then - for ac_header in X11/XKBlib.h X11/extensions/XKBstr.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo "$as_me:5329: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 5335 "configure" +#include "confdefs.h" #include - #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:5341: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5344: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:5347: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5350: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:5360: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 5374 "configure" +#include "confdefs.h" #include #include @@ -7349,47 +5388,36 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:5391: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5394: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:5397: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5400: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_have_xkb=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_have_xkb=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi fi if test x"$acx_have_xkb" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_XKB_EXTENSION 1 -_ACEOF +EOF fi acx_have_xinerama=yes - echo "$as_me:$LINENO: checking for XineramaQueryExtension in -lXinerama" >&5 + echo "$as_me:5420: checking for XineramaQueryExtension in -lXinerama" >&5 echo $ECHO_N "checking for XineramaQueryExtension in -lXinerama... $ECHO_C" >&6 if test "${ac_cv_lib_Xinerama_XineramaQueryExtension+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7397,11 +5425,8 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lXinerama $X_LIBS -lXext -lX11 $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. */ +#line 5428 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -7419,39 +5444,27 @@ XineramaQueryExtension (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:5447: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5450: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:5453: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5456: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xinerama_XineramaQueryExtension=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_Xinerama_XineramaQueryExtension=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaQueryExtension" >&5 +echo "$as_me:5467: result: $ac_cv_lib_Xinerama_XineramaQueryExtension" >&5 echo "${ECHO_T}$ac_cv_lib_Xinerama_XineramaQueryExtension" >&6 if test $ac_cv_lib_Xinerama_XineramaQueryExtension = yes; then acx_have_xinerama=yes @@ -7464,63 +5477,47 @@ fi for ac_header in X11/extensions/Xinerama.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo "$as_me:5480: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 5486 "configure" +#include "confdefs.h" #include - #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:5492: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5495: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:5498: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5501: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:5511: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 + echo "$as_me:5530: checking for DPMSQueryExtension in -lXext" >&5 echo $ECHO_N "checking for DPMSQueryExtension in -lXext... $ECHO_C" >&6 if test "${ac_cv_lib_Xext_DPMSQueryExtension+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7538,11 +5535,8 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lXext $X_LIBS -lX11 $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. */ +#line 5538 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -7560,39 +5554,27 @@ DPMSQueryExtension (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:5557: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5560: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:5563: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5566: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xext_DPMSQueryExtension=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_Xext_DPMSQueryExtension=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_DPMSQueryExtension" >&5 +echo "$as_me:5577: result: $ac_cv_lib_Xext_DPMSQueryExtension" >&5 echo "${ECHO_T}$ac_cv_lib_Xext_DPMSQueryExtension" >&6 if test $ac_cv_lib_Xext_DPMSQueryExtension = yes; then acx_have_dpms=yes @@ -7601,7 +5583,7 @@ else fi if test x"$acx_have_dpms" != xyes; then - echo "$as_me:$LINENO: checking for DPMSQueryExtension in -lXdpms" >&5 + echo "$as_me:5586: checking for DPMSQueryExtension in -lXdpms" >&5 echo $ECHO_N "checking for DPMSQueryExtension in -lXdpms... $ECHO_C" >&6 if test "${ac_cv_lib_Xdpms_DPMSQueryExtension+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7609,11 +5591,8 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lXdpms $X_LIBS -lX11 $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. */ +#line 5594 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -7631,39 +5610,27 @@ DPMSQueryExtension (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:5613: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5616: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:5619: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5622: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_Xdpms_DPMSQueryExtension=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_Xdpms_DPMSQueryExtension=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_Xdpms_DPMSQueryExtension" >&5 +echo "$as_me:5633: result: $ac_cv_lib_Xdpms_DPMSQueryExtension" >&5 echo "${ECHO_T}$ac_cv_lib_Xdpms_DPMSQueryExtension" >&6 if test $ac_cv_lib_Xdpms_DPMSQueryExtension = yes; then acx_have_dpms=yes; XDPMS_LDADD=-lXdpms @@ -7677,76 +5644,57 @@ fi for ac_header in X11/extensions/dpms.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo "$as_me:5647: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 5653 "configure" +#include "confdefs.h" #include - #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:5659: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5662: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:5665: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5668: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:5678: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 + echo "$as_me:5692: checking for prototypes in X11/extensions/dpms.h" >&5 echo $ECHO_N "checking for prototypes in X11/extensions/dpms.h... $ECHO_C" >&6 acx_have_dpms_protos=no cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 5696 "configure" +#include "confdefs.h" #include extern "C" { @@ -7765,41 +5713,30 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:5716: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5719: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:5722: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5725: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_have_dpms_protos=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_have_dpms_protos" >&5 +rm -f conftest.$ac_objext conftest.$ac_ext + echo "$as_me:5733: result: $acx_have_dpms_protos" >&5 echo "${ECHO_T}$acx_have_dpms_protos" >&6 if test x"$acx_have_dpms_protos" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_DPMS_PROTOTYPES 1 -_ACEOF +EOF fi fi @@ -7810,17 +5747,61 @@ _ACEOF ARCH_CFLAGS="$ARCH_CFLAGS $X_CFLAGS" fi -echo "$as_me:$LINENO: checking for size_t" >&5 +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:5756: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line 5762 "configure" +#include "confdefs.h" +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:5768: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:5771: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:5774: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:5777: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +eval "$as_ac_Header=no" +fi +rm -f conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:5787: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6 if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 5803 "configure" +#include "confdefs.h" $ac_includes_default int main () @@ -7834,57 +5815,42 @@ if (sizeof (size_t)) } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:5818: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5821: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:5824: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5827: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_type_size_t=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "$as_me:5837: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6 if test $ac_cv_type_size_t = yes; then : else -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <&5 + echo "$as_me:5849: checking for socklen_t" >&5 echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 5852 "configure" +#include "confdefs.h" #include #include @@ -7898,42 +5864,31 @@ socklen_t len; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:5867: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5870: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:5873: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5876: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_socklen_t_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_socklen_t_ok=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_socklen_t_ok" >&5 +rm -f conftest.$ac_objext conftest.$ac_ext + echo "$as_me:5885: result: $acx_socklen_t_ok" >&5 echo "${ECHO_T}$acx_socklen_t_ok" >&6 if test x"$acx_socklen_t_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_SOCKLEN_T 1 -_ACEOF +EOF : else @@ -7941,18 +5896,14 @@ _ACEOF fi - -echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "$as_me:5899: checking whether struct tm is in sys/time.h or time.h" >&5 echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6 if test "${ac_cv_struct_tm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 5905 "configure" +#include "confdefs.h" #include #include @@ -7965,58 +5916,43 @@ struct tm *tp; tp->tm_sec; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:5919: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5922: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:5925: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5928: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_struct_tm=time.h else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_struct_tm=sys/time.h fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 +echo "$as_me:5938: result: $ac_cv_struct_tm" >&5 echo "${ECHO_T}$ac_cv_struct_tm" >&6 if test $ac_cv_struct_tm = sys/time.h; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define TM_IN_SYS_TIME 1 -_ACEOF +EOF fi - -echo "$as_me:$LINENO: checking for char" >&5 +echo "$as_me:5948: checking for char" >&5 echo $ECHO_N "checking for char... $ECHO_C" >&6 if test "${ac_cv_type_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 5954 "configure" +#include "confdefs.h" $ac_includes_default int main () @@ -8030,382 +5966,209 @@ if (sizeof (char)) } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:5969: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5972: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:5975: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:5978: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_char=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_type_char=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5 +echo "$as_me:5988: result: $ac_cv_type_char" >&5 echo "${ECHO_T}$ac_cv_type_char" >&6 -echo "$as_me:$LINENO: checking size of char" >&5 +echo "$as_me:5991: checking size of char" >&5 echo $ECHO_N "checking size of char... $ECHO_C" >&6 if test "${ac_cv_sizeof_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_char" = yes; then - # The cast to unsigned long 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. 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. */ +#line 6000 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (char))) >= 0)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (char)) >= 0)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6012: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6015: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6018: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6021: \$? = $ac_status" >&5 (exit $ac_status); }; }; 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. */ +#line 6026 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (char)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6038: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6041: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6044: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6047: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else 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` +cat conftest.$ac_ext >&5 +ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done else 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) (sizeof (char))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 +cat conftest.$ac_ext >&5 +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. */ +#line 6063 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (char))) >= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (char)) >= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6075: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6078: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6081: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6084: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else 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` +cat conftest.$ac_ext >&5 +ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo= ac_hi= fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f 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. */ +#line 6100 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (char)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6112: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6115: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6118: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6121: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo=`expr '(' $ac_mid ')' + 1` +cat conftest.$ac_ext >&5 +ac_lo=`expr $ac_mid + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done -case $ac_lo in -?*) ac_cv_sizeof_char=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (char), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } ;; -esac +ac_cv_sizeof_char=$ac_lo else if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} + { { echo "$as_me:6134: error: cannot run test program while cross compiling" >&5 +echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 6139 "configure" +#include "confdefs.h" $ac_includes_default -long longval () { return (long) (sizeof (char)); } -unsigned long ulongval () { return (long) (sizeof (char)); } -#include -#include int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if (((long) (sizeof (char))) < 0) - { - long i = longval (); - if (i != ((long) (sizeof (char)))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != ((long) (sizeof (char)))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); - +FILE *f = fopen ("conftest.val", "w"); +if (!f) + exit (1); +fprintf (f, "%d", (sizeof (char))); +fclose (f); ; return 0; } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +if { (eval echo "$as_me:6155: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6158: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { (eval echo "$as_me:6160: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6163: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_char=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (char), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } +cat conftest.$ac_ext >&5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val @@ -8413,24 +6176,20 @@ else ac_cv_sizeof_char=0 fi fi -echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5 +echo "$as_me:6179: result: $ac_cv_sizeof_char" >&5 echo "${ECHO_T}$ac_cv_sizeof_char" >&6 -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <&5 +echo "$as_me:6185: checking for short" >&5 echo $ECHO_N "checking for short... $ECHO_C" >&6 if test "${ac_cv_type_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 6191 "configure" +#include "confdefs.h" $ac_includes_default int main () @@ -8444,382 +6203,209 @@ if (sizeof (short)) } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6206: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6209: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6212: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6215: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_short=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_type_short=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5 +echo "$as_me:6225: result: $ac_cv_type_short" >&5 echo "${ECHO_T}$ac_cv_type_short" >&6 -echo "$as_me:$LINENO: checking size of short" >&5 +echo "$as_me:6228: checking size of short" >&5 echo $ECHO_N "checking size of short... $ECHO_C" >&6 if test "${ac_cv_sizeof_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_short" = yes; then - # The cast to unsigned long 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. 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. */ +#line 6237 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (short))) >= 0)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (short)) >= 0)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6249: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6252: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6255: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6258: \$? = $ac_status" >&5 (exit $ac_status); }; }; 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. */ +#line 6263 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (short)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6275: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6278: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6281: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6284: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else 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` +cat conftest.$ac_ext >&5 +ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done else 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) (sizeof (short))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 +cat conftest.$ac_ext >&5 +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. */ +#line 6300 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (short))) >= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (short)) >= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6312: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6315: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6318: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6321: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else 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` +cat conftest.$ac_ext >&5 +ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo= ac_hi= fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f 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. */ +#line 6337 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (short)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6349: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6352: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6355: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6358: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo=`expr '(' $ac_mid ')' + 1` +cat conftest.$ac_ext >&5 +ac_lo=`expr $ac_mid + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done -case $ac_lo in -?*) ac_cv_sizeof_short=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (short), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } ;; -esac +ac_cv_sizeof_short=$ac_lo else if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} + { { echo "$as_me:6371: error: cannot run test program while cross compiling" >&5 +echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 6376 "configure" +#include "confdefs.h" $ac_includes_default -long longval () { return (long) (sizeof (short)); } -unsigned long ulongval () { return (long) (sizeof (short)); } -#include -#include int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if (((long) (sizeof (short))) < 0) - { - long i = longval (); - if (i != ((long) (sizeof (short)))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != ((long) (sizeof (short)))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); - +FILE *f = fopen ("conftest.val", "w"); +if (!f) + exit (1); +fprintf (f, "%d", (sizeof (short))); +fclose (f); ; return 0; } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +if { (eval echo "$as_me:6392: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6395: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { (eval echo "$as_me:6397: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6400: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_short=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (short), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } +cat conftest.$ac_ext >&5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val @@ -8827,24 +6413,20 @@ else ac_cv_sizeof_short=0 fi fi -echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5 +echo "$as_me:6416: result: $ac_cv_sizeof_short" >&5 echo "${ECHO_T}$ac_cv_sizeof_short" >&6 -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <&5 +echo "$as_me:6422: checking for int" >&5 echo $ECHO_N "checking for int... $ECHO_C" >&6 if test "${ac_cv_type_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 6428 "configure" +#include "confdefs.h" $ac_includes_default int main () @@ -8858,382 +6440,209 @@ if (sizeof (int)) } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6443: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6446: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6449: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6452: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_int=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_type_int=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5 +echo "$as_me:6462: result: $ac_cv_type_int" >&5 echo "${ECHO_T}$ac_cv_type_int" >&6 -echo "$as_me:$LINENO: checking size of int" >&5 +echo "$as_me:6465: checking size of int" >&5 echo $ECHO_N "checking size of int... $ECHO_C" >&6 if test "${ac_cv_sizeof_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_int" = yes; then - # The cast to unsigned long 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. 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. */ +#line 6474 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (int))) >= 0)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (int)) >= 0)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6486: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6489: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6492: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6495: \$? = $ac_status" >&5 (exit $ac_status); }; }; 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. */ +#line 6500 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (int)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6512: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6515: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6518: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6521: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else 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` +cat conftest.$ac_ext >&5 +ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done else 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) (sizeof (int))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 +cat conftest.$ac_ext >&5 +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. */ +#line 6537 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (int))) >= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (int)) >= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6549: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6552: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6555: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6558: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else 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` +cat conftest.$ac_ext >&5 +ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo= ac_hi= fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f 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. */ +#line 6574 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (int)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6586: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6589: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6592: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6595: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo=`expr '(' $ac_mid ')' + 1` +cat conftest.$ac_ext >&5 +ac_lo=`expr $ac_mid + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done -case $ac_lo in -?*) ac_cv_sizeof_int=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (int), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } ;; -esac +ac_cv_sizeof_int=$ac_lo else if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} + { { echo "$as_me:6608: error: cannot run test program while cross compiling" >&5 +echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 6613 "configure" +#include "confdefs.h" $ac_includes_default -long longval () { return (long) (sizeof (int)); } -unsigned long ulongval () { return (long) (sizeof (int)); } -#include -#include int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if (((long) (sizeof (int))) < 0) - { - long i = longval (); - if (i != ((long) (sizeof (int)))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != ((long) (sizeof (int)))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); - +FILE *f = fopen ("conftest.val", "w"); +if (!f) + exit (1); +fprintf (f, "%d", (sizeof (int))); +fclose (f); ; return 0; } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +if { (eval echo "$as_me:6629: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6632: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { (eval echo "$as_me:6634: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6637: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_int=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (int), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } +cat conftest.$ac_ext >&5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val @@ -9241,24 +6650,20 @@ else ac_cv_sizeof_int=0 fi fi -echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5 +echo "$as_me:6653: result: $ac_cv_sizeof_int" >&5 echo "${ECHO_T}$ac_cv_sizeof_int" >&6 -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <&5 +echo "$as_me:6659: checking for long" >&5 echo $ECHO_N "checking for long... $ECHO_C" >&6 if test "${ac_cv_type_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 6665 "configure" +#include "confdefs.h" $ac_includes_default int main () @@ -9272,382 +6677,209 @@ if (sizeof (long)) } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6680: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6683: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6686: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6689: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_type_long=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 +echo "$as_me:6699: result: $ac_cv_type_long" >&5 echo "${ECHO_T}$ac_cv_type_long" >&6 -echo "$as_me:$LINENO: checking size of long" >&5 +echo "$as_me:6702: checking size of long" >&5 echo $ECHO_N "checking size of long... $ECHO_C" >&6 if test "${ac_cv_sizeof_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$ac_cv_type_long" = yes; then - # The cast to unsigned long 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. 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. */ +#line 6711 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (long)) >= 0)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6723: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6726: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6729: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6732: \$? = $ac_status" >&5 (exit $ac_status); }; }; 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. */ +#line 6737 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (long)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6749: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6752: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6755: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6758: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else 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` +cat conftest.$ac_ext >&5 +ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done else 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) (sizeof (long))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 +cat conftest.$ac_ext >&5 +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. */ +#line 6774 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (long)) >= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6786: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6789: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6792: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6795: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else 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` +cat conftest.$ac_ext >&5 +ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo= ac_hi= -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f 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. */ +#line 6811 "configure" +#include "confdefs.h" $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 - +int _array_ [1 - 2 * !((sizeof (long)) <= $ac_mid)] ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6823: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6826: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6829: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6832: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo=`expr '(' $ac_mid ')' + 1` +cat conftest.$ac_ext >&5 +ac_lo=`expr $ac_mid + 1` fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done -case $ac_lo in -?*) ac_cv_sizeof_long=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } ;; -esac +ac_cv_sizeof_long=$ac_lo else if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} + { { echo "$as_me:6845: error: cannot run test program while cross compiling" >&5 +echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 6850 "configure" +#include "confdefs.h" $ac_includes_default -long longval () { return (long) (sizeof (long)); } -unsigned long ulongval () { return (long) (sizeof (long)); } -#include -#include int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - exit (1); - if (((long) (sizeof (long))) < 0) - { - long i = longval (); - if (i != ((long) (sizeof (long)))) - exit (1); - fprintf (f, "%ld\n", i); - } - else - { - unsigned long i = ulongval (); - if (i != ((long) (sizeof (long)))) - exit (1); - fprintf (f, "%lu\n", i); - } - exit (ferror (f) || fclose (f) != 0); - +FILE *f = fopen ("conftest.val", "w"); +if (!f) + exit (1); +fprintf (f, "%d", (sizeof (long))); +fclose (f); ; return 0; } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +if { (eval echo "$as_me:6866: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6869: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { (eval echo "$as_me:6871: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6874: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_long=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } +cat conftest.$ac_ext >&5 fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f conftest.val @@ -9655,22 +6887,17 @@ else ac_cv_sizeof_long=0 fi fi -echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 +echo "$as_me:6890: result: $ac_cv_sizeof_long" >&5 echo "${ECHO_T}$ac_cv_sizeof_long" >&6 -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <&5 + echo "$as_me:6896: checking for bool support" >&5 echo $ECHO_N "checking for bool support... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 6899 "configure" +#include "confdefs.h" int main () @@ -9681,60 +6908,45 @@ bool t = true, f = false; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6911: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6914: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6917: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6920: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_cxx_bool_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_cxx_bool_ok=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_cxx_bool_ok" >&5 +rm -f conftest.$ac_objext conftest.$ac_ext + echo "$as_me:6929: result: $acx_cxx_bool_ok" >&5 echo "${ECHO_T}$acx_cxx_bool_ok" >&6 if test x"$acx_cxx_bool_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_CXX_BOOL 1 -_ACEOF +EOF : else acx_cxx_bool_ok=no - { { echo "$as_me:$LINENO: error: Your compiler must support bool to compile synergy" >&5 + { { echo "$as_me:6940: error: Your compiler must support bool to compile synergy" >&5 echo "$as_me: error: Your compiler must support bool to compile synergy" >&2;} { (exit 1); exit 1; }; } fi - - echo "$as_me:$LINENO: checking for exception support" >&5 + echo "$as_me:6945: checking for exception support" >&5 echo $ECHO_N "checking for exception support... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 6948 "configure" +#include "confdefs.h" int main () @@ -9745,60 +6957,45 @@ try{throw int(4);}catch(int){throw;}catch(...){} } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:6960: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6963: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:6966: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:6969: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_cxx_exception_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_cxx_exception_ok=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_cxx_exception_ok" >&5 +rm -f conftest.$ac_objext conftest.$ac_ext + echo "$as_me:6978: result: $acx_cxx_exception_ok" >&5 echo "${ECHO_T}$acx_cxx_exception_ok" >&6 if test x"$acx_cxx_exception_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_CXX_EXCEPTIONS 1 -_ACEOF +EOF : else acx_cxx_exception_ok=no - { { echo "$as_me:$LINENO: error: Your compiler must support exceptions to compile synergy" >&5 + { { echo "$as_me:6989: error: Your compiler must support exceptions to compile synergy" >&5 echo "$as_me: error: Your compiler must support exceptions to compile synergy" >&2;} { (exit 1); exit 1; }; } fi - - echo "$as_me:$LINENO: checking for C++ cast support" >&5 + echo "$as_me:6994: checking for C++ cast support" >&5 echo $ECHO_N "checking for C++ cast support... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 6997 "configure" +#include "confdefs.h" int main () @@ -9810,60 +7007,45 @@ const char* f="a";const_cast(f); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:7010: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7013: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:7016: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7019: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_cxx_cast_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_cxx_cast_ok=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_cxx_cast_ok" >&5 +rm -f conftest.$ac_objext conftest.$ac_ext + echo "$as_me:7028: result: $acx_cxx_cast_ok" >&5 echo "${ECHO_T}$acx_cxx_cast_ok" >&6 if test x"$acx_cxx_cast_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_CXX_CASTS 1 -_ACEOF +EOF : else acx_cxx_cast_ok=no - { { echo "$as_me:$LINENO: error: Your compiler must support C++ casts to compile synergy" >&5 + { { echo "$as_me:7039: error: Your compiler must support C++ casts to compile synergy" >&5 echo "$as_me: error: Your compiler must support C++ casts to compile synergy" >&2;} { (exit 1); exit 1; }; } fi - - echo "$as_me:$LINENO: checking for mutable support" >&5 + echo "$as_me:7044: checking for mutable support" >&5 echo $ECHO_N "checking for mutable support... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 7047 "configure" +#include "confdefs.h" int main () @@ -9875,60 +7057,45 @@ struct A{mutable int b;void f() const {b=0;}}; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:7060: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7063: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:7066: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7069: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_cxx_mutable_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_cxx_mutable_ok=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_cxx_mutable_ok" >&5 +rm -f conftest.$ac_objext conftest.$ac_ext + echo "$as_me:7078: result: $acx_cxx_mutable_ok" >&5 echo "${ECHO_T}$acx_cxx_mutable_ok" >&6 if test x"$acx_cxx_mutable_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_CXX_MUTABLE 1 -_ACEOF +EOF : else acx_cxx_mutable_ok=no - { { echo "$as_me:$LINENO: error: Your compiler must support mutable to compile synergy" >&5 + { { echo "$as_me:7089: error: Your compiler must support mutable to compile synergy" >&5 echo "$as_me: error: Your compiler must support mutable to compile synergy" >&2;} { (exit 1); exit 1; }; } fi - - echo "$as_me:$LINENO: checking for C++ standard library" >&5 + echo "$as_me:7094: checking for C++ standard library" >&5 echo $ECHO_N "checking for C++ standard library... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 7097 "configure" +#include "confdefs.h" #include int main () @@ -9939,54 +7106,41 @@ std::set a; a.insert(3); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:7109: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7112: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:7115: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7118: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_cxx_stdlib_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_cxx_stdlib_ok=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_cxx_stdlib_ok" >&5 +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + echo "$as_me:7127: result: $acx_cxx_stdlib_ok" >&5 echo "${ECHO_T}$acx_cxx_stdlib_ok" >&6 if test x"$acx_cxx_stdlib_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_CXX_STDLIB 1 -_ACEOF +EOF : else acx_cxx_stdlib_ok=no - { { echo "$as_me:$LINENO: error: Your compiler must support the C++ standard library to compile synergy" >&5 + { { echo "$as_me:7138: error: Your compiler must support the C++ standard library to compile synergy" >&5 echo "$as_me: error: Your compiler must support the C++ standard library to compile synergy" >&2;} { (exit 1); exit 1; }; } fi - -echo "$as_me:$LINENO: checking for working memcmp" >&5 +echo "$as_me:7143: checking for working memcmp" >&5 echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6 if test "${ac_cv_func_memcmp_working+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9995,12 +7149,9 @@ else ac_cv_func_memcmp_working=no else cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default +#line 7152 "configure" +#include "confdefs.h" + int main () { @@ -10019,12 +7170,12 @@ main () int i; for (i = 0; i < 4; i++) { - char *a = foo + i; - char *b = bar + i; - strcpy (a, "--------01111111"); - strcpy (b, "--------10000000"); - if (memcmp (a, b, 16) >= 0) - exit (1); + char *a = foo + i; + char *b = bar + i; + strcpy (a, "--------01111111"); + strcpy (b, "--------10000000"); + if (memcmp (a, b, 16) >= 0) + exit (1); } exit (0); } @@ -10034,141 +7185,99 @@ main () } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 +if { (eval echo "$as_me:7188: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7191: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { (eval echo "$as_me:7193: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7196: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_memcmp_working=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) +cat conftest.$ac_ext >&5 ac_cv_func_memcmp_working=no fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 +echo "$as_me:7208: result: $ac_cv_func_memcmp_working" >&5 echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6 -test $ac_cv_func_memcmp_working = no && case $LIBOBJS in - "memcmp.$ac_objext" | \ - *" memcmp.$ac_objext" | \ - "memcmp.$ac_objext "* | \ - *" memcmp.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS memcmp.$ac_objext" ;; -esac - - +test $ac_cv_func_memcmp_working = no && LIBOBJS="$LIBOBJS memcmp.$ac_objext" for ac_func in strftime do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo "$as_me:7215: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* 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 declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +#line 7221 "configure" +#include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - + which can conflict with char $ac_func (); below. */ +#include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" -{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); +char (*f) (); + +int +main () +{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} +f = $ac_func; #endif -int -main () -{ -return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:7252: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7255: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:7258: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7261: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 eval "$as_ac_var=no" fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:7271: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 +echo "$as_me:7280: checking for strftime in -lintl" >&5 echo $ECHO_N "checking for strftime in -lintl... $ECHO_C" >&6 if test "${ac_cv_lib_intl_strftime+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10176,11 +7285,8 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 7288 "configure" +#include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus @@ -10198,44 +7304,32 @@ strftime (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:7307: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7310: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:7313: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7316: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_intl_strftime=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 ac_cv_lib_intl_strftime=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5 +echo "$as_me:7327: result: $ac_cv_lib_intl_strftime" >&5 echo "${ECHO_T}$ac_cv_lib_intl_strftime" >&6 if test $ac_cv_lib_intl_strftime = yes; then - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\EOF #define HAVE_STRFTIME 1 -_ACEOF +EOF LIBS="-lintl $LIBS" fi @@ -10243,117 +7337,80 @@ fi fi done - for ac_func in gmtime_r do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo "$as_me:7343: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* 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 declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +#line 7349 "configure" +#include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - + which can conflict with char $ac_func (); below. */ +#include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" -{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); +char (*f) (); + +int +main () +{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} +f = $ac_func; #endif -int -main () -{ -return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:7380: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7383: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:7386: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7389: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 eval "$as_ac_var=no" fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:7399: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 + echo "$as_me:7409: checking for working getpwuid_r" >&5 echo $ECHO_N "checking for working getpwuid_r... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 7412 "configure" +#include "confdefs.h" #include int main () @@ -10365,43 +7422,31 @@ char buffer[4096]; struct passwd pwd, *pwdp; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:7425: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7428: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:7431: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7434: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_getpwuid_r_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_getpwuid_r_ok=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_getpwuid_r_ok" >&5 +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + echo "$as_me:7443: result: $acx_getpwuid_r_ok" >&5 echo "${ECHO_T}$acx_getpwuid_r_ok" >&6 if test x"$acx_getpwuid_r_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_GETPWUID_R 1 -_ACEOF +EOF : else @@ -10409,189 +7454,98 @@ _ACEOF fi - for ac_func in vsnprintf do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo "$as_me:7460: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -/* 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 declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +#line 7466 "configure" +#include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - + which can conflict with char $ac_func (); below. */ +#include /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" -{ #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); +char (*f) (); + +int +main () +{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} +f = $ac_func; #endif -int -main () -{ -return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:7497: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7500: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:7503: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7506: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 eval "$as_ac_var=no" fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:7516: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 +echo "$as_me:7529: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF +#line 7535 "configure" +#include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:7539: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err + egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7545: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi @@ -10599,70 +7553,25 @@ else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then - ac_header_preproc=yes + eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + cat conftest.$ac_ext >&5 + eval "$as_ac_Header=no" fi rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:7564: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF + cat >>confdefs.h <&5 +echo "$as_me:7574: checking types of arguments for select" >&5 echo $ECHO_N "checking types of arguments for select... $ECHO_C" >&6 if test "${ac_cv_func_select_args+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10671,11 +7580,8 @@ else for ac_arg1 in 'int' 'size_t' 'unsigned long' 'unsigned'; do for ac_arg5 in 'struct timeval *' 'const struct timeval *'; do cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 7583 "configure" +#include "confdefs.h" $ac_includes_default #if HAVE_SYS_SELECT_H # include @@ -10688,41 +7594,30 @@ int main () { extern int select ($ac_arg1, - $ac_arg234, $ac_arg234, $ac_arg234, - $ac_arg5); + $ac_arg234, $ac_arg234, $ac_arg234, + $ac_arg5); ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +if { (eval echo "$as_me:7604: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7607: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:7610: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7613: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_select_args="$ac_arg1,$ac_arg234,$ac_arg5"; break 3 else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done done done @@ -10730,38 +7625,32 @@ done : ${ac_cv_func_select_args='int,int *,struct timeval *'} fi -echo "$as_me:$LINENO: result: $ac_cv_func_select_args" >&5 +echo "$as_me:7628: result: $ac_cv_func_select_args" >&5 echo "${ECHO_T}$ac_cv_func_select_args" >&6 ac_save_IFS=$IFS; IFS=',' set dummy `echo "$ac_cv_func_select_args" | sed 's/\*/\*/g'` IFS=$ac_save_IFS shift -cat >>confdefs.h <<_ACEOF +cat >>confdefs.h <>confdefs.h <<_ACEOF +cat >>confdefs.h <>confdefs.h <<_ACEOF +cat >>confdefs.h <&5 + echo "$as_me:7649: checking for poll" >&5 echo $ECHO_N "checking for poll... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +#line 7652 "configure" +#include "confdefs.h" #include int main () @@ -10775,43 +7664,31 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 +if { (eval echo "$as_me:7667: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7670: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:7673: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + echo "$as_me:7676: \$? = $ac_status" >&5 (exit $ac_status); }; }; then acx_poll_ok=yes else echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +cat conftest.$ac_ext >&5 acx_poll_ok=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - echo "$as_me:$LINENO: result: $acx_poll_ok" >&5 +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + echo "$as_me:7685: result: $acx_poll_ok" >&5 echo "${ECHO_T}$acx_poll_ok" >&6 if test x"$acx_poll_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF +cat >>confdefs.h <<\EOF #define HAVE_POLL 1 -_ACEOF +EOF : else @@ -10819,10 +7696,7 @@ _ACEOF fi - - - - echo "$as_me:$LINENO: checking for C++ compiler warning flags" >&5 + echo "$as_me:7699: checking for C++ compiler warning flags" >&5 echo $ECHO_N "checking for C++ compiler warning flags... $ECHO_C" >&6 if test "$GXX" = "yes"; then acx_cxx_warnings="-Wall -Wno-unknown-pragmas" @@ -10832,11 +7706,10 @@ echo $ECHO_N "checking for C++ compiler warning flags... $ECHO_C" >&6 else acx_cxx_warnings="unknown" fi - echo "$as_me:$LINENO: result: $acx_cxx_warnings" >&5 + echo "$as_me:7709: result: $acx_cxx_warnings" >&5 echo "${ECHO_T}$acx_cxx_warnings" >&6 - - echo "$as_me:$LINENO: checking for C++ compiler warning are errors flags" >&5 + echo "$as_me:7712: checking for C++ compiler warning are errors flags" >&5 echo $ECHO_N "checking for C++ compiler warning are errors flags... $ECHO_C" >&6 if test "$GXX" = "yes"; then acx_cxx_warnings_are_errors="-Werror" @@ -10846,10 +7719,9 @@ echo $ECHO_N "checking for C++ compiler warning are errors flags... $ECHO_C" >&6 else acx_cxx_warnings_are_errors="unknown" fi - echo "$as_me:$LINENO: result: $acx_cxx_warnings_are_errors" >&5 + echo "$as_me:7722: result: $acx_cxx_warnings_are_errors" >&5 echo "${ECHO_T}$acx_cxx_warnings_are_errors" >&6 - CXXFLAGS="$CXXFLAGS $SYNERGY_CXXFLAGS $ARCH_CFLAGS" OBJCXXFLAGS="$OBJCXXFLAGS $CXXFLAGS $ARCH_CFLAGS" LIBS="$NANOSLEEP_LIBS $INET_ATON_LIBS $ARCH_LIBS $LIBS" @@ -10864,7 +7736,7 @@ else CXXDEPMODE="FOO=$MACOSX_DEPLOYMENT_TARGET $CXXDEPMODE" fi - ac_config_files="$ac_config_files Makefile cmd/Makefile cmd/launcher/Makefile cmd/synergyc/Makefile cmd/synergys/Makefile dist/Makefile dist/nullsoft/Makefile dist/rpm/Makefile dist/rpm/synergy.spec doc/Makefile doc/doxygen.cfg lib/Makefile lib/arch/Makefile lib/base/Makefile lib/client/Makefile lib/common/Makefile lib/io/Makefile lib/mt/Makefile lib/net/Makefile lib/platform/Makefile lib/server/Makefile lib/synergy/Makefile" +ac_config_files="$ac_config_files Makefile cmd/Makefile cmd/launcher/Makefile cmd/synergyc/Makefile cmd/synergys/Makefile dist/Makefile dist/nullsoft/Makefile dist/rpm/Makefile dist/rpm/synergy.spec doc/Makefile doc/doxygen.cfg lib/Makefile lib/arch/Makefile lib/base/Makefile lib/client/Makefile lib/common/Makefile lib/io/Makefile lib/mt/Makefile lib/net/Makefile lib/platform/Makefile lib/server/Makefile lib/synergy/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -10875,7 +7747,7 @@ cat >confcache <<\_ACEOF # 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 +# `ac_cv_env_foo' variables (set or unset) will be overriden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. @@ -10893,13 +7765,13 @@ _ACEOF # `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" + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | @@ -10910,7 +7782,7 @@ _ACEOF t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache -if diff $cache_file confcache >/dev/null 2>&1; then :; else +if cmp -s $cache_file confcache; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file @@ -10929,282 +7801,47 @@ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # 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[ ]*=/{ + ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; +s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; -s/^[^=]*=[ ]*$//; +s/^[^=]*=[ ]*$//; }' fi -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_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` - # 2. Add them. - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -if test -z "${WIN32_TRUE}" && test -z "${WIN32_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"WIN32\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"WIN32\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${UNIX_TRUE}" && test -z "${UNIX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"UNIX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"UNIX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${MSWINDOWS_TRUE}" && test -z "${MSWINDOWS_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"MSWINDOWS\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"MSWINDOWS\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${CARBON_TRUE}" && test -z "${CARBON_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"CARBON\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"CARBON\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${XWINDOWS_TRUE}" && test -z "${XWINDOWS_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"XWINDOWS\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"XWINDOWS\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi +DEFS=-DHAVE_CONFIG_H : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +{ echo "$as_me:7819: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL -# Generated by $as_me. +# Generated automatically by configure. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false -ac_cs_recheck=false -ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} +ac_cs_invocation="\$0 \$@" + _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi -DUALCASE=1; export DUALCASE # for MKS sh - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - $as_unset $as_var - fi -done - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - # Name of the executable. -as_me=`$as_basename "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - - -# PATH needs CR, and LINENO needs CR and PATH. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done - - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | - sed ' - N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, - t loop - s,-$,, - s,^['$as_cr_digits']*\n,, - ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno - # Exit status is that of the last command. - exit -} - - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac +as_me=`echo "$0" |sed 's,.*[\\/],,'` if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr @@ -11230,21 +7867,24 @@ else fi rm -f conf$$ conf$$.exe conf$$.file -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - as_executable_p="test -f" -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +# Support unset when possible. +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi +# NLS nuisances. +$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } +$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } +$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } +$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } +$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } +$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } +$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } +$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } # IFS # We need space, tab and new line, in precisely that order. @@ -11253,34 +7893,10 @@ as_nl=' IFS=" $as_nl" # CDPATH. -$as_unset CDPATH +$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } exec 6>&1 -# Open the log real soon, to keep \$[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 -cat >&5 <<_CSEOF - -This file was extended by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 _ACEOF # Files that config.status was made for. @@ -11300,7 +7916,7 @@ if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\EOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the @@ -11310,13 +7926,12 @@ Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit - -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + instantiate the configuration file FILE --header=FILE[:TEMPLATE] - instantiate the configuration header FILE + instantiate the configuration header FILE Configuration files: $config_files @@ -11328,22 +7943,23 @@ Configuration commands: $config_commands Report bugs to ." -_ACEOF +EOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\EOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: @@ -11353,30 +7969,30 @@ do --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - ac_shift=: - ;; - -*) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift + shift + set dummy "$ac_option" "$ac_optarg" ${1+"$@"} + shift ;; + -*);; *) # This is not an option, so the user has probably given explicit # arguments. - ac_option=$1 ac_need_defaults=false;; esac - case $ac_option in + case $1 in # Handling of the options. -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +EOF +cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 + { { echo "$as_me:7995: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} @@ -11386,19 +8002,16 @@ Try \`$0 --help' for more information." >&2;} --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" + shift + CONFIG_FILES="$CONFIG_FILES $1" ac_need_defaults=false;; --header | --heade | --head | --hea ) - $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + shift + CONFIG_HEADERS="$CONFIG_HEADERS $1" ac_need_defaults=false;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 + -*) { { echo "$as_me:8014: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} @@ -11410,34 +8023,35 @@ Try \`$0 --help' for more information." >&2;} shift done -ac_configure_extra_args= +exec 5>>config.log +cat >&5 << _ACEOF -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi +## ----------------------- ## +## Running config.status. ## +## ----------------------- ## -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -if \$ac_cs_recheck; then - echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -fi +This file was extended by $as_me 2.52, executed with + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + > $ac_cs_invocation +on `(hostname || uname -n) 2>/dev/null | sed 1q` _ACEOF +EOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\EOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in @@ -11464,9 +8078,9 @@ do "lib/platform/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/platform/Makefile" ;; "lib/server/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/server/Makefile" ;; "lib/synergy/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/synergy/Makefile" ;; - "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 + *) { { echo "$as_me:8083: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac @@ -11482,9 +8096,6 @@ if $ac_need_defaults; then 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 to put it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { @@ -11493,23 +8104,23 @@ $debug || } # Create a (secure) tmp directory for tmp files. - +: ${TMPDIR=/tmp} { - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=./confstat$$-$RANDOM + tmp=$TMPDIR/cs$$-$RANDOM (umask 077 && mkdir $tmp) } || { - echo "$me: cannot create a temporary directory in ." >&2 + echo "$me: cannot create a temporary directory in $TMPDIR" >&2 { (exit 1); exit 1; } } -_ACEOF +EOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t @@ -11543,19 +8148,27 @@ s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t -s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@DEFS@,$DEFS,;t t s,@LIBS@,$LIBS,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t s,@PACKAGE@,$PACKAGE,;t t s,@VERSION@,$VERSION,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t s,@ACLOCAL@,$ACLOCAL,;t t s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t @@ -11563,11 +8176,13 @@ s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t s,@AMTAR@,$AMTAR,;t t s,@install_sh@,$install_sh,;t t -s,@STRIP@,$STRIP,;t t -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t +s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t +s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t +s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t +s,@DEPDIR@,$DEPDIR,;t t s,@build@,$build,;t t s,@build_cpu@,$build_cpu,;t t s,@build_vendor@,$build_vendor,;t t @@ -11591,14 +8206,8 @@ s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@DEPDIR@,$DEPDIR,;t t s,@am__include@,$am__include,;t t s,@am__quote@,$am__quote,;t t -s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t -s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t -s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t s,@CCDEPMODE@,$CCDEPMODE,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t @@ -11617,18 +8226,16 @@ s,@PTHREAD_CFLAGS@,$PTHREAD_CFLAGS,;t t s,@NANOSLEEP_LIBS@,$NANOSLEEP_LIBS,;t t s,@INET_ATON_LIBS@,$INET_ATON_LIBS,;t t s,@CXXCPP@,$CXXCPP,;t t -s,@EGREP@,$EGREP,;t t s,@X_CFLAGS@,$X_CFLAGS,;t t s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t s,@X_LIBS@,$X_LIBS,;t t s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t s,@LIBOBJS@,$LIBOBJS,;t t -s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF -_ACEOF +EOF - cat >>$CONFIG_STATUS <<\_ACEOF + cat >>$CONFIG_STATUS <<\EOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 @@ -11653,9 +8260,9 @@ _ACEOF (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end @@ -11667,144 +8274,86 @@ _ACEOF fi fi # test -n "$CONFIG_FILES" -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +EOF +cat >>$CONFIG_STATUS <<\EOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + { case "$ac_dir" in + [\\/]* | ?:[\\/]* ) as_incr_dir=;; + *) as_incr_dir=.;; esac +as_dummy="$ac_dir" +for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do + case $as_mkdir_dir in + # Skip DOS drivespec + ?:) as_incr_dir=$as_mkdir_dir ;; + *) + as_incr_dir=$as_incr_dir/$as_mkdir_dir + test -d "$as_incr_dir" || mkdir "$as_incr_dir" + ;; + esac +done; } -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac + ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` + else + ac_dir_suffix= ac_dots= + fi + case $srcdir in + .) ac_srcdir=. + if test -z "$ac_dots"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_dots$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_dots$srcdir ;; + esac case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + *) ac_INSTALL=$ac_dots$INSTALL ;; esac if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 + { echo "$as_me:8348: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." + # /* config.h. Generated automatically by config.status. */ + configure_input="Generated automatically from `echo $ac_file_in | + sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. @@ -11813,43 +8362,37 @@ echo "$as_me: creating $ac_file" >&6;} case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:8366: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo "$f";; + echo $f;; *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo $f + elif test -f "$srcdir/$f"; then + # Source tree + echo $srcdir/$f + else + # /dev/null tree + { { echo "$as_me:8379: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +EOF +cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\_ACEOF +EOF +cat >>$CONFIG_STATUS <<\EOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t -s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -s,@builddir@,$ac_builddir,;t t -s,@abs_builddir@,$ac_abs_builddir,;t t -s,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin @@ -11861,8 +8404,8 @@ s,@INSTALL@,$ac_INSTALL,;t t fi done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +EOF +cat >>$CONFIG_STATUS <<\EOF # # CONFIG_HEADER section. @@ -11872,12 +8415,12 @@ cat >>$CONFIG_STATUS <<\_ACEOF # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' @@ -11886,15 +8429,15 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac - test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 + test x"$ac_file" != x- && { echo "$as_me:8440: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the @@ -11904,31 +8447,30 @@ echo "$as_me: creating $ac_file" >&6;} case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:8451: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - # Do quote $f, to prevent DOS paths from being IFS'd. - echo "$f";; + echo $f;; *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo $f + elif test -f "$srcdir/$f"; then + # Source tree + echo $srcdir/$f + else + # /dev/null tree + { { echo "$as_me:8464: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in -_ACEOF +EOF # Transform confdefs.h into two sed scripts, `conftest.defines' and # `conftest.undefs', that substitutes the proper values into @@ -11944,16 +8486,16 @@ rm -f conftest.defines conftest.undefs # `end' is used to avoid that the second main sed command (meant for # 0-ary CPP macros) applies to n-ary macro definitions. # See the Autoconf documentation for `clear'. -cat >confdef2sed.sed <<\_ACEOF +cat >confdef2sed.sed <<\EOF s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end -_ACEOF +EOF # If some macros were called several times there might be several times # the same #defines, which is useless. Nevertheless, we may not want to # sort them, since we want the *last* AC-DEFINE to be honored. @@ -11964,14 +8506,14 @@ rm -f confdef2sed.sed # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. -cat >>conftest.undefs <<\_ACEOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -_ACEOF +cat >>conftest.undefs <<\EOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +EOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail @@ -11980,7 +8522,7 @@ do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS @@ -11995,7 +8537,7 @@ do mv conftest.tail conftest.defines done rm -f conftest.defines -echo ' fi # grep' >>$CONFIG_STATUS +echo ' fi # egrep' >>$CONFIG_STATUS echo >>$CONFIG_STATUS # Break up conftest.undefs because some shells have a limit on the size @@ -12007,7 +8549,7 @@ do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS @@ -12023,59 +8565,51 @@ do done rm -f conftest.undefs -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\EOF # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ + # /* config.h. Generated automatically by config.status. */ if test x"$ac_file" = x-; then - echo "/* Generated by configure. */" >$tmp/config.h + echo "/* Generated automatically by configure. */" >$tmp/config.h else - echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then - if diff $ac_file $tmp/config.h >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 + if cmp -s $ac_file $tmp/config.h 2>/dev/null; then + { echo "$as_me:8581: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + { case "$ac_dir" in + [\\/]* | ?:[\\/]* ) as_incr_dir=;; + *) as_incr_dir=.;; +esac +as_dummy="$ac_dir" +for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do + case $as_mkdir_dir in + # Skip DOS drivespec + ?:) as_incr_dir=$as_mkdir_dir ;; + *) + as_incr_dir=$as_incr_dir/$as_mkdir_dir + test -d "$as_incr_dir" || mkdir "$as_incr_dir" + ;; + esac +done; } + fi rm -f $ac_file mv $tmp/config.h $ac_file fi @@ -12086,12 +8620,12 @@ echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} # Run the commands associated with the file. case $ac_file in config.h ) # update the timestamp -echo 'timestamp for config.h' >"./stamp-h1" +echo timestamp >"./stamp-h1" ;; esac done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +EOF +cat >>$CONFIG_STATUS <<\EOF # # CONFIG_COMMANDS section. @@ -12099,137 +8633,16 @@ cat >>$CONFIG_STATUS <<\_ACEOF for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_dir=`(dirname "$ac_dest") 2>/dev/null || -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_dest" : 'X\(//\)[^/]' \| \ - X"$ac_dest" : 'X\(//\)$' \| \ - X"$ac_dest" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_dest" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p "$ac_dir" - else - as_dir="$ac_dir" - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; }; } - - ac_builddir=. - -if test "$ac_dir" != .; then - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi - -case $srcdir in - .) # No --srcdir option. We are building in place. - ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac - - { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 -echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in - depfiles ) 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. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`(dirname "$mf") 2>/dev/null || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -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 + default-1 ) +test x"$AMDEP_TRUE" != x"" || +for mf in $CONFIG_FILES; do + case "$mf" in + Makefile) dirpart=.;; + */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; + *) continue;; + esac grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. @@ -12254,43 +8667,8 @@ echo X"$mf" | sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue - fdir=`(dirname "$file") 2>/dev/null || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { if $as_mkdir_p; then - mkdir -p $dirpart/$fdir - else - as_dir=$dirpart/$fdir - as_dirs= - while test ! -d "$as_dir"; do - as_dirs="$as_dir $as_dirs" - as_dir=`(dirname "$as_dir") 2>/dev/null || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - done - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 -echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} - { (exit 1); exit 1; }; }; } - + fdir=`echo "$file" | sed -e 's|/[^/]*$||'` + $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done @@ -12298,16 +8676,15 @@ done ;; esac done -_ACEOF +EOF -cat >>$CONFIG_STATUS <<\_ACEOF +cat >>$CONFIG_STATUS <<\EOF { (exit 0); exit 0; } -_ACEOF +EOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save - # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open @@ -12318,11 +8695,8 @@ ac_clean_files=$ac_clean_files_save # 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 + $SHELL $CONFIG_STATUS || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. diff --git a/dist/Makefile.in b/dist/Makefile.in index 96d1e1f..9b02333 100644 --- a/dist/Makefile.in +++ b/dist/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -139,7 +132,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu dist/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd @@ -149,7 +144,7 @@ uninstall-info-am: # (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): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -169,7 +164,7 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -197,19 +192,16 @@ tags-recursive: test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) @@ -220,50 +212,45 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + for subdir in $(SUBDIRS); do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ @@ -293,7 +280,6 @@ install-am: all-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -301,7 +287,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/dist/nullsoft/Makefile.in b/dist/nullsoft/Makefile.in index d21c36c..043f797 100644 --- a/dist/nullsoft/Makefile.in +++ b/dist/nullsoft/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -131,31 +124,29 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu dist/nullsoft/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: tags: TAGS TAGS: + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -179,7 +170,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -187,7 +177,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/dist/nullsoft/synergy.nsi b/dist/nullsoft/synergy.nsi index 1222176..bbc26cf 100644 --- a/dist/nullsoft/synergy.nsi +++ b/dist/nullsoft/synergy.nsi @@ -62,21 +62,31 @@ Section "Synergy (required)" File COPYING.txt File ChangeLog.txt File ${DEPTH}\doc\PORTING + File ${DEPTH}\doc\about.html File ${DEPTH}\doc\authors.html File ${DEPTH}\doc\autostart.html + File ${DEPTH}\doc\banner.html File ${DEPTH}\doc\compiling.html File ${DEPTH}\doc\configuration.html + File ${DEPTH}\doc\contact.html File ${DEPTH}\doc\developer.html File ${DEPTH}\doc\faq.html File ${DEPTH}\doc\history.html + File ${DEPTH}\doc\home.html File ${DEPTH}\doc\index.html File ${DEPTH}\doc\license.html File ${DEPTH}\doc\news.html + File ${DEPTH}\doc\roadmap.html File ${DEPTH}\doc\running.html File ${DEPTH}\doc\security.html File ${DEPTH}\doc\synergy.css File ${DEPTH}\doc\tips.html - File ${DEPTH}\doc\todo.html + File ${DEPTH}\doc\toc.html + File ${DEPTH}\doc\trouble.html + + SetOutPath $INSTDIR\images + File ${DEPTH}\doc\images\logo.gif + File ${DEPTH}\doc\images\warp.gif ; Write the installation path into the registry WriteRegStr HKLM SOFTWARE\Synergy "Install_Dir" "$INSTDIR" @@ -96,12 +106,18 @@ Section "Start Menu Shortcuts" CreateDirectory "$SMPROGRAMS\Synergy" CreateShortCut "$SMPROGRAMS\Synergy\Synergy.lnk" "$INSTDIR\synergy.exe" "" "$INSTDIR\synergy.exe" 0 CreateShortCut "$SMPROGRAMS\Synergy\README.lnk" "$INSTDIR\index.html" - CreateShortCut "$SMPROGRAMS\Synergy\FAQ.lnk" "$INSTDIR\faq.html" CreateShortCut "$SMPROGRAMS\Synergy\Synergy Folder.lnk" "$INSTDIR" CreateShortCut "$SMPROGRAMS\Synergy\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 SectionEnd +; Optional section (can be disabled by the user) +Section "Desktop Icon" + + CreateShortCut "$DESKTOP\Synergy.lnk" "$INSTDIR\synergy.exe" "" "$INSTDIR\synergy.exe" 0 + +SectionEnd + ;-------------------------------- ; Uninstaller @@ -139,6 +155,7 @@ Section "Uninstall" ; Remove shortcuts, if any Delete "$SMPROGRAMS\Synergy\*.*" + Delete "$DESKTOP\Synergy.lnk" ; Remove directories used RMDir "$SMPROGRAMS\Synergy" diff --git a/dist/rpm/Makefile.in b/dist/rpm/Makefile.in index 41448b7..5e1c41c 100644 --- a/dist/rpm/Makefile.in +++ b/dist/rpm/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -128,33 +121,31 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu dist/rpm/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status synergy.spec: $(top_builddir)/config.status synergy.spec.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status uninstall-info-am: tags: TAGS TAGS: + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -178,7 +169,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -186,7 +176,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/doc/Makefile.am b/doc/Makefile.am index 4549456..2efec24 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -17,20 +17,29 @@ EXTRA_DIST = \ PORTING \ doxygen.cfg.in \ synergy.css \ + about.html \ authors.html \ autostart.html \ + banner.html \ + border.html \ compiling.html \ configuration.html \ + contact.html \ developer.html \ faq.html \ history.html \ + home.html \ index.html \ license.html \ news.html \ + roadmap.html \ running.html \ security.html \ tips.html \ - todo.html \ + toc.html \ + trouble.html \ + images/logo.gif \ + images/warp.gif \ $(NULL) MAINTAINERCLEANFILES = \ diff --git a/doc/Makefile.in b/doc/Makefile.in index 584a0cd..f4e4009 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -110,20 +103,29 @@ EXTRA_DIST = \ PORTING \ doxygen.cfg.in \ synergy.css \ + about.html \ authors.html \ autostart.html \ + banner.html \ + border.html \ compiling.html \ configuration.html \ + contact.html \ developer.html \ faq.html \ history.html \ + home.html \ index.html \ license.html \ news.html \ + roadmap.html \ running.html \ security.html \ tips.html \ - todo.html \ + toc.html \ + trouble.html \ + images/logo.gif \ + images/warp.gif \ $(NULL) @@ -146,33 +148,32 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status doxygen.cfg: $(top_builddir)/config.status doxygen.cfg.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status uninstall-info-am: tags: TAGS TAGS: + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + $(mkinstalldirs) $(distdir)/images + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -196,7 +197,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -204,7 +204,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/doc/about.html b/doc/about.html new file mode 100644 index 0000000..aadd576 --- /dev/null +++ b/doc/about.html @@ -0,0 +1,55 @@ + + + + + + + + About Synergy + + +

+With synergy, all the computers on your desktop form a single virtual +screen. You use the mouse and keyboard of only one of the computers +while you use all of the monitors on all of the computers. +You tell synergy how many screens you have and their positions relative +to one another. Synergy then detects when the mouse moves off +the edge of a screen and jumps it instantly to the neighboring screen. +The keyboard works normally on each screen; input goes to whichever +screen has the cursor. +

+In this example, the user is moving the mouse from left to right. +When the cursor reaches the right edge of the left screen it jumps +instantly to the left edge of the right screen. +

+

+

+You can arrange screens side-by-side, above and below one another, +or any combination. You can even have a screen jump to the opposite +edge of itself. Synergy also understands multiple screens attached +to the same computer. +

+Running a game and don't want synergy to jump screens? No problem. +Just toggle Scroll Lock. Synergy keeps the cursor on the same screen +when Scroll Lock is on. (This can be configured to another hot key.) +

+Do you wish you could cut and paste between computers? Now you can! +Just copy text, HTML, or an image as you normally would on one screen +then switch to another screen and paste it. It's as if all your +computers shared a single clipboard (and separate primary selection for +you X11 users). It even converts newlines to each computer's native +form so cut and paste between different operating systems works +seamlessly. And it does it all in Unicode so any text can be copied. +

+

+Do you use a screen saver? With synergy all your screen savers act in +concert. When one starts they all start. When one stops they all +stop. And, if you require a password to unlock the screen, you'll +only have to enter a password on one screen. +

+If you regularly use multiple computers on one desk, give synergy a +try. You'll wonder how you ever lived without it. +

+ + + diff --git a/doc/authors.html b/doc/authors.html index 89d2bf8..bbf3fd1 100644 --- a/doc/authors.html +++ b/doc/authors.html @@ -1,38 +1,65 @@ - - Synergy Authors + + + + + Synergy Authors -

Synergy Authors

+

Synergy Authors

+

- + + + + - + + + + - + + + + - + + + + - + + + + - + + + +
Chris SchoenemanChris Schoeneman crs23@users.sourceforge.no_spam.net  Creator, owner, primary developer
Ryan BreenRyan Breen ryan@ryanbreen.no_spam.com  Initial Mac OS X port
Guido PoschtaGuido Poschta moolder@gmx.no_spam.net  Windows installer
Bertrand Landry HetuBertrand Landry Hetu bertrand@landryhetu.no_spam.com  Mac OS X port
Tom ChadwickTom Chadwick vttom@users.sourceforge.no_spam.net  PageUp/PageDown on X servers without mouse wheel support
Brent PriddyBrent Priddy toopriddy@users.sourceforge.no_spam.net  Re-resolving server hostname on each connection
+

+To avoid spam bots, the above email addresses have ".no_spam" +hidden near the end. If you copy and paste the text be sure to +remove it.

+ diff --git a/doc/autostart.html b/doc/autostart.html index 8180355..0343048 100644 --- a/doc/autostart.html +++ b/doc/autostart.html @@ -1,41 +1,41 @@ - - Synergy Autostart Guide + + + + + Synergy Autostart Guide -

Starting synergy automatically

+

Starting synergy automatically

+

You can configure synergy to start automatically when the computer starts or when you log in. The steps to do that are different on each platform. Note that changing these configurations doesn't actually start or stop synergy. The changes take effect the next time you start your computer or log in. -

- -

Windows

-

+

+

Windows

+

Start synergy and click the Configure... button by the text Automatic Startup. The Auto Start dialog will pop up. If an error occurs then correct the problem and click Configure again. -

-

+

On the Auto Start dialog you'll configure synergy to start or not start automatically when the computer starts or when you log in. You need Administrator access rights to start synergy automatically when the computer starts. The dialog will let you know if you have sufficient permission. -

-

+

If synergy is already configured to automatically start then there will be two Uninstall buttons, at most one of which is enabled. Click the enabled button, if any, to tell synergy to not start automatically. -

-

+

If synergy is not configured to start automatically then there will be two Install buttons. If you have sufficient permission to have synergy start automatically when the @@ -46,10 +46,9 @@

Windows

Otherwise, click the Install button in the When You Log In box to have synergy automatically start when you log in. -

- -

Unix

-

+

+

Unix

+

Synergy requires an X server. That means a server must be running and synergy must be authorized to connect to that server. It's best to have the display manager start synergy. You'll need @@ -57,36 +56,33 @@

Unix

manager configuration files. If you don't have that permission you can start synergy after logging in via the .xsession file. -

-

+

Typically, you need to edit three script files. The first file will start synergy before a user logs in, the second will kill that copy of synergy, and the third will start it again after the user logs in. -

-

+

The contents of the scripts varies greatly between systems so there's no one definite place where you should insert your edits. However, these scripts often exit before reaching the bottom so put the edits near the top of the script. -

-

+

The location and names of these files depend on the operating system and display manager you're using. A good guess for the location is /etc/X11. If you use kdm then try looking in /etc/kde3 or /usr/kde/version/share/config. Typical file names are: -

-

+

+
      xdm    kdm    gdm
1 xdm/Xsetup kdm/Xsetup gdm/Init/Default (*)
2 xdm/Xstartup kdm/Xstartup gdm/PostLogin/Default (*)
3 xdm/Xsession kdm/Xsession gdm/Sessions/Default (*, **)
-

-

+ +

*) The Default file is used if no other suitable file is found. gdm will try displayname (e.g. :0) @@ -97,8 +93,7 @@

Unix

xdm/Xsession or dm/Xsession if gdm/Sessions/Default doesn't exist. -

-

+

For a synergy client, add the following to the first file: /usr/bin/killall synergyc @@ -107,15 +102,13 @@

Unix

Of course, the path to synergyc depends on where you installed it so adjust as necessary. -

-

+

Add to the second file: /usr/bin/killall synergyc sleep 1 -

-

+

And to the third file: /usr/bin/killall synergyc @@ -126,8 +119,7 @@

Unix

must not include -f or --no-daemon or the script will never exit and you won't be able to log in. -

-

+

The changes are the same for the synergy server except replace synergyc with synergys and use the appropriate synergys command @@ -137,38 +129,32 @@

Unix

Make sure it exists in one of those places or use the --config config-pathname option to specify its location. -

-

+

Note that some display managers (xdm and kdm, but not gdm) grab the keyboard and do not release it until the user logs in for security reasons. This prevents a synergy server from sharing the mouse and keyboard until the user logs in. It doesn't prevent a synergy client from synthesizing mouse and keyboard input, though. -

-

+

If you're configuring synergy to start only after you log in then edit your .xsession file. Add just what you would add to the third file above. -

- -

Mac OS X

-

+

+

Mac OS X

+

[By Tor Slettnes] -

-

+

There are three different ways to automatically start Synergy (client or server) on Mac OS X: -

-

+

  1. The first method involves creating a StartupItem at the system level, which is executed when the machine starts up or shuts down. This script will run in the background, and relaunch synergy as needed. -

    -

    +

    Pros:
    @@ -182,14 +168,12 @@

    Mac OS X

  2. -

    -

    +

  3. The second method will launch Synergy from the LoginWindow application, once a particular user has logged in. -

    -

    +

    Pros:
    @@ -204,13 +188,11 @@

    Mac OS X

  4. -

    -

    +

  5. The third method is to launch a startup script from the "Startup Items" tab under System Preferences -> Accounts. -

    -

    +

    Pros:
    @@ -224,17 +206,14 @@

    Mac OS X

-

-

+

The text below describes how to implement a Synergy client using the first two methods simultaneously. This way, Synergy is always running, and the clipboard is available when someone is logged in. A Mac OS X Synergy server setup will be quite similar. -

-

+

1. Create a System Level Startup Item -

-

+

  • Open a Terminal window, and become root: @@ -252,8 +231,7 @@

    Mac OS X

    In this folder, create a new script file by the same name as the directory itself, Synergy. This script should contain the following text: -

    -

    +

    #!/bin/sh . /etc/rc.common @@ -293,12 +271,10 @@

    Mac OS X

      RunService "$1" -

    -

    +

    However, replace synergy-server with the actual name or IP address of your Synergy server. -

    -

    +

    Note that this scripts takes care not to start Synergy if another instance is currently running. This allows it to run in the background even when synergy is also @@ -314,8 +290,7 @@

    Mac OS X

  • In the same folder, create a file named StartupParameters.plist containing: -

    -

    +

    { Description = "Synergy Client"; @@ -326,25 +301,21 @@

    Mac OS X

-

-

+

That's it! If you want to test this setup, you can run the startup script as follows: +

# /Library/StartupItems/Synergy/Synergy start -

-

+

Any errors, as well as output from Synergy, will be shown in your terminal window. -

-

+

Next time you reboot, Synergy should start automatically. -

-

+

2. Run Synergy When a User Logs In -

-

+

Each time a user successfully logs in via the console, the LoginWindow application creates a unique session cookie and stores it in the environment variable @@ -352,27 +323,23 @@

Mac OS X

to work, Synergy needs access to this environment variable. In other words, Synergy needs to be launched (directly or indirectly) via the LoginWindow application. -

-

+

However, in order to kill any synergy processes started at the system level (as described above), we need root access. Thus, launching Synergy within the User's environment (e.g. via the Startup Items tab in System Preferences -> Accounts) is not an option that work in conjunction with the method above. -

-

+

Fortunately, the LoginWindow application provides a "hook" for running a custom program (as root, with the username provided as the first and only argument) once a user has authenticated, but before the user is logged in. -

-

+

Unfortunately, only one such hook is available. If you have already installed a Login Hook, you may need to add the text from below to your existing script, rather than creating a new one. -

-

+

  • Launch a Terminal window, and become root: @@ -380,8 +347,7 @@

    Mac OS X

    $ sudo su -
  • -

    -

    +

  • Find out if a LoginHook already exists: @@ -395,8 +361,7 @@

    Mac OS X

    In the former case, you need to modify your existing script, and/or create a "superscript" which in turn calls your existing script plus the one we will create here. -

    -

    +

    The rest of this text assumes that this item did not already exist, and that we will create a new script.

  • @@ -410,8 +375,7 @@

    Mac OS X

  • In this folder, create a new script file (let's name it LoginHook.sh), containing the following text: -

    -

    +

    #!/bin/sh prog=(/usr/local/bin/synergyc -n $(hostname -s) ip-address-of-server) @@ -436,12 +400,10 @@

    Mac OS X

-

-

+

More information on setting up login hooks can be found at -Apple. -

-

+Apple. +

When running the Synergy client, you may need to use the IP address of the Synergy server rather than its host name. Specifically, unless you have listed the server in your @@ -449,21 +411,18 @@

Mac OS X

database, name services (i.e. DNS) may not yet be available by the time you log in after power-up. synergyc will quit if it cannot resolve the server name. -

-

+

(This is not an issue with the previous method, because the StartupParameters.plist file specifies that this script should not be run until "network" is available). -

-

+

3. Good Luck! -

-

+

Remember to look in your system log on both your server and your client(s) for clues to any problems you may have (/var/log/system.log on your OS X box, typically /var/log/syslog on Linux boxes).

- + diff --git a/doc/banner.html b/doc/banner.html new file mode 100644 index 0000000..eed6691 --- /dev/null +++ b/doc/banner.html @@ -0,0 +1,16 @@ + + + + + + + + Synergy Header + + + + + +
Synergy
+ + diff --git a/doc/border.html b/doc/border.html new file mode 100644 index 0000000..ce45847 --- /dev/null +++ b/doc/border.html @@ -0,0 +1,14 @@ + + + + + + + + Synergy + + + +
+ + diff --git a/doc/compiling.html b/doc/compiling.html index d79e350..3fe5c39 100644 --- a/doc/compiling.html +++ b/doc/compiling.html @@ -1,39 +1,40 @@ - - Building and Installing Synergy + + + + + Building and Installing Synergy -

Prerequisites for building

+

Prerequisites for building

+

To build synergy from the sources you'll need the following: -

  • Windows -
      -
    • VC++ 6.0 or up -
    - +
      +
    • VC++ 6.0 or up +
    +

  • Unix -
      -
    • gcc 2.95 or up -
    • X11R4 or up headers and libraries -
    - +
      +
    • gcc 2.95 or up +
    • X11R4 or up headers and libraries +
    +

  • Mac OS X -
      -
    • XCode; or gcc 2.95 or up -
    • Carbon development headers and libraries -
    +
      +
    • XCode; or gcc 2.95 or up +
    • Carbon development headers and libraries +
-

- -

Configuring the build

-

+

+

Configuring the build

+

This step is not necessary when using VC++ or XCode. -

-

+

To configure the build for your platform use the configure script:

   ./configure
@@ -47,80 +48,73 @@ 

Configuring the build

./configure --x-includes=/usr/openwin/include --x-libraries=/usr/openwin/lib
so synergy can find the X11 includes and libraries. -

- -

Building

+

+

Building

  • Windows -

    +

    Start VC++ and open synergy.dsw. Set the active configuration (Build > Set Active Configuration) to All - Debug or All - Release then build. Binaries are built into ./debug or ./build. -

    - +

  • Unix or Mac OS X without XCode -

    +

    Simply enter:

       make
       
    This will build the client and server and leave them in their respective source directories. -

    - +

  • Mac OS X with XCode -

    +

    Start XCode and open the synergy.xcode project. Build the all project using the Deployment flavor. -

    - +

- -

Installing

+

+

Installing

  • Windows -

    - You'll need NSIS, the +

    + You'll need NSIS, the Nullsoft Scriptable Install System. Build All - Release then build Installer - Release. This creates SynergyInstaller.exe in the build directory. Run this to install synergy. -

    -

    +

    Alternatively, you can simply copy the following files from the debug or build directory to a directory you choose (perhaps under the Program Files directory): -

    • synergy.exe
    • synergyc.exe
    • synergys.exe
    • synrgyhk.dll
    -

    - +

  • Unix or Mac OS X without XCode -

    +

       make install
       
    will install the client and server into /usr/local/bin unless you specified a different directory when you ran configure. -

    - +

  • Mac OS X with XCode -

    +

    Copy the following files from ./build to a convenient location: - +

    • synergyc
    • synergys
    -

    +

    + diff --git a/doc/configuration.html b/doc/configuration.html index e18294f..48b2cc2 100644 --- a/doc/configuration.html +++ b/doc/configuration.html @@ -1,27 +1,30 @@ - - Synergy Configuration Guide + + + + + Synergy Configuration Guide -

    Synergy Configuration File Format

    +

    Synergy Configuration File Format

    +

    The synergy server requires configuration. It will try certain pathnames to load the configuration file if you don't specify a path using the --config command line option. synergys --help reports those pathnames. -

    -

    +

    The configuration file is a plain text file. Use any text editor to create the configuration file. The file is broken into sections and each section has the form: -

    +
       section: name
         args
       end
    -
    + Comments are introduced by # and continue to the end of the line. name must be one of the following: @@ -36,8 +39,7 @@

    Synergy Configuration File Format

    SECTION, and section are all different and only the last is valid. Screen names are the exception; screen names are case-insensitive. -

    -

    +

    The file is parsed top to bottom and names cannot be used before they've been defined in the screens or aliases sections. So the @@ -45,9 +47,9 @@

    Synergy Configuration File Format

    must appear after the screens and links cannot refer to aliases unless the aliases appear before the links. -

    -

    screens

    -

    +

    +

    screens

    +

    args is a list of screen names, one name per line, each followed by a colon. Names are arbitrary strings but they must be unique. The hostname of each computer is recommended. (This @@ -60,30 +62,28 @@

    screens

    name = value and are listed one per line after the screen name. -

    -

    +

    Example: -

    +
         section: screens
    -    	moe:
    -    	larry:
    +     moe:
    +     larry:
                 halfDuplexCapsLock = true
                 halfDuplexNumLock = true
    -    	curly:
    +     curly:
                 meta = alt
         end
    -
    + This declares three screens named moe, larry, and curly. Screen larry has half-duplex Caps Lock and Num Lock keys (see below) and screen curly converts the meta modifier key to the alt modifier key. -

    -

    +

    A screen can have the following options:

    • halfDuplexCapsLock = {true|false} -

      +

      This computer has a Caps Lock key that doesn't report a press and a release event when the user presses it but instead reports a press event when it's turned on and a @@ -93,30 +93,32 @@

      screens

      on the server screen. If it acts strangely on one screen then that screen may need the option set to true. -

      +

    • halfDuplexNumLock = {true|false} -

      +

      This is identical to halfDuplexCapsLock except it applies to the Num Lock key. -

      +

    • halfDuplexScrollLock = {true|false} -

      +

      This is identical to halfDuplexCapsLock - except it applies to the Scroll Lock key. Note that synergy uses - Scroll Lock to keep the cursor on the current screen. That is, - when Scroll Lock is toggled on, the cursor is locked to the screen - that it's currently on. Use it to prevent accidental switching. -

      + except it applies to the Scroll Lock key. Note that, by default, + synergy uses Scroll Lock to keep the cursor on the current screen. That + is, when Scroll Lock is toggled on, the cursor is locked to the screen + that it's currently on. You can use that to prevent accidental switching. + You can also configure other hot keys to do that; see + lockCursorToScreen. +

    • switchCorners = <corners> -

      - See switchCorners below. -

      +

      + See switchCorners below. +

    • switchCornerSize = N -

      - See switchCornerSize below. -

      +

      + See switchCornerSize below. +

    • xtestIsXineramaUnaware = {true|false} -

      +

      This option works around a bug in the XTest extension when used in combination with Xinerama. It affects X11 clients only. Not all versions of the XTest @@ -126,33 +128,31 @@

      screens

      currently true by default. If you know your XTest extension is Xinerama aware then set this option to false. -

      +

    • shift = {shift|ctrl|alt|meta|super|none}
      ctrl = {shift|ctrl|alt|meta|super|none}
      alt = {shift|ctrl|alt|meta|super|none}
      meta = {shift|ctrl|alt|meta|super|none}
      super = {shift|ctrl|alt|meta|super|none}
      -

      +

      Map a modifier key pressed on the server's keyboard to a different modifier on this client. This option only has an effect on a client screen; it's accepted and ignored on the server screen. -

      -

      +

      You can map, say, the shift key to shift (the default), - ctrl, alt, meta, super or nothing. Normally, you + ctrl, alt, meta, super or nothing. Normally, you wouldn't remap shift or ctrl. You might, however, have an X11 server with meta bound to the Alt keys. To use this server effectively with a windows client, which doesn't use meta but uses alt extensively, you'll want the windows client to map meta to alt (using meta = alt). -

      +

    -

    - -

    aliases

    -

    +

    +

    aliases

    +

    args is a list of screen names just like in the screens section except each screen is followed by a list of aliases, one per line, not followed @@ -160,50 +160,45 @@

    aliases

    screen name lookup each alias is equivalent to the screen name it aliases. So a client can connect using its canonical screen name or any of its aliases. -

    -

    +

    Example: -

    +
         section: aliases
             larry:
                 larry.stooges.com
             curly:
                 shemp
         end
    -
    + Screen larry is also known as - larry.stooges.com and can connect as + larry.stooges.com and can connect as either name. Screen curly is also known as shemp (hey, it's just an example). -

    - -

    links

    -

    +

    +

    links

    +

    args is a list of screen names just like in the screens section except each screen is followed by a list of links, one per line. Each link has the form {left|right|up|down}[<range>] = name[<range>]. A link indicates which screen is adjacent in the given direction. -

    -

    +

    Each side of a link can specify a range which defines a portion of an edge. A range on the direction is the portion of edge you can leave from while a range on the screen is the portion of edge you'll enter into. Ranges are optional and default to the entire edge. All ranges on a particular direction of a particular screen must not overlap. -

    -

    +

    A <range> is written as (<start>,<end>). Both start and end are percentages in the range 0 to 100, inclusive. The start must be less than the end. 0 is the left or top of an edge and 100 is the right or bottom. -

    -

    +

    Example: -

    +
         section: links
             moe:
                 right        = larry
    @@ -215,7 +210,7 @@ 

    links

    down(0,50) = moe down(50,100) = larry(0,50) end -
    + This indicates that screen larry is to the right of screen moe (so moving the cursor off the right edge of moe would @@ -230,93 +225,98 @@

    links

    larry, all of moe is below the left half of curly, and the left half of larry is below the right half of - curly. Note that links do not have to be + curly. +

    + Note that links do not have to be symmetrical; for instance, here the edge between moe and curly maps to different ranges depending on if you're going up or down. -

    - -

    options

    -

    + In fact links don't have to be bidirectional. You can configure + the right of moe to go to + larry without a link from the left of + larry to moe. + It's possible to configure a screen with no outgoing links; the + cursor will get stuck on that screen unless you have a hot key + configured to switch off of that screen. +

    +

    options

    +

    args is a list of lines of the form name = value. These set the global options. -

    -

    +

    Example: -

    +
         section: options
             heartbeat = 5000
             switchDelay = 500
         end
    -
    -

    -

    + +

    You can use the following options:

    • heartbeat = N -

      +

      The server will expect each client to send a message no less than every N milliseconds. If no message arrives from a client within 3N seconds the server forces that client to disconnect. -

      -

      +

      If synergy fails to detect clients disconnecting while the server is sleeping or vice versa, try using this option. -

      +

    • switchCorners = <corners> -

      - Synergy won't switch screens when the mouse reaches the edge of - the screen if it's in a listed corner. The size of all corners - is given by the switchCornerSize - option. -

      -

      - Corners are specified by a list using the following names: -

        -
      • none -- no corners -
      • top-left -- the top left corner -
      • top-right -- the top right corner -
      • bottom-left -- the bottom left corner -
      • bottom-right -- the bottom right corner -
      • left -- top and bottom left corners -
      • right -- top and bottom right corners -
      • top -- left and right top corners -
      • bottom -- left and right bottom corners -
      • all -- all corners -
      -

      -

      - The first name in the list is one of the above names and defines - the initial set of corners. Subsequent names are prefixed with - + or - to add the corner to or remove the corner from the set, - respectively. For example: -

      -		all -left +top-left
      -	
      - starts will all corners, removes the left corners (top and bottom) - then adds the top-left back in, resulting in the top-left, - bottom-left and bottom-right corners. -

      +

      + Synergy won't switch screens when the mouse reaches the edge of + the screen if it's in a listed corner. The size of all corners + is given by the switchCornerSize + option. +

      + Corners are specified by a list using the following names: +

        +
      • none -- no corners +
      • top-left -- the top left corner +
      • top-right -- the top right corner +
      • bottom-left -- the bottom left corner +
      • bottom-right -- the bottom right corner +
      • left -- top and bottom left corners +
      • right -- top and bottom right corners +
      • top -- left and right top corners +
      • bottom -- left and right bottom corners +
      • all -- all corners +
      +

      + The first name in the list is one of the above names and defines + the initial set of corners. Subsequent names are prefixed with + + or - to add the corner to or remove the corner from the set, + respectively. For example: +

      + + all -left +top-left + +

      + starts will all corners, removes the left corners (top and bottom) + then adds the top-left back in, resulting in the top-left, + bottom-left and bottom-right corners. +

    • switchCornerSize = N -

      - Sets the size of all corners in pixels. The cursor must be within - N pixels of the corner to be considered - to be in the corner. -

      +

      + Sets the size of all corners in pixels. The cursor must be within + N pixels of the corner to be considered + to be in the corner. +

    • switchDelay = N -

      +

      Synergy won't switch screens when the mouse reaches the edge of a screen unless it stays on the edge for N milliseconds. This helps prevent unintentional switching when working near the edge of a screen. -

      +

    • switchDoubleTap = N -

      +

      Synergy won't switch screens when the mouse reaches the edge of a screen unless it's moved away from the edge and then back to the edge within N @@ -324,72 +324,68 @@

      options

      the option you have to quickly tap the edge twice to switch. This helps prevent unintentional switching when working near the edge of a screen. -

      +

    • screenSaverSync = {true|false} -

      - If set to false then synergy - won't synchronize screen savers. Client screen savers - will start according to their individual configurations. - The server screen saver won't start if there is input, - even if that input is directed toward a client screen. -

      +

      + If set to false then synergy + won't synchronize screen savers. Client screen savers + will start according to their individual configurations. + The server screen saver won't start if there is input, + even if that input is directed toward a client screen. +

    • relativeMouseMoves = {true|false} -

      - If set to true then secondary - screens move the mouse using relative rather than - absolute mouse moves when and only when Scroll Lock is - toggled on (i.e. the cursor is locked to the screen). - This is intended to make synergy work better with certain - games. If set to false or not - set then all mouse moves are absolute. -

      +

      + If set to true then secondary + screens move the mouse using relative rather than absolute + mouse moves when and only when the cursor is locked to the + screen (by Scroll Lock or a configured + hot key). + This is intended to make synergy work better with certain + games. If set to false or not + set then all mouse moves are absolute. +

    • keystroke(key) = actions -

      - Binds the key combination key to the - given actions. key - is an optional list of modifiers (shift, - control, alt, - meta or super) - optionally followed by a character or a key name, all separated by - + (plus signs). You must have either - modifiers or a character/key name or both. See below for - valid key names. -

      -

      - Actions are described below. -

      -

      - Keyboard hot keys are handled while the cursor is on the primary - screen and secondary screens. Separate actions can be assigned - to press and release. -

      +

      + Binds the key combination key to the + given actions. key + is an optional list of modifiers (shift, + control, alt, + meta or super) + optionally followed by a character or a key name, all separated by + + (plus signs). You must have either + modifiers or a character/key name or both. See below for + valid key names. +

      + Actions are described below. +

      + Keyboard hot keys are handled while the cursor is on the primary + screen and secondary screens. Separate actions can be assigned + to press and release. +

    • mousebutton(button) = actions -

      - Binds the modifier and mouse button combination - button to the given - actions. button - is an optional list of modifiers (shift, - control, alt, - meta or super) - followed by a button number. The primary button (the - left button for right handed users) is button 1, the middle button - is 2, etc. -

      -

      - Actions are described below. -

      -

      - Mouse button actions are not handled while the cursor is on the - primary screen. You cannot use these to perform an action while - on the primary screen. Separate actions can be assigned to press - and release. -

      +

      + Binds the modifier and mouse button combination + button to the given + actions. button + is an optional list of modifiers (shift, + control, alt, + meta or super) + followed by a button number. The primary button (the + left button for right handed users) is button 1, the middle button + is 2, etc. +

      + Actions are described below. +

      + Mouse button actions are not handled while the cursor is on the + primary screen. You cannot use these to perform an action while + on the primary screen. Separate actions can be assigned to press + and release. +

    You can use both the switchDelay and switchDoubleTap options at the same time. Synergy will switch when either requirement is satisfied. -

    -

    +

    Actions are two lists of individual actions separated by commas. The two lists are separated by a semicolon. Either list can be empty and if the second list is empty then the semicolon is optional. The @@ -403,101 +399,96 @@

    options

  • keystroke(key[,screens])
  • keyDown(key[,screens])
  • keyUp(key[,screens]) -

    - Synthesizes the modifiers and key given in key - which has the same form as described in the - keystroke option. If given, - screens lists the screen or screens to - direct the event to, regardless of the active screen. If not - given then the event is directed to the active screen only. -

    -

    - keyDown synthesizes a key press and - keyUp synthesizes a key release. - keystroke synthesizes a key press on - activation and a release on deactivation and is equivalent to - a keyDown on activation and - keyUp on deactivation. -

    -

    - screens is either * - to indicate all screens or a colon (:) separated list of screen - names. (Note that the screen name must have already been encountered - in the configuration file so you'll probably want to put actions at - the bottom of the file.) -

    +

    + Synthesizes the modifiers and key given in key + which has the same form as described in the + keystroke option. If given, + screens lists the screen or screens to + direct the event to, regardless of the active screen. If not + given then the event is directed to the active screen only. +

    + keyDown synthesizes a key press and + keyUp synthesizes a key release. + keystroke synthesizes a key press on + activation and a release on deactivation and is equivalent to + a keyDown on activation and + keyUp on deactivation. +

    + screens is either * + to indicate all screens or a colon (:) separated list of screen + names. (Note that the screen name must have already been encountered + in the configuration file so you'll probably want to put actions at + the bottom of the file.) +

  • mousebutton(button)
  • mouseDown(button)
  • mouseUp(button) -

    - Synthesizes the modifiers and mouse button given in - button - which has the same form as described in the - mousebutton option. -

    -

    - mouseDown synthesizes a mouse press and - mouseUp synthesizes a mouse release. - mousestroke synthesizes a mouse press on - activation and a release on deactivation and is equivalent to - a mouseDown on activation and - mouseUp on deactivation. -

    -
  • lockCursorToScreen(mode) -

    - Locks the cursor to or unlocks the cursor from the active screen. - mode can be off - to unlock the cursor, on to lock the - cursor, or toggle to toggle the current - state. The default is toggle. If the - configuration has no lockCursorToScreen - action and Scroll Lock is not used as a hot key then Scroll Lock - toggles cursor locking. -

    +

    + Synthesizes the modifiers and mouse button given in + button + which has the same form as described in the + mousebutton option. +

    + mouseDown synthesizes a mouse press and + mouseUp synthesizes a mouse release. + mousebutton synthesizes a mouse press on + activation and a release on deactivation and is equivalent to + a mouseDown on activation and + mouseUp on deactivation. +

    +

  • lockCursorToScreen(mode) +

    + Locks the cursor to or unlocks the cursor from the active screen. + mode can be off + to unlock the cursor, on to lock the + cursor, or toggle to toggle the current + state. The default is toggle. If the + configuration has no lockCursorToScreen + action and Scroll Lock is not used as a hot key then Scroll Lock + toggles cursor locking. +

  • switchToScreen(screen) -

    - Jump to screen with name or alias screen. -

    +

    + Jump to screen with name or alias screen. +

  • switchInDirection(dir) -

    - Switch to the screen in the direction dir, - which may be one of left, - right, up or - down. -

    +

    + Switch to the screen in the direction dir, + which may be one of left, + right, up or + down. +

-

-

+

Examples:

  • keystroke(alt+left) = switchInDirection(left) -

    - Switches to the screen to left when the left arrow key is pressed - in combination with the Alt key. -

    +

    + Switches to the screen to left when the left arrow key is pressed + in combination with the Alt key. +

  • keystroke(shift+control+alt+super) = switchToScreen(moe) -

    - Switches to screen moe when all of the - Shift, Control, Alt, and Super modifier keys are pressed together. -

    +

    + Switches to screen moe when all of the + Shift, Control, Alt, and Super modifier keys are pressed together. +

  • keystroke(alt+f1) = ; lockCursorToScreen(toggle) -

    - Toggles locking the cursor to the screen when Alt+F1 is released. -

    +

    + Toggles locking the cursor to the screen when Alt+F1 is released. +

  • mousebutton(2) = mouseDown(control+1) ; mouseUp(control+1) -

    - While on a secondary screen clicking the middle mouse button will - become a Control click of the primary button. -

    +

    + While on a secondary screen clicking the middle mouse button will + become a Control click of the primary button. +

  • keystroke(super+f1) = keystroke(super+L,larry), keystroke(control+alt+delete,curly) -

    - Pressing Super+F1 (on any screen) will synthesize Super+L on screen - larry and Control+Alt+Delete on screen - curly. -

    +

    + Pressing Super+F1 (on any screen) will synthesize Super+L on screen + larry and Control+Alt+Delete on screen + curly. +

-

-

+

Valid key names are:

  • AppMail @@ -665,4 +656,5 @@

    options

    the keyboard or in the default keyboard layout will not work.

    + diff --git a/doc/contact.html b/doc/contact.html new file mode 100644 index 0000000..1b378b8 --- /dev/null +++ b/doc/contact.html @@ -0,0 +1,44 @@ + + + + + + + + Synergy Contact Info + + +

    +Use the following addresses to contact the synergy project: +

    + + + + + + + + + + + + + + + + +
    Bug reports: Add Synergy Bug
    Help: synergy-help@groundhog.pair..no_spamcom
    General: crs23@users.sourceforge..no_spamnet
    +

    +To avoid spam bots, the above email addresses have ".no_spam" +hidden near the end. If you copy and paste the text be sure to +remove it. +

    +Please check the + +bug list before reporting a bug. You may also find answers at the +synergy forums. +Emails for help asking questions answered on this site will go unanswered. +

    + + + diff --git a/doc/developer.html b/doc/developer.html index 7c61d85..acfdff9 100644 --- a/doc/developer.html +++ b/doc/developer.html @@ -1,27 +1,27 @@ - - Synergy Developer's Guide + + + + + Synergy Developer Documentation -

    Developer's Guide

    Synergy is reasonably well commented so reading the source code should be enough to understand particular pieces. See the -doc/PORTING +doc/PORTING file in the synergy source code for more high-level information. -

    - -

    How it works

    -

    +

    +

    How it works

    +

    The theory behind synergy is simple: the server captures mouse, keyboard, clipboard, and screen saver events and forwards them to one or more clients. If input is directed to the server itself then the input is delivered normally. In practice, however, many complications arise. -

    -

    +

    First, different keyboard mappings can produce different characters. Synergy attempts to generate the same character on the client as would've been generated on the server, including appropriate modifier @@ -34,8 +34,7 @@

    How it works

    between the left and right shift keys then synergy can't be certain to synthesize the shift on the same side of the keyboard as the user pressed. -

    -

    +

    Second, different systems have different clipboards and clipboard formats. The X window system has a system-wide selection and clipboard (and yet other buffers) while Microsoft Windows has only @@ -43,15 +42,13 @@

    How it works

    buffers correspond to one another. Furthermore, different systems use different text encodings and line breaks. Synergy mediates and converts between them. -

    -

    +

    Finally, there are no standards across operating systems for some operations that synergy requires. Among these are: intercepting and synthesizing events; enabling, disabling, starting and stopping the screen saver; detecting when the screen saver starts; reading and writing the clipboard(s). -

    -

    +

    All this means that synergy must be customized to each operating system (or windowing system in the case of X windows). Synergy breaks platform differences into two groups. The first includes @@ -60,25 +57,25 @@

    How it works

    conversion, time and sleeping, message display and logging, and running a process detached from a terminal. This code lives in lib/arch. -

    -

    +

    The second includes screen and window management handling, user event handling, event synthesis, the clipboards, and the screen saver. This code lives in lib/platform. -

    -

    +

    For both groups, there are particular classes or interfaces that must be inherited and implemented for each platform. See the -doc/PORTING file in -the synergy source code for more information. -

    -

    Auto-generated Documentation

    -

    +doc/PORTING file in the synergy source +code for more information. +

    +

    Auto-generated Documentation

    +

    Synergy can automatically generate documentation from the comments -in the code using doxygen. -Use "make doxygen" to build it yourself +in the code using doxygen. +Use make doxygen to build it yourself from the source code into the doc/doxygen/html directory.

    +

    + diff --git a/doc/faq.html b/doc/faq.html index 548e7a2..b969639 100644 --- a/doc/faq.html +++ b/doc/faq.html @@ -1,14 +1,18 @@ - - Synergy FAQ + + + + + Synergy Frequently Asked Questions +

    Synergy Frequently Asked Questions

    - +

    Questions

    -
      +
      1. Why doesn't ctrl+alt+del work on secondary screens?
      2. Can the server and client be using different operating systems?
      3. What's the difference between synergy and x2x, x2vnc, etc? @@ -29,27 +33,40 @@

        Questions

      4. The cursor wraps from one edge of the screen to the opposite. Why?
      5. How do I stop my game from minimizing when I leave the screen?
      -

      Answers

      -
        +
        1. Why doesn't ctrl+alt+del work on secondary screens?

          Synergy isn't able to capture ctrl+alt+del on PC compatible - systems because it's handled completely differently than + primary screens because it's handled completely differently than other keystrokes. However, when the mouse is on a client screen, pressing ctrl+alt+pause will simulate ctrl+alt+del on the client. (A client running on Windows NT, 2000, or XP must be configured to autostart when the computer starts for this to work.) +

          + On a primary screen running on an OS X system, you can use + ctrl+command+del. Using the pause key isn't necessary since OS X + doesn't treat ctrl+command+del differently. And using the pause + key isn't usually possible because there isn't one on most OS X + systems. Use command instead of option/alt because + the command key, not the option/alt key, maps to alt on windows. + The reason is because the command key is in the same physical + location and performs the same general function (menu shortcuts) + as alt on a windows system. This mapping can be modified in + the configuration. +

          + On mac laptops, the key labeled "delete" is actually backspace + and ctrl+command+delete won't work. However fn+delete really + is delete so fn+ctrl+command+delete will act as ctrl+alt+del + on a windows secondary screen.

          -
        2. Can the server and client be using different operating systems?

          Yes. The synergy network protocol is platform neutral so synergy doesn't care what operating systems are running on the server and clients.

          -
        3. What's the difference between synergy and x2x, x2vnc, etc?

          @@ -62,7 +79,6 @@

          Answers

          However, the right tool for the job is whatever tool works best for you.

          -
        4. What does "Cannot initialize hook library" mean?

          This error can occur on a synergy server running on a @@ -72,7 +88,6 @@

          Answers

          not then try logging off and back on or rebooting then starting synergy again.

          -
        5. What security/encryption does synergy provide?

          Synergy provides no built-in encryption or authentication. @@ -80,33 +95,30 @@

          Answers

          network, especially the Internet. It's generally fine for home networks. Future versions may provide built-in encryption and authentication. -

          -

          +

          Strong encryption and authentication is available through SSH (secure shell). Run the SSH daemon (i.e. server) on the same computer that you run the synergy server. It requires no special configuration to support synergy. On each synergy client system, run SSH with port forwarding: -

          +

                   ssh -f -N -L 24800:server-hostname:24800 server-hostname
           
          -

          +

          where server-hostname is the name of the - SSH/synergy server. + SSH/synergy server. Once ssh authenticates itself, start the synergy client normally except use localhost or 127.0.0.1 as the server's address. SSH will then encrypt all communication on behalf of synergy. Authentication is handled by the SSH authentication. -

          -

          +

          A free implementation of SSH for Linux and many Unix systems is - OpenSSH. For + OpenSSH. For Windows there's a port of OpenSSH using - Cygwin. + Cygwin.

          -
        6. What should I call my screens in the configuration?

          You can use any unique name in the configuration file for each @@ -117,8 +129,7 @@

          Answers

          xyz.foo.com. If you don't use the computer's hostname, you have to tell synergy the name of the screen using a command line option, or the startup dialog on Windows. -

          -

          +

          Some systems are configured to report the fully qualified domain name as the hostname. For those systems it will be easier to use the FQDN as the screen name. Also note that a Mac OS X system @@ -126,32 +137,29 @@

          Answers

          xyz.local. If that's the case for you then use xyz.local as the screen name.

          -
        7. Why do my Caps-Lock, Num-Lock, Scroll-Lock keys act funny?

          Some systems treat the Caps-Lock, Num-Lock, and Scroll-Lock keys - differently than all the others. Whereas most keys report going down - when physically pressed and going up when physically released, on - these systems the keys report going down when being activated and - going up when being deactivated. That is, when you press and release, - say, Caps-Lock to activate it, it only reports going down, and when - you press and release to deactivate it, it only reports going up. - This confuses synergy. -

          -

          + differently than all the others. Whereas most keys report going down + when physically pressed and going up when physically released, on + these systems the Caps-Lock and Num-Lock keys report going down + when being activated and going up when being deactivated. That + is, when you press and release, say, Caps-Lock to activate it, it + only reports going down, and when you press and release to + deactivate it, it only reports going up. This confuses synergy. +

          You can solve the problem by changing your configuration file. In the screens section, following each screen that has the - problem, add any or all of these lines as appropriate: -

          + problem, any or all of these lines as appropriate: +

                   halfDuplexCapsLock = true
                   halfDuplexNumLock = true
                   halfDuplexScrollLock = true
           
          -

          +

          Then restart synergy on the server or reload the configuration.

          -
        8. Can synergy share the display in addition to the mouse and keyboard?

          No. Synergy is a KM solution not a KVM (keyboard, video, mouse) @@ -159,13 +167,11 @@

          Answers

          Hopefully, this will make synergy suitable for managing large numbers of headless servers.

          -
        9. Can synergy do drag and drop between computers?

          No. That's a very cool idea and it'll be explored. However, it's also clearly difficult and may take a long time to implement.

          -
        10. Does AltGr/Mode-Switch/ISO_Level3_Shift work?

          Yes, as of 1.0.12 synergy has full support for AltGr/Mode-switch. @@ -175,7 +181,6 @@

          Answers

          layout cannot be generated by synergy.) There is experimental support for ISO_Level3_Shift in 1.1.3.

          -
        11. Why isn't synergy ported to platform XYZ?

          Probably because the developers don't have access to platform XYZ @@ -183,7 +188,6 @@

          Answers

          inherently non-portable aspects so there's a not insignificant effort involved in porting.

          -
        12. My client can't connect. What's wrong?

          A common mistake when starting the client is to give the wrong @@ -194,43 +198,33 @@

          Answers

          socket followed by the attempt to connect was forcefully rejected or connection refused then the server isn't started, can't bind the address, or the client is connecting to the wrong - host name/address or port. + host name/address or port. See the + troublshooting page for more help.

          -

          - If the client instead says timed out then you - probably have a firewall on the server or a router on the network. You - must allow connections to the server on port 24800 (or whichever port - you're using). Note that OS X, Windows XP and many Unix/Linux variants - come with a firewall preinstalled and turned on by default. -

          -
        13. Linking fails on Solaris. What's wrong?

          - Did you add -

          + Did you add +

                   --x-includes=/usr/openwin/include --x-libraries=/usr/openwin/lib
           
          -

          +

          to the configure command line? Solaris puts the X11 includes and libraries in an unusual place and the above lets synergy find them.

          -
        14. The screen saver never starts. Why not?

          If the synergy server is on X Windows then the screen saver will not start while the mouse is on a client screen. This is a consequence of how X Windows, synergy and xscreensaver work.

          -
        15. I can't switch screens anymore for no apparent reason. Why?

          This should not happen with 1.1.3 and up. Earlier versions of synergy would not allow switching screens when a key was down and sometimes it would believe a key was down when it was not.

          -
        16. I get the error 'Xlib: No protocol specified'. Why?

          You're running synergy without authorization to connect to the @@ -238,7 +232,6 @@

          Answers

          logged in as non-root. Just run synergy as the same user that's logged in.

          -
        17. The cursor goes to secondary screen but won't come back. Why?

          Your configuration is incorrect. You must indicate the neighbors @@ -246,7 +239,6 @@

          Answers

          the left of 'Orange' does not mean that 'Orange' is to the right of 'Apple'. You must provide both in the configuration.

          -
        18. The cursor wraps from one edge of the screen to the opposite. Why?

          Because you told it to. If you list 'Orange' to be to the left of @@ -254,21 +246,21 @@

          Answers

          make it jump to the right edge. Remove the offending line from the configuration if you don't want that behavior.

          -
        19. How do I stop my game from minimizing when I leave the screen?

          Many full screen applications, particularly games, automatically - minimize when they're no longer the active (foreground) application - on Microsoft Windows. The synergy server normally becomes the foreground - when you switch to another screen in order to more reliably capture all - user input causing those full screen applications to minimize. To - prevent synergy from stealing the foreground just click "Options..." - and check "Don't take foreground window on Windows servers." If you - turn this on then be aware that synergy may not function correctly when - certain programs, particularly the command prompt, are the foreground - when you switch to other screens. Simply make a different program the - foreground before switching to work around that. + minimize when they're no longer the active (foreground) application + on Microsoft Windows. The synergy server normally becomes the foreground + when you switch to another screen in order to more reliably capture all + user input causing those full screen applications to minimize. To + prevent synergy from stealing the foreground just click "Options..." + and check "Don't take foreground window on Windows servers." If you + turn this on then be aware that synergy may not function correctly when + certain programs, particularly the command prompt, are the foreground + when you switch to other screens. Simply make a different program the + foreground before switching to work around that.

          - +
        + diff --git a/doc/history.html b/doc/history.html index 79286d8..48f921c 100644 --- a/doc/history.html +++ b/doc/history.html @@ -1,12 +1,16 @@ - - Synergy History + + + + + Synergy History -

        Synergy History

        +

        Synergy History

        +

        The first incarnation of synergy was CosmoSynergy, created by Richard Lee and Adam Feder then at Cosmo Software, Inc., a subsidiary of SGI (nee Silicon Graphics, Inc.), at the end of @@ -16,11 +20,11 @@

        Synergy History

        were expensive and annoying. CosmoSynergy was a great success but Cosmo Software declined to productize it and the company was later closed. -

        -

        +

        Synergy is a from-scratch reimplementation of CosmoSynergy. It provides most of the features of the original and adds a few improvements.

        + diff --git a/doc/home.html b/doc/home.html new file mode 100644 index 0000000..df0775d --- /dev/null +++ b/doc/home.html @@ -0,0 +1,61 @@ + + + + + + + + Synergy + + +

        +

        Introduction

        +synergy: [noun] a mutually advantageous conjunction of distinct elements +

        +Synergy lets you easily share a single mouse and keyboard between +multiple computers with different operating systems, each with its +own display, without special hardware. It's intended for users +with multiple computers on their desk since each system uses its +own monitor(s). +

        +Redirecting the mouse and keyboard is as simple as moving the mouse +off the edge of your screen. Synergy also merges the clipboards of +all the systems into one, allowing cut-and-paste between systems. +Furthermore, it synchronizes screen savers so they all start and stop +together and, if screen locking is enabled, only one screen requires +a password to unlock them all. Learn more +about how it works. +

        +Synergy is open source and released under the +GNU Public License (GPL). +

        +

        System Requirements

        +

        +

          +
        • Microsoft Windows 95, Windows 98, Windows Me (the Windows 95 family) +
        • Microsoft Windows NT, Windows 2000, Windows XP (the Windows NT family) +
        • Mac OS X 10.2 or higher +
        • Unix +
            +
          • X Windows version 11 revision 4 or up +
          • XTEST extension
            + (use "xdpyinfo | grep XTEST" to check for XTEST) +
          +
        +All systems must support TCP/IP networking. +

        +"Unix" includes Linux, Solaris, Irix and other variants. Synergy has +only been extensively tested on Linux and may not work completely or +at all on other versions of Unix. Patches are welcome (including +patches that package binaries) at the +patches page. +

        +The Mac OS X port is incomplete. It does not synchronize the screen saver, +only text clipboard data works (i.e. HTML and bitmap data do not work), +the cursor won't hide when not on the screen, and there may be problems +with mouse wheel acceleration. Other problems should be +filed as bugs. +

        + + + diff --git a/doc/images/logo.gif b/doc/images/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..d9750ba3fe8ecb33b94feaa5233c4c3e3030913a GIT binary patch literal 1827 zcmbu7X*-*V0)}6a(}u=QJC?Rdlo?CW6l3d|P?u#|U9K~OlB&=srkz?^T2(@j#8CTA z&>~_h5gNu4sU;bNs-mIR+CnW6rMCCXoWF3M5BJCW%l+6p+L@W-#sDW^0RWgxCWS&7 z9v=3|0qv3+;+j!fK>=d1SSS=mL`0;grw0cI`}z4%snquN_Nl2U9*;+-(+>_0@p-vv zZ@|MN@aX8Eg6|z(+k1F))HF)i-515T=q9!q{#F21^ng({)p2#Tv`$dGyZ^8d9A2#R zDq^>MjCD$5rMA9Dhds&TjGhmDoYQ67HabtKXWYzeS`vNOKR6uu{JBj)dQJ!J$Z@>M z<(!TYMt^@~1vs+E6z_shs(GTFopmu-#RV5Px6|8(1p4tPDC)jslJV|zP;1^O1`?;q~$?jP{RLDtCg$hyAw zbF=&@a6-5_y9zc8@OuPc^U%=Z=KG-;@ZfN7Zy)TP0H;^LoxME|4-XIof&XvFZ_xh< z^#9>MO@QMd!9SW96B|b&Q{w+fNPLl$oRXTBo{^cAos*lFUqCG^Dt`H@q_m7yPOqq} zs;+rmTgRwpHZ;CrH8ua)(%RO}?%=%bjK<${_wDNKQgKy2CnO$ldK5g!*es#TPQE2}d~>zn(u5h8e5b57ZWzzw%v4N? z=)IdskXKSWxv<+|+$*he2^Nez2_XOlq#?dC09yi5*65}Do#j`krUrDV?8~f_HPJW# zocqg32?LDXy3T#k%7zgIOlu4C>?^J{(UPIwj|Y2k#Fq*`9N8^Hi)!&KDf#b19$P<@ zP>Xjy&>}>o5qirt?}s$J4USSIV-vIqF=>$D^7a}Jd~xiG(u?DX@|Og*$F5~cApU)$ z$%yc&DuHFdMmlCHyP*c!aLoY(oBl;zgcd+}3d=o(Wci;V5X33+W=mmQ|7U+z8ectY z>HZ-88cm^_Eg7SMU`N5EG1C&UbZ1Z89fhw2YJd^O6}q7UV?#1^2!+Vl)=+hLxAMf1^f`E!u3 zStgjzd4VR54mi&tJSsiwflk)#;O<`+3j*hPT!psfU$F|s%DLr9q#x9DkW@~odXc=W z2%rakGhfQnvWeG?C@w?N)#^r?$p6y9*1Aggbr7OXSVjlwR`}^}6eDWXbh)*7SsQ&S z5sGnzgq)tnRP{hCkdT2!a#c*(wJQ`AFL+>=P9j7IASL*vx3U-(r`l_^FGJ?q zEYYkfvc>NlrpP^WChH+~UC~s}P#*EKFo|deKh+s-Ay@~oQ0X8e%2fP4hw4*zOpD9> z*!CilBF(xkfn$bY;Ju_3C2$elWB0ilN~xllA^rzU^l@kSXtRTMR$ymLqCE_XlttGM z_>XD$UT`)^M&r%~S&k+z^MzRCrCt-#L3qdqnuj3 zN_s`oqX-x;$nk&T!|VS& vY%6aXPBZIqZZfae3Am*+2Bx!oh~$h+L} zs2L8xojGG|XJ-fC9R=4P66gPA>E(xBJlEP90D!mkRp7YXr7z#|`vQ`7dqqVns_AfC|J2l!wzjsWrly-V4z3L!A0HPI2K85#DDTmP_j8AahHmFBb8!G= zWo0h+y%M@eNl8goN%ryU$HVVgr5zJoE>2ondSiW^bwD+z;&H923>?SRk(P!)Ahast z=MQr@oSU#G5$6V&dq3-t*67CNmggtI0sYqII%K%qU`65<`Q82fT)%D7q{6!Xe!v|} zd4bdU`w1CbF4xViKRrDihr{*b0D8KIhKBmrzbutJ+&z)*3DnHl0 z`CN#1c6ROu03011dtVJtyjxiK_5;`7U(h(je)C>Tir)=~1N8F_!qxW4=W+oTuAQ;A zw#K=^Q?OWC%AIfDzUAbnZBKb&Y;64L)2E^SXWL=hc!ynHUM7*!bd7bFmX-iG?)&BU z`}gn1^>bgpf8EH&$8~1a$%;02-SY*?dd@KrY}ANYRo`eG(0nR&(j3 zXSc^mDDSvqR+;lOQTBlMcxPp``jo4>)Mi6rREgxiSF9cmldx1SGU{Lm9c4_ zFG}#Tb>(Bl*WYz#e!o>d(HtPuGVvWxd(#?WGPB**QT=NM-jeelbgq`x#wq$L_$qq8z0_!!(gZjV7R5V&LbGu$Tz1SL4U;B`Kq~b7MTR z4q{buMd9~svxV;}y*;!GWkDt}cAvgrtfr6ku<>Oc#jMuRM@R_Q|)xJ9My`*mZ-gnK070oXL0v_p)EUOzRmY6*D4A4E|l;6l)m4|cACnk`SY>uR7i)~DgeXv+#kDRJ~@}!Z}(-9 z@YwL7Wke|~&ZW2WT*yaMm+C(BtBRgUi-%Ijx-*KyB)MFZc3J5ug!z!`zTNjO93L1= zWIsQ(aI?&O3|#;G*5&*y+8-T`o={nvn?$B_<|-9;czfm=O~&pNJBNCKoA59F6`NFE zSJSivJ>q}<68;?7C(Jk8I%8OIxXV^DAfjk*{>Hq+*XJ9kotBV=(vj;n3xoCVY2O{3 zA0ueX?FlEcRX5AN>!wn*&Fe9TdiDhkLCaIuCWU z%p6^o+DVTpbI)f8UlJF6h*A9Y*<%Y$!cF(c1=7J^Mi9P&2N4c%Nl?a-I2)=`BtTiN zYlo~6@cO=R8D{Uf9JeD^&3eVKfJl+!z&5677f@Ma@(|Z=I%${uYP_X8|B)F$yDV5p zQ(OOB%G+9#>t9%V&qe|yY)B$XE^Ue94W_ak0U-bQ$|Ti!GwDp(w3;bE^tD-q$r8_} z>ZkT3n#Vs;Jj3iT;4Gwo(uH({yHJO!Dz*GHPRi$)TU3lx?se#H*MQM;t({YKaRyVr zTL`EKP^{*dZcE|_+HHN1#{YS0d*WL`<@j4$ z&2<=RN`T(OHIXNuHN_;jVIQ+%yh|-=!;qCAUAHeGKk^NmiW_&i&cDXw4utOEWOge)JN}KF6WVq<>jty$ z(A=CvaFB{MqBB=zU>&V>Mn-{yG&V;|2qnw&5q1jAfT1W>8lna%wx!3R2?kbHVL&<# zwkZmFdhgRn zW$`_?j1?phB72#qi!_zy`;(d^OUtV8w}E>RKH&Z>FD+9qW)@2(ub-vUOv}u6mwMCo z+ek;Y%i1qJ&>q(tslWcEu-emvf8P5%j&t@>(1iMBGk@Ex(IU~ujI!$o^b^VbNqK1k@5uWW9Xv48&Zt_s&!SxPV=>7(>#E1I)vz=a%r?!sD ze{1Npqxs+Tc|QItT1HSwXv=Q?an3IHhOOB>>ZVl_m^;G?6F;?XUrW6Jxf2aLNoOc3 zMF~cp8Ez7OqIKh0X=eHl0gyK=US75G(vM#zqD!G}x1Z;t=B1KloM)4T5w64s1oIYT z_Dz4!w^8q{Enqis9}HJ00(Mibt%6S&4^3AWsoc9Ep_z2zKYpe0>kXJ zjbQT22}BD;MNWWYWW0;gP^F1{v*`^rnqigxS8Y*Se2f*O7?rpbs7{n@08EzdAMOaf zviqb?{fDO!@hLxC)FF9bal}WAUD*R|iD<5ryqI6=>9=pOFXeW#zuY><(0C^&O+sq1 zvBEV`y6?y;_YYg;DPNSaK63b3I)fooV2Dz_J<|TY?}^Ol1&O`q zw=wfbfZV6^vuTXoZM!QEo^=;JXX}%rFECeeYX|ERQG0J|{NdF&adQv^@V&B}@Hw;a z)O#!SW;X1~*AU{8sF#UC_KK)OmD|N7za#o8{joKcE;S2T4MS_JjdSd zsc(7_>gQkBJpQreTVuAJ!o3dG#C&9Z<{WxCa%^n;)1_}Ma~E$08Vd^nJmMJ(7e9EP z9%X}1uC-|%yBX@H|CT}4X_wPlFu3rD^O~EruVb}uF*V9y>f+Xf)+_sOgIW!a?CQAP zce(1*>TAU#y2H1xg^5w9kfX+?N6>>QJ4kuzM`vs=qhIWVekqE(KA-2*^lC2Z%gC9~ zh1R*IyDeh(p2deQe$>?W>~GmoRr+|&cbmiLn`56FwwW*7xtTNpivITKg5PqRfAgDm zp@6-huoWToADLn)0eE=W>g}5bxjR}3EjGUhxC(=J`?%kFKOsJ5oP6|tJ7|NYANDz~ zgEluE6;$IG_66Y;Iv)r5UfucYDy8Bv^kzlN^M$bckCq?Lhaa!!eA4*FJXy3_iTW`m zes}$ZSIeh%aOkvE_{RP6u+O0>Klgg?+*`36#m z^?`lEgL5MftQ%t9dEA%H4!oioySDBAH66oCqzCQ+lGk-YJc}ZH&r9|?NYaL5o9gf1 zYfuc(2`)Somzy0c;~yu3jq^~A4{?mw{}|WCwFr(Xl1iKf~i1D{|Q22oOPf;k( zA{5abHMTbn+Zp3A97j+|n0}AC3QQ>OMD=zg*vuvnKZ}>lhF8r-*2pH%f#E@p!Od$4 zG}q8ZQp6L-#Cl+4D==7dk3ww&s&8ale!P?k6=K2=_N79GiqNkD(631731D&)LwG_b zdCW3-2$(#(h934ro2;N`8qi}S$;*!Dam!>jDft61W!*EyL<0H^m^@8No^(VPttEw7 zN-n9Ud<{rh)=4(O2+$<3jzz&nNUSUwE8mD!WMg+UVu5n0`fsti_NjXUQ&q{Sdr$&< z0x`S15@q~TWvQvV=fIONtS=Xa?P&j!pW|RZzl_gvT!HX zaYie+Q@VIjPU0t_La zIpLWIf~TCAyPRO4oS?2fAS@8l${|LSk~Ws{F~DPEfc-(w5TFoYBtLJblk4GbZFRyv6#GGj>0MG?1w(zkWtoEk+> zt|y5ip<^7;KMm%{ApQnRXnIw0EQu`bzIVb{>Bdo{~_Co;tFzF;ldbym)3s9z= zAw{{1SkJW=#Ojj5=ZLkA05cAe5r|LfRE+W>2^nU{G^Q2QXROU(uY)p+8VLnnk|cU& zC`Z_H9r~t`D2Jk)^b$A|XaxiChtv6tSXn7nlGCf=3Uofnc^tEt{8cV!T`oty@u8=Rh6Fn@_+$n}{8=K79ATs@v8Ic6b4XFHS*svYFCV|c3ibE~b#XmwA3RCknjZ!u zMX|D0W~1>kt5n|&oNW`CzBfP9D=kD`?6h9G-yDJD%0DJ2lEmPvC?-@F<3hRKX(3+Z zFga4B6-kJdYh_KsT4g`6l8n|Z{)8gyq6!U)3$L(?!mM*VymHE{giTSnGBAZ?NIlqH zG|4IqA>&Vb6<;64rH?A^n8bN>my+hPF9(L_IhWL?mxU(~o*?);8A2pO;oYwMd+hm> z5P~$8NU#LuN)Tbpu(WQJh?*C_SK7Ae~;8TtXF<5QL5b#20YAk$FyCG*FkM*aA*GxNv88 z;J1VdaB#_)Ac7w!ohvU=!4}!QQZXYzL9)uFQ|Xgx#VZ@MR_+Rfm`6(W#vAAts$i-K z^pm{P7w?Ll-?8fnB~A8K{;py)L*YV1ZJ|W%43)nUBwVdlji%EZM(K9N#M;hm zq#BO3MjeQrsUWhKQFu|;x?9#Lu3;gKQgGK9k5(`F25;PM)hHxSnc?IIM}Pz`&}T5< zTV7%lLDbM@`b;2XUX2`OpCuHLC*Q5u2jH*gMkHWR)p5ZzSVSJdn?!_Tzp(3;_C9JK ztF0XcZj1`L!h|Z}#9LOGKWsAZcGc&7ujMZ*eQP6W=hfWO9WNfl=rO8nQ>$P=a#otL z%wU2@FkygNd(R7;+gMA3wL&PQQ3&aQ967GB0q@;187#>~kbvVfuTf~MS8-xj-N;=b zos4$9N9_jV?Z2*Boz73-Cd?)lOh)!VJ) zvLn~qw)wOKE#?~cv?SY{v&`sB;6Cb18t+UtVEScXks2L9s}9>TYKvT1bC8t+L%?+r zcg(pEl+>K-VkO_5-3qyq@~FFPyqor;6PtwfU)ahiDU*%pn6au(b54}hdzc|lGKk0v zf_5^Y{C)JSh0gofKc|LiT0u>07xf|HMq}0F;J@3crw%tqVJ<)P4#kNDe8q7W;)-C|_$i*RFG&6=Su+5%%`{=N)?XZ#W zFh5dYCyaTO0d1KOmf?)G9UTt~6*?x`2D(9vy)jZ&0=+K*_B9laTVbJ)!Whlg`X*6_ zK;F|tfpX;qownE6c?o1m)Qxc{?lb zF{HnE*smJkb%+y#5xlt~ZY#sQr3rv)0c>H=I!(ZFTaoiH!1G;z<`uppjImyfPz(%` z00ZAN1UlKj-JK=)RCJ`Sq|d`}M3Mu}=G`s{J`6{IMjt`BifkJfROn-7MdEHol9z(p z^U>{Gdi(tb#r+ILy^v9K#%Srq(O>254;g@mbbvYs(t-rF7y_>%Ip@Qsj%SGK83Kx6 z!{WaFnJ6rKm)vg zXei>if9Xkbd(a0k+3akfhntjp_1~U+Sl!lwCQLB^ieX0Nat5~ z1*wD!v01`X42~XRRr;amEf%=9zrBBlsPDkn7stTc5Fd|*EZIG98KVKKA^>q8KE6Aa z?!jRl5d+mCfpHv`c_S1B11TCbQC_F{*b8x21bvWL1FEn$L%_XBcu;BGhy(g@NSG9k z)uFCG+`sN)59GS?2?KD(VV&l8-{f!ayS6a(t!3Uae7>C4&iCfcQ3Da@Fi!AL?+R-;@cO@WMhG0u1b`;4k1du3=5`?=_Pivg4oEMyQ=#Val z3!Ic?PJ-gv9rFxUWe>34Szsn_H9SA`{FN0BewOCWem-qO(!O}HaevyLJ{oO;y^=s^&i zbsZbhWUC`iT*|*d{4i2{m2}M?-_d!QK{*URrIN76l8M@~@7$tVhFgcxuSV}vja8YZ z;1aCT3uPJn4qE59)4h)5>F&v2LXkgo6x~w1hXhyiZg99H{=FJd)1n(+<;UuW0`yj+ z>i3FP`yBW&A^Fu1t76xkcWGkdE>7nrfzp)r{Ge&lYhFosvONwz<-Knpl5QcjNgm>+Zhu_2X zD$4}uMjh#r=V0q#Lx#I7#d6g_`Wn?QKdLNwzWva%+`X=4kU!Mi_UPh0hl)q5q@a`f z>jgQ>YTp~4iuglk}mp;&&%TzvDe1QFAz_2;%~XH2&$Gudr;+ar(LPRA-#YoF=Xh<20f zmD1LhOuBrhQr?OXcxWh2w@g6kL6oPVf{T!`YW#^<4JW6QP}bdRDpx^oukA3Xl^XR5 z&Z-*~Ns-#PD3G|vXMC;u!GiRi?K0^XZN?wi;C$~naNVVY_;%N@_^-%1@70s_JSgv{ zG+rvC3{)T4ij$hDxzga{YgZNTaKSwFz#`p5%IfnB18q{uZ0wR1%KRrBJ}ab&scHA>~{jf{OD&4poxS~tOTj@S5W=7F&$J<4?(s&S%GAiYc%m$Y}~I(XX+Ts)}>rA z%)7efV!SNe7@mNLc{uCoX@aN{j5AZojSTRVmdvY6@^N=lfaJB^$U`LWO?s#3;Mt*< zMVEw+D{prgu{hQ*iSb{|h5eKjGu*KsiyV*LK3UXuOzRf*R>;(Lb(E!T4lD7>RGtko z)!aVz6fRfg8r;swdSrJWy3{>i;r5EPbz^3Hv(;3W=;{SnNPGr*LyBDy~Ss$ z6j*zvCb|Fw$UU|*`|+q=kHcx?!I**rTs&`!j6I$44w`$UFYv^j zg0zeUcMtuE_0&7hPG^16xN7)EkHCNR=&v6A)uX?9^jDAm>d{|4`m0BO_2~bu9=#8g zRSK!u8~c(Ncr760N_^}Gi`Z>fVhg8ZH=*c>;+7{NH!S0F&r1eaN(SkK+*ymfHwzA* z1xE(NM#o=x;Aj=d1%~s`3F*nBr1&rOaegCl_Z?9YKoluHHr*0Ma7T%##wS`{LI+so z$x8BsCOg22OHYuHMbUIn^nm#MqWD6c*y4c1Dpmg)$KZ;9#L5v=^&0A`P7UTofG%MF^R@Of7eNQuOq0-0dHj|)NT{p z)T4DQOfGeoZYpdYBd(jOi%C^$Ox0kgs-Xn5P<(20m^~n@CJ&IfNUSdsJJ1lMvYuur zhuZt3{Xin zs<`Wc1UojiazxOVO$g=)yCC>oB#15ufD3@==PGuCO_;+5?4%W1rQ{42?YV@UH*ie^|an>0*y|za}{%8@VP`l z{39SP5+YS7P^ha|ASyky3!C4CJsF4>rHh^lOx$E7R{;mF3?o+of>YWh5IzG=kOu|l z>Spd{D>enD-vIHHi_ecEEWi<_p+J>fIK`il$z}^SHYz^~gqRtU1phO{i!Du+} zgB7`ljhCq;2{FiW?6d-lOn$voA97|nh*-+QB*QEoCf!(v&Voog*pyRV8R!0mNzUtd ziep-wEPh~)+yqQl(x$3zV1-5r$^c6F9Jnw-NYPL-R6-;)LdXvw5=^Ejkp&Xqz~w+v z;yPqgk}%m8>De*5dHD5g*r?)GY+9yV<}q^4xuzUnUE;mphE%DW%QK{!Ibn%zqSPo> z#~#1k8P9`-a6^7S9zL-ELmbM5xxACzNn4ciSs-e*M}96UElOT29F=)Pmv|cm+GCjI z&t(7=4JkKK6g%A_9XV3EE-4mHCOHGl!2Izb@^Y6V1yvX*pRZ??bK5gVnXf3vsyHSg z-;R}2S&XB(;;fx0Bo0+yuXqws6zNsy+oUL0Qn0N_@xEF@&zfXNLJ2m%q_n%_`drC_ zCgT4tNv@P@-GnhlX^R>uxwse=NXpzGrGWBQ5{hr6KP;J*?6J=01D6}a%jxsN!@ms) z`p1wkrFz~4MzC_3Q9u_6zf~UJt5n$HB`}7BI?ok+)k|2DC-jz_@0U;iA&>jzUF16_ zT&+v@H>8Bx^9%Th)qzB&^^`=pW2HJi#hV6=U)xDVcWok$PBpK&TQPb>>c zD7y>BAAwYDY!o_tPdiP?^rKTr^x6xho0z1dR_sQpj?yK6=%RfHvijfz_}WPOX;pG_ zOfd~kRt~DqAl3&ZR^t=$pKye)!zforMQZ12i!tDQ36Z95y4V;%nu2eaYqs~wQvmbd zu;!P%fX^~a+k(x8**99K<*d&aQhFMd8|!`7p>Xy}V!S8uKqTuOl9HU8s9J3Vbn2;2Ba~An`ss z6EL0`%8i!7dHE>r%+*Hzx<_fpZt77t9om()h~2xebvC`42S`iuH5oi`O6Z8~ z5>R1Pl59FZH34? zs0UI6g8{yx17Bf)7!C`C0e0E<2YXfD%^)SIlT*ogbA)JcLYvGk`KiZk-i~vB9n$`Y`70? zQHGYJ1b4*9HKwWqwd^`$Q0>=3hm6J*`84?%t}pg44O!X(^^trQw!?QGx8FU=ysrs3 zvchMoA>7LvyJ5)pc>8$U&*AeDBVWHa8itOW&t(_}9R%q&KCa)2A;@pAQ4^9pexf00@2lXoe_- z0UkpPvjH>ZFcGL26Tt!d{sP^J;QhmXLC^O+4FjqX5~5InDxCL`m)^#Ny;X&X+(Qh~ z?0>rvouwWoa_9u3!>)*&oYNKJY?M5oVL4y^dY&q_bUbPKn<(o9?Tx;{LJI;YSTQYd z$(TT2F#54@6$ZHd7}AUpwMA-ryl(G0A;P}`8ssbzIefWD(1zBg8wK^h=eg1NrM{?8 zVez9M68q8d_M+Rl9Ps?>m&6aH%g3mzJDiM8jFu#q$iu!%z%J6Oa&JWy3_uk&DMN76*}EJ(d@9k$f<2`}5al zIFB4Uh{40*YdYM2p%LRZ8qvXuP5@yRXhmG&KhVf1Dg(g+#qCuTcEf&T zx+NJW$sLOAnY2D{abC$RS;gu3)Nehyb9dU>hNxxnE7vJ`k48H8>W93!s=|Q`z3^Xm z;JeP-N+K>KjL6+iuCO5ruWyKad6Qss`yBK+`?Gbz7Nra)DQf$oQ_ZCc22k$R(uMkq zl!PmUr)PI42Y&Gz&9lU+66J-&_qdSgrO0?mk@fc_UGF;XNx_TEV{KFH&jdB>y6wT< zu8-Ln_kEkG|663Nc8QZTGwtvLH*f}>iWuT94Eeaeaeg<)gp6e!tO>J2d^39m)(sNu zdcJ;pcF?Rl$%*D=N8!3o;(DqVSmDizUj$oE3nKEYD-d7wI+o5{KDV#jQ9G`5R7OeA zUAfd`iCa4wl_%tzaz7*DU%b?`}(L?9uD_3@&lu^?J3V7}}R5}$!$}xY2FpeZD`?{6!DO`kH6;-)c zgKSL6OS@&QW|Gstd!eeAma$l;T=GbrF?Ma+$CicuqR&Nc74UC4Q3GllHBAHRvZKiB z(l&P_Tnl}{GOm2JBT+q?dQ+Hp48e=eTozt<=c0|I@<-P_C=E5{%Bl8)wrG>VRI9vn z38TDSPX~-wjm!qqkq)OJJ9SPdK~AW0B4J@{fBd+sezy5ZsjI3$7ow@wRz>G#r0(JL z(pyf~Pc~KQY1Km$^q1qoFM2a*Xq4)~#8Wr>GLHo=mzUP0x2Kv8-`W%Hxu)Kef9$6q zuHOiBNXDUdYu}WSnY*@ehNcU-=D9lJ&>BMa$X)1u9RgNEQbHQ5V*L`-ayKI22 zd|>t;aJ2YL;bzhSEjtsrwBK-q*o31Z-I?8+aP)Q)j<(C~e6;fVQm0k4n|{J64;Fb^ zx7Vk7;;?V_=_AXkH(wc~N9I)~R3EdEMUIxrS0@|e0#beYBMsCGMRDXMl+`Ss@D(Yidlh=?OcHx~;MAfQ^Ldmr7APh5Kg)~*! zM?|=#pZTfB4m_X(`h4qnV1{)43lbm-jNY}F)omljq-gipkbI;8BwNqpA zR6w;OX0|z|d#+8n?>)M1wW&wh?iUAN23Vgd(H1Fnzove1{Xg|+-CA+{6tVeHzWO<` zm1`<W&vArpxvHShnqTwbSW?A$znx5v_fdub;mAgr`T3*ZZ`*d3vPc zq5EW0k4|U8;hTEY4-*#rT^;>(qrcVB-|FaZb@aD7`dc0St&aXyM}MoM|I5`;h^#~S z@9HSznxiz2br$abQyo3}T^$`5jII3^OG9p!Mw?BNrDWJFI3ghSwoZ8TNSuCDoD4TU z{&r^^FFBG0qC8bm=(V^M)i_lA1#ioEqA99vOT1r0JTEZH8HpmO#*#d(iUTg@HN+JJ zB=oE%2xiC8hZ71t6O9@YY>E=Ii%|60#2vt-8qdUrh9J#*IyEFzkE&BbMFp||&y7@^QupYl z>L62Pk*O-hn4M0EGOHNh6-*^CSTQh7hf7Y|ib|0C9UJki=om_pOU3f6$dZh+mJ_sQ z<4&+~hZ(q&D4f=M>XubZlVKW@6rsn)Uvk22K_%EB2=4#tjXZz%MjpK0$dKSJC*~?A zc=va26vXR|sKl^2BCj`!;)Oo;fXGH-sMBV36a^y%7n9DeW6#flo#5E)_jpoZ8q5lN z6;AxO*a-PMHUbcDu?6pRk$W7l7P|N`Dz0V(&_NeHjKMX_2{xl}{cEXdvT1~_KyqNl zcD7>19Qf9MQKDQFs30)iACTz|5}`Ta^o_B)NQfDiP6}Tq2_X}BP!z-_g*B4UPNY6b za+@ysP-9SM;6nvA*$pI;6G)))peSOqI&xo!PI&QZEQ;N~l!(`4SvkeG%_TW^p#~kL z)*7?76+d*-<3$!9|Z>r1Nc8W zWg9p>lv&Ku3{c#P$er*e^Wmm;vRbV!*tOO7~ZXk&wCWNIG^;PxA9cz2;yj{Nqk?X|+d8z=OU#kSMVtz*w^%WUFymS-GG8?v2$?D&EzS`= z^a^?hp)mX6I4+8GWE9$D6aQ$T;K3S367=X9{E_?|_(ExIpc;|KMWu5DKe@~eg-rjs zdT&TWbyERHo^hm!Z+a~5ePZ3U?+yNHfgirN5cFHe;KTuB?JX~GIjUAup|#SPgzqLs zHj<*dh(RD)G@I1BN_@W|BI^%%Z{0H6%2od2Y|bc9N`v^vie9<=%Ze~h&i2;YujBe0 zb_f~Nl`nK{8Qh-LTkWCHYksJ=$A!7ezV}c_?`p_E(Rgo~E&arQgCfJ>*6&yZwM||qzWs=}>_iHM15sX&@lCIC$Dbb^SNx{I&tN=X zaTzlCZAHe9hJ0?c`!2Qn{kEdxJS(!_w4&O~v8Eft=Ocy{LmJEHhQl=f(~9_cRunO^ z(o;Lez?CLan%Dp%iC30zJP(Q3OLPbB1Z7P0_4wn0cQ@#=PZ$z2uk=E!dK8DwyAEjm ze69D#ithf)il*AVH35L%R#dJDF!--lg!p$W!c59#2|hv(OD^VlFoyrFF+yxw5#N}g z*!Cw`+PGltPRfmTZp1%<(UC=V0(3NI`rg}p4HKJm4Ep)&_c36Y%DynHG1 z9pOWq!RvS4EsBSF=gxEHjzQ;_?FN>Q4t>mQ|MGasE)2B(_{}C1QD=1jKoNC_?K;ha zBEgn+9u!^u4Mj|?g~Pow{|QBg@9)2!4Ei-m;z1FHMPm$a21XJr8N!t%=ULRbzH%?ya zV=pJyr6<2z`S5Q3!`!j{Ps`g!uO1!M3t3(}1}*P@^CvLc`X?{~aP;g~gnkD`kF(la zcZgnE{=(!1M)s?ENsGL|sP}hZ6e#xbJq?y2@d};P8;$E_-1?S2}#Mzi`RBe(vV+0-z+Au zzLxyx9W)?#*b88|3}Lny=qO@D?Tr9v;$zrJx{i}bB?pujAt+NUy4N01YKRqb1!U5H zRoaUfF$C@cB(gm1KvGjNktcKvCX3#|x57^vJd??D9K70~NV{|G&Z|LQb@VScI)9#) zcc%E`yW^y3*S4tjifKEN+U@x=uiNiW;CJ1sm3gv1Kc1rbey!<_7p5ZImRsI%(BmnL zVpWmnDA`8d&8Npq-d*|yoRn<$iguQAs95&8lgqUBso@U=b_p`5Q(lA1ml=_K&0q@> z5))2K*SO@n7aQg6-uW45mLI3S|2|=&vOU1RA>0VMO>8eIC;gC-ftR{Y0RsdPaw|Xa zIQ9#-{7}}3N0=omllfOh0WY&Wn_%W>MF%a9*W-;AM9rSvX!xg{8tH!i*MF|xB<5yJ z+)MzNzntBY=ls4Xblzq@e~bEz>mkanmNphBoRKfP>rTdaiKUkVdoiz}!JNVqi%e^h!0IpgCgGO{k zL|KBag5@N0fkKy(F`|{i*UxCiAHp#Fji(L=eXvr^T~yV>7gRrQx>eRLrn*X-^&?(v zdv`)VyEjqmao&(m$uVseQL8eB%&coLnk{zBx+5l z+pMa=5ow7wo*J<~VeOu_9c4XN#jGk^tP|+&(e}xy+fD6;&Kn%O zxe@cYwxG&e%m#Y2hYZc>+NXj4JYGGZ!zX%&W!z_cP+E8k_9@W64k>iXs-ox)=ZQ1( zjP^5*`((l%x0sn=}HUU5JRBu#=IuQj5aKM%TE2h$tGzQb^7PGd{4^Ruh*}U57GB#^(`%Xl-HQ0T&O;_UT2uqQJd#dZQ6Bxo7rKfZ~aHtr?}#= zSyytR`HXYPUl|R~2;+TWH&%fhE6_R0(?JQ7k?LzIy6s~6D%cpm<|W$5Tb5SHV8fv- z(p%J(KzkE3`Lg*(RCp5~4HN#1;jqdO8CZIdeh_w8d9VLh1E);hopAPT72f!~8aw*6 zH%Cq=1RY#~k#e)S78f|R zrQg&~4+O2)f(LB1r^z0+NAc!S!Ha`IpQDS`Z-32oC+vM*`%&&Lwd=s`-Jg3mLL*NK z2f9me`H)^VpPUYF1r$JC-K5snxBonI3Z($#2<&7?vpA`O(ChZma!|*O=R__E8Dk%_ z=|(n|$HWUTuAOpGeWTyn(jE;&9>~aMCA8_SU$cw**<~*7Z@F_uIJn5x{f zfAC&`B$l~mDzotbW#OCye$}D7t<64h7j{zo@yJevDpNtXA6Mo20?dD5kP6B!ZouIY zbIG<;o|%bgYmu_h^zih1(&d=`gNSCSuSs3=Iwby$E;rS4+B z-KuFNMND!?qx|DWVW;kzn7G01P|pv^o2-1g`VygbnECG6)Z${5d$>f`NxS4W?(>uy#@1oz+7QMjzc zUo`qVRrhzQ?(bCH->JI4Q+0o*>i$mE{hg}&zdluG5iT1Uxrs*K!mf2jw#UVSEyH|N z{r~t7Z>ny0K&+om_}y9XeM`x}k=S4!26@KyM8>rpifbZ6Q&Bi8q#`mqp zAC*OU>Y&0JlnIs+jt%jlysn6adgvIOu9}cn6ki~lK*S}GRAUQO6XJmJXNnT&+Y+nd zlW>fs1BWYHEqErgrF}&xM?Nn#cUF5HtD%1nq36( zb>+>_p(oao*s{qZK=go);K&;Kr6qbMKDpl!J)w$z8<0Gw%A27Rd;&;e&!XQJp7*>`q@YPjOwYv9ZGuoXMr<7;A%~UH#Y&(sTi3;<$pZf|Rj0Fpm0iKAbYVpT zvAJsrHkMdkY@{`Zfukhd?Iq)2X$Me}vRt`MA~N7j)yWASlfxOy;STebvIB7jfvMYy zF$LdJc~f<|U6|Yv!81jfX?Gx(GZR z@^2*Ea01+2Cq%)BKE=e~b%GETx3vqG{S6o2mD)RqIju|hcN`*bF40L4+}MKG;P{?F zjD8?)jFVRN2ZvZ`rE-F$U1^1EfHo>MBfzTfM z&Vod;P+0vo%%%_Vq^6OW!&{`I5<=$)!EEAPc)}#tilk~4TpuXaM9z|Clg@xdQc-ve z&xfcPJRdr{4jq7FbLY}3Kh`*HgZ98_BX7hZf@XWtP3qh1!cU+?ufJ_*GrD~(AY z9A8iW=|$xN3M_utMdn@k3Wx#|Hm$|mYDK=RO|L@Jsp6hB-Ya6Z(g}jp<2ERWH!0&tjmBJM>zwc>6zJsl znm%u_D=XPiLA62@LIjAYI$A_@&*ZF^--0Iqf(oVr8yF>(-Zog@3;4~V2uXGr6-kHx zQxsJ==kFT>{B*(FVHu2N3Gf;M6UHIikE@a@L9y^|5Fh z`~aOiBe6M8#|3ZB(_Quw8%ck-FF13$gg7xraP7|DR3g_*Yzgt;cX1dCO0#J)?^$7(m^0|eodHvG6UYWjf#9&>bZ!sZRj~Lpec(W@voI?x@ zglGq*0yZE*icaTO+7OEE`wiL;y8JsD*|r0r*d4#E$TWn>i;XNE30f}l7Waxanp>}o zrTw&d+H)nHt5DF8kmlsle0{8VMgE!C7N&St`Nf`MJQLH?Q?II4?bn#ohlKPc7AUX? z>fV6ig(og$j};ItmowT5zqCggbjG-J^3X`n_L&&h>zSvom3Kz#cXGPZMp~8EW?f|B zRd97ovA`Ic)=2Dhb0ak?@` zx+i`1QP?0bDj>+-L`1Y?Cm|S!T;<>Tc_{9kEHJYq*kE|CI4-n4)lAT?zI6y zv-#P!*NU;#>u}0JXWA8qqnq2tx?}tu8XaY(T5l{gEu~QWgl-@)s zg2ql0W2Y$61QJ>TffS0NL+DiqMUa{R(veUE6_DO+fN1`Ag6_Sa{hW7pCg)wwn1z*< zK~_HZ_xiCoZt%z@mJ|##N9wxbk{#n!9&=DeIyJ*PTj-L#fFK=8>!o^GGfv7Ew6Ws}h+vkuibjzU*ATN=)F zYD6>~$?H7!ghTB|0{}>Y%&9s}0FY7|{+g;g(B2E#Ec!b(vW(e^jreYHneb8`iQ%?) zBO`9&E%8~gD}J}0*MYF61-o_1p^?` zhaZKuqlC%4w^L5Ug(rm{cV?;!G~aM)z&5rscIp;}4sIEe$nTxHpax*44#G5~7s{Yx z|1_ko|1>1k_p(Xs&Afvw%7g!7Zv@rqUY`>?zP|mP>e#Zw7+w08Asq}K3eFwMI8MGG+KF;{&VKO?@)Hq*!TH~P2L8&6QeX@yT~k!P_u`&07?2+ zX~cJt0Z3b=QG5Q}fq#`ozVCyi24A{x@hw1})o_Q@adM8ne+2(vk~o6pOFp>>A=k|e zo*T=!7@y)hn{}e$YyRxP_Sx^elQsY#2`oEYWGvKGdNkDhbD{3;)S<_}7V6r!0BL;Q z7W8*%G?Y)(1^|iJHJ&uxy#+{g_@c4X%zD-0ENyY=?UgULhCbCIPJ1k^pIEw>KVcX- zu~9wbIy!V@a|v`3TITUoKx#VC&?3cqNc^~KrDq@~T*pAY}l8(EIiRhhjJ{8w+p^Lm_D1^W8Hit6Ke zVf0GJ+piLfklXy<`t!LT&fLLA)Nh)%8(hBJ7~=HoLbY1!Nn0~H zlkylt-J^%Dc?YHRG>G6e+ZG4$O6nsor6a^bOscIq2+~QVMd+hK1G=*Y>MgaqkXN zojTM9m+hAf%q@kz&e|hrxNRj|t|QK9B2r(@D!sJV`a(zS=|h_>F~OERul(Yn&Y>9T zjJlPg2+Q%w&=Dy&>6XC&J2vpH!}rb8W=W;1#?kp<3YsdF`$IIBBK4M#D-UUtS}S!X z$eOvgfr=+cQ*E=g`JZ`sf{!K88n^9aUsjM{=ddH@y_iCV@u^Q((oyv|$@?67V3xCu zp;|a286N2Iz9U6^_TLLjuWic?ZWPRhS(REob}lO2du9Ge0~f{(SR03UN{3#0?D*^j z&AhH#C|C+|#daSyjDu_N$o)v(>B9S8?PE(D7flWzHdLxpTTNs3-Ez@zHA@@1*PCfE z5o3~*KUElH^&){HO`vxn!Cg9BHN9P@gq%v1&m2Zu3fhMY+~l!UYWj>c6FTpH+CnxS z8hKsOP;bDGjV|wC@aWq>XR{n!kyDFuZL~ypu4EF8B5Xn~05$XizPJ zk5f2e?=a_zYkg=PdwIHC;Nf#?x5Uo*w7=_#Lr*|8=TZ96)!*LwT#dAvD?B|l;CThP zFM3j!_b5DrM%njsW~xH(r&vQv3-1}piXEOkI`*ind9TkmpYA<-!J}qRmGeOFS;diK zu{Zo?@}?U*w{fQM?dKpps^^TSuj#{CeC%JoV>>gw=Erg}RjjLCK;M5i`wh~I+FL>I z25Ji}Oy-i0C>S4Z!rV-{Ty}1!h}7NIg<*cZn>`<1S`Q^#^SezCgq@Ev!;iRyt#LfQ zA`m6o2;$*Bn#HRu!J~SXv+y8-E^y%K!R$s}_GN$mwQT1{MtWS@z*HT-RQr>~KvOkS zPv%seqUjj7QW)+*`ewEMhAF&a0sxD5g>-vEw*(SCX(J>8LMy7Ys zJTS?#_*R=6hoWXoZ>R_nI^Ay^%~t5Rx^Fcq7C@u9&~+vn!REKnDDrF~W2(+Rz}yp< zs?&#Z|FNS#cJ#-N{@BqUJNjcsf9&Xw9sRMR|Lb=2$Y0bdkYPv1{jU!O-V6<9$zlxE zHGB+KEb?blEp4X}o2QGw{aF421^XfOgzZAHC>p;g6V4uR1x zLYaa@hs7L62#TvS1PK_b(-ULYv&Wpa#~jnaoTr z@VhX&$SjPUfWn9v>mbH=-X)eXMYkLWOwrv2me7DHIym+YFhvK$!WFO_MC^S9?nhwk zQ!wuSIu@>ud%28(;H`m<$wmynog&GPh;?@Pk2N|XbB*o>A`WP7Y%3-C*JDg7dG*$j zTWfT>M)A5j@jBpmULrD_5>5Mzixx}RL6Zd9CFg%QQUU_}989=FOmF~mWoDx_-!mNv zh6@4XNPr{Jm*WD|v3?3T?`-6Z3$hxArmPv(DI}~Kq2ute@It&39>3im+(YB?AjWpW z6NM=RJw&|0@6-q=vZ`E+c!ney2adYpE!X2!)Srusqrc!|WykUH|JtO3CAv`J1n_JR z6}UrOlI~C>r3+cW$W$-^cgF~O*NgQLKuJUfC8@clf`_0$OthVVP7;1DK~CNY9Gp>) zV`$Pceh;8Y(gdJpQ8otl=`g(B#I~X|Ilm0%I33ZzD;1z5L9%2AiuiCSt=8p?rFi;T zV3Tk>(^s7REF=yFXp%HDK9VLl(p?By;H;X#Ob$lO876r*O^fV2HI(sym(ufbz9)pLM~i;jqk63_NGCh{TEuDN2`>oNK+ zX$E9Tup%aFBZ;ppGgmw&Uom^<|A!`}fir+pRpMfKw-7k21NL5acAR3Wk3IG@gmuCt zdjXky$2jxzEVfNC{Mux0rz?6|Bi#d*#{i|SU!YV$O|h@cK@G*7Ld0_t;@fmt-Mlf3 z5Q&H}A+y}_#u&P$N`NpgXaz^bV%tOu533h8BjP*+2;34}DRjV<{0gUZ2ymTzz?G&U zsVf?#I5IZX)#$WIDb71pPPLTVm=$XSvQRH;s358E#HfbFkyT56-98d1&s=8QK1u^~ zlD+ev4sq8EVT={BNS+vd^_gWvW|^P;(l~Wd~Bx< zVXBMaOT2RoU%KYPH$hh<>V8jL-oQ?(W5uh|+O0C*Qm{{4QaeG21Bd687_!Y81ln1%J zzWTMB1!(RipL&fMs0bh?=did87{P_7lw~BxdnWOY3)T;T)ph`7h^M`%lf3Ve_7qn6 z)FrJ0j-_4@eAiViRsB-o0f#9wII?7(IkItVI{&!IE}_Yxy2(oEl@Pduv0*3Be9f`> zhH0~jWpk2r5n8d{!}x`+ef^zk$%5>9u}yv+a=qxC#4TEZqODOAO+6Cz@VTS{ zwO4|4Xr+N>>YR7>vJcPX{!9r}cB?CB(Wii3n5tG?e0rpM{d+yFv1uzf%1WTxnzjle z@W8e-iG_6}a=ODT>nTGQ%Deh-TKyXyu-kwX%g`!pG zwnq*(ixNu>+zJw*$r3uHcPVV*!`avgEMX4vp%V8vp>cb6Wm01!;7(?MJ9V|MYIRy} zw)4-BB2?>?s<+M}b^iSAPD<^~x56-TZIVLX_4j?MYL$}d0^NS5f(?&fH|I8z8()8J zZ;}~*Z3^w&som4z-dQ}-eD+_-5~vqJ2gdDSUC!$zA1+|$G)jH5Q!A^8v0AAi3fNVj zREfg0mxX<%Ceo~=Jw6uF0NSgK7ZFVn7cG~I)%GC8=Go$Y1tryZv z2lR=~)Tg6>KB@K|R0i`aRW%y70qxQQhiapmv}?13)08(FWTFND5@?`~?3 ziLdCs>@;wGzJE9Gz>3y@BQSMmN!3`UY4|k(Q+KvXoEcAsvJ!{v>l$yGz4}|9P`~u) z=q;{CHLZ_baN1@`2dn!Q+p_g<)q08*q(HDA_gBJ=`llbaJ809+jY!G@gLljQl6f=- z0HEk_7JKLrakMensVS8yQ0EzocW(iKTG%hks%scD zQa-GMDU*mV0RT#RP@abYQ1Wv{0k`6XBHszW#YkK%65$)Q-D!V8xe2S^8TW)kMw>RW z(CG2u7!T^asyVmOGAF%G|J){x74?C&j{TM8TUOPk`*03cX=To)&Zez1Nl%#-Q=;!o z((7r9_P75&lVmxWd#i^_rEcdxD<)7x1yC_rz9DtJ%6~j?a0a}c#vR4`vF{1T-JkPM z?LIzKnQg0Y>|dNuF>iV!)gvA89vAW6S86)&;xtzJ!x83{B-+o$tt&~-6L}+nD@k1+ ztbr>@#2Lnwq@Ja@*Nth5e_u(;{W*JHWzNpL4i4iwx&SF+GL&-1$^(#{W$2m@JQvGe9|bkX4GnPRrMrv>f(p3g2{Xfpimz)x;|+$0qQGX)0z}7#$x>k z1E4-zNiG8b#ZkaGkyI4?R(Er9CkQD*|we#xpEx6!`K@iPI6yaiC8 zO+JN90HCUV1JvP}sonXuvQnKxQT?&>ppOruRtKeizVBRk{C3q+iz{er@lNLhU0{uI zCdqPb>r9eH?FTIt=qA5_Mm|)|lOuS45LQ^_n&-?V-GE;ghYZ3`6Wy)ToM8gLf}?9j zw(qRTuEG<~bM_v*nv~6gh{(}LdFvbY)t`&fN61ma#TGB2Vig+_h3)sn?Xx!2an-bf ziL|nEYG_CN<|!60z5RR^YOk7QCJ`;788Qu%@boYhy=t#7i<84|7{QSs-+hjQOD7vA z1se1=1>TD^vdNlwY{FM3{AKP63R|riUlxoiXkST(15H!sv>S~CyP^w|9 z`J?LvIVvPu(Iig)Y{03h}-TTgv${?(LCJUfedX%Por$IPi*F zkt?N9_&eA3<}3TB548vkH=$c~lnmKnYM-D-x~J@>k6f~;y7o+D%FnD+SWiGYewcmR z!kIC@)KegtRKdlA?;Ururbb|dfPje*=wbXZ?ZWJy6vpOV!ZsHE-HU)g@g>{rR@9zx zxVyN^LPtZ9n@!*_NRBagXNJ{d%-t>D%Vs(Ljxl#P<%m+L+G|6XDoSS> zjCRbSq=k0#tUPymsBouO=y;oZ(|$dlc7xt4HW8=acsz#wCMbD%2^oN(UW^5#0(X+a zKdYu7Fn#isk-yrdXk%w9hb8LlHDjP%y8AvFa)`py#FhN|)V-mPQicL@JS1-bpQaqI zpIkS0?iDI-hrA!v6$$4E`9{2o;^mSM@f@#JRC4Yyrgy^+wja4A+Sq)g>BzATo7^s& z&=X$h-;&v(G zbycf?4{`A}6xH1M#a*8UBvO!PYV1lajy#<9h*D;;KVnr(GeDb}=O49o@~^Hss3FRI zj1Y|INa2u;7HQdD?d^NanV7woko8x#^x%zCl!NP+^VWy+nc0#rBU>u(mHG^1O9u;q zYzcREZR8Ps=~?rU6i} zI_-Hdjx_&X={nx{Leky1inQx$?zFZ`gu4>CM<#dN6l;g26yx$7GY%xu42&JD2|l~q z_W{9?`@I`yf#7KBSkoILYv9aLYP&8oI0A<1w$2=xdu9l6t)$)5{xE~QYku~*Fj-IK zE(`Q2=jZ1v99buMG%Wq4`iSh;r}czpEyNjP{0AM6gYo z?4In4C%mmO8TX@DSeOpQ^53J;2E%9NBL~#jv7TW`?BTkFsJ|PgbyTArnl6o2N1?YG zCSVy&3c(_!9xba7Eejw79M$N22BMAz*hiIus`X?dl%L==x@C;$9W-DgyvvM(NxA|U zeR}{BfXDbT#+8`Uh-gJxm=ZqhAmC7x7@l>+|Dr=ZuEgG%!BpF!t&GBK)bT15$wL4k z(b)f^YEorR-ofJV*$j$;&cqm3^6FOpq9`4gcwJchNriacx_F%#9LX8oRH3D8gm0#y zH1EdZvSZ=noRZ_59;zUZWjs!rkSfO2Nl7px5-2nvv0@MQ!uio>5WwW!Z3WytFfJe) zo79?w#Uy!y6JEK5vfCuIcs&=cOt1$^C|Ya+5H`UX!*>qr&|yj(?+igVJ6``cNEuNu zH7-ViTOd`)BDfK+u#S5L*87ThE+@`zhlrCEASC^Zr9fQH*#vDDYycd$ymcpOnW(!# zM2G=mhusIq2Eaf9WR`Zpw38dej=E%E-R_xS}cWO<5X>`Cd-o@!3B=?CaD z7zHuDy`<;%U?xz(nLuSpaKsaK%w);a;vUXm@6KRvD`2g>)84Jewbx@a6tMy0sckID zR%B9!cUGuk7*a7d+&Gp9$%YYP6%+~TGY}1YOa`!$=bid|BP*Fi6c$gv>wsx5!kk)9 zGuOy@2Ep7z=5V`&N7Hi7uIHeUasR%h1VaHsd6_f@QFY8_0YsGn5EY)3PG%65g=;#8 zKn`0QX^1KrKqySxhEwBcIM-U3e;^+sZL+MYa;Tj08%R;5x*Wk^N%p zs8XA2vHUOyio}%Qt51T{1gRC`#;n>Bm?UESNr&_x2B8p{IPS!t{vem5@vNNO{Qb z#V3dB8oUJG?@!sLRS)&5{f>z1?0Vts0>RI`5YZy56S42aun)mFPnR@~!nzmIxOQEv z#ReDYJJw{{LIKGJ;Ey+L5ToIzBo zEe{{Jc)GWkz*~}t1i9)=1aSFEskKcoUa9&Oy(?LSzQNDGQKMPk^h%VH#@fPfl>aO~ zC-z#c?Oa@j5AKI6iG8GzPL>ozl1f}btht5Z?u8m*<-FBR0#H2j#EKJC1Yv^QOXqFl8ya??&KzHgLaqp_vB8yi2=lvz=KF0keShur%nY>Th4?-D- zYT9dwWQpZIEk!IRG)-cI>t$E}Ws|I5M1_d%Yv)uP72Fs(ta7W@RkD{Z*~K8L@qvfh zZECk(o{7f;M8)sKi6Vl|07PZkcS;#7o6tP~!2p5OC#@{G!sKoxOrbsIlNRuaWs?}H z7Idv6j6$W1JIJU3$)W+#-hoHAn&H~LcXxI@SZD?^snT4w(mXa-Ad`x2zEU_`Jvv;Q z$Z;{@jaowNUpsrpw|4g6eGgHCuiCM}F8y34jZQVV9BL}OGRd0`&he!+mK$SVzy|VF zhx*%l-e|pX9+5l>V3oidl^;Xy%v#FLak%V9Q~8tT3Z_*#GZy#80juIj8i(+W*h-K1 z=kywejkG4l{AE=-fK^G4^1qD(PWhe6t}d~U=M`X&?I_tl2iDqO5*rbJ%(7;m)CXbe z`@5ugd5^c#yqB}Io3Z*`IZrr_biDn{+q}h9#=p7hrs*)N>Li1!y2e;7oBzpGY_I== ztK45t8P$!ydQxTR!`b|wT-5<^m1VI#rO$RwOan-!=sF#zbcQmY4bcUfA24q;!RFt- zfR3%2Ot^nQ z*iwjdrL}X}QqAm19Qkz+OCmQC#(t@bRk$8{TWUmYXQN+O{rBv@?=!X8EdbS2NFGFI zq|NI`bdoAMLV74%%0AMUBT5AkePZTit>i_erTL$8H%ylfEBETX9n!0vN#dJL@dcYM zPB51DU`v;`!YQ3$TH!3Pyk~3P41`lJn9FbL(RAIee6{Eh;`#SvjAyk ziq%Q_t&fjD)3Tf6$r_7tgz1loi{AYozAP@%rP-E$Hm!MlmR$PqRchkY;!yn08Q@Hl z^`%*J;7k*I`Fiy-aHgsB_nD?*sb&!i=9wnq%GQ}CqoozVt(tu20k@LB-PHiZQ>uL` zmloQ#;wj5dp*t5hNT1dypEOl2WhuWg+?8N(a!Jx+M)&zFFsrL4HI}OlyuV+pPD0t} z6I*m;v_)5{lN#e+E;8v#=s>f`F5dFn-^EWtc8q_$I==$Yl?;=vUPpdYjEcLt-0QnV zSIfP}nRIo+z54x$-*iPU{AE{gGG}-F58ZL_=26b~FM+QRKcDyfaI@s5!&o>4VzgdP zD-W#A^QOe{3E1Xu%C1?A>jZLfY}2n$P1X^tr7Zoaonj2re{w3t2!=J_w|14G*RIHb^6FCR@}eX2rc8Un`WNw&_8=F z*VgIT@GQxSv1J#&(&&OPy8K3LiH{;l+$KQ@t-A>H+ zi{zh;&$3E0iEzJ5GPLRIUYWcwS|yTeSM}GKrmX3Dkwc4iQ+%59uB-=Y)`}0DI6A=n zO6XRac&eX}5=v3^mYieis|y3m6G1zUeb#3KD}=Y7>YmuYP}=7lbLX_Un@z_te<~%E zc=tYlR&RsuIvWN(yc3lCE;x`I_rbk^J5&AfMrbP0(BYlj?gGQz>@3CIi+jgjL2qkm zz>pbQ39s)x<4z~IS_tcL``59 ztymxpm2L%PGsgDL)Ds}U*xsN(E~iwYDloQ3>@(=KEV*;;{DnN_%E0@W{uZf6JgY=G zA?gFH6RPj%o)6M`=IZk46WnBx{4^Dl-}jkxlHFkrAgz^F235Uow>CRA`k2b>q{7ta zY;5;)tu#jE0-e;2yc5~-pX)3i6HV&%hhvvmwx<`57Xk}=&w9>j9_f+&gl2gTv;@%xE z(41szk7)^Tu2XFc;8qGXSGrYo#R4kt=^=LoEm3UeY5C3Ioc6KJW$cb2^tI-O`<+QkeqkDE4pheLx+xw+X1D0(<5XLoPP%fb@Vq*c?Co_{TZj zW7AKfMP_;LZZu#vC-)r&fU3>J_}D#8cfNfJ%Ofg<{=5ea=JxQY?)>4g%yOpd9UByP z{)ptGB!N&?&fT!nT-u&=P12-!(D`>e?Y&_;6b74wGd!CQ3zte8o>M-H7r)FKsH66! z$RgwrEB@3}NQ_c{l&=gdx==nuh*M=;DA2P}8aJ)q;i3{svjY_z@{2I?MEL6o8}9Lt z_TzsHb3n-&Z)*n*CMDf*Jyv?z?$yd^wPvfxdkI&eG|v`NjWf6U$mLy^drzrw9zuQ7 zeE;6^QLFUD-4bEKX}3KDA`bN*;E74Qwnw@0v{nz?DHIsKTW}UJi&Tv9tiHUl>1j*@ z6{BA|MdC&3Z>tCV{7>TZGX`Y1yO*#5(KmaJB-ENCF&6K#bu~HtF;GT}+%dta14^8Hdwd%Q5&1CzJYrdyV^YJ4?vT ztY_ElLJA*-+>^iLJ$UZ`F4)!1=poL}bMQ(~MM&^q$Y5-!A6+dd02hL_3Ed}(2vtKM z?GPUFh&X+Oe+2^TY1H-(_>B&EUmlr?L!5L*WQHQs)`D`UL$U@X3$lD}dxkX}4J*w; zHXi@&QOjWs(_wYfVXvISDU2z-@OH!Sj1 zk8_=0{Pz*2LkK|uIv({uPV5<~V|LS`$d=IwYp613Zxw*2@GI}XVL)C0 znS~XeiH)m_Znr`Kmh&G%W%)~}0J(DYifyy{wY!(~dv~u=jJ=W)Q$_>5q{T#n@p~2U z^6F2p_ypenN~V$#;52)}9qB|MnaTyDHT6*HbYOdr*-SCE_x?(z6p$-kMvK|l$n~fu zmjtWqXe#YFq!JG}6_FO3#2DcFd`=$`mdz(O#Vu2&4Wr#`hK<=k9`1hcT$?%NAAXBpVq6w_g6HDiMIH&}nCk zlRE@bwy3JXB_+=}fpy(S$vZ=LJjD$3ORLgcQUR^XoZ*Ddra};Gx`^a$WJyPAI-{dP zCF>&6fR0KM=%{p(!|CE#C&V()Mj6*hKF+TA-Co)6P#LcgaWHTk4#qkp#uZ-2l1Yip zp%HN6(SN5@_;d@`Bt}ZLP6AS@(_~2zLVD>2Dbgq!t(YBykG^f2ZG$J_Ng1lfgkv+1 z<1R5-2rvX0mnF`J8;T2>jjx`~(xzmNZ15X`F}AMhqvXserLb}r$+ z%}SL$zl+NUMR-Jr9R{ISXXCurNe|Sq#j~VSWb6a4^otH4vSLx$P+ogcmgq3)HaL5o zmak}#y*w1XO3Ltn7ck-~KjPL}U*Axwy;mNMzCi?RQ%fxQ-B9|kxjwNJ3DvAq`1CVm z7Om_O&9)fnw)}jx;xgOfy?jCnW%Kz+4=fyLC~8`H&n7GPcUW z$UUs+0RrgOiiC_=KT}A4Gq`%`jN*#0{P9pWqq6;8#qoq#GO-K@t-8D+;XaTqz^_mQ z7%Y!FEH8pcQrnL?jn7C?!|1q_zH>DaMk0wm<+IcmK+7q@Qn9eFBG9djG@H`pMZ|Sg zMC23zN1rskNwGd92wI`O;&Vo8rGN}aG8D_gCqP6`IcOrmvuKMhpeC& z+m(arsUl{(@ZAR>OQ7V?7Gzl#@)8O^iWNPjCEcT??rCwpLij^(}nYPKVw{G#&NJ2-2JBr-i z7ORhX*B0{voIgfr)GTJvQpE&|lRNyWal$FG;%&FHS_d3+N2@zGM>>DHw~jfYg66i@ z_>_r)Uhu}3yFWJC4tW6-S58Ciu@l%VZq|;%q?d&)<&Om;*S1%Vw*cp%=vqB;d95sF zuM3B{kL1Q~orgN`qsQ$o=R>+QxDC|&JiJnmQj*p#DMigO$cfkE?L48JKU*!!nEJEq z+~eJeNaz%K*D15y{Y0{7&y#*TUdlf0I;AI^k3e9AC2yD|F9HO<%AEQ;9uaqAfBgeW z;m+@ICdk_DWES|&b`F78hLDt}%RIiyFCvDRQ-9LfdX0|L{Vg&-`jmhK&aB@S*3aN9 zRDWDY=e~uuqOc}26!ZkB_c{m+@f!dRM%^$Qh+b}(e2ftV4o1Pc!-0uW-Z zCa%d^pp=hp$-AqEJL>x8kWR>m&WN3@KeYO#YX)VUXoEm>MeNW}9o4971){4kCC;Im z(UH+ndwN$3zN6pXo)bX?K|o-t&adjq`4$)HR#T2cbDa-v!K*pUC`TWHU9K$LK8N+# z%(?HyBc5m5)G=roKEjy&D;#NB7>Q&;R)pzj-$F}&V(S|wWFY~_5_k_l*6xe%_x>EU z6?l8~aZ`@h+mE;YhOEns*}t)axxK*bA2427fiEeqDb<_ZmBwe-jL1?tYTgmV3<9sJ*m&{xL zom}}%m0X++*($D7N8x-Q#V)pP6<0;f;;J)gzH4zV5c>Y##T9CLyr%zZZclN}-*{Dz zTLkbbD-Uuxw+-JBom7X4fOQI-p0%}{tqPqLURkQGm3-p9j0|5s$4iSI9f6&gEAySh z!ls;=tyQ0S>sD*ko5))Sv{nKigMrqnZl2Lv6|agdwG3>vR`fzJQit`e)FQIBKRmJt zh^?F#Ad^hGg7MBgBF>O%-hX?YVm7jruhNPD{7#w;Qn2jn{w2iyi=!0nBHz0J=nBAA zR|@8w0k-m6329#e*sAw8TeX~M-MhtBg{xa^r99Shz=FLc9r(b29-}_7D8Ds>b6(^9 zJR=nzYRS8E9CGIQ&=-|4lcnco79AF2>s=bm?{=+$Qcto%4qJ{;sXksUensGu8<=nbL0K5|sK;;Z^;3|7Q7d zb{lQDezYpib%MCkQgfUkrL#J=p@sDQ z1)K)Eg9NzuVQdN^W@qP1faSku#rnYQsfO#@DpL=iJ8`v0uMzjXCB|Q$=M@Mm4G927 z|6oUpLV?jg?wvwz#C~ZzCpNG>{@x+7Ld?1CX^I6Et2E`Z`PU|@ZpCq#Kyh{0^pl^4 z5qt8W(p<+^RKV?L8Z%YBxxYsLDiq@Lw}UKoSZ7eDBK6)F*jSzZc1VW*Ms%x8kC9MP zRu9iPQy{jIAI2c9ETByxuWhvY4SI1tFp9sD--5riufKDwl#7=CISXGN6>iLqD~I9& z_5w?P*RcIwv>SPSha7NO9A~wXTxALrS6+WVHgfFt2K(!>_wl#+Oa`9OnW5Famod|M zJ9Jokd$5;Ih3OrMsTSTk5|ut4SYYYtfe@`NJ*XDft%^2N7m6*>B%!Z~MHpPgRrYDs zD~EDk3{&Rr510-bXma`52#S_HBeT8rUYLQjQPil{{iHVuU=y4*{oaFtFl&NYM%%{3 zOu6;*p=eUu*2>?tInSzXbr(Trp8_L)YZ1ZDcs}=fZvUpD>#`Ms8Jd@?4sN=O8NDuS z;4_k2Ke4$CK2UAYV6ELjR7kQkJbtuKAoSC-q_s>5F$r-tnGM>bv6vmz`fS^_?VN#% zrr)6H`yV;zFeh0-e&fGiyZ9<-AtfMx_@MNo^F}O75B=%9?#tkdj`pAxNzXujwE(_d zFu&@QA~M@E9br{&mc#Cz4YQO5Z%s_==!xFIPQ!PHGgO-nCncwdR2pA?K^EcnvICyM zxuc;i!T$-qs-r|!F*AuLo-?lSvw*%A3>1(RyAx9Nz-hMxPwRPL=MQ`$RyE8vYisAP zHRl1`NN?AVwKFH1I}qkJrfN_xL;bzhXr#@1>7CiCA7T2)7$vaCM^6gZY1N144_@5& z@>8aJ(6*TKKwZW8rA~=?mnmI(7p*bK3*agDv`a9t+%xZ2(Uxh~4rpJYSaJ3$5;o(w z342Yi?LCV}jBv`tyR_ao@d?!vp0QiPztt^6?-PpFICZ#^*6!|oHvZlClv*35{gz=2 z9??Ff-Z|6$!2EF1MB2yQ%Bymhreb6j58n92Q$#kAtQW9M)1bXJcy*Zbsht~^p{H$9 zgwmZ2fJ`d%Jt$RTQvS44z2%eOBYP@aIaCe3d!m#2(&U_6jID;O<486c2cIYy^`}`T zOnvs3nRKyuveDZ!W0Q4i&#a}tw@upKbJ+&hUC$;WDSn_o3x9v;>JMH0p{qZ1^@pzh z(A6Kh`a@U$_vxx(hg)M=kVB|n)}CM&yI|DAV5!02(r@nV$#=IK2H$fI&bI{gDnMTz zE>a(&jeX|n>5zX~F!ox=;kA%}9if`^l+fd?p{}8!QG+2T81QIJWoEn!7e=dZ_@hTyAEZD`lc4K92z;oBrPa7G`}L8BGBC>Xm+UJIA7trb9XN`h`(f*B%#S31#LjF9RTa~U6#lSvqvL3aoySO*yDrM@v$^qfjklW`FVsGfgh1b^9sv& zlgLL!yDB7=uE!Mvq}7!Kq*w0i(3N%U4xDGll)h&OdIh21?&T6iB*A518l2m zhEtMG#!9)O)udw;G*a4DGHx?dEJelG3qXq1odTp-do)P64a|LGf)^oFs4~XaHSW+l z>D_W>fdcj}FcsL9#5g=v81JzjZw$^k1jZr6@Xy5X0rog|#f)#j(Ww<&vjZ*wmELwa z#hsknEKWFzAZ07Y<&Ylc&63`Ma*9dVQ^@!;GY~^BOf>>5E}s5UJbxL2ix*Gqbs(9m zXMf({w-<|bC1iY2%+7E~eFKhDTerl1%exNFEfP;N6M)M4K^^_T*DP80!dUmzai1E8 z0995EEz7NvcS$kdpN4Bj;)3zHO|I#Y2%M{UCWk=Y{1K z)T*qzvu(t}H?>rW3LYMEXIK0bF$#fl|h}U|0M@7wi;3P~0ru81cBc?M_OoMjq#K!=btM zx$5+ooJJ4R^O;a;vQmpTq-`ysa|58OTQf zorD7U)FY4%fn%M*Mbxj3fsM1b-r$?zWW?eS!O>SFPtw8;jzw0eO$#xFy z*z@u2K)rQ=RK*VMZtvcC&1nFrw?uBGDu1PXN$4h3cf)zxWCZ#WwEE5@zVUXV8fiDk zZW8`=+bV_K{gIKRP&68!w2b0^pU>QIWOh{q!8b^R*7TSe_lS6CJ;dRG1dS-oT;lpbT>*~}{9n95&h-FPkXj3nH z<5Yfb4t%|;?9D>Lv97wa!&8dLsc1+dpj~@ZI?EHO*v|vo>pN$kyqPx}&e%G0^lIB55LvHJE+oNW)lh}=FCs_H&0J(5T z{m0B8GzkE&7Bc~w=e(HV`u63K0k78-x&U>n*;4cs^j&=K$M+%dHRyREX#Y4*EgW2{ z!+oW2npQiX^~=1*VouCxcu=>@3(zq}vjtmP@?DycqU!!vvz5y?F4Hk_uDuXW{F}YH zMOOg!qU1sR!&{y#01}UmfOW54f7|A}`gnT2vv$dw+TB)9J#e6}gzhxFpbfnI!l*A8 zQ9I4ZwF;Ngw{k7jF&b(Xd>PWulkKC92sj-o>S#)&P20Ze+NB0np2V ziCz$X0bO=JIlHcL-5_@08dHTT^BR+}7MlV(ha2U(Q{&nSD(5;v4o?`A1FkXgiUpe( z!p&lzS`2VcB%kJu@>d(sLa6r&r9Zt2hxDyqqlV$#AU{fA#69(Jbw^(GEEOoL?8`hR zhx+Gi3-j|G1vSsl+uPFn@~>+?bRT{}A0eOfNzZqx^e~v{xo|!=w9@0RoU3mu=c@KE zNV5}c#e>>eajJp?_BcL@EzGgTX6W;b3Hsx&oU7=%1S997rxaN{SUQo_b1pSR(B$7E zgfb=s{h9dmMW%SkFvW|VAznVe!3$X@G|2$36HM@0j+`~N?Jr~%hU>5v9NMp%JD_+* z*=_)`kYBZYS3s}->+GCPot#8&X~R#2`RC13b}YqR@;vooChT384Ypr^-a2Ay8FR3# z%kCa;IW2s!@tA==CE~dBqY{;hng2<=GBg#^VoC~=xBZF>m{+ZDDG1&quMX;vJ|XiL*1N{j_Z;D({#SfL*9vfqf#$yLT%p;10VQ zsi61eIUGvU)VEGg+y8{k{KZo(LGE;EsAXHWG$Yq?*(J^mdqh6 zWEuJ7<*=SEl}S_~zwPw>MhgSC2E3V4 zx2|7hF~!|~$JGQhaNNrI=oP!`>0ge?uEO>rll!?xE#p97r7tCj=0R6@;5 zBc8ZfKrJ^O%3UeauCWWAbs%XrotJv+#eaQnJ=7xhXJ3UvqGqYZy!nDxjq*FqUweY= zFVzmSsQC(dmrcWTCY%Qzwl!}L*RhwpkWU_&?0B&7n0(#vJ@jEAFqx;T!zOO|Ag96l zRMHnrqN(oQBSm2Ippc_U_Z#+^hy|Wi5vA+mJ>PS|3(1BDx$@;(Ofmxl?k z-neEJ_Px!KUagjgH%sH%gVr-Ly^Or6bycIU+wleYOViIXlV|tj1Za+;HPaN!U{rM9 zCB4ALU+1i(d1kbi3=T-}tl2V{%X+s}l*g}gRxqXDTqC`G+UrIZSNI|?1{tcEdKuef zSjUpm2IQS8bADPri!6bL?c4`khq6Y(21=5z4Ss9Wx^W6u3GLubDN@wFp^I<3cH^+Y z4E6XT1lP-c!z9Hk-?rysZ`j?m>&GXLDqIOZ8+Ak}jJsXI{64VomuWnC%yP#3ELkWi zGa*yUjK*#A{%}%e-^~;6XcmuVKRy2rJ#!N5+V#-mYSMyf`Uyc~*P}z2q;1O11{Pj= zw{INTf8*dy#=;+pvG6A{qvBR!4wO}i>aeY{s(Gudy5)Tq_a2m~IjLaoRBs)@S*FBb zu2Ap36si6!eJ59I^pH)4;yIGl6Gf{%>DIY7&PC}>y4u!k^cT6D%e}g1zkR*;`O=JY zdDpMIT^KcP|HE8=3azBjKg{)qx&AQMALjbQTz{DB4|DzhfVtjm%lZb0_h%w(?D_5OVC2Q|pY+J!kNCOl*z6T2%D$-{{u4WiK!kZ?_i z8(*Ra9|WNQ!C!^oNeKi}B1Qs=3r>u(gQ7?7ha7_zk3fKh!7>sgUcx?6GpR;1u`n^1 zoS0NXN^0hVK1D;@6_c7hq2-xUCzg@;*3q(2!>Z zo%)%S_7k1_buQ)Ij&}hEi~EAXZ#EuYAgBL%$Vw7^cr%@12iG|a*Ghvc?-W|f5Y7`2 z_7hqe>Pi{vfOoOf(tXv^dlg|vDM>WNAbG9r0YTZnWn4y(y(|$pP;pt?Bd$wwUB@6C zFbIuE#Engab0b1iE4`^bBSq8yfEKLP?%|bDq`xFW29jy2h6?(Nyn=Vg>k&X+`lujD z;Q&dlxE=C>0^~(Rr!cq43r^W4uk=QAvOODO6CEvwNh-qNHqqEdG$90oq@Z1yAa}2H zz0C~C#s~hAxJwk7Kqe^qU*si%-zG0MbUhd?4aP}pA)Fe8t~dTkUN+#Y3;J2s{8>W8 zEE^2AWHjTv7r25I5>#bRP#Be=c;SNncK@ms!rv~54`dJ)M!C8|;E5pumqoBSjhGrB zdR}9XtuNT$Tl{^Eut*T%hGj zQQ~{cp9e^-mn31P$j#7!6kn8gzX%l$kQYmYw_Pb8Fs}|K&k=3(F>1PI8saoHhZa>B zyhC24BJ@G2pu`pnb}Dpk3C3#p>{vR61l!*_Zf1N*jx_ zjkj=tjLh=YOfxVZt(M~uS~?wBlBiWY+E`ZRfWS3Xu-K4xT7~zh71;S=y{)V}{QgnJ zFn62sS%=KI;*ucA|1){Lv@g2fDD)Lt0kOyQfG{bNW!+o(NPf)y;zDj#TA8|W*$=8r zF}9jsjIPkmKDuckB3*e&t8!i&kTJLGk% zF;`ly_=bI=;Qo|KSyt%5T_uabuLf9NtWtw*ycwM$N1RKESz3 zEV?!XSL!%l?cThvr=Yw2ndnWf2iU?%C{|B7`(7AC(WDLD`TP*2xqgiA zJMbpE1wMj_S_yfzB8i@EZr{Sz@#y6GEWBbda-4LY^N+Ux=LH`(_&T&azxgBm1pW^N zY;&|1sJ^KAmhMvoi=POS#Nf0r-VSV5j|H+QGO1dHPl!*kT7}(mmZwvsZp2MhaX?K1S|f^=gMIw2D8t6Ti?2I2v= zh@D2iyGYkH%DwN~Nne14vA2%kr5YF0#iUziyus3#+Ejr8)rC?M6UxbE88uMZxHp?o zY4zaoUbnGE8(62?16q+UwdCgB`X9Y)vVFjSAbFx&cC&l>F?go5O-VV6HD58XvsZY- zzWCL+OfNV|XDoME&}GYHZ}mj4oN1qeXSwZv=k6{H}xA&AV*F2eZ12KFl+lv)O9WvycBqLpj&3La>%!vlc)Xl`LWvurnFzjX@^?}$j3Ph&ryw* z1|nrgxP=CzOi=&wuH+r>a#BS@jC;~Xt5R;T-BEs~*2IqW>)~d+a4X*SE|Onk>8^M6 zp&8KLD>lO>S;JNIVQ}jJfL+m(<7PsGdM!=$7(uk5Ef&hL$$zUPYI=6MVJPHRlt8G_51|Jf)^0@5z$X$wNdcqBqtCab@(c4D&5ae?1Y zr*6V8OC#;s4e5{S)LATa8@rSVy(AeL%5C_7C2d7@>XYM4K7d`UYBsOhx!7IoQlM?9 zvSsdIm);3B^53yb|DV{^H(y5JGWBOP!$<&jf&PhIdjafnuDu^Jy0su_zPbOK$#A$H zmF4^=cI7X=%WLVaKF)DkcfH3NMe;6rMNXk2n0m{9lGoHu=JhjTg$w8)Kq4vTI9V;xdz8ew0sE)oJ19 z;)&jbH+oAPtTvgRp5@ZV!-Xbm;K||Gw@ZcixtUwbsJ^+>oz#ot33WI1+Q<@G22!s` zX2tedt(BeBYaMJ(Jw<7^nx#eKu`G++IgVK3y9m_1)6T@jTTDD81rVL8(CL^;IdHQM)`6koswOcc3ufTd(Qo4eB?E`ELg&7wJxG zdP-{vtgV4t8~x@>{U@i!->xOEP~Wl4mI3oJ*u&iIyeiI9x5-PNsm<6V?2woB6YBNf zgudQo-PrEDw#o%X{ybZCA=W}e2_DCwBIJNVE6?uryUR)C&%FjDw$D}_x9k%|qU_ow_Q2H2n03 zxW3=xe%Y(F-@n};Qyw4tz-DOCz6L0?+{cHOZrJXbp|*FN!14PV*2i`ZeklWVKz2^Tt++kCq<$OuR5`DId)Fzip%zSa?&^+riCS(KUWd26 z>+xUSW%NR93Gl89=K=2umWa_L-+Uc+yg}4D-~vx~jtaT@voh~VyU(FzL>ZuQGa0;|LC5zdsaPc@F#cy1A>oLHEezRKh+HfsgUYpG&W5$8HwumG*=#O zdFtqhS`wvBcg-CVR}Kw`gXtg}J5rW>pHmvLVy$wO{0{Go6eb$#`jM5_cIvLU-_HRD z4mZhC0Sz2`d{@o&IaL>)sZc`%EAAcr!Qw@N0>u{9gdYXEsR?t6v7`4aG#!4?IZG@% zP4Vydjq8yKSBw+k>NS7n)+s!|6ptfli!#Vf?79ZvnSo}-YFyKP;N6MI!? zaM1#t+t=cbo@~8j*6>6ZGFKoc*j`eyV_iPy;M>+^*PqK%F7zC*F2?l+y}jZ=w?c;x z4_G|jXPWu^%5OgxoH`zk#$7Yiv0gm1S7Q9j@8;ml#TWYw9ba3Ij0Jdz83&2Tk$uf> zFkZ<#$^)heJ@YrN%ZqPy?@klmdV;XeaYp4SVGN2PJ$B02!PDZu)x^~4s3nBy_a+|K zUjdpfruV+HF`CaD%$I4blYFEYJJ()2_~|NrjrV1b7DM^N6<>$5EHj@A{{AAlL+CuM z?^5i(*)wEwy)vQ8`#zFmZ%g1Qa#$Pp$0XO(yAy$R>Bi;jr+!nnOgtq2V)XewluNv) zM^76aY?sckE1(#_x=*BgSXKbXvzipP?ytU0s)$;9BXF@rPW#jTr{mw$BfTcl6F+?2 zxSc+~K>nc+781(;!20Bz(!&R#w#>H!%fot)x*n8&EtBT-H#!In&RzvGHo| zQ%+12Jl6|%a?(NV;@->3^)E~5uFDg{Sfzxcw6qtJi_W}Y!*`MVCe8~tKQ<D8AYF%HXiIW9VI$m)B2 zBP(ui&>1GXX`a3q06CJqBf^g~50nQ$K0W#5?IJ7bRwvP96#9GVbpGi<^ziXO_CF+E z$n#isU5Z!8iuGM9T~()}JB?WzG>-YGuU%Bt6j>^rRaJnDk35@*PJA0^SZJJzr zembR1)Z_O!N`}`!xe9VrP+rz=(=^PBik^8tBlPhwM-Y7bkX2#H^+q9^=VFM}%sa{p zU~_AYi-;}!9p%kN^N?R+gdc*Q=Q}=`#~l8WHBS1dV@olQQ$7P+?mc#SPv~pwViCOb z<)oW^o4d?)#0v}_GnT2d%2#o}BYYDW5d2@}0tN&NH2Z);tJuo6Av5<o~!Hsp)%mAJW7V5Rq;(qRXz=+W@>~7R~K~S zG^HaZDAk3%NvC2!vPLx|OQcqYvLp4($KFDV+-O~++Ty{ID>&~-YHi6tg|p6WS>w9W z(Q?oJVuVCp*?5u13^nWfy|T&XVD6`r-x1|gZIPE|WliiMerX~awNlO|1H^m|F_&|BT1dCXy)6|H=vsm^nx;kRCbUvvG3iFV!< zt|%v3?mXo+As33A{QJ3*Ht z=9=}(FC!CEf810N$OG+B`<(Vq=mNn9Fg@j6)u^*z$0$#iS6oN&0zt43lZUhE9}ww*T+iw?WgjdmaDh#hKtEe%xP>i9k}IxpC)!%kx%mykH7z;{-)`b<+E+-zwSP~ z^J7|+SNP?r{<3|4#OTg5Q2)k=Yw6rw46%l?vi)BkDJ0PXmxh? zJUN(6Z1b2i*aLf=s<)Om<-y$J-_(DBbDczcG;dzfcFmUP5log2$5Yoy>88j`fDK9?L-q&66LZzqL4puNbW~2Ye9@M)2#Md~j0NMmRP2 zxk`jTtSw{aH>YP^<3~PaqOw2mYHrfkLe^4#G=J>n2t5dm_+p}R&Ot3T6itd)&$|0l z%*m;9nyR;6^T#mrZd>!j!olX2gqD?%{ofhQZX5ICt)K2feher**&OiI(@5GAjxc<( z)mss9u_9G$$fr$V;t`0o-j=$yI{f1M`vd%DG82!#6i!Lcwn4u4|HkTqv3|~1oHv~{ zkNCO5`nAFPgywKI@D%Rg5+7iZ$yBv#^V+e-wAkGtRmp&VD5BN^mTL zH@-c=>(|iz)WSHIF3~%Q@zBC}cSCW%t~jt~^w29Am4wg$&oGZUP;hV{raqz2UHnml zOo(P^w1j;u`VJx}(Timm|5z~r)*zp<5uc`+7(S91X%`G3*(S{a`-G5(!w|Ri?S?By z;!&Qbbpaq=Bq$1?uV85W2Gp@0sx%0#K||{$k_egrZY9|zBnjsy0q3*)gYWw_!002e zo())^MDiQWOvYPw;HB?RUjh-gW43RCu0yH0^CGQrWb~rfk7+r;lP+&Fcz(a%?!a3H!%n%vYZWN zSd=+2@*o(4Go#2Hqo813!Z+L5Z$=6PMhe^%;q8L(hdT>HDQHs$I;>IV7!%>$DC7eE z6TO@%Sr^)~oFG|3EIER+60SxG1@^)jYdvThC7c|U31fm_e?zYq5dKaGKG6A(2!7sP zr3{_ha4lfKkcce-V+#TIQo|I4VDh}Mgb?VyP_XDcrfM^Nu88oYE0g|#aCi*y_x&7sc$@~~a3@28JuLP65TYG7N3bn?t2nYrl!hr*7 zFJdlGdj-rFXpIS80cx)R0K*8zQVEx)^A56_2qO4tl9Or&=qa7&BMjvevFME4cYvU4NH%0`rN zSBgrS=SdHlC6AQKo@*DG2IO~Q5amRKeIp*dngf$8n-(ceA1$7?FRuq7^Bu@6GSZb< z817BZgO-3p2`0s&FezBiNXaS)@maeR_J46NI)8C^qtNNmN;nfU!op%ujb+2d1%F^L z5e_77weoWdWjr*Q8ts}PZA{}>wiu+w(Q{+=Dh9EKpFZ(KO>x@-|zlH21T#i@s2D(Cy7FH>!Z*>o%zDg-Tr+ z1i-iKd?vOm1X^p9l&gddEg_w$ZyGm-DDXGDrNLvqSNc2ibd45;lksghP>}^FkWrCs zR4wG3>xs$Q{{wNiDVH2ttPoJ|!sKT#3u3)XO|tV_BYN>h>uqDQH$SP&sQ#Wn z<@v2WUby-pTKTEPHg%I%?s)iFmTwMhQ}8(rUBJM1=rnphZXpyA5k;6h3g&?Wo5N#) z0*VZpS@=Z1Etgr?O~yomu&Mxkt^NsJ(Cw>ZBH*%@*gP&f!Lx(I0!X#yVL6c~2&~qkkZWrR|4vB}mn3meDCL`{2!HX;L#GSQB)k>E_Lz&?EFF zUs@H6CVcL-xZ~^nOMR;_xU6yS`thu9kAaWN;!h$!*q66=>f3iQ5N$ zQioWxG|_YYnpyqY-89K?c+5f%Y~%HFC_6r>8nHk@)#T!RFuM9A9!GEvc)R=pY`sjz z{*2JTYjn>LQUKtq#+Lru=Z4xR`j09BLz=H5cH=L`kpExt7yNj)TsZQr$w8gZ1--au zDu9IT9f<}cjIG~Dx!+b~NZhf%^>M$g9LKGnRAwK`7lDcL>Vg)Ax;G`)T%d9>EIE9C27 zhU}DGT=%qRC}p)7yBABT7%lTL!ialUUr@mkVddx$ z0o%#Gq$OInwN*BqO*- z9Vu%@4W=UR4iOOlVXz#4!N~9K2)-FtLmt3qjf3mf{OUax_#e{h)|Rp~b1jQ*G{lC|DC}iKm4Ql z5?Opk;Bt97&0$<|XLWin1C-6izgL7kjlo&&{0`#G>om?)-aYLw33F&%5-1yi{oGSU zmx(0HoNkw?)P0{C4*aG#uB0#x&1nB-Ftz#h6U)uJ4A#dec{+d1jJ8{Tt?e+_-nLcI zJ*!pt5C34Wv^#YDMJfNG2ZUGe{te`~Zb9W@n>?Cbh!h{Gy98;is z?ek55gfUjPB~0|26N@VGHwlwF|M{i=XPFaEAEu3!uTF2rUm|0)2;RYzw{CG2WjgOD=`6EKlJ8-`0G|1?KTj9^)dd8zu>D? z^sl?|SKw~^rS{F%;u{cu$*g<=;;$!D{bRtXE{n0aw$IbM64t))F?>yiCA=xGy!n~? zOQhN|%i_yy&nBVmi%G@uT*`9h&tl#Pz%geibqYl1+qFE~ucXc0>9e z2iM%lV1TWLR#_}l(NHA5#8XoJ*1N92fjDChm0No|jwhAqUa>BZ1+uB*T%0lVJp2Ax zQ@mDS6R0!e&h`~7LD^8AYlm(3$_;7<&CMOMrHO)1U#^tc(G4jc^D}B$N zpvxkC2wDQmZ+4=Q_%RB16}mq>{|j)`iw{bAoL`lgZacek)QbgN_0n+KzUn2HF28ft zEBhj#VXA*fe9uv_mCZNabBp|*lBr_fWUU~!`e^lReUmqrHEB@&ce%Em^8%oa?DQYFTIwL`a({4`ShzZcd$3B|c` zGj2!;$ zW#!i=w}R4WHRtNKXt^VaO0(S1qvF9@&n<{j#IuPZ!}^D(R@780trF!Q!d^yQtZlHq z=4xOwXs6>*d&tgS)${5=D1N=u(M$dww{yDqSI}Q)x`;&IlpB#$m6O?kg%QI;9ONC| z_3T=hZ~cSNg41oa%7BFhvhLng9w<{6|83dFw$1-p81W6}xZ)~+VVgb(gBVShTjq*2 zYJ7Dub{%i*hD5ClG!7y+R@#(!5Y{lAakQ)bef;ZJ3`4@8+f9`%H`{p!LI)hRlYFH( zb`fW|MnV)MLcdCSW>=q~AWR%WDSUx-0hhfBDuTBjk~)x~ikip^>gjM4$nV!3l)h{IHGD(m z9=`U5>vy-$Y5uyO@6lbwj^G>>Z;KJC?dPssZTjjLFD%ICaK`O&+Coh`AJl?t(U(1I zRJF{jLE37d$CZWn-}vjI7*-^N(w||@;FhQ}aXId;W$e&?r@k&|M)k2|hm*fVMBonY`W$aujPl-#o?pitgL*@8nNDS;8%16F43Y&lUdSCh#b=fCMzln5#;~d~GTx0% zIztmFr4_P2}iL+6ragCQLAWb9@_7I@Dx$UM$lb!%ZkWj156QmTS6ROcK&W% zWbEfDjNh^*U9l;)%J;S@3$+1yu42tTpyw*KvDHKry0+4HPITdI$~ + + + - Synergy Introduction + Synergy - -

        Synergy

        -

        Introduction

        -

        -synergy: [noun] a mutually advantageous conjunction of distinct elements -

        -

        -Synergy lets you easily share a single mouse and keyboard between -multiple computers with different operating systems, each with its -own display, without special hardware. It's intended for users -with multiple computers on their desk since each system uses its -own monitor(s). -

        -

        -Redirecting the mouse and keyboard is as simple as moving the mouse -off the edge of your screen. Synergy also merges the clipboards of -all the systems into one, allowing cut-and-paste between systems. -Furthermore, it synchronizes screen savers so they all start and stop -together and, if screen locking is enabled, only one screen requires -a password to unlock them all. -

        -

        -Synergy is open source and released under the -GNU Public License (GPL). -

        -

        Links

        -

        -Local
        -Getting started:
        -how to run synergy
        -how to build synergy
        -
        -Using synergy:
        -FAQ
        -tips on using synergy
        -autostart guide
        -configuration file format guide
        -
        -Future directions:
        -roadmap to future enhancements
        -
        -For developers:
        -developer's guide
        -
        -Security:
        -important note about security with synergy
        -
        -Miscellaneous documents:
        -the authors of synergy
        -the history of synergy
        -the synergy license terms
        -news about synergy
        -
        -Internet
        -synergy home page
        -synergy project page
        -synergy bug list
        -synergy community forums
        -

        -

        System Requirements

        -

        -

          -
        • Microsoft Windows 95, Windows 98, Windows Me (the Windows 95 family) -
        • Microsoft Windows NT, Windows 2000, Windows XP (the Windows NT family) -
        • Mac OS X 10.2 or higher -
        • Unix -
            -
          • X Windows version 11 revision 4 or up -
          • XTEST extension
            - (use "xdpyinfo | grep XTEST" to check for XTEST) -
          -
        -All systems must support TCP/IP networking. -

        -

        -"Unix" includes Linux, Solaris, Irix and other variants. Synergy has -only been extensively tested on Linux and may not work completely or -at all on other versions of Unix. Patches are welcome (including -patches that package binaries) at the -patches page. -

        -

        -The Mac OS X port is incomplete. It does not synchronize the screen saver, -only text clipboard data works (i.e. HTML and bitmap data do not work), -non-US English keyboards are untested and probably don't work, and there -may be problems with mouse pointer and mouse wheel acceleration. Other -problems should be filed as bugs. -

        - + + diff --git a/doc/license.html b/doc/license.html index c2e1684..5e74812 100644 --- a/doc/license.html +++ b/doc/license.html @@ -1,25 +1,29 @@ - - Synergy License and Copyright + + + + + Synergy License and Copyright -

        Synergy License and Copyright

        +

        Synergy License and Copyright

        +

        Synergy is copyright (C) 2002 Chris Schoeneman.
        Synergy is distributed under the GNU GENERAL PUBLIC LICENSE. -

        -

        GNU GENERAL PUBLIC LICENSE

        +

        +

        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

        -

        +

        +

        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 @@ -29,55 +33,48 @@

        Preamble

        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

        -

        +

        +

        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, @@ -87,16 +84,14 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -104,31 +99,26 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -139,10 +129,9 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -152,50 +141,43 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -206,15 +188,13 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -222,8 +202,7 @@

        GNU GENERAL PUBLIC 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 @@ -232,8 +211,7 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -241,8 +219,7 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -255,14 +232,12 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -273,12 +248,10 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -286,14 +259,12 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -301,8 +272,7 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -310,11 +280,9 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -325,8 +293,7 @@

        GNU GENERAL PUBLIC LICENSE
        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 @@ -338,9 +305,9 @@

        GNU GENERAL PUBLIC LICENSE
        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/doc/news.html b/doc/news.html index 00974fa..acbf4e3 100644 --- a/doc/news.html +++ b/doc/news.html @@ -1,17 +1,64 @@ - - Synergy News + + + + + Synergy News -

        Synergy News

        - -Dec-18-2005 - Synergy 1.2.7 released -

        +Mar-22-2006 - Synergy 1.3.0 released +

        +Made following additions: +

          +
        • Console window on win32 can now be closed (reopened from tray menu) +
        • Can now change logging level on the fly from win32 tray menu +
        • Added client keep alive (lost connections are now detected reliably) +
        • Added support for linking portions of screen edges +
        • Added version number to UI in win32 +
        • Added GUI for hot key configuration on win32 +
        • Hot keys can now perform actions on press and/or release +
        • Added key down, key up, mouse down, and mouse up hot key actions +
        • Key actions can be directed to particular screens +
        • Hot keys can each perform multiple actions +
        +

        +Made following fixes: +

          +
        • Fixed AltGr key mappings (again) +
        • Fixed assertion when pasting on X11 +
        • Fixed modifier keys in VMware on X11 +
        • OS X server now treats sends option/alt as AltGr or super depending on key +
        • Improved handling of AltGr on win32 +
        • Fixed not removing client when connection is lost +
        • Clients now detect loss of connection to server and reconnect +
        • Fixed mouse jumping on OS X multimonitor systems +
        • Closing console on win32 no longer quits synergy +
        • Fixed Num Lock breaking certain keys +
        • Fixed Scroll Lock not locking cursor to screen +
        • Fixed mapping of delete key on X11 +
        • Fixed loss of clipboard after a particular copy/paste sequence +
        • Fixed compatibility with windows 95/98/Me (ToUnicodeEx) +
        • Fixed bad argument to function on OS X +
        • Fixed error parsing comments in configuration +
        • Fixed autorepeat on win32 servers +
        • Fixed X11 keyboard focus bug when reentering screen +
        • Fixed (suppressed) hot key autorepeating +
        • Fixed mousebutton action when Caps/Num/Scroll Lock were on +
        • Added documentation on firewalls +
        • Fixed documentation formatting on IE6 +
        +

        +Hot keys support has one known major bug: key actions cannot be directed +to the server (primary) screen. The configuration file syntax has changed +from earlier versions; users will have to modify the configurations by +hand. +

        +Dec-18-2005 - Synergy 1.2.7 released +

        Made following changes: -

        • Added preliminary support for configurable hot keys (Lorenz Schori)
        • Major rewrite of keyboard handling code @@ -30,30 +77,24 @@

          Synergy News

        • Added more details about using Terminal for OSX users
        • Fixed crash when using --help on certain platforms
        - -

        +

        The hot key support is known to have bugs. The configuration file syntax for hot keys is likely to change and the documentation for it is minimal. The graphical UI on windows does not provide any support for editing hot keys. -

        - +

        Nov-12-2005 - Synergy 1.2.6 released - -

        +

        Made following changes: -

        • Fixed permission problem saving autostart configuration in win32 launcher
        • Disabled buggy fix for loss of clipboard change detection
        • Restored pthread signal autoconf code
        - +

        Oct-17-2005 - Synergy 1.2.5 released - -

        +

        Made following changes: -

        • Win32 launcher now saves configuration automatically
        • Fixed failure to save autostart configuration on win32 @@ -67,12 +108,10 @@

          Synergy News

        • Added support for buttons 4 and 5 on OSX
        • Now shutting down win32 services when uninstalling
        - +

        Aug-07-2005 - Synergy 1.2.4 released - -

        +

        Made following changes: -

        • Fixed gcc 4.0 warnings
        • Fixed autoconf/automake problems @@ -82,12 +121,10 @@

          Synergy News

        • Fixed --no-restart on client
        • Updated OS X autostart documentation
        - +

        Jul-27-2005 - Synergy 1.2.3 released - -

        +

        Made following changes: -

        • Added OS X screensaver synchronization support (Lorenz Schori)
        • Added OS X sleep support (Lorenz Schori) @@ -100,32 +137,26 @@

          Synergy News

        • Win32 now defaults to WARNING log level to avoid console window
        • Now disabling foreground window on win32 when leaving server (Brent Priddy)
        - +

        Jan-26-2005 - Synergy 1.2.2 released - -

        +

        Made following changes: -

        • Fixed major OS X modifier key handling bug
        • Fixed handling of ISO_Level3_Shift on X11
        - +

        Jan-04-2005 - Synergy 1.2.1 released - -

        +

        Made following changes: -

        • Fixed major OS X keyboard handling bug
        • Fixed some minor documentation bugs
        - +

        Dec-30-2004 - Synergy 1.2.0 released - -

        +

        Made following changes: -

        • Improved support for moving laptops between networks (Brent Priddy)
        • Added ISO_Level3_Shift support on X windows @@ -136,23 +167,19 @@

          Synergy News

        • Fixed memory leak on OS X
        • Added OS X autostart documentation (Tor Slettnes)
        - +

        Nov-12-2004 - Synergy 1.1.10 released - -

        +

        Made following changes: -

        • Fixed race in condition variable wrapper; caused synergy to hang randomly -
        • Fixed modifier key and caps-lock handling on OS X +
        • Fixed modifier key and caps-lock handling on OSX
        • System info log message now filtered like all other messages
        - +

        Nov-07-2004 - Synergy 1.1.9 released - -

        +

        Made following changes: -

        • Fixed compiler error on gcc 3.4 and later
        • Worked around minor gcc -O3 compiler bug @@ -183,12 +210,10 @@

          Synergy News

        • Added -display option for X11
        • Added support for X11 compose key (Multi_key)
        - +

        Aug-05-2004 - Synergy 1.1.8 released - -

        +

        Made following changes: -

        • Removed key event capture on X11 (was breaking terminal keyboard input)
        • Worked around win32 command prompt stealing shift key events @@ -204,12 +229,10 @@

          Synergy News

        • Fixed mouse wheel drift on OS X client
        • Reorganized documentation and converted to HTML
        - +

        Jun-13-2004 - Synergy 1.1.7 released - -

        +

        Made following changes: -

        • Added OS X precompiled header file forgotten in last build
        • Fixed bug in fix for 'unexpected async reply' on X11 @@ -219,12 +242,10 @@

          Synergy News

        • Fixed error in conversion from multibyte to wide characters
        • Maybe fixed win32 screen saver detection
        - +

        May-26-2004 - Synergy 1.1.6 released - -

        +

        Made following changes: -

        • Added preliminary Mac OS X support (client and server)
        • Fixed ctrl+alt+del emulation on win32 @@ -235,21 +256,17 @@

          Synergy News

        • Fixed reference count bug
        • Keyboard input focus now restored on X11 (fixes loss of input in some games)
        - -

        +

        The OS X port does not yet support: -

        • HTML and bitmap clipboard data
        • Screen saver synchronization
        • Non-US English keyboards
        - +

        May-05-2004 - Synergy 1.1.5 released - -

        +

        Made following changes: -

        • No longer switching screens when a mouse button is down
        • Worked around win32 mouse hook bug, fixing switch on double tap @@ -265,24 +282,20 @@

          Synergy News

        • Partial support for MSYS/MinGW builds (NOT COMPLETE)
        • Partial merge of OS X port (NOT COMPLETE)
        - +

        Mar-31-2004 - Synergy 1.1.4 released - -

        +

        Made following changes: -

        • Fixed lookup of hosts by name of win32
        • Reverted tray icon code to 1.0.15 version; seems to fix the bugs
        • Fixed crash when caps, num, or scroll lock not in key map on X11
        • Fixed double tap and wait to switch features
        - +

        Mar-28-2004 - Synergy 1.1.3 released - -

        +

        Made following changes: -

        • Major code refactoring; reduced use of threads, added event queue
        • Removed unused HTTP support code @@ -293,17 +306,13 @@

          Synergy News

        • Improved keyboard handling and bug fixes
        • Fixed dead key handling
        - -

        +

        Note: the tray icon on windows is known to not work correctly when running the synergy server on Windows 95/95/Me. -

        - +

        Aug-24-2003 - Synergy 1.0.14 released - -

        +

        Made following changes: -

        • Fixed bugs in setting win32 process/thread priority
        • Fixed resource leak in opening win32 system log @@ -311,20 +320,18 @@

          Synergy News

        • Synergy log copied to clipboard now transferred to other screens
        • Hack to work around lesstif clipboard removed (fixes pasting on X)
        - +

        Jul-20-2003 - Synergy 1.0.12 released - -

        +

        +Made following changes: +

        This release finally completes support for non-ASCII characters, fully supporting most (all?) European keyboard layouts including dead key composition. This release includes changes from several experimental versions (1.0.9, 1.0.11, 1.1.0, 1.1.1, 1.1.2, and 1.1.3). -

        - -

        +

        Made following changes: -

        • Added non-ASCII support to win32 and X11
        • Added dead key support to win32 and X11 @@ -338,12 +345,11 @@

          Synergy News

        • Fixed mouse warping on unconnected client
        • Stopped unconnected client from filling up event logs
        - +

        May-10-2003 - Synergy 1.0.8 released - -

        +

        Made following changes: -

        +

        • Fixed hook forwarding (fixing interaction with objectbar)
        • Fixed "Windows" key handling and added support Win+E, Win+F, etc @@ -362,12 +368,48 @@

          Synergy News

        • Added support for "Internet" and "Multimedia" keys
        • Fixed jumping from client to itself (mouse wrapping)
        - +

        +Apr-26-2003 - Added roadmap +

        +There's now a roadmap for Synergy +describing the plans for further development. +

        +Apr-26-2003 - Added Paypal donation page +

        +There's now a donate button for those +who'd like to make a monetary contribution to the further +development of Synergy. +

        +Apr-26-2003 - Development update +

        +Synergy 1.0.8 will include fixes for the following problems. +These are already fixed and some are in development version 1.0.7. +

        +

          +
        • Mouse events at edge of screen are stolen +
        • Windows key doesn't work on clients +
        • Alt+[Shift+]Tab, Alt+[Shift+]Esc, Ctrl+Esc don't work on Win 95/98/Me +
        • Scroll lock doesn't lock to Windows server screen +
        • Screen flashes every 5 seconds on some X11 systems +
        • Synergy doesn't work properly with Xinerama +
        • Screen names with underscores are not allowed +
        +

        +Synergy 1.0.8 will probably include fixes for these problems: +

        +

          +
        • AltGr/Mode_switch doesn't work +
        • Non-ASCII keys aren't supported +
        • Synergy performs badly on a busy Windows system +
        • Unexpected key repeats on X11 clients +
        +

        +Synergy 1.0.8 should be available in the first half of May. +

        Mar-27-2003 - Synergy 1.0.6 released - -

        +

        Made following changes: -

        +

        • Added tray icon on win32
        • Fixed multi-monitor support on win32 @@ -379,14 +421,33 @@

          Synergy News

        • Fixed problem sending the CLIPBOARD to motif/lesstif apps
        • Win32 launcher now remembers non-config-file state
        - +

        +In addition, the version number scheme has been changed. Given a +version number X.Y.Z, release versions will always have Y and Z +even while development versions will have Y and Z odd. +

        +Mar-27-2003 - Synergy featured in Linux Journal. +

        +The April 2003 issue of Linux Journal includes an article on Synergy. +Written by Chris Schoeneman, it describes configuring synergy between +two linux systems. +

        +Mar-27-2003 - Contributions to Synergy. +

        +Many thanks to Girard Thibaut for providing a version of the win32 +launch dialog translated into French. I hope to integrate these +changes into future releases. +

        +Thanks also to "wrhodes" who provided source files for +building an InstallShield installer for Synergy. They'll be +integrated into an upcoming release. +

        Feb-18-2003 - Synergy 1.0.3 released - -

        +

        Made following changes: -

        +

          -
        • Support for X11 keymaps with only uppercase letters +
        • Added support for X11 keymaps with only uppercase letters
        • Fixed memory leaks
        • Added documentation on using synergy with SSH
        • Fixed unnecessary left-handed mouse button swapping @@ -394,31 +455,28 @@

          Synergy News

        • Reduced frequency of large cursor jumps when leaving win32 server
        • Changed cursor motion on win32 multimon to relative moves only
        - +

        Jan-25-2003 - Synergy 1.0.2 released - -

        +

        Made following changes: -

        +

        • Fixed out-of-bounds array lookup in the BSD and Windows network code
        • Added ability to set screen options from Windows launch dialog
        - +

        Jan-22-2003 - Synergy 1.0.1 released - -

        +

        Made following changes: -

        +

        • Fixed running as a service on Windows NT family
        - +

        Jan-20-2003 - Synergy 1.0.0 released - -

        +

        Made following changes: -

        +

        • Refactored to centralize platform dependent code
        • Added support for mouse wheel on Windows NT (SP3 and up) @@ -427,19 +485,16 @@

          Synergy News

        • Fixes for working with xscreensaver
        • Fixes for circular screen links
        - -

        +

        This release has been tested on Linux and Windows. It builds and is believed to run on Solaris and FreeBSD. It is believed to build and run on Irix and AIX. It builds but does not work on MacOS X. -

        - +

        Dec-25-2002 - Synergy 0.9.14 released - -

        +

        Made following changes: -

        +

        • Fixed solaris compile problems (untested)
        • Fixed irix compile problems (untested) @@ -452,12 +507,11 @@

          Synergy News

        • Added config options for half-duplex toggle keys on X11
        • Enabled class diagrams in doxygen documentation
        - +

        Nov-05-2002 - Synergy 0.9.13 released - -

        +

        Made following changes: -

        +

        • Fixed solaris compile problems (untested)
        • Fixed MacOS X compile problems (semi-functional) @@ -470,12 +524,11 @@

          Synergy News

        • Unix platforms can now read Win32 configuration files
        • Minor error reporting fixes
        - +

        Sep-14-2002 - Synergy 0.9.12 released - -

        +

        Made following changes: -

        +

        • Win32 was not reporting log messages properly when run from synergy.exe
        • Network error messages weren't reporting useful information @@ -483,51 +536,47 @@

          Synergy News

        • X11 wasn't handling some keys/key combinations correctly
        • Added option to change logging level when testing from synergy.exe
        - +

        Sep-04-2002 - Synergy 0.9.11 released - -

        +

        Fixed following bugs: -

        +

        • Worked around missing SendInput() on windows 95/NT 4 prior to SP3
        • Fixed keyboard mapping on X11 synergy client
        - +

        Sep-02-2002 - Synergy 0.9.10 released - -

        +

        Fixed following bugs: -

        +

          -
        • The Pause/Break and KP_Enter buttons were not working correctly on windows +
        • The Pause/Break and keypad Enter buttons were not working correctly on windows
        • Configuration options were being lost on windows after a reboot
        • Added support for AltGr/ModeSwitch keys
        • Added support for auto-start on windows when not administrator
        • Improved autoconf
        • Added workaround for lack of sstream header on g++ 2.95.
        - +

        Aug-18-2002 - Synergy 0.9.9 released - -

        +

        Fixed three bugs: -

        +

        • The PrintScrn button was not working correctly on windows
        • The Win32 server could hang when a client disconnected
        • Using the mouse wheel could hang the X server
        - +

        Aug-11-2002 - Synergy 0.9.8 released - -

        +

        Supports any number of clients under Linux or Windows 95 or NT4 or later. Includes mouse and keyboard sharing, clipboard synchronization and screen saver synchronization. Supports ASCII keystrokes, 5 button mouse with wheel, and Unicode text clipboard format.

        - + diff --git a/doc/todo.html b/doc/roadmap.html similarity index 54% rename from doc/todo.html rename to doc/roadmap.html index 8516d64..7f8681b 100644 --- a/doc/todo.html +++ b/doc/roadmap.html @@ -1,57 +1,79 @@ - - Synergy To Do List + + + + + Synergy Roadmap -

        Synergy To Do List

        +

        Synergy Roadmap

        +

        This page describes the planned development of Synergy. There are no dates or deadlines. Instead, you'll find the features to come -and the rough order they can be expected to arrive. -

        - -

        Short term

        -

        +and the rough order they'll arrive. +

        +

        Short term

        +

        Synergy should work seamlessly. When it works correctly, it works transparently so you don't even think about it. When it breaks, you're forced out of the illusion of a unified desktop. The first priority is fixing those bugs that break the illusion. -

        -

        +

        Some of these bugs are pretty minor and some people would rather have new features first. But I'd rather fix the current foundation before building on it. That's not to say features won't get added until after bug fixes; sometimes it's just too tempting to code up a feature. -

        - -

        Medium term

        -

        +

        +The highest priority feature is currently splitting synergy into +front-ends and a back-end. The back-end does the real work. The +front-ends are console, GUI, or background applications that +communicate with the back-end, either controlling it or receiving +notifications from it. +

        +On win32, there'd be a front-end for the tray icon and a dialog to +start, stop, and control the back-end. OS X and X11 would have +similar front-ends. Splitting out the front-end has the added +benefit on X11 of keeping the back-end totally independent of +choice of GUI toolkit (KDE, Gnome, etc.) +

        +One can also imagine a front-end that does nothing but put monitors +into power-saving mode when the cursor is not on them. If you have +one monitor auto-senses two inputs, this would automatically switch +the display when you move the cursor to one screen or another. +

        +

        Medium term

        +

        Some features fit well into Synergy's current design and may simply enhance it's current capabilities. +

          -
        • Configurable hot key screen switching -
        • Configurable hot key to lock to a screen
        • Configurable hot key to pop up a screen switch menu
        • Configure screen saver synchronization on or off
        • Graphical interface configuration and control on all platforms
        • Graphical status feedback on all platforms
        • More supported clipboard formats (particularly rich text)
        -

        - -

        Long term

        -

        +

        +A popup menu would be new for Synergy, which currently doesn't have +to do any drawing. That opens up many possibilities. Ideally, +front-ends request hot keys from the back-end and then tell the back +end what to do when they're invoked. This keeps the back-end +independent of the user interface. +

        +

        Long term

        +

        Two features stand out as long term goals: +

        • Support N computers on M monitors
        • Drag and drop across computers
        -

        -

        +

        The first feature means sharing a monitor or monitors the way the keyboard and mouse are shared. With this, Synergy would be a full KVM solution. Not only would it support a few computers sharing @@ -59,12 +81,12 @@

        Long term

        another), but it should also support dozens of computers to provide a solution for server farm administrators. In this capacity, it may need to support text (as opposed to bitmap graphics) screens. -

        -

        +

        The second feature would enhance the unified desktop illusion. It would make it possible to drag a file and possibly other objects to another screen. The object would be copied (or moved). I expect this to be a very tricky feature.

        + diff --git a/doc/running.html b/doc/running.html index 94c3466..4ad2d59 100644 --- a/doc/running.html +++ b/doc/running.html @@ -1,52 +1,52 @@ - - Guide to Running Synergy + + + + + Synergy User Guide -

        Running Synergy

        +

        Running Synergy

        +

        Synergy lets you use one keyboard and mouse across multiple computers. To do so it requires that all the computers are connected to each other via TCP/IP networking. Most systems come with this installed. -

        - -

        Step 1 - Choose a server

        -

        +

        +

        Step 1 - Choose a server

        +

        The first step is to pick which keyboard and mouse you want to share. The computer with that keyboard and mouse is called the "primary screen" and it runs the synergy server. All of the other computers are "secondary screens" and run the synergy client. -

        - -

        Step 2 - Install the software

        -

        +

        +

        Step 2 - Install the software

        +

        Second, you install the software. Choose the appropriate package and install it. For example, on Windows you would run SynergyInstaller. You must install the software on all the computers that will share the mouse and keyboard (clients and server). On OS X you'll just have a folder with some documentation and two programs. You can put this folder anywhere. -

        - -

        Step 3 - Configure and start the server

        -

        +

        +

        Step 3 - Configure and start the server

        +

        Next you configure the server. You'll tell synergy the name of the primary and secondary screens, which screens are next to which, and choose desired options. On Windows there's a dialog box for setting the configuration. On other systems you'll create a simple text file. -

        -

        +

        + Note that when you tell synergy that screen A is to the left of screen B this does not imply that B is to the right of A. You must explicitly indicate both relations. If you don't do both then when you're running synergy you'll find you're unable to leave one of the screens. -

        -

        +

        Windows
        On Windows run synergy by double clicking on the synergy file. This brings up a dialog. @@ -84,17 +84,14 @@

        Step 3 - Configure and start the server

      1. Click OK
-

-

+

Now click Test. The server will start and you'll see a console window with log messages telling you about synergy's progress. If an error occurs you'll get one or more dialog boxes telling you what the errors are; read the errors to determine the problem then correct them and try Test again. See Step 5 for typical errors. -

- -

+

Unix or Mac OS X
Create a text file named synergy.conf with the following: @@ -124,15 +121,13 @@

Step 3 - Configure and start the server

name in the screens section and add the appropriate links. See the configuration guide for more configuration possibilities. -

-

+

Now start the server. Normally synergy wants to run "in the background." It detaches from the terminal and doesn't have a visible window, effectively disappearing from view. Until you're sure your configuration works, you should start synergy "in the foreground" using the -f command line option. -

-

+

On unix type the command below in a shell. If synergys is not in your PATH then use the full pathname.

@@ -148,19 +143,16 @@ 

Step 3 - Configure and start the server

Now drag the synergy.conf file onto the Terminal window and press enter. Check the reported messages for errors. Use ctrl+c to stop synergy if it didn't stop automatically, correct any problems, and start it again. -

- -

Step 4 - Start the clients

-

+

+

Step 4 - Start the clients

+

Next you start the client on each computer that will share the server's keyboard and mouse. -

-

+

Windows
On Windows run synergy by double clicking on the synergy file. This brings up a dialog. Configure the client: -

  • Click the Use another computer's shared keyboard and mouse (client) radio button
  • Enter the server's computer name next to Other Computer's Host Name @@ -175,11 +167,9 @@

    Step 4 - Start the clients

  • Click OK
-

-

+

Now click Test. -

-

+

Unix or Mac OS X
To start a client on unix, enter the following:

@@ -188,8 +178,7 @@ 

Step 4 - Start the clients

where server-host-name is replaced by the host name of the computer running the synergy server. If synergyc is not in your PATH then use the full pathname. -

-

+

On OS X open Terminal in the Utilities folder in the Applications folder. Drag the synergyc program from the synergy folder onto the Terminal window. The path to the synergys program will appear. Add the following to the @@ -197,8 +186,7 @@

Step 4 - Start the clients

     -f server-host-name
 
-

-

+

When you added the client to the server's configuration you chose a name for the client. If that name was not client's host name then you must tell the client the name you used. Instead of the above @@ -209,50 +197,51 @@

Step 4 - Start the clients

where name is the name for the client in the server's configuration. (On OS X drag the synergyc program to the Terminal window rather than typing synergyc.) -

-

Step 5 - Test

-

+

+

Step 5 - Test

+

Clients should immediately report a successful connection or one or -more error messages. Here are the typical problems and possible -solutions: +more error messages. Some typical problems and possible solutions are +below. See the troubleshooting and the +FAQ pages for more help.

  • failed to open screen (X11 only) -

    +

    Check permission to open the X display;
    - check that the DISPLAY environment variable is set;
    + check that the DISPLAY environment variable is set
    use the --display command line option. -

    +

  • address already in use -

    +

    Another program (maybe another copy of synergy) is using the synergy port; stop the other program or choose a different port in the Advanced... dialog. If you change the port you must make the same change on all of the clients, too. -

    +

  • connection forcefully rejected -

    +

    The synergy client successfully contacted the server but synergy wasn't running or it's running on a different port. You may also see this if there's a firewall blocking the host or port. Make sure synergy is running on the server and check for a firewall. -

    +

  • already connected -

    +

    Check that the synergy client isn't already running. -

    +

  • refused client -

    +

    Add the client to the server's configuration file. -

    +

  • connection timed out -

    +

    Check that server-host-name is correct.
    Check that you don't have a firewall blocking the server or synergy port. -

    +

  • connection failed -

    - Check that server-host-name is correct.
    -

    +

    + Check that server-host-name is correct. +

If you get the error "Xlib: No protocol specified" you're probably running synergy as root while logged in as another user. @@ -260,17 +249,16 @@

Step 5 - Test

user that's logged in or (not recommended) use "xhost +" to allow anyone to connect to the display. -

-

+

When successful you should be able to move the mouse off the appropriate edges of your server's screen and have it appear on a client screen. Try to move the mouse to each screen and check all the configured links. Check the mouse buttons and wheel and try the keyboard on each client. You can also cut-and-paste text, HTML, and images across computers (HTML and images are not supported on OS X yet). -

-

Step 6 - Run

-

+

+

Step 6 - Run

+

Once everything works correctly, stop all the clients then the server. Then start the server with the Start button on Windows and without the -f option on Unix @@ -279,18 +267,16 @@

Step 6 - Run

Logging Level to Warning so the logging window doesn't pop up (because you currently can't close it, just minimize it). -

-

+

You can also configure synergy to start automatically when your computer starts or when you log in. See the autostart guide for more information. -

-

Command Line Options Guide

-

+

+

Command Line Options Guide

+

Common Command Line Options
The following options are supported by synergys and synergyc. -

@@ -302,16 +288,16 @@

Command Line Options Guide

- - - - - + + + + + @@ -336,10 +322,9 @@

Command Line Options Guide

- +
 -d, --daemon run as a daemon (Unix) or background (Windows)
  --display display  connect to X server at display (X11 only)
 -f, --no-daemon run in the foreground
  --display display  connect to X server at display (X11 only)
 -n, --name name   --version print version information and exit
-

-

+

Debug levels are from highest to lowest: FATAL, ERROR, WARNING, NOTE, INFO, @@ -351,28 +336,24 @@

Command Line Options Guide

when running as a service. The Windows 95 family shows FATAL log messages in a message box and others in a terminal window when running as a service. -

-

+

The --name option lets the client or server use a name other than its hostname for its screen. This name is used when checking the configuration. -

-

+

Neither the client nor server will automatically restart if an error occurs that is sure to happen every time. For example, the server will exit immediately if it can't find itself in the configuration. On X11 both the client and server will also terminate if the connection to the X server is lost (usually because it died). -

-

+

Server Command Line Options
-

+

     synergys [options]
 
The server accepts the common options and: -

-

+

@@ -385,8 +366,7 @@

Command Line Options Guide

 -a,   read configuration from pathname
-

-

+

address has one of the following forms:

     hostname
@@ -398,10 +378,9 @@ 

Command Line Options Guide

or 192.168.1.100). port is a port number from 1 to 65535. hostname defaults to the system's hostname and port defaults to 24800. -

-

+

Client Command Line Options
-

+

     synergyc [options] address[:port]
 
@@ -411,4 +390,5 @@

Command Line Options Guide

common options.

+ diff --git a/doc/security.html b/doc/security.html index 436cfe1..c8013c2 100644 --- a/doc/security.html +++ b/doc/security.html @@ -1,39 +1,37 @@ - - Synergy Security Guide + + + + + Synergy Network Security Guide -

Authentication and Encryption

+

Authentication and Encryption

Synergy does not do any authentication or encryption. Any computer can connect to the synergy server if it provides a screen name known to the server, and all data is transferred between the server and the clients unencrypted which means that anyone can, say, extract the key presses used to type a password. Therefore, synergy should not be used on untrusted networks. -

-

+

However, there are tools that can add authentication and encryption to synergy without modifying either those tools or synergy. One such tool is SSH (which stands for secure shell). A free implementation -of SSH is called OpenSSH and runs +of SSH is called OpenSSH and runs on Linux, many Unixes, and Windows (in combination with -Cygwin). -

- -

Configuring the Server

-

+Cygwin). +

+

Configuring the Server

Install the OpenSSH server on the same computer as the synergy server. Configure the OpenSSH server as usual (synergy doesn't demand any special options in OpenSSH) and start it. Start the synergy server as usual; the synergy server requires no special options to work with OpenSSH. -

- -

Configuring the Clients

-

+

+

Configuring the Clients

Install the OpenSSH client on each synergy client computer. Then, on each client, start the OpenSSH client using port forwarding:

@@ -53,4 +51,5 @@ 

Configuring the Clients

through OpenSSH which decrypts/encrypts it on behalf of synergy.

+ diff --git a/doc/synergy.css b/doc/synergy.css index 9085c70..8d831aa 100644 --- a/doc/synergy.css +++ b/doc/synergy.css @@ -53,8 +53,9 @@ pre { font-variant: small-caps; font-size: 400%; width: 100%; - padding: 0px 0px 0px 5px; - border-bottom: solid #6699ff 1px; + padding: 0px; + margin: 0px; + border: 0px; } .banner a { color: #000000; @@ -63,6 +64,15 @@ pre { text-decoration: none; color: #000000; } +.bannerb { + color: #ffffff; + background-color: #ffffff; + width: 100%; + height: 1px; + padding: 0px; + margin: 0px; + border-bottom: solid #6699ff 1px; +} .nav { font-size: x-small; @@ -71,6 +81,7 @@ pre { padding: 2px 0px 2px 0px; margin: 0px; + border-bottom: solid #d4d4d4 300px; } .nav a:hover { text-decoration: none; @@ -82,7 +93,7 @@ pre { text-indent: 1em; } .nav .section { - width: 100%; + width: 120px; text-indent: 0em; border-top: 0px; border-left: 0px; diff --git a/doc/tips.html b/doc/tips.html index d631a29..9f8e9e2 100644 --- a/doc/tips.html +++ b/doc/tips.html @@ -1,14 +1,17 @@ - - Synergy Tips and Tricks + + + + + Synergy Tips and Tricks -

Tips and Tricks

+

+

Tips and Tricks

  • -

    Be aware that not all keystrokes can be handled by synergy. In particular, ctrl+alt+del is not handled. However, synergy can convert ctrl+alt+pause into ctrl+alt+del on the client side. @@ -16,30 +19,24 @@

    Tips and Tricks

    on the client for this to work on the Windows NT family.) Some non-standard keys may not work, especially "multimedia" buttons, though several are correctly handled. -

    - +

  • -

    A screen can be its own neighbor. That allows a screen to "wrap". For example, if a configuration linked the left and right sides of a screen to itself then moving off the left of the screen would put the mouse at the right of the screen and vice versa. -

    - +

  • -

    You cannot switch screens when the Scroll Lock is toggled on. Use - this to prevent unintentional switching. -

    - + this to prevent unintentional switching. You can configure other + hot keys to do this instead; see + lockCursorToScreen. +

  • -

    Turn off mouse driven virtual desktop switching on X windows. It will interfere with synergy. Use keyboard shortcuts instead. -

    - +

  • -

    Synergy's screen saver synchronization works best with xscreensaver under X windows. Synergy works better with xscreensaver if it is using one of the screen saver extensions. Prior to xscreensaver 4.0 @@ -49,45 +46,36 @@

    Tips and Tricks

    command line options to enable an extension (assuming your server has the extension). Starting with 4.0 you must enable the corresponding option in your .xscreensaver file. -

    - +

  • -

    Synergy automatically converts newlines in clipboard text (Unix expects \n to end each line while Windows expects \r\n). -

    - +

  • -

    Clients can be started and stopped at any time. When a screen is not connected, the mouse will jump over that screen as if the mouse had moved all the way across it and jumped to the next screen. -

    - +

  • -

    A client's keyboard and mouse are fully functional while synergy is running. You can use them in case synergy locks up. -

    - +

  • -

    Strong authentication and encryption is available by using SSH. See the security guide for more information. Synergy does not otherwise provide secure communications and it should not be used on or over untrusted networks. -

    - +

  • -

    Synergy doesn't work if a 16-bit Windows application has the focus on Windows 95/98/Me. This is due to limitations of Windows. One commonly used 16-bit application is the command prompt (command.exe) and this includes synergy's log window when running in test mode. -

    +

- +

+ diff --git a/doc/toc.html b/doc/toc.html new file mode 100644 index 0000000..3c43bd7 --- /dev/null +++ b/doc/toc.html @@ -0,0 +1,43 @@ + + + + + + + + Synergy TOC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/trouble.html b/doc/trouble.html new file mode 100644 index 0000000..f2923a5 --- /dev/null +++ b/doc/trouble.html @@ -0,0 +1,204 @@ + + + + + + + + Synergy Troubleshooting + + +

+

Synergy Troubleshooting

+

Problems

+
    +
  1. Cannot read configuration +
  2. Connection forcefully rejected +
  3. Connection timed out +
  4. Cannot listen for clients +
  5. Unknown screen name "XXX" +
  6. Server refused client with name "XXX" +
    A client with name "XXX" is not in the map +
  7. Server already has a connected client with name "XXX" +
    A client with name "XXX" is already connected +
  8. Server has incompatible version +
  9. The cursor goes to secondary screen but won't come back +
+

Solutions

+
    +
  1. Cannot read configuration +

    +There's an error in the configuration file. This error is always +accompanied by another message describing the problem. Use that +message and the configuration documentation +to determine the fix. +

    +
  2. Connection forcefully rejected +

    +The client was able to contact the server computer but the server was +not listening for clients. Possible reasons are: +

    +
      +
    • The client is using the wrong server +

      +Make sure the client is using the hostname or IP address of the computer +running the synergy server. +

      +
    • Synergy isn't running on the server +

      +Make sure the synergy server is running on the server computer. Make +sure the server is ready to accept connections. If another program is +using synergy's port (24800 by default) then synergy can't start unless +you specify a different port. +

      +
    • The client is using the wrong port +

      +Synergy uses port 24800 by default but you can specify a different port. +If you do use a different port you must use that port on the server and +all clients. +

      +
    +
  3. Connection timed out +

    +The most likely reasons for this are: +

    +
      +
    • A firewall +

      +A firewall is a program or device that deliberately blocks network +connections for security reasons. Typically, they'll silently drop +packets they don't want rather than sending a rejection to the sender. +This makes it more difficult for intruders to break in. +

      +When synergy traffic hits a firewall and gets dropped, eventually the +synergy client will give up waiting for a response and time out. To +allow synergy traffic through first find all the firewalls on the +network between and on the synergy client and server computers. +

      +A firewall on the server or any network device between the server and +any client should allow packets to TCP port 24800. (Port 24800 is the +default; use whichever port you've selected.) You'll have to consult +the manual for your operating system, device, or firewall software to +find out how to do this. +

      +Usually you'll won't need to adjust a firewall on client machines. +That's because firewalls normally allow incoming traffic on any port +they've initiated a connection on. The reasoning is, of course, if +you started a conversation you probably want to hear the reply. +

      +
    • The network is down or busy +

      +Correct the network problem and try again. You might try +ping to see if the two computers can see +each other on the network. +

      +
    • The server is frozen +

      +If the synergy server is running but locked up or very busy then the +client may get this message. If the server is locked up then you'll +probably have to restart it. If it's just very busy then the client +should successfully connect automatically once the server settles down. +

      +
    +
  4. Cannot listen for clients +

    +Synergy tried to start listening for clients but the network port is +unavailable for some reason. Typical reasons are: +

    +
      +
    • No network devices +

      +You must have a TCP/IP network device installed and enabled to use +synergy. +

      +
    • A synergy server is already running +

      +Check that a synergy server isn't already running. +

      +
    • Another program is using synergy's port +

      +Only one program at a time can listen for connections on a given port. +If the specific error is that the address is already in use and you've +ruled out the other causes, then it's likely another program is already +using synergy's port. By default synergy uses port 24800. Try having +synergy use a different port number, like 24801 or 24900. Note that +the server and all clients must use the same port number. Alternatively, +find the other program and stop it or have it use another port. +

      +
    +
  5. Unknown screen name "XXX" +

    +This error can be reported when reading the configuration; see +cannot read configuration. If the configuration +was read successfully and you get this error then it means that the +server's screen is not in the configuration. All screens must be listed +in the configuration. +

    +A common reason for this is when you haven't used the system's hostname +as its screen name. By default, synergy uses the hostname as the screen +name. If you used a different screen name in the configuration then you +must tell synergy what that name is. Let's say the hostname is +frederick but the configuration defines a screen +named fred. Then you must tell the server +that its screen name is fred by using the +--name fred command line option or setting +the screen name in the advanced options dialog to +fred. +

    +Alternatively, you can specify one name as an alias of another. See +the configuration documentation +for details. +

    +Another common reason for this is a mismatch between what you think the +hostname is and what synergy thinks it is. Typically this is a problem +with fully qualified domain names (FQDN). Perhaps you think your system +is named fred but synergy thinks it's +fred.nowhere.com or +fred.local. You can use either solution above +to fix this. +

    +
  6. Server refused client with name "XXX" +
    A client with name "XXX" is not in the map +

    +The client is using a screen name not in the server's configuration. +This is essentially the same problem as Unknown +screen name "XXX" and has the same solutions: specify another +screen name or add an alias. +

    +
  7. Server already has a connected client with name "XXX" +
    A client with name "XXX" is already connected +

    +This happens when: +

    +
      +
    • Two clients try use the same screen name +

      +Each client must have a unique screen name. Configure at least one +client to use a different screen name. +

      +
    • One client reconnects without cleanly disconnecting +

      +It's possible for a client to disconnect without the server knowing, +usually by being disconnected from the network or possibly by going +to sleep or even crashing. The server is left thinking the client is +still connected so when the client reconnects the server will think +this is a different client using the same name. Synergy will usually +detect and correct this problem within a few seconds. If it doesn't +then restart the server. +

      +
    +
  8. Server has incompatible version +

    +You're using different versions of synergy on the client and server. +You should use the same version on all systems. +

    +
  9. The cursor goes to secondary screen but won't come back +

    +This is FAQ #17 and is also mentioned in +the documentation for using synergy +and configuration. +

    +
+ + + diff --git a/lib/Makefile.in b/lib/Makefile.in index 7911674..a1d9fdf 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -147,7 +140,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd @@ -157,7 +152,7 @@ uninstall-info-am: # (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): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -177,7 +172,7 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ + @set fnord $(MAKEFLAGS); amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -205,19 +200,16 @@ tags-recursive: test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) @@ -228,50 +220,45 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + for subdir in $(SUBDIRS); do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ @@ -301,7 +288,6 @@ install-am: all-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -309,7 +295,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/arch/CArch.cpp b/lib/arch/CArch.cpp index 60c67d3..80c613a 100644 --- a/lib/arch/CArch.cpp +++ b/lib/arch/CArch.cpp @@ -122,7 +122,7 @@ CArch::CArch(ARCH_ARGS* args) m_sleep = new ARCH_SLEEP; m_string = new ARCH_STRING; m_time = new ARCH_TIME; - m_console = new ARCH_CONSOLE; + m_console = new ARCH_CONSOLE(args); m_daemon = new ARCH_DAEMON; m_taskbar = new ARCH_TASKBAR(args); @@ -170,6 +170,12 @@ CArch::closeConsole() m_console->closeConsole(); } +void +CArch::showConsole(bool showIfEmpty) +{ + m_console->showConsole(showIfEmpty); +} + void CArch::writeConsole(const char* str) { @@ -254,6 +260,12 @@ CArch::closeLog() m_log->closeLog(); } +void +CArch::showLog(bool showIfEmpty) +{ + m_log->showLog(showIfEmpty); +} + void CArch::writeLog(ELevel level, const char* msg) { diff --git a/lib/arch/CArch.h b/lib/arch/CArch.h index ee59897..644f015 100644 --- a/lib/arch/CArch.h +++ b/lib/arch/CArch.h @@ -74,6 +74,7 @@ class CArch : public IArchConsole, // IArchConsole overrides virtual void openConsole(const char*); virtual void closeConsole(); + virtual void showConsole(bool showIfEmpty); virtual void writeConsole(const char*); virtual const char* getNewlineForConsole(); @@ -99,6 +100,7 @@ class CArch : public IArchConsole, // IArchLog overrides virtual void openLog(const char*); virtual void closeLog(); + virtual void showLog(bool showIfEmpty); virtual void writeLog(ELevel, const char*); // IArchMultithread overrides diff --git a/lib/arch/CArchConsoleUnix.cpp b/lib/arch/CArchConsoleUnix.cpp index 79c4ae2..dcb6e96 100644 --- a/lib/arch/CArchConsoleUnix.cpp +++ b/lib/arch/CArchConsoleUnix.cpp @@ -19,7 +19,7 @@ // CArchConsoleUnix // -CArchConsoleUnix::CArchConsoleUnix() +CArchConsoleUnix::CArchConsoleUnix(void*) { // do nothing } @@ -41,6 +41,12 @@ CArchConsoleUnix::closeConsole() // do nothing } +void +CArchConsoleUnix::showConsole(bool) +{ + // do nothing +} + void CArchConsoleUnix::writeConsole(const char* str) { diff --git a/lib/arch/CArchConsoleUnix.h b/lib/arch/CArchConsoleUnix.h index 5e560fe..f93630b 100644 --- a/lib/arch/CArchConsoleUnix.h +++ b/lib/arch/CArchConsoleUnix.h @@ -22,12 +22,13 @@ //! Unix implementation of IArchConsole class CArchConsoleUnix : public IArchConsole { public: - CArchConsoleUnix(); + CArchConsoleUnix(void*); virtual ~CArchConsoleUnix(); // IArchConsole overrides virtual void openConsole(const char* title); virtual void closeConsole(); + virtual void showConsole(bool); virtual void writeConsole(const char*); virtual const char* getNewlineForConsole(); }; diff --git a/lib/arch/CArchConsoleWindows.cpp b/lib/arch/CArchConsoleWindows.cpp index 6796a45..14d418a 100644 --- a/lib/arch/CArchConsoleWindows.cpp +++ b/lib/arch/CArchConsoleWindows.cpp @@ -15,90 +15,100 @@ #include "CArchConsoleWindows.h" #include "IArchMultithread.h" #include "CArch.h" -#include +#include "CArchMiscWindows.h" +#include + +#define SYNERGY_MSG_CONSOLE_OPEN WM_APP + 0x0021 +#define SYNERGY_MSG_CONSOLE_CLOSE WM_APP + 0x0022 +#define SYNERGY_MSG_CONSOLE_SHOW WM_APP + 0x0023 +#define SYNERGY_MSG_CONSOLE_WRITE WM_APP + 0x0024 +#define SYNERGY_MSG_CONSOLE_CLEAR WM_APP + 0x0025 // // CArchConsoleWindows // -CArchThread CArchConsoleWindows::s_thread = 0; +CArchConsoleWindows* CArchConsoleWindows::s_instance = NULL; +HINSTANCE CArchConsoleWindows::s_appInstance = NULL; -CArchConsoleWindows::CArchConsoleWindows() : - m_output(NULL) +CArchConsoleWindows::CArchConsoleWindows(void* appInstance) : + m_show(false), + m_maxLines(1000), + m_numCharacters(0), + m_maxCharacters(65536) { - s_thread = ARCH->newCurrentThread(); + // save the singleton instance + s_instance = this; + + // save app instance + s_appInstance = reinterpret_cast(appInstance); - m_mutex = ARCH->newMutex(); + // we need a mutex + m_mutex = ARCH->newMutex(); + + // and a condition variable which uses the above mutex + m_ready = false; + m_condVar = ARCH->newCondVar(); + + // we're going to want to get a result from the thread we're + // about to create to know if it initialized successfully. + // so we lock the condition variable. + ARCH->lockMutex(m_mutex); + + // open a window and run an event loop in a separate thread. + // this has to happen in a separate thread because if we + // create a window on the current desktop with the current + // thread then the current thread won't be able to switch + // desktops if it needs to. + m_thread = ARCH->newThread(&CArchConsoleWindows::threadEntry, this); + + // wait for child thread + while (!m_ready) { + ARCH->waitCondVar(m_condVar, m_mutex, -1.0); + } + + // ready + ARCH->unlockMutex(m_mutex); - // dummy write to stderr to create locks in stdio from the main - // thread. if we open the console from another thread then we - // can deadlock in stdio when trying to write from a 3rd thread. - // writes to stderr without a console don't go anywhere so the - // user won't notice this. - fprintf(stderr, "\n"); } CArchConsoleWindows::~CArchConsoleWindows() { + if (m_thread != NULL) { + PostMessage(m_hwnd, WM_QUIT, 0, 0); + ARCH->wait(m_thread, -1.0); + ARCH->closeThread(m_thread); + } + ARCH->closeCondVar(m_condVar); ARCH->closeMutex(m_mutex); - ARCH->closeThread(s_thread); + s_instance = NULL; } void CArchConsoleWindows::openConsole(const char* title) { - ARCH->lockMutex(m_mutex); - if (m_output == NULL) { - if (AllocConsole()) { - // get console output handle - m_output = GetStdHandle(STD_ERROR_HANDLE); - - // set console title - if (title != NULL) { - SetConsoleTitle(title); - } - - // prep console. windows 95 and its ilk have braindead - // consoles that can't even resize independently of the - // buffer size. use a 25 line buffer for those systems. - OSVERSIONINFO osInfo; - COORD size = { 80, 1000 }; - osInfo.dwOSVersionInfoSize = sizeof(osInfo); - if (GetVersionEx(&osInfo) && - osInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) - size.Y = 25; - SetConsoleScreenBufferSize(m_output, size); - SetConsoleTextAttribute(m_output, - FOREGROUND_RED | - FOREGROUND_GREEN | - FOREGROUND_BLUE); - - // catch console signals - SetConsoleCtrlHandler(&CArchConsoleWindows::signalHandler, TRUE); - - // reopen stderr to point at console - freopen("con", "w", stderr); - } - } - ARCH->unlockMutex(m_mutex); + SetWindowText(m_frame, title); + SendMessage(m_frame, SYNERGY_MSG_CONSOLE_OPEN, 0, 0); } void CArchConsoleWindows::closeConsole() { - ARCH->lockMutex(m_mutex); - if (m_output != NULL) { - if (FreeConsole()) { - m_output = NULL; - } - } - ARCH->unlockMutex(m_mutex); + SendMessage(m_frame, SYNERGY_MSG_CONSOLE_CLOSE, 0, 0); + SendMessage(m_frame, SYNERGY_MSG_CONSOLE_CLEAR, 0, 0); +} + +void +CArchConsoleWindows::showConsole(bool showIfEmpty) +{ + SendMessage(m_frame, SYNERGY_MSG_CONSOLE_SHOW, showIfEmpty ? 1 : 0, 0); } void CArchConsoleWindows::writeConsole(const char* str) { - fprintf(stderr, "%s", str); + SendMessage(m_frame, SYNERGY_MSG_CONSOLE_WRITE, + reinterpret_cast(str), 0); } const char* @@ -107,21 +117,322 @@ CArchConsoleWindows::getNewlineForConsole() return "\r\n"; } -BOOL WINAPI -CArchConsoleWindows::signalHandler(DWORD ctrlType) +void +CArchConsoleWindows::clearBuffer() +{ + m_buffer.clear(); + m_numCharacters = 0; + SetWindowText(m_hwnd, ""); +} + +void +CArchConsoleWindows::appendBuffer(const char* msg) +{ + bool wasEmpty = m_buffer.empty(); + + // get current selection + CHARRANGE selection; + SendMessage(m_hwnd, EM_EXGETSEL, 0, reinterpret_cast(&selection)); + + // remove tail of buffer + size_t removedCharacters = 0; + while (m_buffer.size() >= m_maxLines) { + removedCharacters += m_buffer.front().size(); + m_buffer.pop_front(); + } + + // remove lines from top of control + if (removedCharacters > 0) { + CHARRANGE range; + range.cpMin = 0; + range.cpMax = static_cast(removedCharacters); + SendMessage(m_hwnd, EM_EXSETSEL, 0, reinterpret_cast(&range)); + SendMessage(m_hwnd, EM_REPLACESEL, FALSE, reinterpret_cast("")); + + // adjust selection + if (selection.cpMin < static_cast(removedCharacters) || + selection.cpMax < static_cast(removedCharacters)) { + selection.cpMin = 0; + selection.cpMax = 0; + } + else { + selection.cpMin -= static_cast(removedCharacters); + selection.cpMax -= static_cast(removedCharacters); + } + + m_numCharacters -= removedCharacters; + } + + // append message + m_buffer.push_back(msg); + size_t newNumCharacters = m_numCharacters + m_buffer.back().size(); + + // add line to bottom of control + if (newNumCharacters > m_maxCharacters) { + m_maxCharacters = newNumCharacters; + SendMessage(m_hwnd, EM_EXLIMITTEXT, 0, m_maxCharacters); + } + CHARRANGE range; + range.cpMin = m_numCharacters; + range.cpMax = m_numCharacters; + SendMessage(m_hwnd, EM_EXSETSEL, 0, reinterpret_cast(&range)); + SendMessage(m_hwnd, EM_REPLACESEL, FALSE, + reinterpret_cast(m_buffer.back().c_str())); + + // adjust selection + bool atEnd = false; + if (selection.cpMax == static_cast(m_numCharacters)) { + selection.cpMin = static_cast(newNumCharacters); + selection.cpMax = static_cast(newNumCharacters); + atEnd = true; + } + + // restore the selection + SendMessage(m_hwnd, EM_EXSETSEL, 0, reinterpret_cast(&selection)); + if (atEnd) { + SendMessage(m_hwnd, EM_SCROLLCARET, 0, 0); + } + + if (wasEmpty && m_show) { + ShowWindow(m_frame, TRUE); + } + + m_numCharacters = newNumCharacters; +} + +void +CArchConsoleWindows::setSize(int width, int height) +{ + DWORD style = GetWindowLong(m_frame, GWL_STYLE); + DWORD exStyle = GetWindowLong(m_frame, GWL_EXSTYLE); + RECT rect; + rect.left = 100; + rect.top = 100; + rect.right = rect.left + width * m_wChar; + rect.bottom = rect.top + height * m_hChar; + AdjustWindowRectEx(&rect, style, FALSE, exStyle); + SetWindowPos(m_frame, NULL, 0, 0, rect.right - rect.left, + rect.bottom - rect.top, + SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER); +} + +LRESULT +CArchConsoleWindows::wndProc(HWND hwnd, + UINT msg, WPARAM wParam, LPARAM lParam) { - // terminate app and skip remaining handlers - switch (ctrlType) { - case CTRL_C_EVENT: - ARCH->raiseSignal(CArch::kINTERRUPT); - return TRUE; + switch (msg) { + case WM_CLOSE: + ShowWindow(m_frame, FALSE); + m_show = false; + return 0; - case CTRL_BREAK_EVENT: - ARCH->raiseSignal(CArch::kTERMINATE); - return TRUE; + case SYNERGY_MSG_CONSOLE_OPEN: + return 0; + + case SYNERGY_MSG_CONSOLE_CLOSE: + SendMessage(m_frame, WM_CLOSE, 0, 0); + m_show = false; + return 0; + + case SYNERGY_MSG_CONSOLE_SHOW: + m_show = true; + if (wParam != 0 || !m_buffer.empty()) { + ShowWindow(m_frame, TRUE); + } + return 0; + + case SYNERGY_MSG_CONSOLE_WRITE: + appendBuffer(reinterpret_cast(wParam)); + return 0; + + case SYNERGY_MSG_CONSOLE_CLEAR: + clearBuffer(); + return 0; + + case WM_SIZE: + if (hwnd == m_frame) { + MoveWindow(m_hwnd, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE); + } + break; + + case WM_SIZING: + if (hwnd == m_frame) { + // get window vs client area info + int wBase = 40 * m_wChar; + int hBase = 40 * m_hChar; + DWORD style = GetWindowLong(m_frame, GWL_STYLE); + DWORD exStyle = GetWindowLong(m_frame, GWL_EXSTYLE); + RECT rect; + rect.left = 100; + rect.top = 100; + rect.right = rect.left + wBase; + rect.bottom = rect.top + hBase; + AdjustWindowRectEx(&rect, style, FALSE, exStyle); + wBase = rect.right - rect.left - wBase; + hBase = rect.bottom - rect.top - hBase; + + // get closest size that's a multiple of the character size + RECT* newRect = (RECT*)lParam; + int width = (newRect->right - newRect->left - wBase) / m_wChar; + int height = (newRect->bottom - newRect->top - hBase) / m_hChar; + width = width * m_wChar + wBase; + height = height * m_hChar + hBase; + + // adjust sizing rect + switch (wParam) { + case WMSZ_LEFT: + case WMSZ_TOPLEFT: + case WMSZ_BOTTOMLEFT: + newRect->left = newRect->right - width; + break; + + case WMSZ_RIGHT: + case WMSZ_TOPRIGHT: + case WMSZ_BOTTOMRIGHT: + newRect->right = newRect->left + width; + break; + } + switch (wParam) { + case WMSZ_TOP: + case WMSZ_TOPLEFT: + case WMSZ_TOPRIGHT: + newRect->top = newRect->bottom - height; + break; + + case WMSZ_BOTTOM: + case WMSZ_BOTTOMLEFT: + case WMSZ_BOTTOMRIGHT: + newRect->bottom = newRect->top + height; + break; + } + return TRUE; + } + break; default: - ARCH->raiseSignal(CArch::kINTERRUPT); - return TRUE; + break; } + + return DefWindowProc(hwnd, msg, wParam, lParam); +} + +LRESULT CALLBACK +CArchConsoleWindows::staticWndProc(HWND hwnd, UINT msg, + WPARAM wParam, LPARAM lParam) +{ + // forward the message + if (s_instance != NULL) { + return s_instance->wndProc(hwnd, msg, wParam, lParam); + } + else { + return DefWindowProc(hwnd, msg, wParam, lParam); + } +} + +void +CArchConsoleWindows::threadMainLoop() +{ + LoadLibrary("RICHED32.DLL"); + + // get the app icons + HICON largeIcon, smallIcon; + CArchMiscWindows::getIcons(largeIcon, smallIcon); + + // register a window class + WNDCLASSEX classInfo; + classInfo.cbSize = sizeof(classInfo); + classInfo.style = 0; + classInfo.lpfnWndProc = &CArchConsoleWindows::staticWndProc; + classInfo.cbClsExtra = 0; + classInfo.cbWndExtra = sizeof(CArchConsoleWindows*); + classInfo.hInstance = s_appInstance; + classInfo.hIcon = largeIcon; + classInfo.hCursor = NULL; + classInfo.hbrBackground = NULL; + classInfo.lpszMenuName = NULL; + classInfo.lpszClassName = TEXT("SynergyConsole"); + classInfo.hIconSm = smallIcon; + ATOM windowClass = RegisterClassEx(&classInfo); + + // create frame window + m_frame = CreateWindowEx(0, + reinterpret_cast(windowClass), + TEXT("Synergy Log"), + WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, CW_USEDEFAULT, 100, 100, + NULL, + NULL, + s_appInstance, + NULL); + + // create log window + m_hwnd = CreateWindowEx(0, + "RichEdit", + TEXT(""), + WS_CHILD | WS_VISIBLE | WS_VSCROLL | + ES_MULTILINE | ES_READONLY, + 0, 0, 1, 1, + m_frame, + (HMENU)1, + s_appInstance, + NULL); + + // select font and get info + HDC hdc = GetDC(m_hwnd); + HGDIOBJ oldFont = SelectObject(hdc, GetStockObject(ANSI_FIXED_FONT)); + TEXTMETRIC metrics; + GetTextMetrics(hdc, &metrics); + CHARFORMAT format; + format.cbSize = sizeof(format); + format.dwMask = CFM_CHARSET | CFM_COLOR | CFM_FACE | + CFM_OFFSET | CFM_SIZE | CFM_PROTECTED | + CFM_BOLD | CFM_ITALIC | + CFM_STRIKEOUT | CFM_UNDERLINE; + format.dwEffects = 0; + format.yHeight = metrics.tmHeight; + format.yOffset = 0; + format.crTextColor = RGB(0, 0, 0); + format.bCharSet = DEFAULT_CHARSET; + format.bPitchAndFamily = FIXED_PITCH | FF_MODERN; + GetTextFace(hdc, sizeof(format.szFaceName), format.szFaceName); + SelectObject(hdc, oldFont); + ReleaseDC(m_hwnd, hdc); + + // prep window + SendMessage(m_hwnd, EM_EXLIMITTEXT, 0, m_maxCharacters); + SendMessage(m_hwnd, EM_SETCHARFORMAT, 0, reinterpret_cast(&format)); + SendMessage(m_hwnd, EM_SETBKGNDCOLOR, 0, RGB(255, 255, 255)); + m_wChar = metrics.tmAveCharWidth; + m_hChar = metrics.tmHeight + metrics.tmExternalLeading; + setSize(80, 25); + + // signal ready + ARCH->lockMutex(m_mutex); + m_ready = true; + ARCH->broadcastCondVar(m_condVar); + ARCH->unlockMutex(m_mutex); + + // handle failure + if (m_hwnd == NULL) { + UnregisterClass(reinterpret_cast(windowClass), s_appInstance); + return; + } + + // main loop + MSG msg; + while (GetMessage(&msg, NULL, 0, 0)) { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + // clean up + DestroyWindow(m_hwnd); + UnregisterClass(reinterpret_cast(windowClass), s_appInstance); +} + +void* +CArchConsoleWindows::threadEntry(void* self) +{ + reinterpret_cast(self)->threadMainLoop(); + return NULL; } diff --git a/lib/arch/CArchConsoleWindows.h b/lib/arch/CArchConsoleWindows.h index bf9f0a3..0d59e6e 100644 --- a/lib/arch/CArchConsoleWindows.h +++ b/lib/arch/CArchConsoleWindows.h @@ -19,6 +19,7 @@ #include "IArchConsole.h" #include "IArchMultithread.h" +#include "stddeque.h" #include #define ARCH_CONSOLE CArchConsoleWindows @@ -26,23 +27,51 @@ //! Win32 implementation of IArchConsole class CArchConsoleWindows : public IArchConsole { public: - CArchConsoleWindows(); + CArchConsoleWindows(void*); virtual ~CArchConsoleWindows(); // IArchConsole overrides virtual void openConsole(const char* title); virtual void closeConsole(); + virtual void showConsole(bool showIfEmpty); virtual void writeConsole(const char*); virtual const char* getNewlineForConsole(); private: - static BOOL WINAPI signalHandler(DWORD); + void clearBuffer(); + void appendBuffer(const char*); + void setSize(int width, int height); + + LRESULT wndProc(HWND, UINT, WPARAM, LPARAM); + static LRESULT CALLBACK + staticWndProc(HWND, UINT, WPARAM, LPARAM); + void threadMainLoop(); + static void* threadEntry(void*); private: - static CArchThread s_thread; + typedef std::deque MessageBuffer; + + static CArchConsoleWindows* s_instance; + static HINSTANCE s_appInstance; + // multithread data CArchMutex m_mutex; - HANDLE m_output; + CArchCond m_condVar; + bool m_ready; + CArchThread m_thread; + + // child thread data + HWND m_frame; + HWND m_hwnd; + LONG m_wChar; + LONG m_hChar; + bool m_show; + + // messages + size_t m_maxLines; + size_t m_maxCharacters; + size_t m_numCharacters; + MessageBuffer m_buffer; }; #endif diff --git a/lib/arch/CArchLogUnix.cpp b/lib/arch/CArchLogUnix.cpp index c75696e..093d89f 100644 --- a/lib/arch/CArchLogUnix.cpp +++ b/lib/arch/CArchLogUnix.cpp @@ -41,6 +41,12 @@ CArchLogUnix::closeLog() closelog(); } +void +CArchLogUnix::showLog(bool) +{ + // do nothing +} + void CArchLogUnix::writeLog(ELevel level, const char* msg) { diff --git a/lib/arch/CArchLogUnix.h b/lib/arch/CArchLogUnix.h index b371784..91070b4 100644 --- a/lib/arch/CArchLogUnix.h +++ b/lib/arch/CArchLogUnix.h @@ -28,6 +28,7 @@ class CArchLogUnix : public IArchLog { // IArchLog overrides virtual void openLog(const char* name); virtual void closeLog(); + virtual void showLog(bool); virtual void writeLog(ELevel, const char*); }; diff --git a/lib/arch/CArchLogWindows.cpp b/lib/arch/CArchLogWindows.cpp index 6d21d6b..0ac8913 100644 --- a/lib/arch/CArchLogWindows.cpp +++ b/lib/arch/CArchLogWindows.cpp @@ -47,6 +47,12 @@ CArchLogWindows::closeLog() } } +void +CArchLogWindows::showLog(bool) +{ + // do nothing +} + void CArchLogWindows::writeLog(ELevel level, const char* msg) { diff --git a/lib/arch/CArchLogWindows.h b/lib/arch/CArchLogWindows.h index d238576..e881253 100644 --- a/lib/arch/CArchLogWindows.h +++ b/lib/arch/CArchLogWindows.h @@ -31,6 +31,7 @@ class CArchLogWindows : public IArchLog { // IArchLog overrides virtual void openLog(const char* name); virtual void closeLog(); + virtual void showLog(bool showIfEmpty); virtual void writeLog(ELevel, const char*); private: diff --git a/lib/arch/CArchMiscWindows.cpp b/lib/arch/CArchMiscWindows.cpp index a3c43c0..e2fb2dc 100644 --- a/lib/arch/CArchMiscWindows.cpp +++ b/lib/arch/CArchMiscWindows.cpp @@ -33,6 +33,8 @@ typedef DWORD EXECUTION_STATE; CArchMiscWindows::CDialogs* CArchMiscWindows::s_dialogs = NULL; DWORD CArchMiscWindows::s_busyState = 0; CArchMiscWindows::STES_t CArchMiscWindows::s_stes = NULL; +HICON CArchMiscWindows::s_largeIcon = NULL; +HICON CArchMiscWindows::s_smallIcon = NULL; void CArchMiscWindows::init() @@ -87,6 +89,20 @@ CArchMiscWindows::isWindowsModern() return result; } +void +CArchMiscWindows::setIcons(HICON largeIcon, HICON smallIcon) +{ + s_largeIcon = largeIcon; + s_smallIcon = smallIcon; +} + +void +CArchMiscWindows::getIcons(HICON& largeIcon, HICON& smallIcon) +{ + largeIcon = s_largeIcon; + smallIcon = s_smallIcon; +} + int CArchMiscWindows::runDaemon(RunFunc runFunc) { diff --git a/lib/arch/CArchMiscWindows.h b/lib/arch/CArchMiscWindows.h index ebd48a9..95a1d13 100644 --- a/lib/arch/CArchMiscWindows.h +++ b/lib/arch/CArchMiscWindows.h @@ -56,6 +56,18 @@ class CArchMiscWindows { */ static bool isWindowsModern(); + //! Set the application icons + /*! + Set the application icons. + */ + static void setIcons(HICON largeIcon, HICON smallIcon); + + //! Get the application icons + /*! + Get the application icons. + */ + static void getIcons(HICON& largeIcon, HICON& smallIcon); + //! Run the daemon /*! Delegates to CArchDaemonWindows. @@ -172,6 +184,8 @@ class CArchMiscWindows { static CDialogs* s_dialogs; static DWORD s_busyState; static STES_t s_stes; + static HICON s_largeIcon; + static HICON s_smallIcon; }; #endif diff --git a/lib/arch/IArchConsole.h b/lib/arch/IArchConsole.h index c9da410..2befb19 100644 --- a/lib/arch/IArchConsole.h +++ b/lib/arch/IArchConsole.h @@ -43,6 +43,15 @@ class IArchConsole : public IInterface { */ virtual void closeConsole() = 0; + //! Show the console + /*! + Causes the console to become visible. This generally only makes sense + for a console in a graphical user interface. Other implementations + will do nothing. Iff \p showIfEmpty is \c false then the implementation + may optionally only show the console if it's not empty. + */ + virtual void showConsole(bool showIfEmpty) = 0; + //! Write to the console /*! Writes the given string to the console, opening it if necessary. diff --git a/lib/arch/IArchLog.h b/lib/arch/IArchLog.h index 0c25918..7655ff9 100644 --- a/lib/arch/IArchLog.h +++ b/lib/arch/IArchLog.h @@ -52,6 +52,15 @@ class IArchLog : public IInterface { */ virtual void closeLog() = 0; + //! Show the log + /*! + Causes the log to become visible. This generally only makes sense + for a log in a graphical user interface. Other implementations + will do nothing. Iff \p showIfEmpty is \c false then the implementation + may optionally only show the log if it's not empty. + */ + virtual void showLog(bool showIfEmpty) = 0; + //! Write to the log /*! Writes the given string to the log with the given level. diff --git a/lib/arch/Makefile.in b/lib/arch/Makefile.in index 1734cf2..6bb4310 100644 --- a/lib/arch/Makefile.in +++ b/lib/arch/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -221,27 +214,68 @@ LIBRARIES = $(noinst_LIBRARIES) libarch_a_AR = $(AR) cru libarch_a_LIBADD = -am__objects_1 = -am__objects_2 = CArch.$(OBJEXT) CArchDaemonNone.$(OBJEXT) \ - XArch.$(OBJEXT) $(am__objects_1) -am__objects_3 = CArchConsoleUnix.$(OBJEXT) CArchDaemonUnix.$(OBJEXT) \ - CArchFileUnix.$(OBJEXT) CArchLogUnix.$(OBJEXT) \ - CArchMultithreadPosix.$(OBJEXT) CArchNetworkBSD.$(OBJEXT) \ - CArchSleepUnix.$(OBJEXT) CArchStringUnix.$(OBJEXT) \ - CArchSystemUnix.$(OBJEXT) CArchTaskBarXWindows.$(OBJEXT) \ - CArchTimeUnix.$(OBJEXT) XArchUnix.$(OBJEXT) $(am__objects_1) -am__objects_4 = CArchConsoleWindows.$(OBJEXT) \ - CArchDaemonWindows.$(OBJEXT) CArchFileWindows.$(OBJEXT) \ - CArchLogWindows.$(OBJEXT) CArchMiscWindows.$(OBJEXT) \ - CArchMultithreadWindows.$(OBJEXT) CArchNetworkWinsock.$(OBJEXT) \ - CArchSleepWindows.$(OBJEXT) CArchStringWindows.$(OBJEXT) \ - CArchSystemWindows.$(OBJEXT) CArchTaskBarWindows.$(OBJEXT) \ - CArchTimeWindows.$(OBJEXT) XArchWindows.$(OBJEXT) \ - $(am__objects_1) -@UNIX_TRUE@am_libarch_a_OBJECTS = $(am__objects_2) $(am__objects_3) \ -@UNIX_TRUE@ $(am__objects_1) -@WIN32_TRUE@am_libarch_a_OBJECTS = $(am__objects_2) $(am__objects_4) \ -@WIN32_TRUE@ $(am__objects_1) +@UNIX_FALSE@@WIN32_TRUE@am_libarch_a_OBJECTS = CArch.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchDaemonNone.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ XArch.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchConsoleWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchDaemonWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchFileWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchLogWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchMiscWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchMultithreadWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchNetworkWinsock.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchSleepWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchStringWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchSystemWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchTaskBarWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ CArchTimeWindows.$(OBJEXT) \ +@UNIX_FALSE@@WIN32_TRUE@ XArchWindows.$(OBJEXT) +@UNIX_FALSE@@WIN32_FALSE@am_libarch_a_OBJECTS = +@UNIX_TRUE@@WIN32_TRUE@am_libarch_a_OBJECTS = CArch.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchDaemonNone.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ XArch.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchConsoleUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchDaemonUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchFileUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchLogUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchMultithreadPosix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchNetworkBSD.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchSleepUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchStringUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchSystemUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchTaskBarXWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchTimeUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ XArchUnix.$(OBJEXT) CArch.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchDaemonNone.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ XArch.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchConsoleWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchDaemonWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchFileWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchLogWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchMiscWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchMultithreadWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchNetworkWinsock.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchSleepWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchStringWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchSystemWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchTaskBarWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ CArchTimeWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_TRUE@ XArchWindows.$(OBJEXT) +@UNIX_TRUE@@WIN32_FALSE@am_libarch_a_OBJECTS = CArch.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchDaemonNone.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ XArch.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchConsoleUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchDaemonUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchFileUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchLogUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchMultithreadPosix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchNetworkBSD.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchSleepUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchStringUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchSystemUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchTaskBarXWindows.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ CArchTimeUnix.$(OBJEXT) \ +@UNIX_TRUE@@WIN32_FALSE@ XArchUnix.$(OBJEXT) libarch_a_OBJECTS = $(am_libarch_a_OBJECTS) DEFS = @DEFS@ @@ -250,34 +284,31 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CArch.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchConsoleUnix.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchConsoleWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchDaemonNone.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchDaemonUnix.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchDaemonWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchFileUnix.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchFileWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchLogUnix.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchLogWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchMiscWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchMultithreadPosix.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchMultithreadWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchNetworkBSD.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchNetworkWinsock.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchSleepUnix.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchSleepWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchStringUnix.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchStringWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchSystemUnix.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchSystemWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchTaskBarWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchTaskBarXWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchTimeUnix.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CArchTimeWindows.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/XArch.Po ./$(DEPDIR)/XArchUnix.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/XArchWindows.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CArch.Po $(DEPDIR)/CArchConsoleUnix.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchConsoleWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchDaemonNone.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchDaemonUnix.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchDaemonWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchFileUnix.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchFileWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchLogUnix.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchLogWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchMiscWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchMultithreadPosix.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchMultithreadWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchNetworkBSD.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchNetworkWinsock.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchSleepUnix.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchSleepWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchStringUnix.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchStringWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchSystemUnix.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchSystemWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchTaskBarWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchTaskBarXWindows.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchTimeUnix.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CArchTimeWindows.Po $(DEPDIR)/XArch.Po \ +@AMDEP_TRUE@ $(DEPDIR)/XArchUnix.Po $(DEPDIR)/XArchWindows.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -301,7 +332,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/arch/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status AR = ar @@ -318,43 +351,43 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArch.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchConsoleUnix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchConsoleWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchDaemonNone.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchDaemonUnix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchDaemonWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchFileUnix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchFileWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchLogUnix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchLogWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchMiscWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchMultithreadPosix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchMultithreadWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchNetworkBSD.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchNetworkWinsock.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchSleepUnix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchSleepWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchStringUnix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchStringWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchSystemUnix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchSystemWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchTaskBarWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchTaskBarXWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchTimeUnix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CArchTimeWindows.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XArch.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XArchUnix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XArchWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchConsoleUnix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchConsoleWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchDaemonNone.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchDaemonUnix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchDaemonWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchFileUnix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchFileWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchLogUnix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchLogWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchMiscWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchMultithreadPosix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchMultithreadWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchNetworkBSD.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchNetworkWinsock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchSleepUnix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchSleepWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchStringUnix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchStringWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchSystemUnix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchSystemWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchTaskBarWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchTaskBarXWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchTimeUnix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CArchTimeWindows.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/XArch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/XArchUnix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/XArchWindows.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -364,61 +397,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -442,7 +467,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -450,7 +474,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/arch/arch.dsp b/lib/arch/arch.dsp index aaa6680..36c6b28 100644 --- a/lib/arch/arch.dsp +++ b/lib/arch/arch.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\gen\build" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\common" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\arch.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\common" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\arch.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "..\..\gen\debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\base" /I "..\mt" /I "..\common" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\arch.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\base" /I "..\mt" /I "..\common" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\arch.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" diff --git a/lib/base/CLog.cpp b/lib/base/CLog.cpp index 05478ca..7c73ac8 100644 --- a/lib/base/CLog.cpp +++ b/lib/base/CLog.cpp @@ -190,6 +190,8 @@ CLog::insert(ILogOutputter* outputter, bool alwaysAtHead) if (newlineLength > m_maxNewlineLength) { m_maxNewlineLength = newlineLength; } + outputter->open(kAppVersion); + outputter->show(false); } void @@ -270,9 +272,6 @@ CLog::output(int priority, char* msg) const // put an appropriate newline at the end strcpy(end, outputter->getNewline()); - // open the outputter - outputter->open(kApplication); - // write message outputter->write(static_cast(priority), msg + g_maxPriorityLength - n); @@ -285,9 +284,6 @@ CLog::output(int priority, char* msg) const // put an appropriate newline at the end strcpy(end, outputter->getNewline()); - // open the outputter - outputter->open(kApplication); - // write message and break out of loop if it returns false if (!outputter->write(static_cast(priority), msg + g_maxPriorityLength - n)) { diff --git a/lib/base/ILogOutputter.h b/lib/base/ILogOutputter.h index 585598c..2be4dcc 100644 --- a/lib/base/ILogOutputter.h +++ b/lib/base/ILogOutputter.h @@ -45,6 +45,15 @@ class ILogOutputter : public IInterface { */ virtual void close() = 0; + //! Show the outputter + /*! + Causes the output to become visible. This generally only makes sense + for a logger in a graphical user interface. Other implementations + will do nothing. Iff \p showIfEmpty is \c false then the implementation + may optionally only show the log if it's not empty. + */ + virtual void show(bool showIfEmpty) = 0; + //! Write a message with level /*! Writes \c message, which has the given \c level, to a log. diff --git a/lib/base/LogOutputters.cpp b/lib/base/LogOutputters.cpp index 5f7a40b..f556d53 100644 --- a/lib/base/LogOutputters.cpp +++ b/lib/base/LogOutputters.cpp @@ -41,6 +41,12 @@ CStopLogOutputter::close() // do nothing } +void +CStopLogOutputter::show(bool) +{ + // do nothing +} + bool CStopLogOutputter::write(ELevel, const char*) { @@ -80,6 +86,12 @@ CConsoleLogOutputter::close() ARCH->closeConsole(); } +void +CConsoleLogOutputter::show(bool showIfEmpty) +{ + ARCH->showConsole(showIfEmpty); +} + bool CConsoleLogOutputter::write(ELevel, const char* msg) { @@ -120,6 +132,12 @@ CSystemLogOutputter::close() ARCH->closeLog(); } +void +CSystemLogOutputter::show(bool showIfEmpty) +{ + ARCH->showLog(showIfEmpty); +} + bool CSystemLogOutputter::write(ELevel level, const char* msg) { @@ -162,22 +180,27 @@ CSystemLogOutputter::getNewline() const // CSystemLogger // -CSystemLogger::CSystemLogger(const char* title) +CSystemLogger::CSystemLogger(const char* title, bool blockConsole) : + m_stop(NULL) { // redirect log messages + if (blockConsole) { + m_stop = new CStopLogOutputter; + CLOG->insert(m_stop); + } m_syslog = new CSystemLogOutputter; - m_stop = new CStopLogOutputter; m_syslog->open(title); - CLOG->insert(m_stop); CLOG->insert(m_syslog); } CSystemLogger::~CSystemLogger() { CLOG->remove(m_syslog); - CLOG->remove(m_stop); - delete m_stop; delete m_syslog; + if (m_stop != NULL) { + CLOG->remove(m_stop); + delete m_stop; + } } @@ -221,6 +244,12 @@ CBufferedLogOutputter::close() m_buffer.clear(); } +void +CBufferedLogOutputter::show(bool) +{ + // do nothing +} + bool CBufferedLogOutputter::write(ELevel, const char* message) { diff --git a/lib/base/LogOutputters.h b/lib/base/LogOutputters.h index 64befe5..a808759 100644 --- a/lib/base/LogOutputters.h +++ b/lib/base/LogOutputters.h @@ -34,6 +34,7 @@ class CStopLogOutputter : public ILogOutputter { // ILogOutputter overrides virtual void open(const char* title); virtual void close(); + virtual void show(bool showIfEmpty); virtual bool write(ELevel level, const char* message); virtual const char* getNewline() const; }; @@ -51,6 +52,7 @@ class CConsoleLogOutputter : public ILogOutputter { // ILogOutputter overrides virtual void open(const char* title); virtual void close(); + virtual void show(bool showIfEmpty); virtual bool write(ELevel level, const char* message); virtual const char* getNewline() const; }; @@ -67,6 +69,7 @@ class CSystemLogOutputter : public ILogOutputter { // ILogOutputter overrides virtual void open(const char* title); virtual void close(); + virtual void show(bool showIfEmpty); virtual bool write(ELevel level, const char* message); virtual const char* getNewline() const; }; @@ -81,7 +84,7 @@ the scope. */ class CSystemLogger { public: - CSystemLogger(const char* title); + CSystemLogger(const char* title, bool blockConsole); ~CSystemLogger(); private: @@ -117,6 +120,7 @@ class CBufferedLogOutputter : public ILogOutputter { // ILogOutputter overrides virtual void open(const char* title); virtual void close(); + virtual void show(bool showIfEmpty); virtual bool write(ELevel level, const char* message); virtual const char* getNewline() const; diff --git a/lib/base/Makefile.in b/lib/base/Makefile.in index 986636b..cc4a1fd 100644 --- a/lib/base/Makefile.in +++ b/lib/base/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -165,13 +158,11 @@ LIBRARIES = $(noinst_LIBRARIES) libbase_a_AR = $(AR) cru libbase_a_LIBADD = -am__objects_1 = am_libbase_a_OBJECTS = CEvent.$(OBJEXT) CEventQueue.$(OBJEXT) \ CFunctionEventJob.$(OBJEXT) CFunctionJob.$(OBJEXT) \ CLog.$(OBJEXT) CSimpleEventQueueBuffer.$(OBJEXT) \ CStopwatch.$(OBJEXT) CStringUtil.$(OBJEXT) CUnicode.$(OBJEXT) \ - IEventQueue.$(OBJEXT) LogOutputters.$(OBJEXT) XBase.$(OBJEXT) \ - $(am__objects_1) + IEventQueue.$(OBJEXT) LogOutputters.$(OBJEXT) XBase.$(OBJEXT) libbase_a_OBJECTS = $(am_libbase_a_OBJECTS) DEFS = @DEFS@ @@ -180,15 +171,13 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CEvent.Po ./$(DEPDIR)/CEventQueue.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CFunctionEventJob.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CFunctionJob.Po ./$(DEPDIR)/CLog.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CSimpleEventQueueBuffer.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CStopwatch.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CStringUtil.Po ./$(DEPDIR)/CUnicode.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/IEventQueue.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/LogOutputters.Po ./$(DEPDIR)/XBase.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CEvent.Po $(DEPDIR)/CEventQueue.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CFunctionEventJob.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CFunctionJob.Po $(DEPDIR)/CLog.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CSimpleEventQueueBuffer.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CStopwatch.Po $(DEPDIR)/CStringUtil.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CUnicode.Po $(DEPDIR)/IEventQueue.Po \ +@AMDEP_TRUE@ $(DEPDIR)/LogOutputters.Po $(DEPDIR)/XBase.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -212,7 +201,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/base/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status AR = ar @@ -229,27 +220,27 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CEvent.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CEventQueue.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CFunctionEventJob.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CFunctionJob.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CLog.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSimpleEventQueueBuffer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CStopwatch.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CStringUtil.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CUnicode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IEventQueue.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LogOutputters.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XBase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CEvent.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CEventQueue.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CFunctionEventJob.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CFunctionJob.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CLog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CSimpleEventQueueBuffer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CStopwatch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CStringUtil.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CUnicode.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/IEventQueue.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/LogOutputters.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/XBase.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -259,61 +250,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -337,7 +320,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -345,7 +327,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/base/base.dsp b/lib/base/base.dsp index 2008731..c3cb105 100644 --- a/lib/base/base.dsp +++ b/lib/base/base.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\gen\build" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\common" /I "..\arch" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\base.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\common" /I "..\arch" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\base.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "..\..\gen\debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\common" /I "..\arch" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\base.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\common" /I "..\arch" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\base.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" diff --git a/lib/client/CClient.cpp b/lib/client/CClient.cpp index 0fe0625..1e450a1 100644 --- a/lib/client/CClient.cpp +++ b/lib/client/CClient.cpp @@ -163,6 +163,12 @@ CClient::isConnecting() const return (m_timer != NULL); } +CNetworkAddress +CClient::getServerAddress() const +{ + return m_serverAddress; +} + CEvent::Type CClient::getConnectedEvent() { diff --git a/lib/client/CClient.h b/lib/client/CClient.h index e85c7ba..4bd11c6 100644 --- a/lib/client/CClient.h +++ b/lib/client/CClient.h @@ -89,6 +89,13 @@ class CClient : public IClient { */ bool isConnecting() const; + //! Get address of server + /*! + Returns the address of the server the client is connected (or wants + to connect) to. + */ + CNetworkAddress getServerAddress() const; + //! Get connected event type /*! Returns the connected event type. This is sent when the client has diff --git a/lib/client/Makefile.in b/lib/client/Makefile.in index a010a28..cb6c3a3 100644 --- a/lib/client/Makefile.in +++ b/lib/client/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -143,9 +136,7 @@ LIBRARIES = $(noinst_LIBRARIES) libclient_a_AR = $(AR) cru libclient_a_LIBADD = -am__objects_1 = -am_libclient_a_OBJECTS = CClient.$(OBJEXT) CServerProxy.$(OBJEXT) \ - $(am__objects_1) +am_libclient_a_OBJECTS = CClient.$(OBJEXT) CServerProxy.$(OBJEXT) libclient_a_OBJECTS = $(am_libclient_a_OBJECTS) DEFS = @DEFS@ @@ -154,9 +145,7 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CClient.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CServerProxy.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CClient.Po $(DEPDIR)/CServerProxy.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -180,7 +169,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/client/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status AR = ar @@ -197,17 +188,17 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CClient.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CServerProxy.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CClient.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CServerProxy.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -217,61 +208,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -295,7 +278,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -303,7 +285,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/client/client.dsp b/lib/client/client.dsp index 3ef97e1..2bcdaa1 100644 --- a/lib/client/client.dsp +++ b/lib/client/client.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\gen\build" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\client.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\client.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "..\..\gen\debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\client.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\client.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" diff --git a/lib/common/Makefile.in b/lib/common/Makefile.in index 2d7a430..3e48719 100644 --- a/lib/common/Makefile.in +++ b/lib/common/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -151,8 +144,7 @@ LIBRARIES = $(noinst_LIBRARIES) libcommon_a_AR = $(AR) cru libcommon_a_LIBADD = -am__objects_1 = -am_libcommon_a_OBJECTS = Version.$(OBJEXT) $(am__objects_1) +am_libcommon_a_OBJECTS = Version.$(OBJEXT) libcommon_a_OBJECTS = $(am_libcommon_a_OBJECTS) DEFS = @DEFS@ @@ -161,8 +153,7 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/Version.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/Version.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -186,7 +177,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/common/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status AR = ar @@ -203,16 +196,16 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Version.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/Version.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -222,61 +215,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -300,7 +285,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -308,7 +292,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/common/Version.cpp b/lib/common/Version.cpp index 2347e1d..86fcdef 100644 --- a/lib/common/Version.cpp +++ b/lib/common/Version.cpp @@ -14,9 +14,9 @@ #include "Version.h" -const char* kApplication = "synergy"; +const char* kApplication = "Synergy"; const char* kCopyright = "Copyright (C) 2002 Chris Schoeneman"; const char* kContact = "Chris Schoeneman, crs23@bigfoot.com"; const char* kWebsite = "http://synergy2.sourceforge.net/"; const char* kVersion = VERSION; -const char* kAppVersion = "synergy " VERSION; +const char* kAppVersion = "Synergy " VERSION; diff --git a/lib/common/Version.h b/lib/common/Version.h index 3790419..0eadf6f 100644 --- a/lib/common/Version.h +++ b/lib/common/Version.h @@ -19,7 +19,7 @@ // set version macro if not set yet #if !defined(VERSION) -# define VERSION "1.2.8" +# define VERSION "1.3.0" #endif // important strings diff --git a/lib/common/common.dsp b/lib/common/common.dsp index f55f609..8c63050 100644 --- a/lib/common/common.dsp +++ b/lib/common/common.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\gen\build" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\common.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\common.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "..\..\gen\debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\common.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\common.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" diff --git a/lib/io/Makefile.in b/lib/io/Makefile.in index 8f17fe6..8c29d68 100644 --- a/lib/io/Makefile.in +++ b/lib/io/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -144,9 +137,8 @@ LIBRARIES = $(noinst_LIBRARIES) libio_a_AR = $(AR) cru libio_a_LIBADD = -am__objects_1 = am_libio_a_OBJECTS = CStreamBuffer.$(OBJEXT) CStreamFilter.$(OBJEXT) \ - IStream.$(OBJEXT) XIO.$(OBJEXT) $(am__objects_1) + IStream.$(OBJEXT) XIO.$(OBJEXT) libio_a_OBJECTS = $(am_libio_a_OBJECTS) DEFS = @DEFS@ @@ -155,10 +147,9 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CStreamBuffer.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CStreamFilter.Po ./$(DEPDIR)/IStream.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/XIO.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CStreamBuffer.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CStreamFilter.Po $(DEPDIR)/IStream.Po \ +@AMDEP_TRUE@ $(DEPDIR)/XIO.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -182,7 +173,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/io/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status AR = ar @@ -199,19 +192,19 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CStreamBuffer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CStreamFilter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IStream.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XIO.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CStreamBuffer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CStreamFilter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/IStream.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/XIO.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -221,61 +214,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -299,7 +284,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -307,7 +291,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/io/io.dsp b/lib/io/io.dsp index f925215..e79adb2 100644 --- a/lib/io/io.dsp +++ b/lib/io/io.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\gen\build" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\io.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\io.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "..\..\gen\debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\io.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\io.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" diff --git a/lib/mt/Makefile.in b/lib/mt/Makefile.in index 0ad6691..ec2ef3d 100644 --- a/lib/mt/Makefile.in +++ b/lib/mt/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -145,9 +138,8 @@ LIBRARIES = $(noinst_LIBRARIES) libmt_a_AR = $(AR) cru libmt_a_LIBADD = -am__objects_1 = am_libmt_a_OBJECTS = CCondVar.$(OBJEXT) CLock.$(OBJEXT) CMutex.$(OBJEXT) \ - CThread.$(OBJEXT) XMT.$(OBJEXT) $(am__objects_1) + CThread.$(OBJEXT) XMT.$(OBJEXT) libmt_a_OBJECTS = $(am_libmt_a_OBJECTS) DEFS = @DEFS@ @@ -156,10 +148,9 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CCondVar.Po ./$(DEPDIR)/CLock.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMutex.Po ./$(DEPDIR)/CThread.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/XMT.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CCondVar.Po $(DEPDIR)/CLock.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMutex.Po $(DEPDIR)/CThread.Po \ +@AMDEP_TRUE@ $(DEPDIR)/XMT.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -183,7 +174,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/mt/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status AR = ar @@ -200,20 +193,20 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CCondVar.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CLock.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMutex.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CThread.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XMT.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CCondVar.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CLock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMutex.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CThread.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/XMT.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -223,61 +216,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -301,7 +286,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -309,7 +293,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/mt/mt.dsp b/lib/mt/mt.dsp index 1f6a0aa..91d4279 100644 --- a/lib/mt/mt.dsp +++ b/lib/mt/mt.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\gen\build" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\mt.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\mt.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "..\..\gen\debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\mt.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\mt.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" diff --git a/lib/net/Makefile.in b/lib/net/Makefile.in index 2131085..5776db4 100644 --- a/lib/net/Makefile.in +++ b/lib/net/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -157,12 +150,11 @@ LIBRARIES = $(noinst_LIBRARIES) libnet_a_AR = $(AR) cru libnet_a_LIBADD = -am__objects_1 = am_libnet_a_OBJECTS = CNetworkAddress.$(OBJEXT) \ CSocketMultiplexer.$(OBJEXT) CTCPListenSocket.$(OBJEXT) \ CTCPSocket.$(OBJEXT) CTCPSocketFactory.$(OBJEXT) \ IDataSocket.$(OBJEXT) IListenSocket.$(OBJEXT) ISocket.$(OBJEXT) \ - XSocket.$(OBJEXT) $(am__objects_1) + XSocket.$(OBJEXT) libnet_a_OBJECTS = $(am_libnet_a_OBJECTS) DEFS = @DEFS@ @@ -171,15 +163,13 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CNetworkAddress.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CSocketMultiplexer.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CTCPListenSocket.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CTCPSocket.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CTCPSocketFactory.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/IDataSocket.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/IListenSocket.Po ./$(DEPDIR)/ISocket.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/XSocket.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CNetworkAddress.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CSocketMultiplexer.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CTCPListenSocket.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CTCPSocket.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CTCPSocketFactory.Po \ +@AMDEP_TRUE@ $(DEPDIR)/IDataSocket.Po $(DEPDIR)/IListenSocket.Po \ +@AMDEP_TRUE@ $(DEPDIR)/ISocket.Po $(DEPDIR)/XSocket.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -203,7 +193,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/net/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status AR = ar @@ -220,24 +212,24 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CNetworkAddress.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSocketMultiplexer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CTCPListenSocket.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CTCPSocket.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CTCPSocketFactory.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IDataSocket.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IListenSocket.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ISocket.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XSocket.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CNetworkAddress.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CSocketMultiplexer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CTCPListenSocket.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CTCPSocket.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CTCPSocketFactory.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/IDataSocket.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/IListenSocket.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ISocket.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/XSocket.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -247,61 +239,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -325,7 +309,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -333,7 +316,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/net/net.dsp b/lib/net/net.dsp index 0f9e6be..b6f10b8 100644 --- a/lib/net/net.dsp +++ b/lib/net/net.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\gen\build" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\net.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\net.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "..\..\gen\debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\net.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\net.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" diff --git a/lib/platform/CMSWindowsDesks.cpp b/lib/platform/CMSWindowsDesks.cpp index 3c2f549..4a1c447 100644 --- a/lib/platform/CMSWindowsDesks.cpp +++ b/lib/platform/CMSWindowsDesks.cpp @@ -14,6 +14,7 @@ #include "CMSWindowsDesks.h" #include "CMSWindowsScreen.h" +#include "CSynergyHook.h" #include "IScreenSaver.h" #include "XScreen.h" #include "CLock.h" @@ -77,6 +78,8 @@ #define SYNERGY_MSG_SCREENSAVER SYNERGY_HOOK_LAST_MSG + 10 // dx; dy #define SYNERGY_MSG_FAKE_REL_MOVE SYNERGY_HOOK_LAST_MSG + 11 +// enable; +#define SYNERGY_MSG_FAKE_INPUT SYNERGY_HOOK_LAST_MSG + 12 // // CMSWindowsDesks @@ -211,6 +214,18 @@ CMSWindowsDesks::installScreensaverHooks(bool install) } } +void +CMSWindowsDesks::fakeInputBegin() +{ + sendMessage(SYNERGY_MSG_FAKE_INPUT, 1, 0); +} + +void +CMSWindowsDesks::fakeInputEnd() +{ + sendMessage(SYNERGY_MSG_FAKE_INPUT, 0, 0); +} + void CMSWindowsDesks::getCursorPos(SInt32& x, SInt32& y) const { @@ -806,6 +821,12 @@ CMSWindowsDesks::deskThread(void* vdesk) m_uninstallScreensaver(); } break; + + case SYNERGY_MSG_FAKE_INPUT: + keybd_event(SYNERGY_HOOK_FAKE_INPUT_VIRTUAL_KEY, + SYNERGY_HOOK_FAKE_INPUT_SCANCODE, + msg.wParam ? 0 : KEYEVENTF_KEYUP, 0); + break; } // notify that message was processed diff --git a/lib/platform/CMSWindowsDesks.h b/lib/platform/CMSWindowsDesks.h index 70909a5..f0388f9 100644 --- a/lib/platform/CMSWindowsDesks.h +++ b/lib/platform/CMSWindowsDesks.h @@ -129,6 +129,18 @@ class CMSWindowsDesks { */ void installScreensaverHooks(bool install); + //! Start ignoring user input + /*! + Starts ignoring user input so we don't pick up our own synthesized events. + */ + void fakeInputBegin(); + + //! Stop ignoring user input + /*! + Undoes whatever \c fakeInputBegin() did. + */ + void fakeInputEnd(); + //@} //! @name accessors //@{ diff --git a/lib/platform/CMSWindowsKeyState.cpp b/lib/platform/CMSWindowsKeyState.cpp index 5cc973b..38cc9fc 100644 --- a/lib/platform/CMSWindowsKeyState.cpp +++ b/lib/platform/CMSWindowsKeyState.cpp @@ -200,7 +200,7 @@ const KeyID CMSWindowsKeyState::s_virtualKey[] = /* 0x0a2 */ { kKeyControl_L }, // VK_LCONTROL /* 0x0a3 */ { kKeyControl_R }, // VK_RCONTROL /* 0x0a4 */ { kKeyAlt_L }, // VK_LMENU - /* 0x0a5 */ { kKeyAltGr }, // VK_RMENU + /* 0x0a5 */ { kKeyAlt_R }, // VK_RMENU /* 0x0a6 */ { kKeyNone }, // VK_BROWSER_BACK /* 0x0a7 */ { kKeyNone }, // VK_BROWSER_FORWARD /* 0x0a8 */ { kKeyNone }, // VK_BROWSER_REFRESH @@ -457,7 +457,7 @@ const KeyID CMSWindowsKeyState::s_virtualKey[] = /* 0x1a2 */ { kKeyControl_L }, // VK_LCONTROL /* 0x1a3 */ { kKeyControl_R }, // VK_RCONTROL /* 0x1a4 */ { kKeyAlt_L }, // VK_LMENU - /* 0x1a5 */ { kKeyAltGr }, // VK_RMENU + /* 0x1a5 */ { kKeyAlt_R }, // VK_RMENU /* 0x1a6 */ { kKeyWWWBack }, // VK_BROWSER_BACK /* 0x1a7 */ { kKeyWWWForward }, // VK_BROWSER_FORWARD /* 0x1a8 */ { kKeyWWWRefresh }, // VK_BROWSER_REFRESH @@ -578,7 +578,10 @@ CMSWindowsKeyState::CMSWindowsKeyState(CMSWindowsDesks* desks, m_desks(desks), m_keyLayout(GetKeyboardLayout(0)), m_fixTimer(NULL), - m_anyAltGr(true) + m_lastDown(0), + m_useSavedModifiers(false), + m_savedModifiers(0), + m_originalSavedModifiers(0) { // look up symbol that's available on winNT family but not win95 HMODULE userModule = GetModuleHandle("user32.dll"); @@ -598,6 +601,7 @@ CMSWindowsKeyState::disable() EVENTQUEUE->deleteTimer(m_fixTimer); m_fixTimer = NULL; } + m_lastDown = 0; } KeyButton @@ -612,11 +616,48 @@ CMSWindowsKeyState::setKeyLayout(HKL keyLayout) m_keyLayout = keyLayout; } +bool +CMSWindowsKeyState::testAutoRepeat(bool press, bool isRepeat, KeyButton button) +{ + if (!isRepeat) { + isRepeat = (press && m_lastDown != 0 && button == m_lastDown); + } + if (press) { + m_lastDown = button; + } + else { + m_lastDown = 0; + } + return isRepeat; +} + +void +CMSWindowsKeyState::saveModifiers() +{ + m_savedModifiers = getActiveModifiers(); + m_originalSavedModifiers = m_savedModifiers; +} + +void +CMSWindowsKeyState::useSavedModifiers(bool enable) +{ + if (enable != m_useSavedModifiers) { + m_useSavedModifiers = enable; + if (!m_useSavedModifiers) { + // transfer any modifier state changes to CKeyState's state + KeyModifierMask mask = m_originalSavedModifiers ^ m_savedModifiers; + getActiveModifiersRValue() = + (getActiveModifiers() & ~mask) | (m_savedModifiers & mask); + } + } +} + KeyID CMSWindowsKeyState::mapKeyFromEvent(WPARAM charAndVirtKey, LPARAM info, KeyModifierMask* maskOut) const { - static const KeyModifierMask s_altGr = KeyModifierControl | KeyModifierAlt; + static const KeyModifierMask s_controlAlt = + KeyModifierControl | KeyModifierAlt; // extract character, virtual key, and if we didn't use AltGr char c = (char)((charAndVirtKey & 0xff00u) >> 8); @@ -652,12 +693,12 @@ CMSWindowsKeyState::mapKeyFromEvent(WPARAM charAndVirtKey, // set modifier mask if (maskOut != NULL) { KeyModifierMask active = getActiveModifiers(); - if (m_anyAltGr && !noAltGr && (active & s_altGr) == s_altGr) { - active |= KeyModifierAltGr; - active &= ~s_altGr; - } - else { - active &= ~KeyModifierAltGr; + if (!noAltGr && (active & s_controlAlt) == s_controlAlt) { + // if !noAltGr then we're only interested in matching the + // key, not the AltGr. AltGr is down (i.e. control and alt + // are down) but we don't want the client to have to match + // that so we clear it. + active &= ~s_controlAlt; } *maskOut = active; } @@ -703,41 +744,8 @@ CMSWindowsKeyState::sendKeyEvent(void* target, SInt32 count, KeyButton button) { if (press || isAutoRepeat) { - // if AltGr is required for this key then make sure - // the ctrl and alt keys are *not* down on the - // client. windows simulates AltGr with ctrl and - // alt for some inexplicable reason and clients - // will get confused if they see mode switch and - // ctrl and alt. we'll also need to put ctrl and - // alt back the way they were after we simulate - // the key. - bool ctrlL = isKeyDown(virtualKeyToButton(VK_LCONTROL)); - bool ctrlR = isKeyDown(virtualKeyToButton(VK_RCONTROL)); - bool altL = isKeyDown(virtualKeyToButton(VK_LMENU)); - if ((mask & KeyModifierAltGr) != 0) { - KeyModifierMask mask2 = (mask & - ~(KeyModifierControl | - KeyModifierAlt | - KeyModifierAltGr)); - if (ctrlL) { - CKeyState::sendKeyEvent(target, false, false, - kKeyControl_L, mask2, 1, - virtualKeyToButton(VK_LCONTROL)); - } - if (ctrlR) { - CKeyState::sendKeyEvent(target, false, false, - kKeyControl_R, mask2, 1, - virtualKeyToButton(VK_RCONTROL)); - } - if (altL) { - CKeyState::sendKeyEvent(target, false, false, - kKeyAlt_L, mask2, 1, - virtualKeyToButton(VK_LMENU)); - } - } - // send key - if (press) { + if (press && !isAutoRepeat) { CKeyState::sendKeyEvent(target, true, false, key, mask, 1, button); if (count > 0) { @@ -748,32 +756,6 @@ CMSWindowsKeyState::sendKeyEvent(void* target, CKeyState::sendKeyEvent(target, true, true, key, mask, count, button); } - - // restore ctrl and alt state - if ((mask & KeyModifierAltGr) != 0) { - KeyModifierMask mask2 = (mask & - ~(KeyModifierControl | - KeyModifierAlt | - KeyModifierAltGr)); - if (ctrlL) { - CKeyState::sendKeyEvent(target, true, false, - kKeyControl_L, mask2, 1, - virtualKeyToButton(VK_LCONTROL)); - mask2 |= KeyModifierControl; - } - if (ctrlR) { - CKeyState::sendKeyEvent(target, true, false, - kKeyControl_R, mask2, 1, - virtualKeyToButton(VK_RCONTROL)); - mask2 |= KeyModifierControl; - } - if (altL) { - CKeyState::sendKeyEvent(target, true, false, - kKeyAlt_L, mask2, 1, - virtualKeyToButton(VK_LMENU)); - mask2 |= KeyModifierAlt; - } - } } else { // do key up @@ -785,36 +767,13 @@ void CMSWindowsKeyState::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton button) { - // reserve right alt for AltGr - if (m_anyAltGr && id == kKeyAlt_R) { - id = kKeyAlt_L; - } - - // if we need AltGr then press the left control - bool altGr = ((mask & KeyModifierAltGr) != 0) && - !(id >= kKeyShift_L && id <= kKeyHyper_R); - if (altGr) { - m_desks->fakeKeyEvent(m_virtualKeyToButton[VK_LCONTROL], - VK_LCONTROL, true, false); - } - CKeyState::fakeKeyDown(id, mask, button); - - // if we pressed left control for AltGr then release it - if (altGr) { - m_desks->fakeKeyEvent(m_virtualKeyToButton[VK_LCONTROL], - VK_LCONTROL, false, false); - } } void CMSWindowsKeyState::fakeKeyRepeat(KeyID id, KeyModifierMask mask, SInt32 count, KeyButton button) { - // reserve right alt for AltGr - if (m_anyAltGr && id == kKeyAlt_R) { - id = kKeyAlt_L; - } CKeyState::fakeKeyRepeat(id, mask, count, button); } @@ -934,13 +893,6 @@ CMSWindowsKeyState::getKeyMap(CKeyMap& keyMap) memset(m_virtualKeyToButton, 0, sizeof(m_virtualKeyToButton)); m_keyToVKMap.clear(); - // decide if we need the AltGr key or not - // XXX -- should check the keyboard layouts to decide this - // XXX -- the synergy hook DLL may get ctrl+alt key events for the - // right alt key; it or this object should suppress the ctrl events - // that are as a result of the right alt key. - m_anyAltGr = true; - CKeyMap::KeyItem item; SInt32 numGroups = (SInt32)m_groups.size(); for (SInt32 g = 0; g < numGroups; ++g) { @@ -1049,20 +1001,7 @@ CMSWindowsKeyState::getKeyMap(CKeyMap& keyMap) // get the button KeyButton button = static_cast(MapVirtualKey(i, 0)); if (button == 0) { - // unmapped - if (!m_is95Family) { - continue; - } - - // the 95 family doesn't map handed virtual keys to - // buttons but we need at least VK_RMENU to synthesize - // AltGr. - if (i == VK_RMENU) { - button = static_cast(MapVirtualKey(VK_MENU, 0)); - } - if (button == 0) { - continue; - } + continue; } // deal with certain virtual keys specially @@ -1151,7 +1090,8 @@ CMSWindowsKeyState::getKeyMap(CKeyMap& keyMap) static const Modifier modifiers[] = { { VK_SHIFT, VK_SHIFT, 0x80u, KeyModifierShift }, { VK_CAPITAL, VK_CAPITAL, 0x01u, KeyModifierCapsLock }, - { VK_CONTROL, VK_MENU, 0x80u, KeyModifierAltGr } + { VK_CONTROL, VK_MENU, 0x80u, KeyModifierControl | + KeyModifierAlt } }; static const size_t s_numModifiers = sizeof(modifiers) / sizeof(modifiers[0]); @@ -1292,6 +1232,17 @@ CMSWindowsKeyState::fakeKey(const Keystroke& keystroke) } } +KeyModifierMask& +CMSWindowsKeyState::getActiveModifiersRValue() +{ + if (m_useSavedModifiers) { + return m_savedModifiers; + } + else { + return CKeyState::getActiveModifiersRValue(); + } +} + bool CMSWindowsKeyState::getGroups(GroupList& groups) const { @@ -1406,11 +1357,8 @@ CMSWindowsKeyState::handleFixKeys(const CEvent&, void*) } KeyID -CMSWindowsKeyState::getKeyID(UINT virtualKey, KeyButton button) const +CMSWindowsKeyState::getKeyID(UINT virtualKey, KeyButton button) { - if (!m_anyAltGr && virtualKey == VK_RMENU) { - return kKeyAlt_R; - } if ((button & 0x100u) != 0) { virtualKey += 0x100u; } diff --git a/lib/platform/CMSWindowsKeyState.h b/lib/platform/CMSWindowsKeyState.h index 400db73..d8320a5 100644 --- a/lib/platform/CMSWindowsKeyState.h +++ b/lib/platform/CMSWindowsKeyState.h @@ -50,6 +50,34 @@ class CMSWindowsKeyState : public CKeyState { */ void setKeyLayout(HKL keyLayout); + //! Test and set autorepeat state + /*! + Returns true if the given button is autorepeating and updates internal + state. + */ + bool testAutoRepeat(bool press, bool isRepeat, KeyButton); + + //! Remember modifier state + /*! + Records the current non-toggle modifier state. + */ + void saveModifiers(); + + //! Set effective modifier state + /*! + Temporarily sets the non-toggle modifier state to those saved by the + last call to \c saveModifiers if \p enable is \c true. Restores the + modifier state to the current modifier state if \p enable is \c false. + This is for synthesizing keystrokes on the primary screen when the + cursor is on a secondary screen. When on a secondary screen we capture + all non-toggle modifier state, track the state internally and do not + pass it on. So if Alt+F1 synthesizes Alt+X we need to synthesize + not just X but also Alt, despite the fact that our internal modifier + state indicates Alt is down, because local apps never saw the Alt down + event. + */ + void useSavedModifiers(bool enable); + //@} //! @name accessors //@{ @@ -82,6 +110,14 @@ class CMSWindowsKeyState : public CKeyState { */ UINT mapKeyToVirtualKey(KeyID key) const; + //! Map virtual key and button to KeyID + /*! + Returns the KeyID for virtual key \p virtualKey and button \p button + (button should include the extended key bit), or kKeyNone if there is + no such key. + */ + static KeyID getKeyID(UINT virtualKey, KeyButton button); + //@} // IKeyState overrides @@ -107,6 +143,8 @@ class CMSWindowsKeyState : public CKeyState { // CKeyState overrides virtual void getKeyMap(CKeyMap& keyMap); virtual void fakeKey(const Keystroke& keystroke); + virtual KeyModifierMask& + getActiveModifiersRValue(); private: typedef std::vector GroupList; @@ -120,8 +158,6 @@ class CMSWindowsKeyState : public CKeyState { void fixKeys(); void handleFixKeys(const CEvent&, void*); - KeyID getKeyID(UINT virtualKey, KeyButton button) const; - KeyID getIDForKey(CKeyMap::KeyItem& item, KeyButton button, UINT virtualKey, PBYTE keyState, HKL hkl) const; @@ -153,9 +189,16 @@ class CMSWindowsKeyState : public CKeyState { GroupList m_groups; GroupMap m_groupMap; - // whether any key require AltGr. if so we reserve the right alt - // key to be AltGr. - bool m_anyAltGr; + // the last button that we generated a key down event for. this + // is zero if the last key event was a key up. we use this to + // synthesize key repeats since the low level keyboard hook can't + // tell us if an event is a key repeat. + KeyButton m_lastDown; + + // modifier tracking + bool m_useSavedModifiers; + KeyModifierMask m_savedModifiers; + KeyModifierMask m_originalSavedModifiers; // pointer to ToUnicodeEx. on win95 family this will be NULL. typedef int (WINAPI *ToUnicodeEx_t)(UINT wVirtKey, diff --git a/lib/platform/CMSWindowsScreen.cpp b/lib/platform/CMSWindowsScreen.cpp index db09913..66349ff 100644 --- a/lib/platform/CMSWindowsScreen.cpp +++ b/lib/platform/CMSWindowsScreen.cpp @@ -19,6 +19,7 @@ #include "CMSWindowsKeyState.h" #include "CMSWindowsScreenSaver.h" #include "CClipboard.h" +#include "CKeyMap.h" #include "XScreen.h" #include "CLock.h" #include "CThread.h" @@ -294,6 +295,10 @@ CMSWindowsScreen::leave() // all messages prior to now are invalid nextMark(); + // remember the modifier state. this is the modifier state + // reflected in the internal keyboard state. + m_keyState->saveModifiers(); + // capture events m_setMode(kHOOK_RELAY_EVENTS); } @@ -533,11 +538,11 @@ CMSWindowsScreen::registerHotKey(KeyID key, KeyModifierMask mask) else { m_oldHotKeyIDs.push_back(id); m_hotKeys.erase(id); - LOG((CLOG_WARN "failed to register hotkey id=%04x mask=%04x", key, mask)); + LOG((CLOG_WARN "failed to register hotkey %s (id=%04x mask=%04x)", CKeyMap::formatKey(key, mask).c_str(), key, mask)); return 0; } - LOG((CLOG_DEBUG "registered hotkey id=%04x mask=%04x as id=%d", key, mask, id)); + LOG((CLOG_DEBUG "registered hotkey %s (id=%04x mask=%04x) as id=%d", CKeyMap::formatKey(key, mask).c_str(), key, mask, id)); return id; } @@ -571,6 +576,28 @@ CMSWindowsScreen::unregisterHotKey(UInt32 id) m_oldHotKeyIDs.push_back(id); } +void +CMSWindowsScreen::fakeInputBegin() +{ + assert(m_isPrimary); + + if (!m_isOnScreen) { + m_keyState->useSavedModifiers(true); + } + m_desks->fakeInputBegin(); +} + +void +CMSWindowsScreen::fakeInputEnd() +{ + assert(m_isPrimary); + + m_desks->fakeInputEnd(); + if (!m_isOnScreen) { + m_keyState->useSavedModifiers(false); + } +} + SInt32 CMSWindowsScreen::getJumpZoneSize() const { @@ -1014,6 +1041,11 @@ CMSWindowsScreen::onKey(WPARAM wParam, LPARAM lParam) bool wasDown = isKeyDown(button); KeyModifierMask oldState = pollActiveModifiers(); + // check for autorepeat + if (m_keyState->testAutoRepeat(down, (lParam & 0x40000000u) == 1, button)) { + lParam |= 0x40000000u; + } + // if the button is zero then guess what the button should be. // these are badly synthesized key events and logitech software // that maps mouse buttons to keys is known to do this. @@ -1127,7 +1159,7 @@ CMSWindowsScreen::onKey(WPARAM wParam, LPARAM lParam) // do it m_keyState->sendKeyEvent(getEventTarget(), ((lParam & 0x80000000u) == 0), - ((lParam & 0x40000000u) == 1), + ((lParam & 0x40000000u) != 0), key, mask, (SInt32)(lParam & 0xffff), button); } else { diff --git a/lib/platform/CMSWindowsScreen.h b/lib/platform/CMSWindowsScreen.h index 8c36854..eda3f55 100644 --- a/lib/platform/CMSWindowsScreen.h +++ b/lib/platform/CMSWindowsScreen.h @@ -70,6 +70,8 @@ class CMSWindowsScreen : public CPlatformScreen { virtual UInt32 registerHotKey(KeyID key, KeyModifierMask mask); virtual void unregisterHotKey(UInt32 id); + virtual void fakeInputBegin(); + virtual void fakeInputEnd(); virtual SInt32 getJumpZoneSize() const; virtual bool isAnyMouseButtonDown() const; virtual void getCursorCenter(SInt32& x, SInt32& y) const; diff --git a/lib/platform/COSXKeyState.cpp b/lib/platform/COSXKeyState.cpp index 495ec83..72a6938 100644 --- a/lib/platform/COSXKeyState.cpp +++ b/lib/platform/COSXKeyState.cpp @@ -188,11 +188,20 @@ COSXKeyState::mapKeyFromEvent(CKeyIDs& ids, } // get the event modifiers and remove the command and control - // keys. + // keys. note if we used them though. UInt32 modifiers; GetEventParameter(event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(modifiers), NULL, &modifiers); - modifiers &= ~(cmdKey | controlKey | rightControlKey); + static const UInt32 s_commandModifiers = + cmdKey | controlKey | rightControlKey; + bool isCommand = ((modifiers & s_commandModifiers) != 0); + modifiers &= ~s_commandModifiers; + + // if we've used a command key then we want the glyph produced without + // the option key (i.e. the base glyph). + if (isCommand) { + modifiers &= ~optionKey; + } // translate via uchr resource const void* resource; @@ -229,6 +238,7 @@ COSXKeyState::mapKeyFromEvent(CKeyIDs& ids, for (UniCharCount i = 0; i < count; ++i) { ids.push_back(CKeyResource::unicharToKeyID(chars[i])); } + adjustAltGrModifier(ids, maskOut, isCommand); return mapVirtualKeyToKeyButton(vkCode); } return 0; @@ -254,6 +264,7 @@ COSXKeyState::mapKeyFromEvent(CKeyIDs& ids, ids.push_back(CKeyResource::getKeyID(c1)); } ids.push_back(CKeyResource::getKeyID(c2)); + adjustAltGrModifier(ids, maskOut, isCommand); return mapVirtualKeyToKeyButton(vkCode); } } @@ -643,6 +654,23 @@ COSXKeyState::checkKeyboardLayout() } } +void +COSXKeyState::adjustAltGrModifier(const CKeyIDs& ids, + KeyModifierMask* mask, bool isCommand) const +{ + if (!isCommand) { + for (CKeyIDs::const_iterator i = ids.begin(); i != ids.end(); ++i) { + KeyID id = *i; + if (id != kKeyNone && + ((id < 0xe000u || id > 0xefffu) || + (id >= kKeyKP_Equal && id <= kKeyKP_9))) { + *mask |= KeyModifierAltGr; + return; + } + } + } +} + KeyButton COSXKeyState::mapVirtualKeyToKeyButton(UInt32 keyCode) { diff --git a/lib/platform/COSXKeyState.h b/lib/platform/COSXKeyState.h index b641397..baf6971 100644 --- a/lib/platform/COSXKeyState.h +++ b/lib/platform/COSXKeyState.h @@ -115,6 +115,15 @@ class COSXKeyState : public CKeyState { UInt32 virtualKey, KeyID id, bool down, KeyModifierMask newMask); + // Checks if any in \p ids is a glyph key and if \p isCommand is false. + // If so it adds the AltGr modifier to \p mask. This allows OS X + // servers to use the option key both as AltGr and as a modifier. If + // option is acting as AltGr (i.e. it generates a glyph and there are + // no command modifiers active) then we don't send the super modifier + // to clients because they'd try to match it as a command modifier. + void adjustAltGrModifier(const CKeyIDs& ids, + KeyModifierMask* mask, bool isCommand) const; + // Maps an OS X virtual key id to a KeyButton. This simply remaps // the ids so we don't use KeyButton 0. static KeyButton mapVirtualKeyToKeyButton(UInt32 keyCode); diff --git a/lib/platform/COSXScreen.cpp b/lib/platform/COSXScreen.cpp index ec9637a..82574cf 100644 --- a/lib/platform/COSXScreen.cpp +++ b/lib/platform/COSXScreen.cpp @@ -18,6 +18,7 @@ #include "COSXKeyState.h" #include "COSXScreenSaver.h" #include "CClipboard.h" +#include "CKeyMap.h" #include "CCondVar.h" #include "CLock.h" #include "CMutex.h" @@ -288,6 +289,18 @@ COSXScreen::warpCursor(SInt32 x, SInt32 y) m_cursorPosValid = true; } +void +COSXScreen::fakeInputBegin() +{ + // FIXME -- not implemented +} + +void +COSXScreen::fakeInputEnd() +{ + // FIXME -- not implemented +} + SInt32 COSXScreen::getJumpZoneSize() const { @@ -346,20 +359,19 @@ COSXScreen::registerHotKey(KeyID key, KeyModifierMask mask) GetApplicationEventTarget(), 0, &ref); okay = (status == noErr); -LOG((CLOG_INFO "map hotkey %d %08x", macKey, macMask)); m_hotKeyToIDMap[CHotKeyItem(macKey, macMask)] = id; } if (!okay) { m_oldHotKeyIDs.push_back(id); m_hotKeyToIDMap.erase(CHotKeyItem(macKey, macMask)); - LOG((CLOG_WARN "failed to register hotkey id=%04x mask=%04x", key, mask)); + LOG((CLOG_WARN "failed to register hotkey %s (id=%04x mask=%04x)", CKeyMap::formatKey(key, mask).c_str(), key, mask)); return 0; } m_hotKeys.insert(std::make_pair(id, CHotKeyItem(ref, macKey, macMask))); - LOG((CLOG_DEBUG "registered hotkey id=%04x mask=%04x as id=%d", key, mask, id)); + LOG((CLOG_DEBUG "registered hotkey %s (id=%04x mask=%04x) as id=%d", CKeyMap::formatKey(key, mask).c_str(), key, mask, id)); return id; } @@ -1176,6 +1188,15 @@ COSXScreen::onKey(EventRef event) return false; } + // check for AltGr in mask. if set we send neither the AltGr nor + // the super modifiers to clients then remove AltGr before passing + // the modifiers to onKey. + KeyModifierMask sendMask = (mask & ~KeyModifierAltGr); + if ((mask & KeyModifierAltGr) != 0) { + sendMask &= ~KeyModifierSuper; + } + mask &= ~KeyModifierAltGr; + // update button state if (down) { m_keyState->onKey(button, true, mask); @@ -1192,7 +1213,7 @@ COSXScreen::onKey(EventRef event) for (COSXKeyState::CKeyIDs::const_iterator i = keys.begin(); i != keys.end(); ++i) { m_keyState->sendKeyEvent(getEventTarget(), down, isRepeat, - *i, mask, 1, button); + *i, sendMask, 1, button); } return true; diff --git a/lib/platform/COSXScreen.h b/lib/platform/COSXScreen.h index 8cd3e84..f280d80 100644 --- a/lib/platform/COSXScreen.h +++ b/lib/platform/COSXScreen.h @@ -52,6 +52,8 @@ class COSXScreen : public CPlatformScreen { virtual void warpCursor(SInt32 x, SInt32 y); virtual UInt32 registerHotKey(KeyID key, KeyModifierMask mask); virtual void unregisterHotKey(UInt32 id); + virtual void fakeInputBegin(); + virtual void fakeInputEnd(); virtual SInt32 getJumpZoneSize() const; virtual bool isAnyMouseButtonDown() const; virtual void getCursorCenter(SInt32& x, SInt32& y) const; diff --git a/lib/platform/CSynergyHook.cpp b/lib/platform/CSynergyHook.cpp index d0057f7..852e8bb 100644 --- a/lib/platform/CSynergyHook.cpp +++ b/lib/platform/CSynergyHook.cpp @@ -99,6 +99,7 @@ static LPARAM g_deadLParam = 0; static BYTE g_deadKeyState[256] = { 0 }; static DWORD g_hookThread = 0; static DWORD g_attachedThread = 0; +static bool g_fakeInput = false; #if defined(_MSC_VER) #pragma data_seg() @@ -186,12 +187,36 @@ static bool doKeyboardHookHandler(WPARAM wParam, LPARAM lParam) { + // check for special events indicating if we should start or stop + // passing events through and not report them to the server. this + // is used to allow the server to synthesize events locally but + // not pick them up as user events. + if (wParam == SYNERGY_HOOK_FAKE_INPUT_VIRTUAL_KEY && + ((lParam >> 16) & 0xffu) == SYNERGY_HOOK_FAKE_INPUT_SCANCODE) { + // update flag + g_fakeInput = ((lParam & 0x80000000u) == 0); + PostThreadMessage(g_threadID, SYNERGY_MSG_DEBUG, + 0xff000000u | wParam, lParam); + + // discard event + return true; + } + + // if we're expecting fake input then just pass the event through + // and do not forward to the server + if (g_fakeInput) { + PostThreadMessage(g_threadID, SYNERGY_MSG_DEBUG, + 0xfe000000u | wParam, lParam); + return false; + } + // VK_RSHIFT may be sent with an extended scan code but right shift // is not an extended key so we reset that bit. if (wParam == VK_RSHIFT) { lParam &= ~0x01000000u; } + // tell server about event PostThreadMessage(g_threadID, SYNERGY_MSG_DEBUG, wParam, lParam); // ignore dead key release @@ -775,7 +800,7 @@ init(DWORD threadID) // save thread id. we'll post messages to this thread's // message queue. - g_threadID = threadID; + g_threadID = threadID; // set defaults g_mode = kHOOK_DISABLE; @@ -818,6 +843,9 @@ install() g_deadVirtKey = 0; g_deadLParam = 0; + // reset fake input flag + g_fakeInput = false; + // check for mouse wheel support g_wheelSupport = getWheelSupport(); diff --git a/lib/platform/CSynergyHook.h b/lib/platform/CSynergyHook.h index b0c8e5d..e866181 100644 --- a/lib/platform/CSynergyHook.h +++ b/lib/platform/CSynergyHook.h @@ -38,6 +38,9 @@ #define SYNERGY_MSG_INPUT_LAST SYNERGY_MSG_PRE_WARP #define SYNERGY_HOOK_LAST_MSG SYNERGY_MSG_DEBUG +#define SYNERGY_HOOK_FAKE_INPUT_VIRTUAL_KEY VK_CANCEL +#define SYNERGY_HOOK_FAKE_INPUT_SCANCODE 0 + extern "C" { enum EHookResult { diff --git a/lib/platform/CXWindowsScreen.cpp b/lib/platform/CXWindowsScreen.cpp index fab0a09..d7d3f2a 100644 --- a/lib/platform/CXWindowsScreen.cpp +++ b/lib/platform/CXWindowsScreen.cpp @@ -19,6 +19,7 @@ #include "CXWindowsScreenSaver.h" #include "CXWindowsUtil.h" #include "CClipboard.h" +#include "CKeyMap.h" #include "XScreen.h" #include "CLog.h" #include "CStopwatch.h" @@ -220,10 +221,6 @@ CXWindowsScreen::enter() XUnsetICFocus(m_ic); } - // unmap the hider/grab window. this also ungrabs the mouse and - // keyboard if they're grabbed. - XUnmapWindow(m_display, m_window); - // set the input focus to what it had been when we took it if (m_lastFocus != None) { // the window may not exist anymore so ignore errors @@ -231,6 +228,10 @@ CXWindowsScreen::enter() XSetInputFocus(m_display, m_lastFocus, m_lastFocusRevert, CurrentTime); } + // unmap the hider/grab window. this also ungrabs the mouse and + // keyboard if they're grabbed. + XUnmapWindow(m_display, m_window); + /* maybe call this if entering for the screensaver // set keyboard focus to root window. the screensaver should then // pick up key events for when the user enters a password to unlock. @@ -660,11 +661,11 @@ CXWindowsScreen::registerHotKey(KeyID key, KeyModifierMask mask) m_oldHotKeyIDs.push_back(id); m_hotKeys.erase(id); - LOG((CLOG_WARN "failed to register hotkey id=%04x mask=%04x", key, mask)); + LOG((CLOG_WARN "failed to register hotkey %s (id=%04x mask=%04x)", CKeyMap::formatKey(key, mask).c_str(), key, mask)); return 0; } - LOG((CLOG_DEBUG "registered hotkey id=%04x mask=%04x as id=%d", key, mask, id)); + LOG((CLOG_DEBUG "registered hotkey %s (id=%04x mask=%04x) as id=%d", CKeyMap::formatKey(key, mask).c_str(), key, mask, id)); return id; } @@ -697,6 +698,18 @@ CXWindowsScreen::unregisterHotKey(UInt32 id) m_oldHotKeyIDs.push_back(id); } +void +CXWindowsScreen::fakeInputBegin() +{ + // FIXME -- not implemented +} + +void +CXWindowsScreen::fakeInputEnd() +{ + // FIXME -- not implemented +} + SInt32 CXWindowsScreen::getJumpZoneSize() const { diff --git a/lib/platform/CXWindowsScreen.h b/lib/platform/CXWindowsScreen.h index 5712e0f..99c4557 100644 --- a/lib/platform/CXWindowsScreen.h +++ b/lib/platform/CXWindowsScreen.h @@ -51,6 +51,8 @@ class CXWindowsScreen : public CPlatformScreen { virtual void warpCursor(SInt32 x, SInt32 y); virtual UInt32 registerHotKey(KeyID key, KeyModifierMask mask); virtual void unregisterHotKey(UInt32 id); + virtual void fakeInputBegin(); + virtual void fakeInputEnd(); virtual SInt32 getJumpZoneSize() const; virtual bool isAnyMouseButtonDown() const; virtual void getCursorCenter(SInt32& x, SInt32& y) const; diff --git a/lib/platform/CXWindowsUtil.cpp b/lib/platform/CXWindowsUtil.cpp index 00bf93b..9478d65 100644 --- a/lib/platform/CXWindowsUtil.cpp +++ b/lib/platform/CXWindowsUtil.cpp @@ -18,11 +18,30 @@ #include "CLog.h" #include "CStringUtil.h" #include -#define XK_TECHNICAL -#define XK_SPECIAL -#define XK_PUBLISHING #define XK_APL +#define XK_ARABIC +#define XK_ARMENIAN +#define XK_CAUCASUS #define XK_CURRENCY +#define XK_CYRILLIC +#define XK_GEORGIAN +#define XK_GREEK +#define XK_HEBREW +#define XK_KATAKANA +#define XK_KOREAN +#define XK_LATIN1 +#define XK_LATIN2 +#define XK_LATIN3 +#define XK_LATIN4 +#define XK_LATIN8 +#define XK_LATIN9 +#define XK_MISCELLANY +#define XK_PUBLISHING +#define XK_SPECIAL +#define XK_TECHNICAL +#define XK_THAI +#define XK_VIETNAMESE +#define XK_XKB_KEYS #include #if !defined(XK_OE) diff --git a/lib/platform/Makefile.in b/lib/platform/Makefile.in index 59d8efe..b5686f6 100644 --- a/lib/platform/Makefile.in +++ b/lib/platform/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -225,37 +218,146 @@ LIBRARIES = $(noinst_LIBRARIES) libplatform_a_AR = $(AR) cru libplatform_a_LIBADD = -am__objects_1 = -am__objects_2 = COSXClipboard.$(OBJEXT) \ - COSXClipboardAnyTextConverter.$(OBJEXT) \ - COSXClipboardTextConverter.$(OBJEXT) \ - COSXClipboardUTF16Converter.$(OBJEXT) \ - COSXEventQueueBuffer.$(OBJEXT) COSXKeyState.$(OBJEXT) \ - COSXScreen.$(OBJEXT) COSXScreenSaver.$(OBJEXT) \ - COSXScreenSaverUtil.$(OBJEXT) $(am__objects_1) -am__objects_3 = CMSWindowsClipboard.$(OBJEXT) \ - CMSWindowsClipboardAnyTextConverter.$(OBJEXT) \ - CMSWindowsClipboardBitmapConverter.$(OBJEXT) \ - CMSWindowsClipboardHTMLConverter.$(OBJEXT) \ - CMSWindowsClipboardTextConverter.$(OBJEXT) \ - CMSWindowsClipboardUTF16Converter.$(OBJEXT) \ - CMSWindowsDesks.$(OBJEXT) CMSWindowsEventQueueBuffer.$(OBJEXT) \ - CMSWindowsKeyState.$(OBJEXT) CMSWindowsScreen.$(OBJEXT) \ - CMSWindowsScreenSaver.$(OBJEXT) CMSWindowsUtil.$(OBJEXT) \ - $(am__objects_1) -am__objects_4 = CXWindowsClipboard.$(OBJEXT) \ - CXWindowsClipboardAnyBitmapConverter.$(OBJEXT) \ - CXWindowsClipboardBMPConverter.$(OBJEXT) \ - CXWindowsClipboardHTMLConverter.$(OBJEXT) \ - CXWindowsClipboardTextConverter.$(OBJEXT) \ - CXWindowsClipboardUCS2Converter.$(OBJEXT) \ - CXWindowsClipboardUTF8Converter.$(OBJEXT) \ - CXWindowsEventQueueBuffer.$(OBJEXT) CXWindowsKeyState.$(OBJEXT) \ - CXWindowsScreen.$(OBJEXT) CXWindowsScreenSaver.$(OBJEXT) \ - CXWindowsUtil.$(OBJEXT) $(am__objects_1) -@CARBON_TRUE@am_libplatform_a_OBJECTS = $(am__objects_2) -@MSWINDOWS_TRUE@am_libplatform_a_OBJECTS = $(am__objects_3) -@XWINDOWS_TRUE@am_libplatform_a_OBJECTS = $(am__objects_4) +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@am_libplatform_a_OBJECTS = \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboard.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardAnyBitmapConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardBMPConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardHTMLConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardTextConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardUCS2Converter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardUTF8Converter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsEventQueueBuffer.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsKeyState.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsScreen.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsScreenSaver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsUtil.$(OBJEXT) +@CARBON_FALSE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@am_libplatform_a_OBJECTS = +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@am_libplatform_a_OBJECTS = \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboard.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboardAnyTextConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboardBitmapConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboardHTMLConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboardTextConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboardUTF16Converter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsDesks.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsEventQueueBuffer.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsKeyState.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsScreen.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsScreenSaver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsUtil.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboard.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardAnyBitmapConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardBMPConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardHTMLConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardTextConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardUCS2Converter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardUTF8Converter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsEventQueueBuffer.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsKeyState.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsScreen.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsScreenSaver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsUtil.$(OBJEXT) +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@am_libplatform_a_OBJECTS = \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboard.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboardAnyTextConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboardBitmapConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboardHTMLConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboardTextConverter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboardUTF16Converter.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsDesks.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsEventQueueBuffer.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsKeyState.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsScreen.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsScreenSaver.$(OBJEXT) \ +@CARBON_FALSE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsUtil.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@am_libplatform_a_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboard.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardAnyBitmapConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardBMPConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardHTMLConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardUCS2Converter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsClipboardUTF8Converter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsEventQueueBuffer.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsKeyState.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsScreen.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsScreenSaver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ CXWindowsUtil.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXClipboard.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXClipboardAnyTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXClipboardTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXClipboardUTF16Converter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXEventQueueBuffer.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXKeyState.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXScreen.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXScreenSaver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_TRUE@ COSXScreenSaverUtil.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@am_libplatform_a_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXClipboard.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXClipboardAnyTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXClipboardTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXClipboardUTF16Converter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXEventQueueBuffer.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXKeyState.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXScreen.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXScreenSaver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_FALSE@@XWINDOWS_FALSE@ COSXScreenSaverUtil.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@am_libplatform_a_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboard.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboardAnyTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboardBitmapConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboardHTMLConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboardTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsClipboardUTF16Converter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsDesks.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsEventQueueBuffer.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsKeyState.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsScreen.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsScreenSaver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CMSWindowsUtil.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboard.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardAnyBitmapConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardBMPConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardHTMLConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardUCS2Converter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsClipboardUTF8Converter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsEventQueueBuffer.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsKeyState.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsScreen.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsScreenSaver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ CXWindowsUtil.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXClipboard.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXClipboardAnyTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXClipboardTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXClipboardUTF16Converter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXEventQueueBuffer.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXKeyState.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXScreen.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXScreenSaver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_TRUE@ COSXScreenSaverUtil.$(OBJEXT) +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@am_libplatform_a_OBJECTS = \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboard.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboardAnyTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboardBitmapConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboardHTMLConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboardTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsClipboardUTF16Converter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsDesks.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsEventQueueBuffer.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsKeyState.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsScreen.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsScreenSaver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ CMSWindowsUtil.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXClipboard.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXClipboardAnyTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXClipboardTextConverter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXClipboardUTF16Converter.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXEventQueueBuffer.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXKeyState.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXScreen.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXScreenSaver.$(OBJEXT) \ +@CARBON_TRUE@@MSWINDOWS_TRUE@@XWINDOWS_FALSE@ COSXScreenSaverUtil.$(OBJEXT) libplatform_a_OBJECTS = $(am_libplatform_a_OBJECTS) DEFS = @DEFS@ @@ -264,40 +366,38 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CMSWindowsClipboard.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsClipboardAnyTextConverter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsClipboardBitmapConverter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsClipboardHTMLConverter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsClipboardTextConverter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsClipboardUTF16Converter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsDesks.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsEventQueueBuffer.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsKeyState.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsScreen.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsScreenSaver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CMSWindowsUtil.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXClipboard.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXClipboardAnyTextConverter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXClipboardTextConverter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXClipboardUTF16Converter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXEventQueueBuffer.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXKeyState.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXScreen.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXScreenSaver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/COSXScreenSaverUtil.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsClipboard.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsClipboardAnyBitmapConverter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsClipboardBMPConverter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsClipboardHTMLConverter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsClipboardTextConverter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsClipboardUCS2Converter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsClipboardUTF8Converter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsEventQueueBuffer.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsKeyState.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsScreen.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsScreenSaver.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CXWindowsUtil.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CMSWindowsClipboard.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsClipboardAnyTextConverter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsClipboardBitmapConverter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsClipboardHTMLConverter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsClipboardTextConverter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsClipboardUTF16Converter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsDesks.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsEventQueueBuffer.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsKeyState.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsScreen.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsScreenSaver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CMSWindowsUtil.Po \ +@AMDEP_TRUE@ $(DEPDIR)/COSXClipboard.Po \ +@AMDEP_TRUE@ $(DEPDIR)/COSXClipboardAnyTextConverter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/COSXClipboardTextConverter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/COSXClipboardUTF16Converter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/COSXEventQueueBuffer.Po \ +@AMDEP_TRUE@ $(DEPDIR)/COSXKeyState.Po $(DEPDIR)/COSXScreen.Po \ +@AMDEP_TRUE@ $(DEPDIR)/COSXScreenSaver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/COSXScreenSaverUtil.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsClipboard.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsClipboardAnyBitmapConverter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsClipboardBMPConverter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsClipboardHTMLConverter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsClipboardTextConverter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsClipboardUCS2Converter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsClipboardUTF8Converter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsEventQueueBuffer.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsKeyState.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsScreen.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsScreenSaver.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CXWindowsUtil.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -326,7 +426,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/platform/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status AR = ar @@ -343,48 +445,48 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsClipboard.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsClipboardAnyTextConverter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsClipboardBitmapConverter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsClipboardHTMLConverter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsClipboardTextConverter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsClipboardUTF16Converter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsDesks.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsEventQueueBuffer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsKeyState.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsScreen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsScreenSaver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMSWindowsUtil.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXClipboard.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXClipboardAnyTextConverter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXClipboardTextConverter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXClipboardUTF16Converter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXEventQueueBuffer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXKeyState.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXScreen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXScreenSaver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COSXScreenSaverUtil.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsClipboard.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsClipboardAnyBitmapConverter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsClipboardBMPConverter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsClipboardHTMLConverter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsClipboardTextConverter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsClipboardUCS2Converter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsClipboardUTF8Converter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsEventQueueBuffer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsKeyState.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsScreen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsScreenSaver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CXWindowsUtil.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsClipboard.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsClipboardAnyTextConverter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsClipboardBitmapConverter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsClipboardHTMLConverter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsClipboardTextConverter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsClipboardUTF16Converter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsDesks.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsEventQueueBuffer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsKeyState.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsScreen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsScreenSaver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CMSWindowsUtil.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXClipboard.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXClipboardAnyTextConverter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXClipboardTextConverter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXClipboardUTF16Converter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXEventQueueBuffer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXKeyState.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXScreen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXScreenSaver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/COSXScreenSaverUtil.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsClipboard.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsClipboardAnyBitmapConverter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsClipboardBMPConverter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsClipboardHTMLConverter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsClipboardTextConverter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsClipboardUCS2Converter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsClipboardUTF8Converter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsEventQueueBuffer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsKeyState.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsScreen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsScreenSaver.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CXWindowsUtil.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -397,7 +499,7 @@ CXXDEPMODE = @CXXDEPMODE@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(OBJCCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(OBJCCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .m.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -407,61 +509,53 @@ CXXDEPMODE = @CXXDEPMODE@ OBJCDEPMODE = @OBJCDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -485,7 +579,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -493,7 +586,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/platform/platform.dsp b/lib/platform/platform.dsp index e4d7012..a78bb6d 100644 --- a/lib/platform/platform.dsp +++ b/lib/platform/platform.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\gen\build" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /I "..\io" /I "..\synergy" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\platform.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /I "..\io" /I "..\synergy" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\platform.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "..\..\gen\debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /I "..\io" /I "..\synergy" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\platform.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /I "..\io" /I "..\synergy" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\platform.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" diff --git a/lib/platform/synrgyhk.dsp b/lib/platform/synrgyhk.dsp index af9a256..857aeb4 100644 --- a/lib/platform/synrgyhk.dsp +++ b/lib/platform/synrgyhk.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 1 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SYNRGYHK_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O1 /I "..\common" /I "..\arch" /I "..\base" /I "..\net" /I "..\synergy" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SYNRGYHK_EXPORTS" /FD /c /Fd..\..\gen\build\synrgyhk.pdb +# ADD CPP /nologo /MT /W4 /GR /GX /O1 /I "..\common" /I "..\arch" /I "..\base" /I "..\net" /I "..\synergy" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SYNRGYHK_EXPORTS" /Fd"..\..\gen\build\synrgyhk.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 @@ -71,7 +71,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 1 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SYNRGYHK_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\net" /I "..\synergy" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SYNRGYHK_EXPORTS" /FD /GZ /c /Fd..\..\gen\debug\synrgyhk.pdb +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\net" /I "..\synergy" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SYNRGYHK_EXPORTS" /Fd"..\..\gen\debug\synrgyhk.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 diff --git a/lib/server/CConfig.cpp b/lib/server/CConfig.cpp index 2b8a4ac..a502fe7 100644 --- a/lib/server/CConfig.cpp +++ b/lib/server/CConfig.cpp @@ -589,6 +589,11 @@ CConfig::operator==(const CConfig& x) const } } + // compare input filters + if (m_inputFilter != x.m_inputFilter) { + return false; + } + return true; } diff --git a/lib/server/CInputFilter.cpp b/lib/server/CInputFilter.cpp index 58f6c4e..eb62b89 100644 --- a/lib/server/CInputFilter.cpp +++ b/lib/server/CInputFilter.cpp @@ -70,6 +70,18 @@ CInputFilter::CKeystrokeCondition::~CKeystrokeCondition() // do nothing } +KeyID +CInputFilter::CKeystrokeCondition::getKey() const +{ + return m_key; +} + +KeyModifierMask +CInputFilter::CKeystrokeCondition::getMask() const +{ + return m_mask; +} + CInputFilter::CCondition* CInputFilter::CKeystrokeCondition::clone() const { @@ -144,6 +156,18 @@ CInputFilter::CMouseButtonCondition::~CMouseButtonCondition() // do nothing } +ButtonID +CInputFilter::CMouseButtonCondition::getButton() const +{ + return m_button; +} + +KeyModifierMask +CInputFilter::CMouseButtonCondition::getMask() const +{ + return m_mask; +} + CInputFilter::CCondition* CInputFilter::CMouseButtonCondition::clone() const { @@ -163,6 +187,10 @@ CInputFilter::CMouseButtonCondition::format() const CInputFilter::EFilterStatus CInputFilter::CMouseButtonCondition::match(const CEvent& event) { + static const KeyModifierMask s_ignoreMask = + KeyModifierAltGr | KeyModifierCapsLock | + KeyModifierNumLock | KeyModifierScrollLock; + EFilterStatus status; // check for hotkey events @@ -177,10 +205,12 @@ CInputFilter::CMouseButtonCondition::match(const CEvent& event) return kNoMatch; } - // check if it's the right button and modifiers + // check if it's the right button and modifiers. ignore modifiers + // that cannot be combined with a mouse button. IPlatformScreen::CButtonInfo* minfo = reinterpret_cast(event.getData()); - if (minfo->m_button != m_button || minfo->m_mask != m_mask) { + if (minfo->m_button != m_button || + (minfo->m_mask & ~s_ignoreMask) != m_mask) { return kNoMatch; } @@ -244,6 +274,13 @@ CInputFilter::CLockCursorToScreenAction::CLockCursorToScreenAction(Mode mode): // do nothing } + +CInputFilter::CLockCursorToScreenAction::Mode +CInputFilter::CLockCursorToScreenAction::getMode() const +{ + return m_mode; +} + CInputFilter::CAction* CInputFilter::CLockCursorToScreenAction::clone() const { @@ -282,6 +319,12 @@ CInputFilter::CSwitchToScreenAction::CSwitchToScreenAction( // do nothing } +CString +CInputFilter::CSwitchToScreenAction::getScreen() const +{ + return m_screen; +} + CInputFilter::CAction* CInputFilter::CSwitchToScreenAction::clone() const { @@ -321,6 +364,12 @@ CInputFilter::CSwitchInDirectionAction::CSwitchInDirectionAction( // do nothing } +EDirection +CInputFilter::CSwitchInDirectionAction::getDirection() const +{ + return m_direction; +} + CInputFilter::CAction* CInputFilter::CSwitchInDirectionAction::clone() const { @@ -364,6 +413,25 @@ CInputFilter::CKeystrokeAction::~CKeystrokeAction() free(m_keyInfo); } +void +CInputFilter::CKeystrokeAction::adoptInfo(IPlatformScreen::CKeyInfo* info) +{ + free(m_keyInfo); + m_keyInfo = info; +} + +const IPlatformScreen::CKeyInfo* +CInputFilter::CKeystrokeAction::getInfo() const +{ + return m_keyInfo; +} + +bool +CInputFilter::CKeystrokeAction::isOnPress() const +{ + return m_press; +} + CInputFilter::CAction* CInputFilter::CKeystrokeAction::clone() const { @@ -374,20 +442,20 @@ CInputFilter::CKeystrokeAction::clone() const CString CInputFilter::CKeystrokeAction::format() const { - const char* type = m_press ? "Down" : "Up"; + const char* type = formatName(); if (m_keyInfo->m_screens[0] == '\0') { - return CStringUtil::print("key%s(%s)", type, + return CStringUtil::print("%s(%s)", type, CKeyMap::formatKey(m_keyInfo->m_key, m_keyInfo->m_mask).c_str()); } else if (m_keyInfo->m_screens[0] == '*') { - return CStringUtil::print("key%s(%s,*)", type, + return CStringUtil::print("%s(%s,*)", type, CKeyMap::formatKey(m_keyInfo->m_key, m_keyInfo->m_mask).c_str()); } else { - return CStringUtil::print("key%s(%s,%.*s)", type, + return CStringUtil::print("%s(%s,%.*s)", type, CKeyMap::formatKey(m_keyInfo->m_key, m_keyInfo->m_mask).c_str(), strlen(m_keyInfo->m_screens + 1) - 1, @@ -400,9 +468,21 @@ CInputFilter::CKeystrokeAction::perform(const CEvent& event) { CEvent::Type type = m_press ? IPlatformScreen::getKeyDownEvent() : IPlatformScreen::getKeyUpEvent(); + EVENTQUEUE->addEvent(CEvent(IPlatformScreen::getFakeInputBeginEvent(), + event.getTarget(), NULL, + CEvent::kDeliverImmediately)); EVENTQUEUE->addEvent(CEvent(type, event.getTarget(), m_keyInfo, CEvent::kDeliverImmediately | CEvent::kDontFreeData)); + EVENTQUEUE->addEvent(CEvent(IPlatformScreen::getFakeInputEndEvent(), + event.getTarget(), NULL, + CEvent::kDeliverImmediately)); +} + +const char* +CInputFilter::CKeystrokeAction::formatName() const +{ + return (m_press ? "keyDown" : "keyUp"); } CInputFilter::CMouseButtonAction::CMouseButtonAction( @@ -418,6 +498,18 @@ CInputFilter::CMouseButtonAction::~CMouseButtonAction() free(m_buttonInfo); } +const IPlatformScreen::CButtonInfo* +CInputFilter::CMouseButtonAction::getInfo() const +{ + return m_buttonInfo; +} + +bool +CInputFilter::CMouseButtonAction::isOnPress() const +{ + return m_press; +} + CInputFilter::CAction* CInputFilter::CMouseButtonAction::clone() const { @@ -429,11 +521,11 @@ CInputFilter::CMouseButtonAction::clone() const CString CInputFilter::CMouseButtonAction::format() const { - const char* type = m_press ? "Down" : "Up"; + const char* type = formatName(); - return CStringUtil::print("mouse%s(%s+%d)", type, - CKeyMap::formatKey(kKeyNone, - m_buttonInfo->m_mask).c_str(), + CString key = CKeyMap::formatKey(kKeyNone, m_buttonInfo->m_mask); + return CStringUtil::print("%s(%s%s%d)", type, + key.c_str(), key.empty() ? "" : "+", m_buttonInfo->m_button); } @@ -460,6 +552,12 @@ CInputFilter::CMouseButtonAction::perform(const CEvent& event) CEvent::kDontFreeData)); } +const char* +CInputFilter::CMouseButtonAction::formatName() const +{ + return (m_press ? "mouseDown" : "mouseUp"); +} + // // CInputFilter::CRule // @@ -531,6 +629,13 @@ CInputFilter::CRule::copy(const CRule& rule) } } +void +CInputFilter::CRule::setCondition(CCondition* adopted) +{ + delete m_condition; + m_condition = adopted; +} + void CInputFilter::CRule::adoptAction(CAction* action, bool onActivation) { @@ -544,6 +649,36 @@ CInputFilter::CRule::adoptAction(CAction* action, bool onActivation) } } +void +CInputFilter::CRule::removeAction(bool onActivation, UInt32 index) +{ + if (onActivation) { + delete m_activateActions[index]; + m_activateActions.erase(m_activateActions.begin() + index); + } + else { + delete m_deactivateActions[index]; + m_deactivateActions.erase(m_deactivateActions.begin() + index); + } +} + +void +CInputFilter::CRule::replaceAction(CAction* adopted, + bool onActivation, UInt32 index) +{ + if (adopted == NULL) { + removeAction(onActivation, index); + } + else if (onActivation) { + delete m_activateActions[index]; + m_activateActions[index] = adopted; + } + else { + delete m_deactivateActions[index]; + m_deactivateActions[index] = adopted; + } +} + void CInputFilter::CRule::enable(CPrimaryClient* primaryClient) { @@ -631,6 +766,34 @@ CInputFilter::CRule::format() const return s; } +const CInputFilter::CCondition* +CInputFilter::CRule::getCondition() const +{ + return m_condition; +} + +UInt32 +CInputFilter::CRule::getNumActions(bool onActivation) const +{ + if (onActivation) { + return static_cast(m_activateActions.size()); + } + else { + return static_cast(m_deactivateActions.size()); + } +} + +const CInputFilter::CAction& +CInputFilter::CRule::getAction(bool onActivation, UInt32 index) const +{ + if (onActivation) { + return *m_activateActions[index]; + } + else { + return *m_deactivateActions[index]; + } +} + // ----------------------------------------------------------------------------- // Input Filter Class @@ -677,6 +840,21 @@ CInputFilter::addFilterRule(const CRule& rule) } } +void +CInputFilter::removeFilterRule(UInt32 index) +{ + if (m_primaryClient != NULL) { + m_ruleList[index].disable(m_primaryClient); + } + m_ruleList.erase(m_ruleList.begin() + index); +} + +CInputFilter::CRule& +CInputFilter::getRule(UInt32 index) +{ + return m_ruleList[index]; +} + void CInputFilter::setPrimaryClient(CPrimaryClient* client) { @@ -764,6 +942,42 @@ CInputFilter::format(const CString& linePrefix) const return s; } +UInt32 +CInputFilter::getNumRules() const +{ + return static_cast(m_ruleList.size()); +} + +bool +CInputFilter::operator==(const CInputFilter& x) const +{ + // if there are different numbers of rules then we can't be equal + if (m_ruleList.size() != x.m_ruleList.size()) { + return false; + } + + // compare rule lists. the easiest way to do that is to format each + // rule into a string, sort the strings, then compare the results. + std::vector aList, bList; + for (CRuleList::const_iterator i = m_ruleList.begin(); + i != m_ruleList.end(); ++i) { + aList.push_back(i->format()); + } + for (CRuleList::const_iterator i = x.m_ruleList.begin(); + i != x.m_ruleList.end(); ++i) { + bList.push_back(i->format()); + } + std::partial_sort(aList.begin(), aList.end(), aList.end()); + std::partial_sort(bList.begin(), bList.end(), bList.end()); + return (aList == bList); +} + +bool +CInputFilter::operator!=(const CInputFilter& x) const +{ + return !operator==(x); +} + void CInputFilter::handleEvent(const CEvent& event, void*) { diff --git a/lib/server/CInputFilter.h b/lib/server/CInputFilter.h index f1b1788..1c64636 100644 --- a/lib/server/CInputFilter.h +++ b/lib/server/CInputFilter.h @@ -54,17 +54,19 @@ class CInputFilter { class CKeystrokeCondition : public CCondition { public: CKeystrokeCondition(IPlatformScreen::CKeyInfo*); + CKeystrokeCondition(KeyID key, KeyModifierMask mask); virtual ~CKeystrokeCondition(); + KeyID getKey() const; + KeyModifierMask getMask() const; + + // CCondition overrides virtual CCondition* clone() const; virtual CString format() const; virtual EFilterStatus match(const CEvent&); virtual void enablePrimary(CPrimaryClient*); virtual void disablePrimary(CPrimaryClient*); - private: - CKeystrokeCondition(KeyID key, KeyModifierMask mask); - private: UInt32 m_id; KeyID m_key; @@ -75,15 +77,17 @@ class CInputFilter { class CMouseButtonCondition : public CCondition { public: CMouseButtonCondition(IPlatformScreen::CButtonInfo*); + CMouseButtonCondition(ButtonID, KeyModifierMask mask); virtual ~CMouseButtonCondition(); + ButtonID getButton() const; + KeyModifierMask getMask() const; + + // CCondition overrides virtual CCondition* clone() const; virtual CString format() const; virtual EFilterStatus match(const CEvent&); - private: - CMouseButtonCondition(ButtonID, KeyModifierMask mask); - private: ButtonID m_button; KeyModifierMask m_mask; @@ -95,6 +99,7 @@ class CInputFilter { CScreenConnectedCondition(const CString& screen); virtual ~CScreenConnectedCondition(); + // CCondition overrides virtual CCondition* clone() const; virtual CString format() const; virtual EFilterStatus match(const CEvent&); @@ -125,6 +130,8 @@ class CInputFilter { CLockCursorToScreenAction(Mode = kToggle); + Mode getMode() const; + // CAction overrides virtual CAction* clone() const; virtual CString format() const; @@ -139,6 +146,8 @@ class CInputFilter { public: CSwitchToScreenAction(const CString& screen); + CString getScreen() const; + // CAction overrides virtual CAction* clone() const; virtual CString format() const; @@ -153,6 +162,8 @@ class CInputFilter { public: CSwitchInDirectionAction(EDirection); + EDirection getDirection() const; + // CAction overrides virtual CAction* clone() const; virtual CString format() const; @@ -168,11 +179,19 @@ class CInputFilter { CKeystrokeAction(IPlatformScreen::CKeyInfo* adoptedInfo, bool press); ~CKeystrokeAction(); + void adoptInfo(IPlatformScreen::CKeyInfo*); + const IPlatformScreen::CKeyInfo* + getInfo() const; + bool isOnPress() const; + // CAction overrides virtual CAction* clone() const; virtual CString format() const; virtual void perform(const CEvent&); + protected: + virtual const char* formatName() const; + private: IPlatformScreen::CKeyInfo* m_keyInfo; bool m_press; @@ -185,11 +204,18 @@ class CInputFilter { bool press); ~CMouseButtonAction(); + const IPlatformScreen::CButtonInfo* + getInfo() const; + bool isOnPress() const; + // CAction overrides virtual CAction* clone() const; virtual CString format() const; virtual void perform(const CEvent&); + protected: + virtual const char* formatName() const; + private: IPlatformScreen::CButtonInfo* m_buttonInfo; bool m_press; @@ -204,9 +230,19 @@ class CInputFilter { CRule& operator=(const CRule&); + // replace the condition + void setCondition(CCondition* adopted); + // add an action to the rule void adoptAction(CAction*, bool onActivation); + // remove an action from the rule + void removeAction(bool onActivation, UInt32 index); + + // replace an action in the rule + void replaceAction(CAction* adopted, + bool onActivation, UInt32 index); + // enable/disable void enable(CPrimaryClient*); void disable(CPrimaryClient*); @@ -217,6 +253,16 @@ class CInputFilter { // convert rule to a string CString format() const; + // get the rule's condition + const CCondition* + getCondition() const; + + // get number of actions + UInt32 getNumActions(bool onActivation) const; + + // get action by index + const CAction& getAction(bool onActivation, UInt32 index) const; + private: void clear(); void copy(const CRule&); @@ -243,6 +289,12 @@ class CInputFilter { // add rule, adopting the condition and the actions void addFilterRule(const CRule& rule); + // remove a rule + void removeFilterRule(UInt32 index); + + // get rule by index + CRule& getRule(UInt32 index); + // enable event filtering using the given primary client. disable // if client is NULL. void setPrimaryClient(CPrimaryClient* client); @@ -250,6 +302,14 @@ class CInputFilter { // convert rules to a string CString format(const CString& linePrefix) const; + // get number of rules + UInt32 getNumRules() const; + + //! Compare filters + bool operator==(const CInputFilter&) const; + //! Compare filters + bool operator!=(const CInputFilter&) const; + private: // event handling void handleEvent(const CEvent&, void*); diff --git a/lib/server/CPrimaryClient.cpp b/lib/server/CPrimaryClient.cpp index fb66685..ede24b3 100644 --- a/lib/server/CPrimaryClient.cpp +++ b/lib/server/CPrimaryClient.cpp @@ -23,7 +23,8 @@ CPrimaryClient::CPrimaryClient(const CString& name, CScreen* screen) : m_name(name), - m_screen(screen) + m_screen(screen), + m_fakeInputCount(0) { // all clipboards are clean for (UInt32 i = 0; i < kClipboardEnd; ++i) { @@ -54,6 +55,22 @@ CPrimaryClient::unregisterHotKey(UInt32 id) m_screen->unregisterHotKey(id); } +void +CPrimaryClient::fakeInputBegin() +{ + if (++m_fakeInputCount == 1) { + m_screen->fakeInputBegin(); + } +} + +void +CPrimaryClient::fakeInputEnd() +{ + if (--m_fakeInputCount == 0) { + m_screen->fakeInputEnd(); + } +} + SInt32 CPrimaryClient::getJumpZoneSize() const { @@ -162,9 +179,15 @@ CPrimaryClient::setClipboardDirty(ClipboardID id, bool dirty) } void -CPrimaryClient::keyDown(KeyID, KeyModifierMask, KeyButton) -{ - // ignore +CPrimaryClient::keyDown(KeyID key, KeyModifierMask mask, KeyButton button) +{ + if (m_fakeInputCount > 0) { +// XXX -- don't forward keystrokes to primary screen for now + (void)key; + (void)mask; + (void)button; +// m_screen->keyDown(key, mask, button); + } } void @@ -174,9 +197,15 @@ CPrimaryClient::keyRepeat(KeyID, KeyModifierMask, SInt32, KeyButton) } void -CPrimaryClient::keyUp(KeyID, KeyModifierMask, KeyButton) -{ - // ignore +CPrimaryClient::keyUp(KeyID key, KeyModifierMask mask, KeyButton button) +{ + if (m_fakeInputCount > 0) { +// XXX -- don't forward keystrokes to primary screen for now + (void)key; + (void)mask; + (void)button; +// m_screen->keyUp(key, mask, button); + } } void diff --git a/lib/server/CPrimaryClient.h b/lib/server/CPrimaryClient.h index 5ee1f37..01a26c4 100644 --- a/lib/server/CPrimaryClient.h +++ b/lib/server/CPrimaryClient.h @@ -56,6 +56,21 @@ class CPrimaryClient : public IClient { */ void unregisterHotKey(UInt32 id); + //! Prepare to synthesize input on primary screen + /*! + Prepares the primary screen to receive synthesized input. We do not + want to receive this synthesized input as user input so this method + ensures that we ignore it. Calls to \c fakeInputBegin() and + \c fakeInputEnd() may be nested; only the outermost have an effect. + */ + void fakeInputBegin(); + + //! Done synthesizing input on primary screen + /*! + Undoes whatever \c fakeInputBegin() did. + */ + void fakeInputEnd(); + //@} //! @name accessors //@{ @@ -126,6 +141,7 @@ class CPrimaryClient : public IClient { CString m_name; CScreen* m_screen; bool m_clipboardDirty[kClipboardEnd]; + SInt32 m_fakeInputCount; }; #endif diff --git a/lib/server/CServer.cpp b/lib/server/CServer.cpp index 3357347..2a043f0 100644 --- a/lib/server/CServer.cpp +++ b/lib/server/CServer.cpp @@ -137,6 +137,15 @@ CServer::CServer(const CConfig& config, CPrimaryClient* primaryClient) : m_inputFilter, new TMethodEventJob(this, &CServer::handleLockCursorToScreenEvent)); + EVENTQUEUE->adoptHandler(IPlatformScreen::getFakeInputBeginEvent(), + m_inputFilter, + new TMethodEventJob(this, + &CServer::handleFakeInputBeginEvent)); + EVENTQUEUE->adoptHandler(IPlatformScreen::getFakeInputEndEvent(), + m_inputFilter, + new TMethodEventJob(this, + &CServer::handleFakeInputEndEvent)); + // add connection addClient(m_primaryClient); @@ -171,6 +180,10 @@ CServer::~CServer() m_primaryClient->getEventTarget()); EVENTQUEUE->removeHandler(IPlatformScreen::getScreensaverDeactivatedEvent(), m_primaryClient->getEventTarget()); + EVENTQUEUE->removeHandler(IPlatformScreen::getFakeInputBeginEvent(), + m_inputFilter); + EVENTQUEUE->removeHandler(IPlatformScreen::getFakeInputEndEvent(), + m_inputFilter); EVENTQUEUE->removeHandler(CEvent::kTimer, this); stopSwitch(); @@ -1372,6 +1385,18 @@ CServer::handleLockCursorToScreenEvent(const CEvent& event, void*) } } +void +CServer::handleFakeInputBeginEvent(const CEvent&, void*) +{ + m_primaryClient->fakeInputBegin(); +} + +void +CServer::handleFakeInputEndEvent(const CEvent&, void*) +{ + m_primaryClient->fakeInputEnd(); +} + void CServer::onClipboardChanged(IClient* sender, ClipboardID id, UInt32 seqNum) { diff --git a/lib/server/CServer.h b/lib/server/CServer.h index dd28595..71fcdbf 100644 --- a/lib/server/CServer.h +++ b/lib/server/CServer.h @@ -305,6 +305,8 @@ class CServer { void handleSwitchToScreenEvent(const CEvent&, void*); void handleSwitchInDirectionEvent(const CEvent&, void*); void handleLockCursorToScreenEvent(const CEvent&, void*); + void handleFakeInputBeginEvent(const CEvent&, void*); + void handleFakeInputEndEvent(const CEvent&, void*); // event processing void onClipboardChanged(IClient* sender, diff --git a/lib/server/Makefile.in b/lib/server/Makefile.in index be128a6..13a95f6 100644 --- a/lib/server/Makefile.in +++ b/lib/server/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -161,13 +154,12 @@ LIBRARIES = $(noinst_LIBRARIES) libserver_a_AR = $(AR) cru libserver_a_LIBADD = -am__objects_1 = am_libserver_a_OBJECTS = CClientListener.$(OBJEXT) \ CClientProxy.$(OBJEXT) CClientProxy1_0.$(OBJEXT) \ CClientProxy1_1.$(OBJEXT) CClientProxy1_2.$(OBJEXT) \ CClientProxy1_3.$(OBJEXT) CClientProxyUnknown.$(OBJEXT) \ CConfig.$(OBJEXT) CInputFilter.$(OBJEXT) \ - CPrimaryClient.$(OBJEXT) CServer.$(OBJEXT) $(am__objects_1) + CPrimaryClient.$(OBJEXT) CServer.$(OBJEXT) libserver_a_OBJECTS = $(am_libserver_a_OBJECTS) DEFS = @DEFS@ @@ -176,17 +168,15 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CClientListener.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CClientProxy.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CClientProxy1_0.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CClientProxy1_1.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CClientProxy1_2.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CClientProxy1_3.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CClientProxyUnknown.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CConfig.Po ./$(DEPDIR)/CInputFilter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CPrimaryClient.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CServer.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CClientListener.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CClientProxy.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CClientProxy1_0.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CClientProxy1_1.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CClientProxy1_2.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CClientProxy1_3.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CClientProxyUnknown.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CConfig.Po $(DEPDIR)/CInputFilter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CPrimaryClient.Po $(DEPDIR)/CServer.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -210,7 +200,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/server/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status AR = ar @@ -227,26 +219,26 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CClientListener.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CClientProxy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CClientProxy1_0.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CClientProxy1_1.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CClientProxy1_2.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CClientProxy1_3.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CClientProxyUnknown.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CConfig.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CInputFilter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CPrimaryClient.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CServer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CClientListener.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CClientProxy.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CClientProxy1_0.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CClientProxy1_1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CClientProxy1_2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CClientProxy1_3.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CClientProxyUnknown.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CConfig.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CInputFilter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CPrimaryClient.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CServer.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -256,61 +248,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -334,7 +318,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -342,7 +325,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/server/server.dsp b/lib/server/server.dsp index 954fa4b..187e172 100644 --- a/lib/server/server.dsp +++ b/lib/server/server.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\gen\build" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /I "..\io" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\server.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /I "..\io" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\server.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "..\..\gen\debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /I "..\io" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\server.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\mt" /I "..\io" /I "..\net" /I "..\synergy" /I "..\platform" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\server.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" diff --git a/lib/synergy/CKeyMap.cpp b/lib/synergy/CKeyMap.cpp index 9f3118b..4141c8b 100644 --- a/lib/synergy/CKeyMap.cpp +++ b/lib/synergy/CKeyMap.cpp @@ -98,7 +98,7 @@ CKeyMap::addKeyEntry(const KeyItem& item) // add item list entries.push_back(items); - LOG((CLOG_DEBUG1 "add key: %04x %d %03x (%04x %04x %04x)%s", newItem.m_id, newItem.m_group, newItem.m_button, newItem.m_required, newItem.m_sensitive, newItem.m_generates, newItem.m_dead ? " dead" : "")); + LOG((CLOG_DEBUG1 "add key: %04x %d %03x %04x (%04x %04x %04x)%s", newItem.m_id, newItem.m_group, newItem.m_button, newItem.m_client, newItem.m_required, newItem.m_sensitive, newItem.m_generates, newItem.m_dead ? " dead" : "")); } void @@ -554,6 +554,10 @@ CKeyMap::mapCommandKey(Keystrokes& keys, KeyID id, SInt32 group, KeyModifierMask newState = currentState; SInt32 newGroup = group; + // don't try to change CapsLock + desiredMask = (desiredMask & ~KeyModifierCapsLock) | + (currentState & KeyModifierCapsLock); + // add the key if (!keysForKeyItem(*keyItem, newGroup, newModifiers, newState, desiredMask, @@ -1040,8 +1044,8 @@ CKeyMap::addKeystrokes(EKeystroke type, const KeyItem& keyItem, activeModifiers.equal_range(keyItem.m_generates); for (ModifierToKeys::const_iterator i = range.first; i != range.second; ++i) { - keystrokes.push_back(Keystroke( - i->second.m_button, false, false, data)); + keystrokes.push_back(Keystroke(i->second.m_button, + false, false, i->second.m_client)); } } diff --git a/lib/synergy/CKeyState.cpp b/lib/synergy/CKeyState.cpp index c0e3de7..7da5a56 100644 --- a/lib/synergy/CKeyState.cpp +++ b/lib/synergy/CKeyState.cpp @@ -541,8 +541,8 @@ CKeyState::fakeKeyDown(KeyID id, KeyModifierMask mask, KeyButton serverID) Keystrokes keys; ModifierToKeys oldActiveModifiers = m_activeModifiers; const CKeyMap::KeyItem* keyItem = - m_keyMap.mapKey(keys, id, pollActiveGroup(), - m_activeModifiers, m_mask, mask, false); + m_keyMap.mapKey(keys, id, pollActiveGroup(), m_activeModifiers, + getActiveModifiersRValue(), mask, false); if (keyItem == NULL) { return; } @@ -577,8 +577,8 @@ CKeyState::fakeKeyRepeat( Keystrokes keys; ModifierToKeys oldActiveModifiers = m_activeModifiers; const CKeyMap::KeyItem* keyItem = - m_keyMap.mapKey(keys, id, pollActiveGroup(), - m_activeModifiers, m_mask, mask, true); + m_keyMap.mapKey(keys, id, pollActiveGroup(), m_activeModifiers, + getActiveModifiersRValue(), mask, true); if (keyItem == NULL) { return; } @@ -689,6 +689,12 @@ CKeyState::getActiveModifiers() const return m_mask; } +KeyModifierMask& +CKeyState::getActiveModifiersRValue() +{ + return m_mask; +} + SInt32 CKeyState::getEffectiveGroup(SInt32 group, SInt32 offset) const { diff --git a/lib/synergy/CKeyState.h b/lib/synergy/CKeyState.h index ea257ec..6bfd9d8 100644 --- a/lib/synergy/CKeyState.h +++ b/lib/synergy/CKeyState.h @@ -95,6 +95,14 @@ class CKeyState : public IKeyState { */ virtual void fakeKey(const Keystroke& keystroke) = 0; + //! Get the active modifiers + /*! + Returns the modifiers that are currently active according to our + shadowed state. The state may be modified. + */ + virtual KeyModifierMask& + getActiveModifiersRValue(); + //@} //! @name protected accessors //@{ diff --git a/lib/synergy/CPlatformScreen.h b/lib/synergy/CPlatformScreen.h index 7f5cc58..2e5c87f 100644 --- a/lib/synergy/CPlatformScreen.h +++ b/lib/synergy/CPlatformScreen.h @@ -41,6 +41,8 @@ class CPlatformScreen : public IPlatformScreen { virtual UInt32 registerHotKey(KeyID key, KeyModifierMask mask) = 0; virtual void unregisterHotKey(UInt32 id) = 0; + virtual void fakeInputBegin() = 0; + virtual void fakeInputEnd() = 0; virtual SInt32 getJumpZoneSize() const = 0; virtual bool isAnyMouseButtonDown() const = 0; virtual void getCursorCenter(SInt32& x, SInt32& y) const = 0; diff --git a/lib/synergy/CScreen.cpp b/lib/synergy/CScreen.cpp index 701632b..bff8dac 100644 --- a/lib/synergy/CScreen.cpp +++ b/lib/synergy/CScreen.cpp @@ -27,7 +27,8 @@ CScreen::CScreen(IPlatformScreen* platformScreen) : m_isPrimary(platformScreen->isPrimary()), m_enabled(false), m_entered(m_isPrimary), - m_screenSaverSync(true) + m_screenSaverSync(true), + m_fakeInput(false) { assert(m_screen != NULL); @@ -173,7 +174,7 @@ CScreen::screensaver(bool activate) void CScreen::keyDown(KeyID id, KeyModifierMask mask, KeyButton button) { - assert(!m_isPrimary); + assert(!m_isPrimary || m_fakeInput); // check for ctrl+alt+del emulation if (id == kKeyDelete && @@ -198,7 +199,7 @@ CScreen::keyRepeat(KeyID id, void CScreen::keyUp(KeyID, KeyModifierMask, KeyButton button) { - assert(!m_isPrimary); + assert(!m_isPrimary || m_fakeInput); m_screen->fakeKeyUp(button); } @@ -330,6 +331,24 @@ CScreen::unregisterHotKey(UInt32 id) m_screen->unregisterHotKey(id); } +void +CScreen::fakeInputBegin() +{ + assert(!m_fakeInput); + + m_fakeInput = true; + m_screen->fakeInputBegin(); +} + +void +CScreen::fakeInputEnd() +{ + assert(m_fakeInput); + + m_fakeInput = false; + m_screen->fakeInputEnd(); +} + bool CScreen::isOnScreen() const { diff --git a/lib/synergy/CScreen.h b/lib/synergy/CScreen.h index 19b02a1..4d216f8 100644 --- a/lib/synergy/CScreen.h +++ b/lib/synergy/CScreen.h @@ -194,6 +194,21 @@ class CScreen : public IScreen { */ void unregisterHotKey(UInt32 id); + //! Prepare to synthesize input on primary screen + /*! + Prepares the primary screen to receive synthesized input. We do not + want to receive this synthesized input as user input so this method + ensures that we ignore it. Calls to \c fakeInputBegin() may not be + nested. + */ + void fakeInputBegin(); + + //! Done synthesizing input on primary screen + /*! + Undoes whatever \c fakeInputBegin() did. + */ + void fakeInputEnd(); + //@} //! @name accessors //@{ @@ -281,6 +296,9 @@ class CScreen : public IScreen { // note toggle keys that toggles on up/down (false) or on // transition (true) KeyModifierMask m_halfDuplex; + + // true if we're faking input on a primary screen + bool m_fakeInput; }; #endif diff --git a/lib/synergy/IKeyState.cpp b/lib/synergy/IKeyState.cpp index 467a88b..28cd331 100644 --- a/lib/synergy/IKeyState.cpp +++ b/lib/synergy/IKeyState.cpp @@ -133,3 +133,33 @@ IKeyState::CKeyInfo::contains(const char* screens, const CString& name) match += ":"; return (strstr(screens, match.c_str()) != NULL); } + +bool +IKeyState::CKeyInfo::equal(const CKeyInfo* a, const CKeyInfo* b) +{ + return (a->m_key == b->m_key && + a->m_mask == b->m_mask && + a->m_button == b->m_button && + a->m_count == b->m_count && + strcmp(a->m_screens, b->m_screens) == 0); +} + +void +IKeyState::CKeyInfo::split(const char* screens, std::set& dst) +{ + dst.clear(); + if (isDefault(screens)) { + return; + } + if (screens[0] == '*') { + dst.insert("*"); + return; + } + + const char* i = screens + 1; + while (*i != '\0') { + const char* j = strchr(i, ':'); + dst.insert(CString(i, j - i)); + i = j + 1; + } +} diff --git a/lib/synergy/IKeyState.h b/lib/synergy/IKeyState.h index 7fd568d..1985a63 100644 --- a/lib/synergy/IKeyState.h +++ b/lib/synergy/IKeyState.h @@ -42,6 +42,8 @@ class IKeyState : public IInterface { static bool isDefault(const char* screens); static bool contains(const char* screens, const CString& name); + static bool equal(const CKeyInfo*, const CKeyInfo*); + static void split(const char* screens, std::set&); public: KeyID m_key; diff --git a/lib/synergy/IPlatformScreen.h b/lib/synergy/IPlatformScreen.h index 228e4af..b4d1b78 100644 --- a/lib/synergy/IPlatformScreen.h +++ b/lib/synergy/IPlatformScreen.h @@ -148,6 +148,8 @@ class IPlatformScreen : public IScreen, virtual void warpCursor(SInt32 x, SInt32 y) = 0; virtual UInt32 registerHotKey(KeyID key, KeyModifierMask mask) = 0; virtual void unregisterHotKey(UInt32 id) = 0; + virtual void fakeInputBegin() = 0; + virtual void fakeInputEnd() = 0; virtual SInt32 getJumpZoneSize() const = 0; virtual bool isAnyMouseButtonDown() const = 0; virtual void getCursorCenter(SInt32& x, SInt32& y) const = 0; diff --git a/lib/synergy/IPrimaryScreen.cpp b/lib/synergy/IPrimaryScreen.cpp index 47b322f..71b103f 100644 --- a/lib/synergy/IPrimaryScreen.cpp +++ b/lib/synergy/IPrimaryScreen.cpp @@ -27,6 +27,8 @@ CEvent::Type IPrimaryScreen::s_ssActivatedEvent = CEvent::kUnknown; CEvent::Type IPrimaryScreen::s_ssDeactivatedEvent = CEvent::kUnknown; CEvent::Type IPrimaryScreen::s_hotKeyDownEvent = CEvent::kUnknown; CEvent::Type IPrimaryScreen::s_hotKeyUpEvent = CEvent::kUnknown; +CEvent::Type IPrimaryScreen::s_fakeInputBegin = CEvent::kUnknown; +CEvent::Type IPrimaryScreen::s_fakeInputEnd = CEvent::kUnknown; CEvent::Type IPrimaryScreen::getButtonDownEvent() @@ -91,6 +93,20 @@ IPrimaryScreen::getHotKeyUpEvent() "IPrimaryScreen::hotKeyUp"); } +CEvent::Type +IPrimaryScreen::getFakeInputBeginEvent() +{ + return CEvent::registerTypeOnce(s_fakeInputBegin, + "IPrimaryScreen::fakeInputBegin"); +} + +CEvent::Type +IPrimaryScreen::getFakeInputEndEvent() +{ + return CEvent::registerTypeOnce(s_fakeInputEnd, + "IPrimaryScreen::fakeInputEnd"); +} + // // IPrimaryScreen::CButtonInfo @@ -114,6 +130,12 @@ IPrimaryScreen::CButtonInfo::alloc(const CButtonInfo& x) return info; } +bool +IPrimaryScreen::CButtonInfo::equal(const CButtonInfo* a, const CButtonInfo* b) +{ + return (a->m_button == b->m_button && a->m_mask == b->m_mask); +} + // // IPrimaryScreen::CMotionInfo diff --git a/lib/synergy/IPrimaryScreen.h b/lib/synergy/IPrimaryScreen.h index 49194cf..93166d2 100644 --- a/lib/synergy/IPrimaryScreen.h +++ b/lib/synergy/IPrimaryScreen.h @@ -33,6 +33,8 @@ class IPrimaryScreen : public IInterface { static CButtonInfo* alloc(ButtonID, KeyModifierMask); static CButtonInfo* alloc(const CButtonInfo&); + static bool equal(const CButtonInfo*, const CButtonInfo*); + public: ButtonID m_button; KeyModifierMask m_mask; @@ -113,6 +115,21 @@ class IPrimaryScreen : public IInterface { */ virtual void unregisterHotKey(UInt32 id) = 0; + //! Prepare to synthesize input on primary screen + /*! + Prepares the primary screen to receive synthesized input. We do not + want to receive this synthesized input as user input so this method + ensures that we ignore it. Calls to \c fakeInputBegin() may not be + nested. + */ + virtual void fakeInputBegin() = 0; + + //! Done synthesizing input on primary screen + /*! + Undoes whatever \c fakeInputBegin() did. + */ + virtual void fakeInputEnd() = 0; + //@} //! @name accessors //@{ @@ -165,6 +182,10 @@ class IPrimaryScreen : public IInterface { static CEvent::Type getHotKeyDownEvent(); //! Get hot key up event type. Event data is CHotKeyInfo*. static CEvent::Type getHotKeyUpEvent(); + //! Get start of fake input event type + static CEvent::Type getFakeInputBeginEvent(); + //! Get end of fake input event type + static CEvent::Type getFakeInputEndEvent(); //@} @@ -178,6 +199,8 @@ class IPrimaryScreen : public IInterface { static CEvent::Type s_ssDeactivatedEvent; static CEvent::Type s_hotKeyDownEvent; static CEvent::Type s_hotKeyUpEvent; + static CEvent::Type s_fakeInputBegin; + static CEvent::Type s_fakeInputEnd; }; #endif diff --git a/lib/synergy/Makefile.in b/lib/synergy/Makefile.in index 45d2085..b5eefd5 100644 --- a/lib/synergy/Makefile.in +++ b/lib/synergy/Makefile.in @@ -1,7 +1,6 @@ -# Makefile.in generated by automake 1.6.3 from Makefile.am. -# @configure_input@ +# Makefile.in generated automatically by automake 1.5 from Makefile.am. -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -25,6 +24,7 @@ # 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. + SHELL = @SHELL@ srcdir = @srcdir@ @@ -55,13 +55,9 @@ AUTOCONF = @AUTOCONF@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_HEADER = $(INSTALL_DATA) transform = @program_transform_name@ @@ -73,27 +69,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ - -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -PATH_SEPARATOR = @PATH_SEPARATOR@ AMTAR = @AMTAR@ AWK = @AWK@ CC = @CC@ CXX = @CXX@ DEPDIR = @DEPDIR@ +EXEEXT = @EXEEXT@ HAVE_DOT = @HAVE_DOT@ INET_ATON_LIBS = @INET_ATON_LIBS@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ NANOSLEEP_LIBS = @NANOSLEEP_LIBS@ OBJC = @OBJC@ OBJCFLAGS = @OBJCFLAGS@ +OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -STRIP = @STRIP@ VERSION = @VERSION@ X_CFLAGS = @X_CFLAGS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ @@ -174,14 +167,12 @@ LIBRARIES = $(noinst_LIBRARIES) libsynergy_a_AR = $(AR) cru libsynergy_a_LIBADD = -am__objects_1 = am_libsynergy_a_OBJECTS = CClipboard.$(OBJEXT) CKeyMap.$(OBJEXT) \ CKeyState.$(OBJEXT) CPacketStreamFilter.$(OBJEXT) \ CPlatformScreen.$(OBJEXT) CProtocolUtil.$(OBJEXT) \ CScreen.$(OBJEXT) IClipboard.$(OBJEXT) IKeyState.$(OBJEXT) \ IPrimaryScreen.$(OBJEXT) IScreen.$(OBJEXT) KeyTypes.$(OBJEXT) \ - ProtocolTypes.$(OBJEXT) XScreen.$(OBJEXT) XSynergy.$(OBJEXT) \ - $(am__objects_1) + ProtocolTypes.$(OBJEXT) XScreen.$(OBJEXT) XSynergy.$(OBJEXT) libsynergy_a_OBJECTS = $(am_libsynergy_a_OBJECTS) DEFS = @DEFS@ @@ -190,17 +181,15 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CClipboard.Po ./$(DEPDIR)/CKeyMap.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CKeyState.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CPacketStreamFilter.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CPlatformScreen.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/CProtocolUtil.Po ./$(DEPDIR)/CScreen.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/IClipboard.Po ./$(DEPDIR)/IKeyState.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/IPrimaryScreen.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/IScreen.Po ./$(DEPDIR)/KeyTypes.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/ProtocolTypes.Po ./$(DEPDIR)/XScreen.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/XSynergy.Po +@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CClipboard.Po $(DEPDIR)/CKeyMap.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CKeyState.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CPacketStreamFilter.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CPlatformScreen.Po \ +@AMDEP_TRUE@ $(DEPDIR)/CProtocolUtil.Po $(DEPDIR)/CScreen.Po \ +@AMDEP_TRUE@ $(DEPDIR)/IClipboard.Po $(DEPDIR)/IKeyState.Po \ +@AMDEP_TRUE@ $(DEPDIR)/IPrimaryScreen.Po $(DEPDIR)/IScreen.Po \ +@AMDEP_TRUE@ $(DEPDIR)/KeyTypes.Po $(DEPDIR)/ProtocolTypes.Po \ +@AMDEP_TRUE@ $(DEPDIR)/XScreen.Po $(DEPDIR)/XSynergy.Po CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) @@ -224,7 +213,9 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/synergy/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) + cd $(top_builddir) && \ + CONFIG_HEADERS= CONFIG_LINKS= \ + CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status AR = ar @@ -241,30 +232,30 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CClipboard.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CKeyMap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CKeyState.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CPacketStreamFilter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CPlatformScreen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CProtocolUtil.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CScreen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IClipboard.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IKeyState.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IPrimaryScreen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IScreen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KeyTypes.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProtocolTypes.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XScreen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XSynergy.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CClipboard.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CKeyMap.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CKeyState.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CPacketStreamFilter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CPlatformScreen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CProtocolUtil.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CScreen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/IClipboard.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/IKeyState.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/IPrimaryScreen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/IScreen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/KeyTypes.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ProtocolTypes.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/XScreen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/XSynergy.Po@am__quote@ distclean-depend: - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) .cpp.o: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + $(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< .cpp.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -274,61 +265,53 @@ distclean-depend: CXXDEPMODE = @CXXDEPMODE@ uninstall-info-am: -ETAGS = etags -ETAGSFLAGS = - tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - mkid -fID $$unique + mkid -fID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) $(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; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique + test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ + || etags $(ETAGS_ARGS) $$tags $$unique $(LISP) GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ + here=`CDPATH=: && cd $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = ../.. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @list='$(DISTFILES)'; for file in $$list; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ fi; \ if test -d $$d/$$file; then \ - 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; \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -352,7 +335,6 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -360,7 +342,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* maintainer-clean-generic: @echo "This command is intended for maintainers to use" diff --git a/lib/synergy/libsynergy.dsp b/lib/synergy/libsynergy.dsp index 16ed97d..029e5fa 100644 --- a/lib/synergy/libsynergy.dsp +++ b/lib/synergy/libsynergy.dsp @@ -41,7 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\gen\build" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /I "..\net" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\libsynergy.pdb" /FD /c +# ADD CPP /nologo /MT /W4 /GR /GX /O2 /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /I "..\net" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\build\libsynergy.pdb" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" @@ -65,7 +65,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "..\..\gen\debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /I "..\net" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\libsynergy.pdb" /FD /GZ /c +# ADD CPP /nologo /MTd /W4 /Gm /GR /GX /ZI /Od /I "..\common" /I "..\arch" /I "..\base" /I "..\io" /I "..\mt" /I "..\net" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fd"..\..\gen\debug\libsynergy.pdb" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" diff --git a/stamp-h.in b/stamp-h.in new file mode 100644 index 0000000..e69de29 diff --git a/synergy.xcode/project.pbxproj b/synergy.xcode/project.pbxproj index 0d3b3cc..2c7afc9 100644 --- a/synergy.xcode/project.pbxproj +++ b/synergy.xcode/project.pbxproj @@ -2129,15 +2129,6 @@ }; name = Deployment; }; - 68FBBAEB089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = lib/common; - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = arch; - }; - name = Default; - }; 68FBBAED089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2173,14 +2164,6 @@ }; name = Deployment; }; - 68FBBAEF089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = common; - }; - name = Default; - }; 68FBBAF1089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2224,18 +2207,6 @@ }; name = Deployment; }; - 68FBBAF3089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - lib/common, - lib/arch, - ); - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = base; - }; - name = Default; - }; 68FBBAF5089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2281,19 +2252,6 @@ }; name = Deployment; }; - 68FBBAF7089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - lib/common, - lib/arch, - lib/base, - ); - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = mt; - }; - name = Default; - }; 68FBBAF9089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2341,20 +2299,6 @@ }; name = Deployment; }; - 68FBBAFB089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - lib/common, - lib/arch, - lib/base, - lib/mt, - ); - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = io; - }; - name = Default; - }; 68FBBAFD089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2404,21 +2348,6 @@ }; name = Deployment; }; - 68FBBAFF089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - lib/common, - lib/arch, - lib/base, - lib/mt, - lib/io, - ); - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = net; - }; - name = Default; - }; 68FBBB01089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2470,22 +2399,6 @@ }; name = Deployment; }; - 68FBBB03089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - lib/common, - lib/arch, - lib/base, - lib/mt, - lib/io, - lib/net, - ); - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = synergy; - }; - name = Default; - }; 68FBBB05089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2537,22 +2450,6 @@ }; name = Deployment; }; - 68FBBB07089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - lib/common, - lib/arch, - lib/base, - lib/mt, - lib/io, - lib/synergy, - ); - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = platform; - }; - name = Default; - }; 68FBBB09089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2608,24 +2505,6 @@ }; name = Deployment; }; - 68FBBB0B089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - lib/common, - lib/arch, - lib/base, - lib/mt, - lib/io, - lib/net, - lib/synergy, - lib/platform, - ); - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = client; - }; - name = Default; - }; 68FBBB0D089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2681,24 +2560,6 @@ }; name = Deployment; }; - 68FBBB0F089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - lib/common, - lib/arch, - lib/base, - lib/mt, - lib/io, - lib/net, - lib/synergy, - lib/platform, - lib/client, - ); - PRODUCT_NAME = synergyc; - }; - name = Default; - }; 68FBBB11089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2754,24 +2615,6 @@ }; name = Deployment; }; - 68FBBB13089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - lib/common, - lib/arch, - lib/base, - lib/mt, - lib/io, - lib/net, - lib/synergy, - lib/platform, - ); - LIBRARY_STYLE = STATIC; - PRODUCT_NAME = server; - }; - name = Default; - }; 68FBBB15089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2827,24 +2670,6 @@ }; name = Deployment; }; - 68FBBB17089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - lib/common, - lib/arch, - lib/base, - lib/mt, - lib/io, - lib/net, - lib/synergy, - lib/platform, - lib/client, - ); - PRODUCT_NAME = synergys; - }; - name = Default; - }; 68FBBB19089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2878,37 +2703,42 @@ }; name = Deployment; }; - 68FBBB1B089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = ALL; - }; - name = Default; - }; 68FBBB1D089F06C20016DF44 /* Development */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = ( + ppc, + i386, + ); + GCC_VERSION_i386 = 4.0; + GCC_VERSION_ppc = 3.3; MACOSX_DEPLOYMENT_TARGET = 10.2; + MACOSX_DEPLOYMENT_TARGET_i386 = 10.4; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.2; SDKROOT = /Developer/SDKs/MacOSX10.2.8.sdk; + SDKROOT_i386 = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT_ppc = /Developer/SDKs/MacOSX10.2.8.sdk; }; name = Development; }; 68FBBB1E089F06C20016DF44 /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = ( + ppc, + i386, + ); + GCC_VERSION_i386 = 4.0; + GCC_VERSION_ppc = 3.3; MACOSX_DEPLOYMENT_TARGET = 10.2; + MACOSX_DEPLOYMENT_TARGET_i386 = 10.4; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.2; SDKROOT = /Developer/SDKs/MacOSX10.2.8.sdk; + SDKROOT_i386 = /Developer/SDKs/MacOSX10.4u.sdk; + SDKROOT_ppc = /Developer/SDKs/MacOSX10.2.8.sdk; }; name = Deployment; }; - 68FBBB1F089F06C20016DF44 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - MACOSX_DEPLOYMENT_TARGET = 10.2; - SDKROOT = /Developer/SDKs/MacOSX10.2.8.sdk; - }; - name = Default; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -2917,140 +2747,126 @@ buildConfigurations = ( 68FBBAE9089F06C20016DF44 /* Development */, 68FBBAEA089F06C20016DF44 /* Deployment */, - 68FBBAEB089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBAEC089F06C20016DF44 /* Build configuration list for PBXNativeTarget "common" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBAED089F06C20016DF44 /* Development */, 68FBBAEE089F06C20016DF44 /* Deployment */, - 68FBBAEF089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBAF0089F06C20016DF44 /* Build configuration list for PBXNativeTarget "base" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBAF1089F06C20016DF44 /* Development */, 68FBBAF2089F06C20016DF44 /* Deployment */, - 68FBBAF3089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBAF4089F06C20016DF44 /* Build configuration list for PBXNativeTarget "mt" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBAF5089F06C20016DF44 /* Development */, 68FBBAF6089F06C20016DF44 /* Deployment */, - 68FBBAF7089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBAF8089F06C20016DF44 /* Build configuration list for PBXNativeTarget "io" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBAF9089F06C20016DF44 /* Development */, 68FBBAFA089F06C20016DF44 /* Deployment */, - 68FBBAFB089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBAFC089F06C20016DF44 /* Build configuration list for PBXNativeTarget "net" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBAFD089F06C20016DF44 /* Development */, 68FBBAFE089F06C20016DF44 /* Deployment */, - 68FBBAFF089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBB00089F06C20016DF44 /* Build configuration list for PBXNativeTarget "synergy" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBB01089F06C20016DF44 /* Development */, 68FBBB02089F06C20016DF44 /* Deployment */, - 68FBBB03089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBB04089F06C20016DF44 /* Build configuration list for PBXNativeTarget "platform" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBB05089F06C20016DF44 /* Development */, 68FBBB06089F06C20016DF44 /* Deployment */, - 68FBBB07089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBB08089F06C20016DF44 /* Build configuration list for PBXNativeTarget "client" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBB09089F06C20016DF44 /* Development */, 68FBBB0A089F06C20016DF44 /* Deployment */, - 68FBBB0B089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBB0C089F06C20016DF44 /* Build configuration list for PBXNativeTarget "synergyc" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBB0D089F06C20016DF44 /* Development */, 68FBBB0E089F06C20016DF44 /* Deployment */, - 68FBBB0F089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBB10089F06C20016DF44 /* Build configuration list for PBXNativeTarget "server" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBB11089F06C20016DF44 /* Development */, 68FBBB12089F06C20016DF44 /* Deployment */, - 68FBBB13089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBB14089F06C20016DF44 /* Build configuration list for PBXNativeTarget "synergys" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBB15089F06C20016DF44 /* Development */, 68FBBB16089F06C20016DF44 /* Deployment */, - 68FBBB17089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBB18089F06C20016DF44 /* Build configuration list for PBXAggregateTarget "ALL" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBB19089F06C20016DF44 /* Development */, 68FBBB1A089F06C20016DF44 /* Deployment */, - 68FBBB1B089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; 68FBBB1C089F06C20016DF44 /* Build configuration list for PBXProject "synergy" */ = { isa = XCConfigurationList; buildConfigurations = ( 68FBBB1D089F06C20016DF44 /* Development */, 68FBBB1E089F06C20016DF44 /* Deployment */, - 68FBBB1F089F06C20016DF44 /* Default */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; + defaultConfigurationName = Development; }; /* End XCConfigurationList section */ };