Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -693,10 +693,33 @@ ]) AS_IF([test x"$enable_sockets" != x"no" -a x"$enable_threads" != x"no"], [ AC_SUBST(OFHTTPCLIENTTESTS_M, "OFHTTPClientTests.m") ]) + +case "$host" in + *-*-mingw*) + have_processes="yes" + ;; + *) + AC_CHECK_FUNCS([fork pipe dup2 execvp kill], [ + if test x"$ac_cv_func_fork" = x"yes" \ + -a x"$ac_cv_func_pipe" = x"yes" \ + -a x"$ac_cv_func_dup2" = x"yes" \ + -a x"$ac_cv_func_execvp" = x"yes" \ + -a x"$ac_cv_func_kill" = x"yes"; then + have_processes="yes" + fi + ], [ + break + ]) + ;; +esac +AS_IF([test x"$have_processes" = x"yes"], [ + AC_SUBST(OFPROCESS_M, "OFProcess.m") + AC_DEFINE(OF_HAVE_PROCESSES, 1, [Whether we have processes]) +]) AS_IF([test x"$objc_runtime" = x"Apple runtime"], [ AC_CHECK_HEADER(Foundation/NSObject.h, [ AC_SUBST(FOUNDATION_COMPAT_M, "foundation-compat.m") AC_SUBST(BRIDGE, "bridge") Index: extra.mk.in ================================================================== --- extra.mk.in +++ extra.mk.in @@ -22,10 +22,11 @@ FOUNDATION_COMPAT_M = @FOUNDATION_COMPAT_M@ INSTANCE_M = @INSTANCE_M@ LOOKUP_S = @LOOKUP_S@ OFBLOCKTESTS_M = @OFBLOCKTESTS_M@ OFHTTPCLIENTTESTS_M = @OFHTTPCLIENTTESTS_M@ +OFPROCESS_M = @OFPROCESS_M@ OFSTREAMOBSERVER_KQUEUE_M = @OFSTREAMOBSERVER_KQUEUE_M@ OFSTREAMOBSERVER_POLL_M = @OFSTREAMOBSERVER_POLL_M@ OFSTREAMOBSERVER_SELECT_M = @OFSTREAMOBSERVER_SELECT_M@ PROPERTIESTESTS_M = @PROPERTIESTESTS_M@ REEXPORT_LIBOBJC = @REEXPORT_LIBOBJC@ Index: src/Makefile ================================================================== --- src/Makefile +++ src/Makefile @@ -31,11 +31,11 @@ OFMutableString.m \ OFNull.m \ OFNumber.m \ OFObject.m \ OFObject+Serialization.m \ - OFProcess.m \ + ${OFPROCESS_M} \ OFRunLoop.m \ OFSeekableStream.m \ OFSet.m \ OFSHA1Hash.m \ OFSortedList.m \ Index: src/ObjFW.h ================================================================== --- src/ObjFW.h +++ src/ObjFW.h @@ -56,11 +56,13 @@ # import "OFHTTPRequestReply.h" # import "OFHTTPClient.h" # import "OFHTTPServer.h" #endif -#import "OFProcess.h" +#ifdef OF_HAVE_PROCESSES +# import "OFProcess.h" +#endif #import "OFHash.h" #import "OFMD5Hash.h" #import "OFSHA1Hash.h" Index: src/objfw-defs.h.in ================================================================== --- src/objfw-defs.h.in +++ src/objfw-defs.h.in @@ -8,12 +8,13 @@ #undef OF_HAVE_GCC_ATOMIC_OPS #undef OF_HAVE_OSATOMIC #undef OF_HAVE_OSATOMIC_64 #undef OF_HAVE_PTHREADS #undef OF_HAVE_PLUGINS +#undef OF_HAVE_PROCESSES #undef OF_HAVE_PTHREAD_SPINLOCKS #undef OF_HAVE_RECURSIVE_PTHREAD_MUTEXES #undef OF_HAVE_SCHED_YIELD #undef OF_HAVE_SOCKETS #undef OF_HAVE_THREADS #undef OF_OBJFW_RUNTIME #undef SIZE_MAX