mirror of
https://github.com/debauchee/barrier.git
synced 2026-05-21 06:45:22 -06:00
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.
This commit is contained in:
parent
0ed17ccca2
commit
5c29ae9967
66 changed files with 1623 additions and 6064 deletions
3
dist/nullsoft/Makefile.am
vendored
3
dist/nullsoft/Makefile.am
vendored
|
|
@ -14,8 +14,7 @@
|
|||
NULL =
|
||||
|
||||
EXTRA_DIST = \
|
||||
installer.dsp \
|
||||
installer.mak \
|
||||
nmake.mak \
|
||||
synergy.nsi \
|
||||
dosify.c \
|
||||
$(NULL)
|
||||
|
|
|
|||
114
dist/nullsoft/installer.dsp
vendored
114
dist/nullsoft/installer.dsp
vendored
|
|
@ -1,114 +0,0 @@
|
|||
# Microsoft Developer Studio Project File - Name="installer" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) External Target" 0x0106
|
||||
|
||||
CFG=installer - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "installer.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "installer.mak" CFG="installer - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "installer - Win32 Release" (based on "Win32 (x86) External Target")
|
||||
!MESSAGE "installer - Win32 Debug" (based on "Win32 (x86) External Target")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
|
||||
!IF "$(CFG)" == "installer - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "installer___Win32_Release"
|
||||
# PROP BASE Intermediate_Dir "installer___Win32_Release"
|
||||
# PROP BASE Cmd_Line "NMAKE /f installer.mak"
|
||||
# PROP BASE Rebuild_Opt "/a"
|
||||
# PROP BASE Target_File "installer.exe"
|
||||
# PROP BASE Bsc_Name "installer.bsc"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "."
|
||||
# PROP Intermediate_Dir "."
|
||||
# PROP Cmd_Line "nmake /nologo /f "installer.mak""
|
||||
# PROP Rebuild_Opt "/a"
|
||||
# PROP Target_File "..\..\build\SynergyInstaller.exe"
|
||||
# PROP Bsc_Name ""
|
||||
# PROP Target_Dir ""
|
||||
NSIS=makensis
|
||||
|
||||
!ELSEIF "$(CFG)" == "installer - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "installer___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "installer___Win32_Debug"
|
||||
# PROP BASE Cmd_Line "NMAKE /f installer.mak"
|
||||
# PROP BASE Rebuild_Opt "/a"
|
||||
# PROP BASE Target_File "installer.exe"
|
||||
# PROP BASE Bsc_Name "installer.bsc"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "."
|
||||
# PROP Intermediate_Dir "."
|
||||
# PROP Cmd_Line "echo "Can only build installer for Release configuration""
|
||||
# PROP Rebuild_Opt ""
|
||||
# PROP Target_File "dummy.exe"
|
||||
# PROP Bsc_Name ""
|
||||
# PROP Target_Dir ""
|
||||
NSIS=makensis
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "installer - Win32 Release"
|
||||
# Name "installer - Win32 Debug"
|
||||
|
||||
!IF "$(CFG)" == "installer - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "installer - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\dosify.c
|
||||
# PROP Intermediate_Dir "."
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\installer.mak
|
||||
# PROP Intermediate_Dir "."
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\synergy.nsi
|
||||
# PROP Intermediate_Dir "."
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
20
dist/nullsoft/installer.mak
vendored
20
dist/nullsoft/installer.mak
vendored
|
|
@ -1,20 +0,0 @@
|
|||
NULL=
|
||||
DEPTH=..\..
|
||||
|
||||
NSIS="D:\Program Files\NSIS\makensis"
|
||||
|
||||
DOCS = \
|
||||
COPYING \
|
||||
ChangeLog \
|
||||
$(NULL)
|
||||
|
||||
default: dosifydocs installer
|
||||
|
||||
installer:
|
||||
$(NSIS) synergy.nsi
|
||||
|
||||
dosifydocs: dosify.exe
|
||||
.\dosify.exe $(DEPTH) . $(DOCS)
|
||||
|
||||
dosify.exe: dosify.c
|
||||
$(CC) /nologo /Yd /Zi /MLd /Fe$@ $**
|
||||
63
dist/nullsoft/nmake.mak
vendored
Normal file
63
dist/nullsoft/nmake.mak
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# synergy -- mouse and keyboard sharing utility
|
||||
# Copyright (C) 2007 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.
|
||||
|
||||
NSIS = "$(PROGRAMFILES)\NSIS\makensis.exe"
|
||||
NSIS_FLAGS = /NOCD /V1
|
||||
|
||||
BIN_INSTALLER_SRC = dist\nullsoft
|
||||
BIN_INSTALLER_DST = $(BUILD_DST)\$(BIN_INSTALLER_SRC)
|
||||
BIN_DOSIFY_EXE = "$(BIN_INSTALLER_DST)\dosify.exe"
|
||||
BIN_DOSIFY_C = \
|
||||
"$(BIN_INSTALLER_SRC)\dosify.c" \
|
||||
$(NULL)
|
||||
BIN_DOSIFY_OBJ = \
|
||||
"$(BIN_INSTALLER_DST)\dosify.obj" \
|
||||
$(NULL)
|
||||
|
||||
BIN_INSTALLER_NSI = "$(BIN_INSTALLER_SRC)\synergy.nsi"
|
||||
BIN_INSTALLER_EXE = "$(BUILD_DST)\SynergyInstaller.exe"
|
||||
BIN_INSTALLER_DOCS = \
|
||||
COPYING \
|
||||
ChangeLog \
|
||||
$(NULL)
|
||||
BIN_INSTALLER_DOS_DOCS = \
|
||||
$(BUILD_DST)\COPYING.txt \
|
||||
$(BUILD_DST)\ChangeLog.txt \
|
||||
$(NULL)
|
||||
|
||||
C_FILES = $(C_FILES) $(BIN_DOSIFY_C)
|
||||
OBJ_FILES = $(OBJ_FILES) $(BIN_DOSIFY_OBJ)
|
||||
OPTPROGRAMS = $(OPTPROGRAMS) $(BIN_DOSIFY_EXE)
|
||||
|
||||
# Build rules.
|
||||
$(BIN_DOSIFY_OBJ): $(BIN_DOSIFY_C)
|
||||
@$(ECHO) Compile $(BIN_DOSIFY_C)
|
||||
-@$(MKDIR) $(BIN_INSTALLER_DST) 2>NUL:
|
||||
$(cc) $(cdebug) $(cflags) $(cvars) /Fo$@ /Fd$(@:.obj=.pdb) $**
|
||||
$(BIN_DOSIFY_EXE): $(BIN_DOSIFY_OBJ)
|
||||
@$(ECHO) Link $(@F)
|
||||
$(link) $(ldebug) $(conlflags) $(conlibsmt) /out:$@ $**
|
||||
|
||||
# Convert text files from Unix to DOS format.
|
||||
$(BIN_INSTALLER_DOS_DOCS): $(BIN_DOSIFY_EXE) $(BIN_INSTALLER_DOCS)
|
||||
@$(ECHO) Convert text files to DOS format
|
||||
$(BIN_DOSIFY_EXE) "." "$(BUILD_DST)" $(BIN_INSTALLER_DOCS)
|
||||
|
||||
# Allow installers for both debug and release.
|
||||
$(BIN_INSTALLER_EXE): $(BIN_INSTALLER_NSI) all $(BIN_INSTALLER_DOS_DOCS)
|
||||
@$(ECHO) Build $(@F)
|
||||
$(NSIS) $(NSIS_FLAGS) /DOUTPUTDIR=$(@D) /DOUTPUTFILE=$@ $(BIN_INSTALLER_NSI)
|
||||
installer: $(BIN_INSTALLER_EXE)
|
||||
debug-installer:
|
||||
@$(MAKE) /nologo /f $(MAKEFILE) DEBUG=1 installer
|
||||
release-installer:
|
||||
@$(MAKE) /nologo /f $(MAKEFILE) NODEBUG=1 installer
|
||||
69
dist/nullsoft/synergy.nsi
vendored
69
dist/nullsoft/synergy.nsi
vendored
|
|
@ -7,14 +7,15 @@
|
|||
|
||||
;--------------------------------
|
||||
|
||||
; Path to root of tree
|
||||
!define DEPTH "..\.."
|
||||
!ifndef OUTPUTDIR
|
||||
!define OUTPUTDIR "build\Release"
|
||||
!endif
|
||||
|
||||
; The name of the installer
|
||||
Name "Synergy"
|
||||
|
||||
; The file to write
|
||||
OutFile "${DEPTH}\build\SynergyInstaller.exe"
|
||||
OutFile "${OUTPUTFILE}"
|
||||
|
||||
; The default installation directory
|
||||
InstallDir $PROGRAMFILES\Synergy
|
||||
|
|
@ -42,7 +43,7 @@ ComponentText "This will install Synergy on your computer. Select the optional
|
|||
DirText "Choose a directory to install Synergy to:"
|
||||
UninstallText "This will uninstall Synergy from your computer."
|
||||
LicenseText "Synergy is distributed under the GNU GPL:"
|
||||
LicenseData "COPYING.txt"
|
||||
LicenseData ${OUTPUTDIR}\COPYING.txt
|
||||
|
||||
;--------------------------------
|
||||
|
||||
|
|
@ -55,38 +56,38 @@ Section "Synergy (required)"
|
|||
SetOutPath $INSTDIR
|
||||
|
||||
; Put files there
|
||||
File "${DEPTH}\build\synergy.exe"
|
||||
File "${DEPTH}\build\synergyc.exe"
|
||||
File "${DEPTH}\build\synergys.exe"
|
||||
File "${DEPTH}\build\*.dll"
|
||||
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\toc.html
|
||||
File ${DEPTH}\doc\trouble.html
|
||||
File "${OUTPUTDIR}\synergy.exe"
|
||||
File "${OUTPUTDIR}\synergyc.exe"
|
||||
File "${OUTPUTDIR}\synergys.exe"
|
||||
File "${OUTPUTDIR}\*.dll"
|
||||
File "${OUTPUTDIR}\COPYING.txt"
|
||||
File "${OUTPUTDIR}\ChangeLog.txt"
|
||||
File doc\PORTING
|
||||
File doc\about.html
|
||||
File doc\authors.html
|
||||
File doc\autostart.html
|
||||
File doc\banner.html
|
||||
File doc\compiling.html
|
||||
File doc\configuration.html
|
||||
File doc\contact.html
|
||||
File doc\developer.html
|
||||
File doc\faq.html
|
||||
File doc\history.html
|
||||
File doc\home.html
|
||||
File doc\index.html
|
||||
File doc\license.html
|
||||
File doc\news.html
|
||||
File doc\roadmap.html
|
||||
File doc\running.html
|
||||
File doc\security.html
|
||||
File doc\synergy.css
|
||||
File doc\tips.html
|
||||
File doc\toc.html
|
||||
File doc\trouble.html
|
||||
|
||||
SetOutPath $INSTDIR\images
|
||||
File ${DEPTH}\doc\images\logo.gif
|
||||
File ${DEPTH}\doc\images\warp.gif
|
||||
File doc\images\logo.gif
|
||||
File doc\images\warp.gif
|
||||
|
||||
; Write the installation path into the registry
|
||||
WriteRegStr HKLM SOFTWARE\Synergy "Install_Dir" "$INSTDIR"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue