--- gnupg-2.1.6/configure.ac.orig	2015-07-31 13:32:15.206073200 +0300
+++ gnupg-2.1.6/configure.ac	2015-07-31 13:32:25.944999200 +0300
@@ -468,27 +468,6 @@
 #define GNUPG_PRIVATE_KEYS_DIR  "private-keys-v1.d"
 #define GNUPG_OPENPGP_REVOC_DIR "openpgp-revocs.d"
 
-/* For some systems (DOS currently), we hardcode the path here.  For
-   POSIX systems the values are constructed by the Makefiles, so that
-   the values may be overridden by the make invocations; this is to
-   comply with the GNU coding standards.  Note that these values are
-   only defaults.  */
-#ifdef HAVE_DOSISH_SYSTEM
-# ifdef HAVE_DRIVE_LETTERS
-#  define GNUPG_BINDIR      "c:\\gnupg"
-#  define GNUPG_LIBEXECDIR  "c:\\gnupg"
-#  define GNUPG_LIBDIR      "c:\\gnupg"
-#  define GNUPG_DATADIR     "c:\\gnupg"
-#  define GNUPG_SYSCONFDIR  "c:\\gnupg"
-# else
-#  define GNUPG_BINDIR      "\\gnupg"
-#  define GNUPG_LIBEXECDIR  "\\gnupg"
-#  define GNUPG_LIBDIR      "\\gnupg"
-#  define GNUPG_DATADIR     "\\gnupg"
-#  define GNUPG_SYSCONFDIR  "\\gnupg"
-# endif
-#endif
-
 /* Derive some other constants. */
 #if !(defined(HAVE_FORK) && defined(HAVE_PIPE) && defined(HAVE_WAITPID))
 #define EXEC_TEMPFILE_ONLY
--- gnupg-2.1.6/am/cmacros.am.orig	2015-07-31 13:41:32.741314100 +0300
+++ gnupg-2.1.6/am/cmacros.am	2015-07-31 13:41:49.626625400 +0300
@@ -22,14 +22,12 @@
 # platform to create source files.
 AM_CPPFLAGS += -DLOCALEDIR=\"$(localedir)\"
 
-if ! HAVE_DOSISH_SYSTEM
 AM_CPPFLAGS += -DGNUPG_BINDIR="\"$(bindir)\""            \
                -DGNUPG_LIBEXECDIR="\"$(libexecdir)\""    \
                -DGNUPG_LIBDIR="\"$(libdir)/@PACKAGE@\""  \
                -DGNUPG_DATADIR="\"$(datadir)/@PACKAGE@\"" \
                -DGNUPG_SYSCONFDIR="\"$(sysconfdir)/@PACKAGE@\"" \
                -DGNUPG_LOCALSTATEDIR="\"$(localstatedir)\""
-endif
 
 
 # If a specific protect tool program has been defined, pass its name
--- gnupg-2.1.6/doc/mkdefsinc.c.orig	2015-07-31 13:44:21.170469500 +0300
+++ gnupg-2.1.6/doc/mkdefsinc.c	2015-07-31 13:44:29.263660100 +0300
@@ -31,21 +31,6 @@
 #include "config.h"
 /* When building for Windows the -D macros do not have appropriate
    values.  We provide replacements here.  */
-#ifdef HAVE_W32_SYSTEM
-# undef  GNUPG_BINDIR
-# undef  GNUPG_LIBEXECDIR
-# undef  GNUPG_LIBDIR
-# undef  GNUPG_DATADIR
-# undef  GNUPG_SYSCONFDIR
-# undef  GNUPG_LOCALSTATEDIR
-# define GNUPG_BINDIR        "INSTDIR/bin"
-# define GNUPG_LIBEXECDIR    "INSTDIR/bin"
-# define GNUPG_LIBDIR        "INSTDIR/lib/" PACKAGE_NAME
-# define GNUPG_DATADIR       "INSTDIR/share/" PACKAGE_NAME
-# define GNUPG_SYSCONFDIR    "APPDATA/GNU/etc/" PACKAGE_NAME
-# define GNUPG_LOCALSTATEDIR "APPDATA/GNU"
-#endif /*HAVE_W32_SYSTEM*/
-
 
 static int verbose;
 
