diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5ae261d..a5b5f72 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -301,7 +301,7 @@
 check_function_exists(vsnprintf HAVE_VSNPRINTF)
 
 # Generate config.h and make sure the source finds it
-configure_file(config.h.cmake.in config.h)
+configure_file(config.h.in config.h)
 add_definitions(-DHAVE_CONFIG_H)
 include_directories(${CMAKE_BINARY_DIR})
 
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index 3ae8d61..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,58 +0,0 @@
-SUBDIRS = common po
-
-if BUILD_WIN
-SUBDIRS += win
-else
-SUBDIRS += unix
-endif
-
-ACLOCAL_AMFLAGS = -I m4
-
-if X86_64
-
-udmg: all
-	sh makemacpkg universal ${BUILDDIR32}
-
-endif
-
-dmg: all
-	sh makemacpkg
-
-tarball: all
-	sh maketarball
-
-servertarball: all
-	sh maketarball server
-
-EXTRA_DIST = CMakeLists.txt cmakescripts/getdate.bat LICENCE.TXT \
-	doc java media release config.h.cmake.in m4 BUILDING.txt
-
-dist-hook:
-	rm -rf `find $(distdir) -name .svn`
-
-java-viewer:
-	cd $(srcdir)/java/src/com/tigervnc/vncviewer; \
-	$(MAKE)
-
-xserver-install: install java-viewer
-	$(INSTALL) -m 755 ./xorg.build/bin/Xvnc $(DESTDIR)/$(bindir)/
-	$(INSTALL) -m 644 ./xorg.build/man/man1/Xvnc.1 $(DESTDIR)/$(mandir)/man1/Xvnc.1
-	$(INSTALL) -m 644 ./xorg.build/man/man1/Xserver.1 $(DESTDIR)/$(mandir)/man1/Xserver.1
-	mkdir -p $(DESTDIR)/$(prefix)/vnc/classes/
-	$(INSTALL) -m 644 $(srcdir)/java/src/com/tigervnc/vncviewer/index.vnc $(DESTDIR)/$(prefix)/vnc/classes/
-	$(INSTALL) -m 644 $(srcdir)/java/src/com/tigervnc/vncviewer/VncViewer.jar $(DESTDIR)/$(prefix)/vnc/classes/
-	$(INSTALL) -m 644 $(srcdir)/java/src/com/tigervnc/vncviewer/README $(DESTDIR)/$(prefix)/vnc/classes/
-	mkdir -p $(DESTDIR)/$(libdir)/dri/
-	$(INSTALL) -m 755 ./xorg.build/lib/dri/swrast_dri.so $(DESTDIR)/$(libdir)/dri/
-
-xserver-uninstall: uninstall
-	rm -f $(DESTDIR)/$(bindir)/Xvnc
-	rm -f $(DESTDIR)/$(mandir)/man1/Xvnc.1
-	rm -f $(DESTDIR)/$(mandir)/man1/Xserver.1
-	rm -f $(DESTDIR)/$(prefix)/vnc/classes/index.vnc
-	rm -f $(DESTDIR)/$(prefix)/vnc/classes/VncViewer.jar
-	rm -f $(DESTDIR)/$(prefix)/vnc/classes/README
-	rmdir $(DESTDIR)/$(prefix)/vnc/classes/
-	rmdir $(DESTDIR)/$(prefix)/vnc/
-	rm -f $(DESTDIR)/$(libdir)/dri/swrast_dri.so
-	rmdir $(DESTDIR)/$(libdir)/dri/
diff --git a/common/Makefile.am b/common/Makefile.am
deleted file mode 100644
index 88420d2..0000000
--- a/common/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-SUBDIRS = os
-
-if INCLUDED_ZLIB
-SUBDIRS += zlib
-endif
-
-SUBDIRS += rdr network Xregion rfb
-
-EXTRA_DIST = CMakeLists.txt
diff --git a/common/Xregion/Makefile.am b/common/Xregion/Makefile.am
deleted file mode 100644
index 7ea4c80..0000000
--- a/common/Xregion/Makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-noinst_LTLIBRARIES = libXregion.la
-
-HDRS = region.h Xregion.h
-
-libXregion_la_SOURCES = $(HDRS) Region.c
-
-EXTRA_DIST = CMakeLists.txt
diff --git a/common/network/Makefile.am b/common/network/Makefile.am
deleted file mode 100644
index ab8d5ae..0000000
--- a/common/network/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-noinst_LTLIBRARIES = libnetwork.la
-
-HDRS = Socket.h TcpSocket.h
-
-libnetwork_la_SOURCES = $(HDRS) TcpSocket.cxx
-
-libnetwork_la_CPPFLAGS = -I$(top_srcdir)/common
-
-EXTRA_DIST = CMakeLists.txt
diff --git a/common/os/Makefile.am b/common/os/Makefile.am
deleted file mode 100644
index ab4f2d7..0000000
--- a/common/os/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-noinst_LTLIBRARIES = libos.la
-
-HDRS = net.h print.h os.h tls.h
-
-libos_la_SOURCES = $(HDRS) print.c net.c os.cxx tls.cxx
-
-libos_la_CPPFLAGS = -I$(top_srcdir)/common
-
-EXTRA_DIST = CMakeLists.txt
diff --git a/common/rdr/Makefile.am b/common/rdr/Makefile.am
deleted file mode 100644
index 9fdea7e..0000000
--- a/common/rdr/Makefile.am
+++ /dev/null
@@ -1,26 +0,0 @@
-noinst_LTLIBRARIES = librdr.la
-
-HDRS = Exception.h FdInStream.h FdOutStream.h FixedMemOutStream.h \
-	HexInStream.h HexOutStream.h InStream.h MemInStream.h \
-	MemOutStream.h msvcwarning.h OutStream.h RandomStream.h \
-	SubstitutingInStream.h types.h TLSException.h TLSInStream.h \
-	TLSOutStream.h ZlibInStream.h ZlibOutStream.h
-
-librdr_la_SOURCES = $(HDRS) Exception.cxx FdInStream.cxx FdOutStream.cxx \
-	HexInStream.cxx HexOutStream.cxx InStream.cxx RandomStream.cxx \
-	TLSException.cxx TLSInStream.cxx TLSOutStream.cxx ZlibInStream.cxx \
-	ZlibOutStream.cxx
-
-librdr_la_CPPFLAGS = -I$(top_srcdir)/common
-librdr_la_LIBADD = @GNUTLS_LIBS@
-
-if INCLUDED_ZLIB
-librdr_la_CPPFLAGS += -I$(top_srcdir)/common/zlib
-librdr_la_LIBADD += $(top_builddir)/common/zlib/libz.la
-else
-if HAVE_GNUTLS
-librdr_la_LIBADD += -lz
-endif
-endif
-
-EXTRA_DIST = CMakeLists.txt
diff --git a/common/rfb/Makefile.am b/common/rfb/Makefile.am
deleted file mode 100644
index 6b64f65..0000000
--- a/common/rfb/Makefile.am
+++ /dev/null
@@ -1,69 +0,0 @@
-noinst_LTLIBRARIES = librfb.la
-
-VENCRYPT_HDRS = CSecurityTLS.h SSecurityTLS.h
-
-VENCRYPT_SRCS = CSecurityTLS.cxx SSecurityTLS.cxx
-
-HDRS = Blacklist.h CConnection.h \
-	CMsgHandler.h CMsgReader.h CMsgReaderV3.h CMsgWriter.h \
-	CMsgWriterV3.h ColourCube.h ColourMap.h ComparingUpdateTracker.h \
-	Configuration.h ConnParams.h CSecurity.h CSecurityNone.h \
-	CSecurityPlain.h CSecurityStack.h CSecurityVeNCrypt.h \
-	CSecurityVncAuth.h Cursor.h Decoder.h d3des.h Encoder.h \
-	encodings.h Exception.h hextileConstants.h hextileDecode.h \
-	HextileDecoder.h hextileEncodeBetter.h hextileEncode.h \
-	HextileEncoder.h Hostname.h HTTPServer.h ImageGetter.h InputHandler.h \
-	KeyRemapper.h keysymdef.h ListConnInfo.h Logger.h Logger_file.h \
-	Logger_stdio.h LogWriter.h msgTypes.h Password.h PixelBuffer.h \
-	PixelFormat.h PixelFormat.inl PixelTransformer.h Pixel.h RawDecoder.h \
-	RawEncoder.h Rect.h Region.h rreDecode.h RREDecoder.h rreEncode.h \
-	RREEncoder.h ScaledPixelBuffer.h ScaleFilters.h SConnection.h \
-	ScreenSet.h screenTypes.h SDesktop.h Security.h SecurityServer.h \
-	SecurityClient.h ServerCore.h SMsgHandler.h \
-	SMsgReader.h SMsgReaderV3.h SMsgWriter.h SMsgWriterV3.h SSecurity.h \
-	SSecurityNone.h SSecurityPlain.h SSecurityStack.h SSecurityVeNCrypt.h \
-	SSecurityVncAuth.h Threading.h tightDecode.h \
-	TightDecoder.h tightEncode.h TightEncoder.h TightPalette.h Timer.h \
-	TransImageGetter.h transInitTempl.h transTempl.h TrueColourMap.h \
-	UpdateTracker.h UserMsgBox.h UserPasswdGetter.h util.h \
-	VNCSConnectionST.h VNCServer.h VNCServerST.h XF86keysym.h \
-	zrleDecode.h ZRLEDecoder.h zrleEncode.h ZRLEEncoder.h
-
-librfb_la_SOURCES = $(HDRS) Blacklist.cxx CConnection.cxx CMsgHandler.cxx \
-	CMsgReader.cxx CMsgReaderV3.cxx CMsgWriter.cxx CMsgWriterV3.cxx \
-	CSecurityPlain.cxx CSecurityStack.cxx CSecurityVeNCrypt.cxx \
-	CSecurityVncAuth.cxx \
-	ComparingUpdateTracker.cxx Configuration.cxx ConnParams.cxx \
-	Cursor.cxx Decoder.cxx d3des.c Encoder.cxx \
-	HTTPServer.cxx HextileDecoder.cxx HextileEncoder.cxx \
-	KeyRemapper.cxx LogWriter.cxx Logger.cxx Logger_file.cxx \
-	Logger_stdio.cxx Password.cxx PixelBuffer.cxx PixelFormat.cxx \
-	PixelTransformer.cxx RREEncoder.cxx RREDecoder.cxx RawDecoder.cxx \
-	RawEncoder.cxx Region.cxx SConnection.cxx SMsgHandler.cxx \
-	SMsgReader.cxx SMsgReaderV3.cxx SMsgWriter.cxx SMsgWriterV3.cxx \
-	ServerCore.cxx Security.cxx SecurityServer.cxx SecurityClient.cxx \
-	SSecurityPlain.cxx SSecurityStack.cxx \
-	SSecurityVncAuth.cxx SSecurityVeNCrypt.cxx \
-	ScaledPixelBuffer.cxx ScaleFilters.cxx Timer.cxx TightDecoder.cxx \
-	TightEncoder.cxx TightPalette.cxx TransImageGetter.cxx \
-	UpdateTracker.cxx VNCSConnectionST.cxx \
-	VNCServerST.cxx ZRLEEncoder.cxx ZRLEDecoder.cxx encodings.cxx \
-	util.cxx
-
-if HAVE_GNUTLS
-librfb_la_SOURCES += $(VENCRYPT_HDRS) $(VENCRYPT_SRCS)
-endif
-
-librfb_la_CPPFLAGS = -I$(top_srcdir)/common -I$(top_srcdir)/win
-librfb_la_LIBADD = @GNUTLS_LIBS@
-
-if HAVE_PAM
-librfb_la_SOURCES += UnixPasswordValidator.cxx UnixPasswordValidator.h pam.c pam.h
-librfb_la_LIBADD += $(PAM_LIBS)
-endif
-
-if BUILD_WIN
-librfb_la_SOURCES += WinPasswdValidator.h WinPasswdValidator.cxx
-endif
-
-EXTRA_DIST = CMakeLists.txt
diff --git a/common/zlib/Makefile.am b/common/zlib/Makefile.am
deleted file mode 100644
index 07a0174..0000000
--- a/common/zlib/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-noinst_LTLIBRARIES = libz.la
-
-HDRS = crc32.h deflate.h gzguts.h inffast.h inffixed.h inflate.h inftrees.h \
-	trees.h zconf.h zlib.h zutil.h
-
-libz_la_SOURCES = $(HDRS) adler32.c compress.c crc32.c deflate.c gzclose.c \
-	gzlib.c gzread.c gzwrite.c inflate.c infback.c inftrees.c inffast.c \
-	trees.c uncompr.c zutil.c
-
-EXTRA_DIST = CMakeLists.txt
diff --git a/common/zlib/configure.ac b/common/zlib/configure.ac
deleted file mode 100644
index 532012a..0000000
--- a/common/zlib/configure.ac
+++ /dev/null
@@ -1,20 +0,0 @@
-#                                               -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-
-AC_PREREQ([2.57])
-AC_INIT([zlib], [1.1.4])
-AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2])
-
-# Checks for programs.
-AC_PROG_CC
-AC_PROG_LIBTOOL
-
-# Checks for header files.
-AC_CHECK_HEADERS([unistd.h errno.h])
-
-# Checks for library functions.
-AC_FUNC_MMAP
-
-AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/config.h.cmake.in b/config.h.in
similarity index 100%
rename from config.h.cmake.in
rename to config.h.in
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index e7ced46..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,249 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ([2.57])
-
-dnl Modify also RCVERSION variable when modifying release
-AC_INIT([tigervnc], [1.0.90], [http://www.tigervnc.org])
-RCVERSION="1,0,90,0"
-AC_SUBST([RCVERSION])
-
-BUILD=`date +%Y%m%d`
-AC_CONFIG_AUX_DIR([.])
-AM_INIT_AUTOMAKE([-Wall foreign dist-bzip2])
-
-AC_CONFIG_SUBDIRS([common/zlib])
-
-AC_CONFIG_HEADERS([config.h])
-
-dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_CXX
-AC_PROG_LIBTOOL
-AC_LANG([C++])
-AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION([0.14.4])
-
-case "`(uname -sr) 2>/dev/null`" in
-"SunOS 5"*)
-	SOLARIS=yes
-	USE_MITSHM=yes
-	USE_SUN_OVL=yes
-	;;
-"IRIX 6"*)
-	LDFLAGS="-L/usr/lib32 $LDFLAGS"
-	USE_MITSHM=yes
-	USE_READDISPLAY=yes
-	;;
-"LynxOS 2"*)
-	SJLJ_EXCEPTIONS=yes
-	;;
-esac
-
-BUILD_WIN=
-case "$host_os" in
-mingw32*)
-	CPPFLAGS="$CPPFLAGS -DWINVER=0x0500 -D_WIN32_IE=0x0500"
-	CXXFLAGS="$CXXFLAGS -mthreads"
-	BUILD_WIN=yes
-	AC_CHECK_TOOL([WINDRES], windres, [AC_MSG_ERROR(windres not found)])
-	;;
-mingw*)
-	AC_MSG_ERROR(["Only 32bit MinGW builds are supported"])
-	;;
-esac
-AM_CONDITIONAL([BUILD_WIN], [test "x$BUILD_WIN" = xyes])
-if test "x$BUILD_WIN" = xyes; then
-	AC_DEFINE([BUILD_WIN],1,[is it a windows build])
-fi
-
-dnl FIXME: Check for MIT-SHM properly, add a corresponding --with option.
-if test "$USE_MITSHM" = yes; then
-	MITSHM_DEFINE="-DHAVE_MITSHM"
-fi
-AC_SUBST(MITSHM_DEFINE)
-
-if test "$GCC" = yes; then
-	CFLAGS="$CFLAGS -Wall"
-	if test "$SOLARIS" = yes; then
-		CFLAGS="$CFLAGS -Wno-unknown-pragmas -Wno-implicit-int"
-	fi
-fi
-if test "$GXX" = yes; then
-	CXXFLAGS="$CXXFLAGS -Wall"
-	if test "$SOLARIS" = yes; then
-		CXXFLAGS="$CXXFLAGS -Wno-unknown-pragmas -fpermissive"
-	fi
-	if test "$SJLJ_EXCEPTIONS" = yes; then
-		CXXFLAGS="$CXXFLAGS -fsjlj-exceptions"
-	fi
-fi
-
-AC_PATH_XTRA
-
-dnl Check gnutls availability
-AC_ARG_ENABLE([gnutls],
-	AS_HELP_STRING([--enable-gnutls],
-		       [build in GNUTLS based encryption support (default yes)]),
-	[enable_gnutls="$enableval"], [enable_gnutls=yes])
-AC_ARG_VAR(GNUTLS_CFLAGS, [Custom C compiler flags for using GnuTLS, e.g. -I{GnuTLS directory}/include])
-AC_ARG_VAR(GNUTLS_LDFLAGS, [Custom linker flags for using GnuTLS, e.g. -L{GnuTLS directory}/lib -lgnutls])
-
-GNUTLS_LIBS=
-if test "x$enable_gnutls" = xyes; then
-	if test "x$GNUTLS_LDFLAGS" = "x"; then
-		GNUTLS_LDFLAGS='-lgnutls -lgcrypt -lgpg-error'
-		AC_CHECK_LIB([tasn1], [asn1_create_element], [GNUTLS_LDFLAGS="${GNUTLS_LDFLAGS} -ltasn1"])
-	fi
-	SAVE_LIBS=${LIBS}
-	LIBS="${LIBS} ${GNUTLS_LDFLAGS} -lz"
-	SAVE_CPPFLAGS=${CPPFLAGS}
-	CPPFLAGS="${CPPFLAGS} ${GNUTLS_CFLAGS}"
-	AC_MSG_CHECKING([for GnuTLS library])
-	AC_LINK_IFELSE(AC_LANG_CALL([], gnutls_global_init),
-		       [GNUTLS_LIBS=${GNUTLS_LDFLAGS}
-			AC_DEFINE(HAVE_GNUTLS, 1, [Is gnutls present? ])
-			AC_MSG_RESULT(yes)], AC_MSG_RESULT(no))
-	AC_MSG_CHECKING([for gnutls_transport_set_global_errno() function])
-	AC_LINK_IFELSE(AC_LANG_CALL([], gnutls_transport_set_global_errno),
-		       AC_MSG_RESULT(yes),
-		       [AC_DEFINE(HAVE_OLD_GNUTLS, 1, [Does gnutls lack the gnutls_transport_set_global_errno() function? ])
-			AC_MSG_RESULT(no)])
-	AC_MSG_CHECKING([for gnutls_x509_crt_print() function])
-	AC_LINK_IFELSE(AC_LANG_CALL([], gnutls_x509_crt_print),
-		       [AC_DEFINE(HAVE_GNUTLS_X509_CRT_PRINT, 1, [Is the gnutls_x509_crt_print() function present? ])
-			AC_MSG_RESULT(yes)],
-			AC_MSG_RESULT(no))
-	AC_CHECK_TYPES([gnutls_x509_crt_t, gnutls_datum_t,
-			gnutls_pk_algorithm_t, gnutls_sign_algorithm_t],
-			[], [], [#include <gnutls/gnutls.h>])
-	LIBS=${SAVE_LIBS}
-fi
-AC_SUBST([GNUTLS_LIBS])
-AM_CONDITIONAL([HAVE_GNUTLS], [ ! test "x$GNUTLS_LIBS" = x ])
-
-AC_ARG_ENABLE([pam],
-	AS_HELP_STRING([--enable-pam],
-		       [build in support for authenticating users using PAM (default yes)]),
-	[enable_pam="$enableval"], [enable_pam=yes])
-
-PAM_LIBS=
-if test "x$enable_pam" = xyes; then
-	AC_CHECK_LIB([pam], [pam_start], 
-		     [AC_CHECK_HEADER([security/pam_appl.h],
-				     [PAM_LIBS='-lpam'
-				      AC_DEFINE(HAVE_PAM, 1, [PAM available])],
-				     [], [#include <stdio.h>])])
-fi
-AC_SUBST([PAM_LIBS])
-AM_CONDITIONAL([HAVE_PAM], [ ! test "x$PAM_LIBS" = x ])
-
-VNCCONFIG_DIR='vncconfig'
-AC_ARG_ENABLE([vncconfig],
-	AS_HELP_STRING([--enable-vncconfig],
-		       [build the vncconfig utility (default yes)]),
-	[if test "$enableval" = no; then VNCCONFIG_DIR=; fi ], [])
-AC_SUBST(VNCCONFIG_DIR)
-
-dnl Check for the XTest X11 extension library.
-AC_CHECK_LIB(Xtst,XTestGrabControl,USE_XTEST=yes,USE_XTEST=,
-	     ["$X_LIBS" -lXext -lX11])
-if test "$USE_XTEST" = yes; then
-	XTEST_DEFINE='-DHAVE_XTEST'
-	XTEST_LIB=-lXtst
-else
-	echo Warning: No XTest extension, building x0vncserver view-only
-	XTEST_DEFINE=
-	XTEST_LIB=
-fi
-AC_SUBST(XTEST_DEFINE)
-AC_SUBST(XTEST_LIB)
-
-dnl Support for READDISPLAY (Irix) and SUN_OVL (Solaris) extensions
-dnl FIXME: Implement corresponding --with options.
-if test "$USE_READDISPLAY" = yes; then
-	READDISPLAY_DEFINE='-DHAVE_READDISPLAY'
-elif test "$USE_SUN_OVL" = yes; then
-	READDISPLAY_DEFINE='-DHAVE_SUN_OVL'
-else
-	READDISPLAY_DEFINE=
-fi
-AC_SUBST(READDISPLAY_DEFINE)
-
-dnl Under Lynx/OS 2.3, we have to link with -lbsd to resolve
-dnl gethostbyname, inet_addr, htons etc. Check if it's necessary.
-dnl NOTE: Did not want to use AC_SEARCH_LIBS which would add
-dnl   -lbsd to LIBS. We set INET_LIB instead.
-AC_LANG_SAVE
-AC_LANG_C
-AC_CHECK_FUNC(gethostbyname,INET_LIB_REQ=,INET_LIB_REQ=yes)
-if test "$INET_LIB_REQ" = yes; then
-	AC_CHECK_LIB(bsd,gethostbyname,INET_LIB=-lbsd,INET_LIB=)
-fi
-AC_LANG_RESTORE
-AC_SUBST(INET_LIB)
-
-AC_CHECK_FUNC(setenv, AC_DEFINE([HAVE_SETENV], [1], [Is setenv() present?]))
-
-dnl Check for zlib library
-INCLUDED_ZLIB=no
-AC_ARG_WITH([included-zlib],
-	AS_HELP_STRING([--with-included-zlib],
-		       [use libz which is distributed with VNC]),
-	[INCLUDED_ZLIB=yes],
-	[AC_SEARCH_LIBS([inflateEnd], [z], [], [INCLUDED_ZLIB=yes])])
-
-AM_CONDITIONAL([INCLUDED_ZLIB], [ test "x$INCLUDED_ZLIB" = xyes ])
-AC_CONFIG_SUBDIRS([zlib])
-
-dnl Check for libjpeg library
-AC_SEARCH_LIBS([jpeg_destroy_compress], [jpeg], [], [AC_MSG_ERROR(["libjpeg is required to build TigerVNC"])])
-
-AC_CHECK_FUNCS([vsnprintf snprintf strcasecmp strncasecmp])
-
-# Network functions
-AC_SEARCH_LIBS([inet_aton], [resolv])
-AC_CHECK_FUNCS([inet_aton])
-
-# IPv6 related functions
-AC_CHECK_FUNCS([inet_ntop getaddrinfo])
-
-AC_CHECK_TYPES([socklen_t], [], [], [[#include <sys/socket.h>]])
-
-AC_CHECK_HEADERS([sys/select.h])
-
-# Needed for WinVNC, but not part of mingw yet
-AC_CHECK_DECLS([CLSID_ActiveDesktop], [BUILD_WINVNC=yes], [],
-	       [[#include <windows.h>
-	         #include <shlguid.h>
-	         ]])
-AM_CONDITIONAL([BUILD_WINVNC], [ test "x$BUILD_WINVNC" = xyes ])
-
-# Packaging stuff
-AM_CONDITIONAL([X86_64], [test "x$host_cpu" = "xx86_64"])
-
-AC_SUBST(BUILD)
-
-AC_CONFIG_FILES([makemacpkg:release/makemacpkg.in])
-AC_CONFIG_FILES([maketarball:release/maketarball.in])
-
-AC_OUTPUT([
-Makefile
-common/Makefile
-common/os/Makefile
-common/rdr/Makefile
-common/network/Makefile
-common/Xregion/Makefile
-common/rfb/Makefile
-unix/Makefile
-unix/tx/Makefile
-unix/x0vncserver/Makefile
-unix/vncviewer/Makefile
-unix/vncconfig/Makefile
-unix/vncpasswd/Makefile
-win/Makefile
-win/vncviewer/Makefile
-win/rfb_win32/Makefile
-win/vncconfig/Makefile
-win/winvnc/Makefile
-win/resdefs.h
-po/Makefile.in
-])
diff --git a/po/Makevars b/po/Makevars
deleted file mode 100644
index 93e76d4..0000000
--- a/po/Makevars
+++ /dev/null
@@ -1,41 +0,0 @@
-# Makefile variables for PO directory in any package using GNU gettext.
-
-# Usually the message domain is the same as the package name.
-DOMAIN = $(PACKAGE)
-
-# These two variables depend on the location of this directory.
-subdir = po
-top_builddir = ..
-
-# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --no-location
-
-# This is the copyright holder that gets inserted into the header of the
-# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
-# package.  (Note that the msgstr strings, extracted from the package's
-# sources, belong to the copyright holder of the package.)  Translators are
-# expected to transfer the copyright for their translations to this person
-# or entity, or to disclaim their copyright.  The empty string stands for
-# the public domain; in this case the translators are expected to disclaim
-# their copyright.
-COPYRIGHT_HOLDER = RealVNC Ltd, Constantin Kaplinsky, Peter Astrand, Cendio AB
-
-# This is the email address or URL to which the translators shall report
-# bugs in the untranslated strings:
-# - Strings which are not entire sentences, see the maintainer guidelines
-#   in the GNU gettext documentation, section 'Preparing Strings'.
-# - Strings which use unclear terms or require additional context to be
-#   understood.
-# - Strings which make invalid assumptions about notation of date, time or
-#   money.
-# - Pluralisation problems.
-# - Incorrect English spelling.
-# - Incorrect formatting.
-# It can be your email address, or a mailing list address where translators
-# can write to without being subscribed, or the URL of a web page through
-# which the translators can contact you.
-MSGID_BUGS_ADDRESS = tigervnc-devel@lists.sourceforge.net
-
-# This is the list of locale categories, beyond LC_MESSAGES, for which the
-# message catalogs shall be used.  It is usually empty.
-EXTRA_LOCALE_CATEGORIES =
diff --git a/po/POTFILES.in b/po/POTFILES.in
deleted file mode 100644
index 0704ba7..0000000
--- a/po/POTFILES.in
+++ /dev/null
@@ -1,12 +0,0 @@
-# vncviewer_unix
-unix/vncviewer/AboutDialog.h
-unix/vncviewer/CConn.cxx
-unix/vncviewer/CConn.h
-unix/vncviewer/DesktopWindow.cxx
-unix/vncviewer/DesktopWindow.h
-unix/vncviewer/InfoDialog.h
-unix/vncviewer/OptionsDialog.h
-unix/vncviewer/parameters.h
-unix/vncviewer/PasswdDialog.h
-unix/vncviewer/ServerDialog.h
-unix/vncviewer/vncviewer.cxx
diff --git a/po/Rules-quot b/po/Rules-quot
deleted file mode 100644
index 9c2a995..0000000
--- a/po/Rules-quot
+++ /dev/null
@@ -1,47 +0,0 @@
-# Special Makefile rules for English message catalogs with quotation marks.
-
-DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
-
-.SUFFIXES: .insert-header .po-update-en
-
-en@quot.po-create:
-	$(MAKE) en@quot.po-update
-en@boldquot.po-create:
-	$(MAKE) en@boldquot.po-update
-
-en@quot.po-update: en@quot.po-update-en
-en@boldquot.po-update: en@boldquot.po-update-en
-
-.insert-header.po-update-en:
-	@lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
-	if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
-	tmpdir=`pwd`; \
-	echo "$$lang:"; \
-	ll=`echo $$lang | sed -e 's/@.*//'`; \
-	LC_ALL=C; export LC_ALL; \
-	cd $(srcdir); \
-	if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
-	  if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
-	    rm -f $$tmpdir/$$lang.new.po; \
-	  else \
-	    if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
-	      :; \
-	    else \
-	      echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
-	      exit 1; \
-	    fi; \
-	  fi; \
-	else \
-	  echo "creation of $$lang.po failed!" 1>&2; \
-	  rm -f $$tmpdir/$$lang.new.po; \
-	fi
-
-en@quot.insert-header: insert-header.sin
-	sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
-
-en@boldquot.insert-header: insert-header.sin
-	sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
-
-mostlyclean: mostlyclean-quot
-mostlyclean-quot:
-	rm -f *.insert-header
diff --git a/po/boldquot.sed b/po/boldquot.sed
deleted file mode 100644
index 4b937aa..0000000
--- a/po/boldquot.sed
+++ /dev/null
@@ -1,10 +0,0 @@
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
-s/“/“[1m/g
-s/”/[0m”/g
-s/‘/‘[1m/g
-s/’/[0m’/g
diff --git a/po/en@boldquot.header b/po/en@boldquot.header
deleted file mode 100644
index fedb6a0..0000000
--- a/po/en@boldquot.header
+++ /dev/null
@@ -1,25 +0,0 @@
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
-# This catalog furthermore displays the text between the quotation marks in
-# bold face, assuming the VT100/XTerm escape sequences.
-#
diff --git a/po/en@quot.header b/po/en@quot.header
deleted file mode 100644
index a9647fc..0000000
--- a/po/en@quot.header
+++ /dev/null
@@ -1,22 +0,0 @@
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
diff --git a/po/insert-header.sin b/po/insert-header.sin
deleted file mode 100644
index b26de01..0000000
--- a/po/insert-header.sin
+++ /dev/null
@@ -1,23 +0,0 @@
-# Sed script that inserts the file called HEADER before the header entry.
-#
-# At each occurrence of a line starting with "msgid ", we execute the following
-# commands. At the first occurrence, insert the file. At the following
-# occurrences, do nothing. The distinction between the first and the following
-# occurrences is achieved by looking at the hold space.
-/^msgid /{
-x
-# Test if the hold space is empty.
-s/m/m/
-ta
-# Yes it was empty. First occurrence. Read the file.
-r HEADER
-# Output the file's contents by reading the next line. But don't lose the
-# current line while doing this.
-g
-N
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/po/quot.sed b/po/quot.sed
deleted file mode 100644
index 0122c46..0000000
--- a/po/quot.sed
+++ /dev/null
@@ -1,6 +0,0 @@
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
deleted file mode 100644
index 2436c49..0000000
--- a/po/remove-potcdate.sin
+++ /dev/null
@@ -1,19 +0,0 @@
-# Sed script that remove the POT-Creation-Date line in the header entry
-# from a POT file.
-#
-# The distinction between the first and the following occurrences of the
-# pattern is achieved by looking at the hold space.
-/^"POT-Creation-Date: .*"$/{
-x
-# Test if the hold space is empty.
-s/P/P/
-ta
-# Yes it was empty. First occurrence. Remove the line.
-g
-d
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/unix/Makefile.am b/unix/Makefile.am
deleted file mode 100644
index 285f0c3..0000000
--- a/unix/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-SUBDIRS = ../common tx x0vncserver vncviewer vncpasswd @VNCCONFIG_DIR@
-
-dist_bin_SCRIPTS = vncserver
-
-man1_MANS = vncserver.man
-
-XVNCDIR = xserver/hw/vnc
-
-EXTRA_DIST = vncserver.man $(XVNCDIR) xserver15.patch xserver16.patch \
-	xserver17.patch xserver18.patch xserver19.patch build-xorg build-xorg-git \
-	download-xorg-7.4 download-xorg-7.5 xorg-7.5-patches xserver110.patch \
-	xorg-7.4-patches
-
-dist-hook:
-	rm -rf `find $(distdir) -name .svn`
diff --git a/unix/tx/Makefile.am b/unix/tx/Makefile.am
deleted file mode 100644
index 5766313..0000000
--- a/unix/tx/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-noinst_LTLIBRARIES = libtx.la
-
-HDRS = TXButton.h TXCheckbox.h TXDialog.h TXEntry.h TXImage.h TXLabel.h \
-	TXMenu.h TXMsgBox.h TXScrollbar.h TXViewport.h TXWindow.h
-
-libtx_la_SOURCES = $(HDRS) TXWindow.cxx TXScrollbar.cxx TXViewport.cxx \
-	TXImage.cxx TXMenu.cxx
-
-libtx_la_CPPFLAGS = -I$(top_srcdir)/common -I$(top_srcdir)/common/rfb \
-	@X_CFLAGS@ # X_CFLAGS are really CPPFLAGS
diff --git a/unix/vncconfig/Makefile.am b/unix/vncconfig/Makefile.am
deleted file mode 100644
index eae1b44..0000000
--- a/unix/vncconfig/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-bin_PROGRAMS = vncconfig
-
-man1_MANS = vncconfig.man
-
-HDRS = QueryConnectDialog.h vncExt.h
-
-vncconfig_SOURCES = $(HDRS) vncExt.c vncconfig.cxx QueryConnectDialog.cxx \
-	buildtime.c
-
-# X_CFLAGS are really CPPFLAGS
-vncconfig_CPPFLAGS = -I$(top_srcdir)/common -I$(top_srcdir)/unix/tx @X_CFLAGS@
-
-vncconfig_LDADD = $(top_builddir)/unix/tx/libtx.la \
-	$(top_builddir)/common/rfb/librfb.la \
-	$(top_builddir)/common/network/libnetwork.la \
-	$(top_builddir)/common/rdr/librdr.la @X_PRE_LIBS@ @X_LIBS@ -lX11 -lXext \
-	@X_EXTRA_LIBS@
-
-EXTRA_DIST = vncconfig.man
diff --git a/unix/vncpasswd/Makefile.am b/unix/vncpasswd/Makefile.am
deleted file mode 100644
index 7acc89f..0000000
--- a/unix/vncpasswd/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-bin_PROGRAMS = vncpasswd
-
-man1_MANS = vncpasswd.man
-
-vncpasswd_SOURCES = vncpasswd.cxx
-
-vncpasswd_CPPFLAGS = -I$(top_srcdir)/common
-
-vncpasswd_LDADD = $(top_builddir)/common/rfb/librfb.la \
-	$(top_builddir)/common/rdr/librdr.la \
-	$(top_builddir)/common/os/libos.la
-
-EXTRA_DIST = vncpasswd.man
diff --git a/unix/vncviewer/Makefile.am b/unix/vncviewer/Makefile.am
deleted file mode 100644
index 32d5c6c..0000000
--- a/unix/vncviewer/Makefile.am
+++ /dev/null
@@ -1,26 +0,0 @@
-bin_PROGRAMS = vncviewer
-
-man1_MANS = vncviewer.man
-
-HDRS = AboutDialog.h CConn.h DesktopWindow.h gettext.h InfoDialog.h \
-	OptionsDialog.h parameters.h PasswdDialog.h ServerDialog.h
-
-vncviewer_SOURCES = $(HDRS) DesktopWindow.cxx CConn.cxx vncviewer.cxx \
-	buildtime.c
-# X_CFLAGS are really CPPFLAGS
-vncviewer_CPPFLAGS = -I$(top_srcdir)/common -I$(top_srcdir)/unix \
-	-I$(top_srcdir)/unix/tx -I$(top_srcdir)/intl \
-	-DLOCALEDIR=\"$(localedir)\" @X_CFLAGS@
-
-vncviewer_LDADD = $(top_builddir)/unix/tx/libtx.la \
-	$(top_builddir)/common/rfb/librfb.la \
-	$(top_builddir)/common/network/libnetwork.la \
-	$(top_builddir)/common/rdr/librdr.la \
-	$(top_builddir)/common/os/libos.la \
-	@X_PRE_LIBS@ @X_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@ @GNUTLS_LIBS@ # @LIBINTL@
-
-if INCLUDED_ZLIB
-vncviewer_LDADD += $(top_builddir)/common/zlib/libz.la
-endif
-
-EXTRA_DIST = vncviewer.man
diff --git a/unix/x0vncserver/Makefile.am b/unix/x0vncserver/Makefile.am
deleted file mode 100644
index b37537c..0000000
--- a/unix/x0vncserver/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-bin_PROGRAMS = x0vncserver
-
-man1_MANS = x0vncserver.man
-
-HDRS = Geometry.h Image.h PollingManager.h PollingScheduler.h TimeMillis.h \
-	XPixelBuffer.h
-
-x0vncserver_SOURCES = $(HDRS) Image.cxx TimeMillis.cxx PollingScheduler.cxx \
-	PollingManager.cxx Geometry.cxx XPixelBuffer.cxx x0vncserver.cxx \
-	../vncconfig/QueryConnectDialog.cxx buildtime.c
-
-# X_CFLAGS are really CPPFLAGS
-x0vncserver_CPPFLAGS = -I$(top_srcdir)/common -I$(top_srcdir)/common/rfb \
-	-I$(top_srcdir)/unix/tx -I$(top_srcdir)/unix/vncconfig \
-	-I$(top_srcdir)/unix @XTEST_DEFINE@ @READDISPLAY_DEFINE@ \
-	@MITSHM_DEFINE@ @X_CFLAGS@
-
-x0vncserver_LDADD = $(top_builddir)/common/rfb/librfb.la \
-	$(top_builddir)/common/network/libnetwork.la \
-	$(top_builddir)/common/rdr/librdr.la \
-	$(top_builddir)/unix/tx/libtx.la @INET_LIB@ @X_PRE_LIBS@ @X_LIBS@ \
-	@XTEST_LIB@ -lXext -lX11 @X_EXTRA_LIBS@ @GNUTLS_LIBS@
-
-if INCLUDED_ZLIB
-x0vncserver_LDADD += $(top_builddir)/common/zlib/libz.la
-endif
-
-EXTRA_DIST = x0vncserver.man
diff --git a/win/CMakeLists.txt b/win/CMakeLists.txt
index 61afe4d..f8b5d5d 100644
--- a/win/CMakeLists.txt
+++ b/win/CMakeLists.txt
@@ -1,6 +1,6 @@
 include_directories(${CMAKE_SOURCE_DIR}/common ${CMAKE_SOURCE_DIR}/win)
 
-configure_file(resdefs.h.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/resdefs.h)
+configure_file(resdefs.h.in ${CMAKE_CURRENT_BINARY_DIR}/resdefs.h)
 
 add_subdirectory(rfb_win32)
 
diff --git a/win/Makefile.am b/win/Makefile.am
deleted file mode 100644
index 1958be9..0000000
--- a/win/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-SUBDIRS = rfb_win32 vncviewer
-
-if BUILD_WINVNC
-SUBDIRS += vncconfig winvnc
-endif
-
-EXTRA_DIST = logmessages LICENCE.TXT README.txt README_BINARY.txt \
-	resdefs.h.in tigervnc.iss.in wm_hooks CMakeLists.txt resdefs.h.cmake.in
-
-dist-hook:
-	rm -rf `find $(distdir) -name .svn`
diff --git a/win/resdefs.h.cmake.in b/win/resdefs.h.cmake.in
deleted file mode 100644
index b61db53..0000000
--- a/win/resdefs.h.cmake.in
+++ /dev/null
@@ -1,4 +0,0 @@
-#define __VERSIONSTR "@VERSION@\0"
-#define __RCVERSION @RCVERSION@
-#define __RCVERSIONSTR "@RCVERSION@\0"
-#cmakedefine WIN64
diff --git a/win/resdefs.h.in b/win/resdefs.h.in
index e86a92d..b61db53 100644
--- a/win/resdefs.h.in
+++ b/win/resdefs.h.in
@@ -1,3 +1,4 @@
 #define __VERSIONSTR "@VERSION@\0"
 #define __RCVERSION @RCVERSION@
 #define __RCVERSIONSTR "@RCVERSION@\0"
+#cmakedefine WIN64
diff --git a/win/rfb_win32/Makefile.am b/win/rfb_win32/Makefile.am
deleted file mode 100644
index c6ae74e..0000000
--- a/win/rfb_win32/Makefile.am
+++ /dev/null
@@ -1,111 +0,0 @@
-noinst_LTLIBRARIES = librfb_win32.la
-
-HDRS = \
-  AboutDialog.h \
-  BitmapInfo.h \
-  CKeyboard.h \
-  Clipboard.h \
-  CompatibleBitmap.h \
-  ComputerName.h \
-  CPointer.h \
-  CurrentUser.h \
-  DeviceContext.h \
-  DeviceFrameBuffer.h \
-  Dialog.h \
-  DIBSectionBuffer.h \
-  DynamicFn.h \
-  EventManager.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 \
-  resource.h \
-  ScaledDIBSectionBuffer.h \
-  SecurityPage.h \
-  SDisplayCoreDriver.h \
-  SDisplayCorePolling.h \
-  SDisplayCoreWMHooks.h \
-  SDisplay.h \
-  Security.h \
-  Service.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
-
-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 \
-  LaunchProcess.cxx \
-  ListViewControl.cxx \
-  LowLevelKeyEvents.cxx \
-  MonitorInfo.cxx \
-  MsgWindow.cxx \
-  OSVersion.cxx \
-  ProgressControl.cxx \
-  RegConfig.cxx \
-  Registry.cxx \
-  ScaledDIBSectionBuffer.cxx \
-  SecurityPage.cxx \
-  SDisplayCorePolling.cxx \
-  SDisplayCoreWMHooks.cxx \
-  SDisplay.cxx \
-  Security.cxx \
-  Service.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
-
-# These files rely on features not yet in upstream mingw
-if BUILD_WINVNC
-librfb_win32_la_SOURCES += \
-  CleanDesktop.h \
-  CleanDesktop.cxx
-endif
-
-librfb_win32_la_CPPFLAGS = -I$(top_srcdir)/common -I$(top_srcdir)/win
-librfb_win32_la_LIBADD =
-
-EXTRA_DIST = CMakeLists.txt
diff --git a/win/vncconfig/Makefile.am b/win/vncconfig/Makefile.am
deleted file mode 100644
index 5665ac4..0000000
--- a/win/vncconfig/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-bin_PROGRAMS = vncconfig
-
-HDRS = Authentication.h Connections.h Desktop.h Hooking.h Inputs.h Legacy.h \
-	PasswordDialog.h resource.h Sharing.h
-
-vncconfig_SOURCES = $(HDRS) Legacy.cxx PasswordDialog.cxx vncconfig.cxx
-
-vncconfig_CPPFLAGS = -I$(top_srcdir)/win -I$(top_srcdir)/common
-
-vncconfig_LDADD = $(top_builddir)/win/rfb_win32/librfb_win32.la \
-	$(top_builddir)/common/rfb/librfb.la \
-	$(top_builddir)/common/Xregion/libXregion.la \
-	$(top_builddir)/common/network/libnetwork.la \
-	$(top_builddir)/common/rdr/librdr.la -lws2_32 -lgdi32 -lversion -lole32 \
-	-lcomctl32 resources.o
-
-EXTRA_DIST = vncconfig.ico vncconfig.rc vncconfig.exe.manifest \
-	vncconfig.exe.manifest64 CMakeLists.txt
-
-resources.o: vncconfig.rc
-	$(WINDRES) -I$(top_builddir)/win $^ -o $@
diff --git a/win/vncviewer/Makefile.am b/win/vncviewer/Makefile.am
deleted file mode 100644
index b11dfa1..0000000
--- a/win/vncviewer/Makefile.am
+++ /dev/null
@@ -1,49 +0,0 @@
-bin_PROGRAMS = vncviewer
-
-HDRS = \
-  CConn.h \
-  CConnOptions.h \
-  CConnThread.h \
-  ConnectingDialog.h \
-  ConnectionDialog.h \
-  DesktopWindow.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 \
-  InfoDialog.cxx \
-  OptionsDialog.cxx \
-  UserPasswdDialog.cxx \
-  ViewerToolBar.cxx \
-  vncviewer.cxx
-
-vncviewer_CPPFLAGS = -I$(top_srcdir)/common -I$(top_srcdir)/win
-
-vncviewer_LDADD = $(top_builddir)/common/rfb/librfb.la \
-    $(top_builddir)/win/rfb_win32/librfb_win32.la \
-    $(top_builddir)/common/Xregion/libXregion.la \
-    $(top_builddir)/common/network/libnetwork.la \
-    $(top_builddir)/common/rdr/librdr.la \
-    $(top_builddir)/common/os/libos.la \
-    resources.o -lws2_32 -lgdi32 -luser32 -lcomctl32 -lversion -lcomdlg32
-
-vncviewer_LDFLAGS = -I$(top_srcdir)/win -mwindows
-
-EXTRA_DIST = vncviewer.rc vncviewer.ico cursor1.cur vncviewer.exe.manifest \
-	vncviewer.exe.manifest64 vncviewer.bmp toolbar.bmp CMakeLists.txt
-
-resources.o: vncviewer.rc
-	$(WINDRES) -I$(top_builddir)/win $^ -o $@
diff --git a/win/winvnc/Makefile.am b/win/winvnc/Makefile.am
deleted file mode 100644
index 736a7a9..0000000
--- a/win/winvnc/Makefile.am
+++ /dev/null
@@ -1,27 +0,0 @@
-bin_PROGRAMS = winvnc4
-
-HDRS = AddNewClientDialog.h ControlPanel.h JavaViewer.h ManagedListener.h \
-	QueryConnectDialog.h STrayIcon.h VNCServerService.h VNCServerWin32.h \
-	resource.h
-
-winvnc4_SOURCES = $(HDRS) buildTime.cxx ControlPanel.cxx JavaViewer.cxx \
-	ManagedListener.cxx QueryConnectDialog.cxx STrayIcon.cxx \
-	VNCServerService.cxx VNCServerWin32.cxx winvnc.cxx
-
-winvnc4_CPPFLAGS = -I$(top_srcdir)/common -I$(top_srcdir)/win
-
-winvnc4_LDADD = $(top_builddir)/common/rfb/librfb.la \
-	$(top_builddir)/win/rfb_win32/librfb_win32.la \
-	$(top_builddir)/common/Xregion/libXregion.la \
-	$(top_builddir)/common/network/libnetwork.la \
-	$(top_builddir)/common/rdr/librdr.la resources.o -lws2_32 -lgdi32 \
-	-lole32 -lcomctl32 -lversion
-
-winvnc4_LDFLAGS = -mwindows
-
-EXTRA_DIST = winvnc.rc winvnc.ico connected.ico icon_dis.ico connecte.ico \
-	winvnc4.exe.manifest winvnc4.exe.manifest64 winvnc.bmp index.vnc \
-	CMakeLists.txt
-
-resources.o: winvnc.rc
-	$(WINDRES) -I$(top_builddir)/win $^ -o $@
