Commit Graph

29 Commits

Author SHA1 Message Date
crs23 5c29ae9967 Applied patch by maruel:
- Fixed taking the address of begin() on an empty std::vector.
- Fixed nsis makefile to use %ProgramFiles% environment variable.
- Fixed nsis makefile to pass the output directory and file to makensis.
- Fixed synergy.nsi to get the files from the output directory. That
  enables a debug build of the installer.
- Fixes to compile under VS2005.

I did not apply VS2005 project files, instead adding nmake files.
nmake is pretty weak but the makefiles can be modified without having
visual studio.  Also modified the .rc files to not use winres.h.
This plus nmake means synergy can now be built using the freely
downloadable Microsoft Windows SDK for Vista, available from
microsoft's web site.  This change removes all of the old VC++6
project files in favor of the nmake files.  It also removes the
XCode project in favor of ./configure and make.

All of the nmake files are named nmake.mak.  Only the top level
makefile is directly useful (the rest are included by it) so all
builds are from the top level directory.  nmake knows the following
targets:

  all:  build synergy.exe, synergyc.exe and synergys.exe
  clean:  remove all intermediate files, keep programs
  clobber:  clean and remove programs
  installer:  build programs and an installer
  debug:  build a debug version of 'all'
  release:  build a release version of 'all'
  debug-installer:  build an installer of the debug build
  release-installer:  build an installer of the release build

The default build version is release so 'all' and 'installer' will
build a release version.  The installer itself never has debug
symbols, just the stuff it installs.  The default target is 'all'.
To build use:

  nmake /nologo /f nmake.mak <target>

VC++ and VisualStudio users may need to manually run vcvars.bat in a
command.exe or cmd.exe window before invoking nmake.  The Window 98/Me
command.exe may not handle potentially long command lines;  I haven't
tried to verify if that works.
2007-09-06 05:01:44 +00:00
crs 52ae656411 Restored lost files and changes in version 1.3.1 to depot. 2007-06-17 11:19:18 +00:00
crs 6ea96719ab Made condition variable data volatile. This will hopefully fix
an strange deadlock seen on OSX.  The CSocketMultiplexer deadlocks
with two threads, one waiting for m_polling to become false and
the other waiting for m_pollable to become true.  The weird part
is that they're both false so the first thread should proceed.
It either didn't receive the broadcast when m_polling went to
false or it's not really checking the actual value of that flag.
I can't see how the former is possible and this change fixes the
latter.
2004-11-10 21:00:30 +00:00
crs 62b5cefb64 Changed VC++ projects to put release targets in ./build, debug
targets in ./debug, and intermediate files under ./gen.
2004-05-16 18:02:49 +00:00
crs 083607345a Removed DEPTH, VDEPTH, and VPATH from makefiles. 2004-04-04 12:12:32 +00:00
crs 54acf38d82 Merged Win32 updates. Added full warnings on g++. Fixed bug in
client when handling server rejection.
2004-02-28 12:19:49 +00:00
crs 612a2054e6 Updated Makefiles and win32 projects and removed dead classes. 2004-02-15 18:12:35 +00:00
crs 4c7e524896 Checkpointing centralized event queue stuff. Currently have:
an event queue and events, TCP sockets converted to use events,
unix multithreading and network stuff converted, and an X Windows
event queue subclass.
2004-01-24 16:09:25 +00:00
crs 4fea7719f3 Merged changes from 1.0 branch. 2003-09-02 21:41:00 +00:00
crs 1d17f865ea Added switch delay and double-tap options to win32 and added a
tray icon to the client and server that gives status feedback to
the user and allows the user to kill the app.
2003-03-12 22:34:07 +00:00
crs 154a474289 Made sure every file includes common.h directly or indirectly.
Also made sure common.h is included before any system headers.
2003-02-12 19:38:39 +00:00
crs f65921bc3f Refactored some platform dependent code into a new library,
lib/arch.  This should make porting easier.  Will probably
continue to refactor a little more, moving platform dependent
event handling stuff into lib/platform.
2003-01-04 22:01:32 +00:00
crs 9567a970a8 Changes to support building on solaris, irix, and darwin. Also
removed test for working fork (AC_FORK).
2002-12-25 10:35:59 +00:00
crs 9102fb80b9 Ported recent changes to win32 and fixed CRLF problems with project
files (most had CRCRCRLF).
2002-10-29 22:07:55 +00:00
crs 541276595e solaris configure and build fixes. without having solaris i
can only hope that these changes actually work.
2002-10-28 22:49:21 +00:00
crs 09e0750a11 Fixed CThreadRep to not raise a signal on the thread if it's
already dead.  Otherwise the signal could propagate to the
parent thread (at least on linux threads) and cause havoc.
2002-10-17 21:37:37 +00:00
crs c1797c6867 Added matching pthread_attr_destroy() for each pthread_attr_init()
in change 610.
2002-10-16 19:40:29 +00:00
crs c405c58c64 Renamed XThreadUnavailable to XMTThreadUnavailable and derived it
from XBase so it can be caught normally.  Changed client and server
to handle unavailable threads (in main loop, anyway).
2002-10-15 22:01:41 +00:00
crs abee021db2 Workaround for pthread bug on RedHat 7.2 on multiprocessor
systems.
2002-10-15 21:35:12 +00:00
crs d8dde48c2b Changed log() and logc() macros to LOG() and LOGC(), respectively.
This avoids a conflict with the standard math library log()
function.
2002-10-15 21:29:44 +00:00
crs 639cb26a7d removed pre-instantiation of templates in header file. 2002-08-11 11:50:07 +00:00
crs 435bb738e6 added win32 launcher program. also changed VC++ dsp and dsw
files to binary form so \r\n aren't converted.  added icons
to client and server apps on win32.
2002-08-11 11:49:36 +00:00
crs f6c3a9453b added copyright to top of each file. 2002-08-02 19:57:46 +00:00
crs 3f13217929 minor automake fixes. 2002-08-01 11:45:21 +00:00
crs 5bb5542a13 fixes to get vpath builds working (necessary for `make distcheck'). 2002-07-31 17:34:05 +00:00
crs fae797e220 Moved version header to base and it now uses VERSION macro
from config.h if available (which means version is now a
string, not three integers).  Changed version to 1.0.0 and
protocol version to 1.0.  And added MAINTAINERCLEANFILES
to makefiles to remove generated files.
2002-07-31 16:57:26 +00:00
crs 8c1f5f623b added EXTRA_* files to get `make dist' doing the right thing. 2002-07-31 16:27:06 +00:00
crs da361e9686 moved exception definition to header file. 2002-07-30 18:31:21 +00:00
crs fee4095624 Reorganized source tree. Moved client.cpp into cmd/synergy as
synergy.cpp and server.cpp into cmd/synergyd as synergyd.cpp.
Moved and renamed related files.  Moved remaining source files
into lib/....  Modified and added makefiles as appropriate.
Result is that library files are under lib with each library
in its own directory and program files are under cmd with each
command in its own directory.
2002-07-30 16:52:46 +00:00