--- gimp-2.8.10/configure.ac.orig	2014-02-25 22:03:04.931800000 +0400
+++ gimp-2.8.10/configure.ac	2014-02-25 22:20:04.452800000 +0400
@@ -1805,6 +1805,12 @@
   AM_PATH_PYTHON2(python2_required_version,,
                   [pycheck_error([Python 2 (python2_required_version or newer)], [it])])
   AM_CHECK_PYTHON_HEADERS(, [pycheck_error([Python 2 headers], [them])])
+  if test "x$platform_win32" = "xyes"; then
+    AM_CHECK_PYTHON_LIBS(, AC_MSG_ERROR([Python libs not found. Windows requires Python modules to be explicitly linked to libpython.]))
+  fi
+
+  PYTHON_SO=`$PYTHON -c "import distutils.sysconfig, sys; get = distutils.sysconfig.get_config_var; sys.stdout.write(get('EXT_SUFFIX') or get('SO') or '.so');"`
+  AC_SUBST(PYTHON_SO)
 
   # Win32 needs all symbols resolved for linking, even for DLLs
   # Assume the link library is in $exec_prefix/libs
@@ -1812,11 +1818,8 @@
   # not documented so we won't rely on internal implementation
   PYLINK_LIBS=
   if test "x$platform_win32" = "xyes"; then
-    PYBIN_PATH="$py_exec_prefix\pythonw.exe"
-    PYTHON_INCLUDES=`echo "$PYTHON_INCLUDES" | sed -e 's/\\\\/\\//g'`
-    py_exec_prefix=`echo "$py_exec_prefix" | sed -e 's/\\\\/\\//g'`
-    pylibversion=`echo $PYTHON_VERSION | sed -e 's/\\.//'`
-    PYLINK_LIBS="-L${py_exec_prefix}/libs -lpython${pylibversion}"
+    PYBIN_PATH="$PYTHON"
+    PYLINK_LIBS="$PYTHON_LIBS"
   else
     PYBIN_PATH="$PYTHON"
   fi
--- gimp-2.10.14/m4macros/pythondev.m4.orig	2014-02-25 22:10:07.300400000 +0400
+++ gimp-2.10.14/m4macros/pythondev.m4	2014-02-25 22:11:52.210400000 +0400
@@ -220,11 +220,14 @@
 [AC_REQUIRE([AM_PATH_PYTHON2])
 AC_MSG_CHECKING(for headers required to compile python extensions)
 dnl deduce PYTHON_INCLUDES
-py_prefix=`$PYTHON -c "import sys; print(sys.prefix)"`
-py_exec_prefix=`$PYTHON -c "import sys; print(sys.exec_prefix)"`
-PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
-if test "$py_prefix" != "$py_exec_prefix"; then
-  PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
+if test "x$PYTHON_INCLUDES" = x; then
+  PYTHON_CONFIG=`which $PYTHON`-config
+  if test -x "$PYTHON_CONFIG"; then
+    PYTHON_INCLUDES=`$PYTHON_CONFIG --includes 2>/dev/null`
+  else
+    PYTHON_INCLUDES=`$PYTHON -c "import distutils.sysconfig, sys; sys.stdout.write(distutils.sysconfig.get_python_inc(True))"`
+    PYTHON_INCLUDES="-I$PYTHON_INCLUDES"
+  fi
   if test "$PYTHON_PLATFORM" = "win32"; then
     dnl Win32 doesn't always have a versioned directory for headers
     PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include"
@@ -245,3 +245,28 @@
 $2])
 CPPFLAGS="$save_CPPFLAGS"
 ])
+
+dnl a macro to check for ability to python
+dnl  AM_CHECK_PYTHON_LIBS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
+dnl function also defines PYTHON_LIBS
+AC_DEFUN([AM_CHECK_PYTHON_LIBS],
+[AC_REQUIRE([AM_PATH_PYTHON])
+AC_MSG_CHECKING(for libraries required to python)
+dnl deduce PYTHON_LIBS
+py_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`
+if test "x$PYTHON_LIBS" = x; then
+	PYTHON_LIBS="-L${py_prefix}/lib -lpython${PYTHON_VERSION}"
+fi
+if test "x$PYTHON_LIB_LOC" = x; then
+	PYTHON_LIB_LOC="${py_prefix}/lib"
+fi
+AC_SUBST(PYTHON_LIBS)
+AC_SUBST(PYTHON_LIB_LOC)
+dnl check if the headers exist:
+save_LIBS="$LIBS"
+LIBS="$LIBS $PYTHON_LIBS"
+AC_TRY_LINK_FUNC(Py_Initialize, dnl
+         [LIBS="$save_LIBS"; AC_MSG_RESULT(yes); $1], dnl
+         [LIBS="$save_LIBS"; AC_MSG_RESULT(no); $2])
+
+])
