diff --git a/configure b/configure
index 0cb457e9db4..3462dacbfd4 100755
--- a/configure
+++ b/configure
@@ -16149,6 +16149,7 @@ fi
 
 
 
+
 
 
 for ac_func in \
@@ -16165,6 +16166,7 @@ for ac_func in \
 	clone \
 	epoll_create \
 	finite \
+	fork \
 	fpclass \
 	fstatfs \
 	fstatvfs \
diff --git a/configure.ac b/configure.ac
index cd482da79f4..9a12968bfde 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1074,6 +1074,7 @@ AC_CHECK_FUNCS(\
 	clone \
 	epoll_create \
 	finite \
+	fork \
 	fpclass \
 	fstatfs \
 	fstatvfs \
diff --git a/dlls/gdi/printdrv.c b/dlls/gdi/printdrv.c
index 732b3f76c76..6c84d8fb4cb 100644
--- a/dlls/gdi/printdrv.c
+++ b/dlls/gdi/printdrv.c
@@ -481,6 +481,7 @@ static int CreateSpoolFile(LPCSTR pszOutput)
             return -1;
     }
     TRACE("command: '%s'\n", psCmdP);
+#ifdef HAVE_FORK
     if (*psCmdP == '|')
     {
         int fds[2];
@@ -510,6 +511,7 @@ static int CreateSpoolFile(LPCSTR pszOutput)
         TRACE("Need to execute a cmnd and pipe the output to it\n");
     }
     else
+#endif
     {
         char *buffer;
         WCHAR psCmdPW[MAX_PATH];
diff --git a/include/config.h.in b/include/config.h.in
index 8cdb8e51ef8..0997143e0d7 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -92,6 +92,9 @@
 /* Define to 1 if you have the <fontconfig/fontconfig.h> header file. */
 #undef HAVE_FONTCONFIG_FONTCONFIG_H
 
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
 /* Define to 1 if you have the `fpclass' function. */
 #undef HAVE_FPCLASS