summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Åstrand <astrand@cendio.se>2008-12-09 10:27:33 +0000
committerPeter Åstrand <astrand@cendio.se>2008-12-09 10:27:33 +0000
commiteaff3bc8fa335b322981173fb3a8bfa158d88227 (patch)
tree044a77f27839ef61ef9ec92853ddae31f7014c86
parent00e0dbfdcbad585795300ee9c7d8cabab5eb487c (diff)
downloadtigervnc-eaff3bc8fa335b322981173fb3a8bfa158d88227.tar.gz
tigervnc-eaff3bc8fa335b322981173fb3a8bfa158d88227.zip
Basic support for building Windows vncviewer using MinGW. This patch
includes non-intrusive changes, more tweaks will follow. Details: * Defining WINVER and _WIN32_IE in both common and win modules. * Need to build CFTMsgWriter and CFTMsgReader. * Added configure script and Makefiles. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3326 3789f03b-4d11-0410-bbf8-ca57d06f2519
-rw-r--r--common/configure.ac6
-rw-r--r--common/rfb/Makefile.am4
-rw-r--r--win/Makefile.am4
-rw-r--r--win/configure.ac30
-rw-r--r--win/rfb_win32/Makefile.am109
-rw-r--r--win/vncviewer/Makefile.am50
6 files changed, 201 insertions, 2 deletions
diff --git a/common/configure.ac b/common/configure.ac
index 25aa5f09..d590e051 100644
--- a/common/configure.ac
+++ b/common/configure.ac
@@ -25,6 +25,12 @@ case "`(uname -sr) 2>/dev/null`" in
;;
esac
+case "$host_os" in
+ mingw*)
+ CPPFLAGS="$CPPFLAGS -DWINVER=0x0500 -D_WIN32_IE=0x0500"
+ ;;
+esac
+
dnl FIXME: Remove duplication between this script and ../unix/configure.in
if test "$GCC" = yes; then
CFLAGS="$CFLAGS -Wall"
diff --git a/common/rfb/Makefile.am b/common/rfb/Makefile.am
index 29ffc950..25df0007 100644
--- a/common/rfb/Makefile.am
+++ b/common/rfb/Makefile.am
@@ -26,7 +26,7 @@ HDRS = Blacklist.h CapsContainer.h CapsList.h CConnection.h CFTMsgReader.h \
VNCServer.h VNCServerST.h zrleDecode.h ZRLEDecoder.h zrleEncode.h \
ZRLEEncoder.h
-librfb_la_SOURCES = $(HDRS) Blacklist.cxx CConnection.cxx CMsgHandler.cxx \
+librfb_la_SOURCES = $(HDRS) Blacklist.cxx CConnection.cxx CFTMsgReader.cxx CFTMsgWriter.cxx CMsgHandler.cxx \
CMsgReader.cxx CMsgReaderV3.cxx CMsgWriter.cxx CMsgWriterV3.cxx \
CSecurityVncAuth.cxx CapsContainer.cxx CapsList.cxx \
ComparingUpdateTracker.cxx Configuration.cxx ConnParams.cxx \
@@ -46,7 +46,7 @@ librfb_la_SOURCES = $(HDRS) Blacklist.cxx CConnection.cxx CMsgHandler.cxx \
VNCServerST.cxx ZRLEEncoder.cxx ZRLEDecoder.cxx encodings.cxx \
secTypes.cxx util.cxx
-librfb_la_CPPFLAGS = -I$(top_srcdir)
+librfb_la_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/../win
librfb_la_LIBADD =
if IRIX_COMPRESS
diff --git a/win/Makefile.am b/win/Makefile.am
new file mode 100644
index 00000000..5ab34c9b
--- /dev/null
+++ b/win/Makefile.am
@@ -0,0 +1,4 @@
+SUBDIRS = ../common rfb_win32 vncviewer
+
+ACLOCAL_AMFLAGS = -I m4
+
diff --git a/win/configure.ac b/win/configure.ac
new file mode 100644
index 00000000..b3c4e473
--- /dev/null
+++ b/win/configure.ac
@@ -0,0 +1,30 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_PREREQ([2.61])
+AC_INIT([tightvnc], [1.5.0a1], [http://www.tightvnc.com/bugs.html])
+AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2])
+
+AC_SUBST([COMMON_DIR], ['$(top_srcdir)/../common'])
+
+AC_CONFIG_SUBDIRS([../common])
+
+dnl Checks for programs.
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_LIBTOOL
+AC_LANG([C++])
+
+if test "$GCC" = yes; then
+ CFLAGS="$CFLAGS -Wall"
+fi
+if test "$GXX" = yes; then
+ CXXFLAGS="$CXXFLAGS -Wall"
+fi
+
+CPPFLAGS="$CPPFLAGS -DWINVER=0x0500 -D_WIN32_IE=0x0500"
+
+AC_PATH_XTRA
+
+AC_OUTPUT(Makefile
+ vncviewer/Makefile
+ rfb_win32/Makefile
+)
diff --git a/win/rfb_win32/Makefile.am b/win/rfb_win32/Makefile.am
new file mode 100644
index 00000000..9ba8e4b7
--- /dev/null
+++ b/win/rfb_win32/Makefile.am
@@ -0,0 +1,109 @@
+noinst_LTLIBRARIES = librfb_win32.la
+
+HDRS = \
+ AboutDialog.h \
+ BitmapInfo.h \
+ CKeyboard.h \
+ CleanDesktop.h \
+ Clipboard.h \
+ CompatibleBitmap.h \
+ ComputerName.h \
+ CPointer.h \
+ CurrentUser.h \
+ DeviceContext.h \
+ DeviceFrameBuffer.h \
+ Dialog.h \
+ DIBSectionBuffer.h \
+ DynamicFn.h \
+ EventManager.h \
+ FolderManager.h \
+ Handle.h \
+ IconInfo.h \
+ IntervalTimer.h \
+ keymap.h \
+ LaunchProcess.h \
+ ListViewControl.h \
+ LocalMem.h \
+ LogicalPalette.h \
+ LowLevelKeyEvents.h \
+ ModuleFileName.h \
+ MonitorInfo.h \
+ MsgBox.h \
+ MsgWindow.h \
+ OSVersion.h \
+ ProgressControl.h \
+ RegConfig.h \
+ Registry.h \
+ ScaledDIBSectionBuffer.h \
+ SDisplayCoreDriver.h \
+ SDisplayCorePolling.h \
+ SDisplayCoreWMHooks.h \
+ SDisplay.h \
+ Security.h \
+ Service.h \
+ SFileTransferManagerWin32.h \
+ SFileTransferWin32.h \
+ SInput.h \
+ SocketManager.h \
+ TCharArray.h \
+ Threading.h \
+ ToolBar.h \
+ TrayIcon.h \
+ TsSessions.h \
+ Win32Util.h \
+ WMCursor.h \
+ WMHooks.h \
+ WMNotifier.h \
+ WMPoller.h \
+ WMShatter.h \
+ WMWindowCopyRect.h
+
+
+## CleanDesktop.cxx not built - MinGW does not provide COM
+
+librfb_win32_la_SOURCES = $(HDRS) \
+ AboutDialog.cxx \
+ CKeyboard.cxx \
+ Clipboard.cxx \
+ CPointer.cxx \
+ CurrentUser.cxx \
+ DeviceContext.cxx \
+ DeviceFrameBuffer.cxx \
+ Dialog.cxx \
+ DIBSectionBuffer.cxx \
+ DynamicFn.cxx \
+ EventManager.cxx \
+ FolderManager.cxx \
+ LaunchProcess.cxx \
+ ListViewControl.cxx \
+ LowLevelKeyEvents.cxx \
+ MonitorInfo.cxx \
+ MsgWindow.cxx \
+ OSVersion.cxx \
+ ProgressControl.cxx \
+ RegConfig.cxx \
+ Registry.cxx \
+ ScaledDIBSectionBuffer.cxx \
+ SDisplayCorePolling.cxx \
+ SDisplayCoreWMHooks.cxx \
+ SDisplay.cxx \
+ Security.cxx \
+ Service.cxx \
+ SFileTransferManagerWin32.cxx \
+ SFileTransferWin32.cxx \
+ SInput.cxx \
+ SocketManager.cxx \
+ TCharArray.cxx \
+ Threading.cxx \
+ ToolBar.cxx \
+ TsSessions.cxx \
+ Win32Util.cxx \
+ WMCursor.cxx \
+ WMHooks.cxx \
+ WMNotifier.cxx \
+ WMPoller.cxx \
+ WMShatter.cxx \
+ WMWindowCopyRect.cxx
+
+librfb_win32_la_CPPFLAGS = -I$(top_srcdir) -I$(COMMON_DIR)
+librfb_win32_la_LIBADD =
diff --git a/win/vncviewer/Makefile.am b/win/vncviewer/Makefile.am
new file mode 100644
index 00000000..ff6a6d69
--- /dev/null
+++ b/win/vncviewer/Makefile.am
@@ -0,0 +1,50 @@
+bin_PROGRAMS = vncviewer
+
+HDRS = \
+ CConn.h \
+ CConnOptions.h \
+ CConnThread.h \
+ ConnectingDialog.h \
+ ConnectionDialog.h \
+ DesktopWindow.h \
+ FileTransfer.h \
+ FTBrowseDlg.h \
+ FTDialog.h \
+ FTListView.h \
+ FTProgress.h \
+ InfoDialog.h \
+ ListenServer.h \
+ ListenTrayIcon.h \
+ MRU.h \
+ OptionsDialog.h \
+ resource.h \
+ UserPasswdDialog.h \
+ ViewerToolBar.h
+
+vncviewer_SOURCES = $(HDRS) \
+ buildTime.cxx \
+ CConn.cxx \
+ CConnOptions.cxx \
+ CConnThread.cxx \
+ ConnectingDialog.cxx \
+ ConnectionDialog.cxx \
+ DesktopWindow.cxx \
+ FileTransfer.cxx \
+ FTBrowseDlg.cxx \
+ FTDialog.cxx \
+ FTListView.cxx \
+ FTProgress.cxx \
+ InfoDialog.cxx \
+ OptionsDialog.cxx \
+ UserPasswdDialog.cxx \
+ ViewerToolBar.cxx \
+ vncviewer.cxx
+
+vncviewer_CPPFLAGS = -I$(COMMON_DIR) -I$(top_srcdir)
+
+vncviewer_LDADD = $(COMMON_DIR)/rfb/librfb.la $(top_srcdir)/rfb_win32/librfb_win32.la $(COMMON_DIR)/Xregion/libXregion.la \
+ $(COMMON_DIR)/network/libnetwork.la $(COMMON_DIR)/rdr/librdr.la -lws2_32 -lgdi32 -luser32 -lcomctl32 -lversion -lcomdlg32
+
+vncviewer_LDFLAGS = -I$(top_srcdir)/win
+
+