Add Darwin/Mac OS X support to the build system.

diff --git a/configure b/configure
index 1f61966..7c4f9ee 100755
--- a/configure
+++ b/configure
@@ -5878,6 +5878,70 @@
 
 fi
 
+
+echo "$as_me:$LINENO: checking for poll in -lpoll" >&5
+echo $ECHO_N "checking for poll in -lpoll... $ECHO_C" >&6
+if test "${ac_cv_lib_poll_poll+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpoll  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char poll ();
+int
+main ()
+{
+poll ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_poll_poll=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_poll_poll=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_poll_poll" >&5
+echo "${ECHO_T}$ac_cv_lib_poll_poll" >&6
+if test $ac_cv_lib_poll_poll = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBPOLL 1
+_ACEOF
+
+  LIBS="-lpoll $LIBS"
+
+fi
+
 echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
 echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6
 if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then
@@ -12521,6 +12585,62 @@
         then
           LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
           LDDLL="\$(CC) -Wl,-G,-B,symbolic"
+
+        else
+          echo "$as_me:$LINENO: checking whether we can build a Mach-O (Mac OS X/Darwin) dll" >&5
+echo $ECHO_N "checking whether we can build a Mach-O (Mac OS X/Darwin) dll... $ECHO_C" >&6
+if test "${ac_cv_c_dll_macho+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_wine_try_cflags_saved=$CFLAGS
+CFLAGS="$CFLAGS -bundle"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_dll_macho="yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_c_dll_macho="no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+CFLAGS=$ac_wine_try_cflags_saved
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_dll_macho" >&5
+echo "${ECHO_T}$ac_cv_c_dll_macho" >&6
+          if test "$ac_cv_c_dll_macho" = "yes"
+          then
+            LIBEXT="dylib"
+            LDDLL="\$(CC) -bundle -flat_namespace -undefined suppress"
+            LDSHARED="\$(CC) -dynamiclib"
+            CFLAGS="$CFLAGS -ffixed-r13 -no-cpp-precomp"
+          fi
         fi
       fi
     fi
@@ -12675,6 +12795,9 @@
   cygwin*|mingw32*)
     LDPATH="PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\""
  ;;
+  darwin*|macosx*)
+    LDPATH="DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\""
+ ;;
   *)
     LDPATH="LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\""
  ;;
diff --git a/configure.ac b/configure.ac
index 99e0681..b3475df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -137,6 +137,8 @@
 AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
 dnl Check for -lxpg4 for FreeBSD
 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
+dnl Check for -lpoll for Mac OS X/Darwin
+AC_CHECK_LIB(poll,poll)
 dnl Check for -lpthread
 AC_CHECK_LIB(pthread,pthread_create,AC_SUBST(LIBPTHREAD,"-lpthread"))
 
@@ -915,6 +917,17 @@
         then
           LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
           LDDLL="\$(CC) -Wl,-G,-B,symbolic"
+
+        else
+          AC_CACHE_CHECK(whether we can build a Mach-O (Mac OS X/Darwin) dll, ac_cv_c_dll_macho,
+            [WINE_TRY_CFLAGS([-bundle], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")])
+          if test "$ac_cv_c_dll_macho" = "yes"
+          then
+            LIBEXT="dylib"
+            LDDLL="\$(CC) -bundle -flat_namespace -undefined suppress"
+            LDSHARED="\$(CC) -dynamiclib"
+            CFLAGS="$CFLAGS -ffixed-r13 -no-cpp-precomp"
+          fi
         fi
       fi
     fi
@@ -943,6 +956,8 @@
 case $build_os in
   cygwin*|mingw32*)
     AC_SUBST(LDPATH,"PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$PATH\"") ;;
+  darwin*|macosx*)
+    AC_SUBST(LDPATH,"DYLD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$DYLD_LIBRARY_PATH\"") ;;
   *)
     AC_SUBST(LDPATH,"LD_LIBRARY_PATH=\"\$(TOOLSDIR)/libs/unicode:\$\$LD_LIBRARY_PATH\"") ;;
 esac
diff --git a/include/config.h.in b/include/config.h.in
index feaf9e1..3db9348 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -248,6 +248,9 @@
 /* Define to 1 if you have the `ossaudio' library (-lossaudio). */
 #undef HAVE_LIBOSSAUDIO
 
+/* Define to 1 if you have the `poll' library (-lpoll). */
+#undef HAVE_LIBPOLL
+
 /* Define to 1 if you have the `resolv' library (-lresolv). */
 #undef HAVE_LIBRESOLV
 
diff --git a/libs/Makelib.rules.in b/libs/Makelib.rules.in
index 87dfb9f..1ab497b 100644
--- a/libs/Makelib.rules.in
+++ b/libs/Makelib.rules.in
@@ -31,7 +31,13 @@
 $(LIBNAME).dll: $(OBJS) $(DEFNAME) Makefile.in
 	$(DLLWRAP) --def $(SRCDIR)/$(DEFNAME) -o $@ $(OBJS) $(EXTRALIBS)
 
-.PHONY: install-lib-so install-lib-dll install-dev-so install-dev-dll
+$(LIBNAME).$(SOVERSION).dylib: $(OBJS) Makefile.in
+	$(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
+
+$(LIBNAME).dylib: $(LIBNAME).$(SOVERSION).dylib
+	$(RM) $@ && $(LN_S) $(LIBNAME).$(SOVERSION).dylib $@
+
+.PHONY: install-lib-so install-lib-dll install-lib-dylib install-dev-so install-dev-dll install-dev-dylib
 
 install-lib-so: $(LIBNAME).so.$(SOVERSION) dummy
 	$(MKINSTALLDIRS) $(libdir)
@@ -41,6 +47,10 @@
 	$(MKINSTALLDIRS) $(libdir)
 	$(INSTALL_DATA) $(LIBNAME).dll $(libdir)/$(LIBNAME).dll
 
+install-lib-dylib: $(LIBNAME).$(SOVERSION).dylib dummy
+	$(MKINSTALLDIRS) $(libdir)
+	$(INSTALL_PROGRAM) $(LIBNAME).$(SOVERSION).dylib $(libdir)/$(LIBNAME).$(SOVERSION).dylib
+
 install-dev-so: dummy
 	$(MKINSTALLDIRS) $(libdir)
 	cd $(libdir) && $(RM) $(LIBNAME).so && $(LN_S) $(LIBNAME).so.$(SOVERSION) $(LIBNAME).so
@@ -49,11 +59,15 @@
 	$(MKINSTALLDIRS) $(libdir)
 	$(INSTALL_DATA) $(LIBNAME).a $(libdir)/$(LIBNAME).a
 
+install-dev-dylib: dummy
+	$(MKINSTALLDIRS) $(libdir)
+	cd $(libdir) && $(RM) $(LIBNAME).dylib && $(LN_S) $(LIBNAME).$(SOVERSION).dylib $(LIBNAME).dylib
+
 install install-lib:: $(LIBEXT:%=install-lib-%)
 install install-dev:: $(LIBEXT:%=install-dev-%)
 
 uninstall::
-	$(RM) $(libdir)/$(LIBNAME).a $(libdir)/$(LIBNAME).dll $(libdir)/$(LIBNAME).so $(libdir)/$(LIBNAME).so.$(SOVERSION)
+	$(RM) $(libdir)/$(LIBNAME).a $(libdir)/$(LIBNAME).dll $(libdir)/$(LIBNAME).so $(libdir)/$(LIBNAME).so.$(SOVERSION) $(libdir)/$(LIBNAME).dylib $(libdir)/$(LIBNAME).$(SOVERSION).dylib
 
 clean::
-	$(RM) $(LIBNAME).so.$(SOVERSION) $(LIBNAME).dll
+	$(RM) $(LIBNAME).so.$(SOVERSION) $(LIBNAME).dll $(LIBNAME).$(SOVERSION).dylib
diff --git a/tools/winemaker b/tools/winemaker
index 245739d..6911300 100755
--- a/tools/winemaker
+++ b/tools/winemaker
@@ -2403,10 +2403,26 @@
       LDSHARED="\$(CC) -Wl,-Bshareable,-Bforcearchive"
       LDXXSHARED="\$(CXX) -Wl,-Bshareable,-Bforcearchive"
       LDDLLFLAGS="" #FIXME
+    else
+      AC_CACHE_CHECK([whether we can build a Mach-O (Mac OS X/Darwin) dll],
+                   ac_cv_c_dll_macho,
+      [saved_cflags=$CFLAGS
+      CFLAGS="$CFLAGS -bundle"
+      AC_TRY_LINK(,[return 1], ac_cv_c_dll_macho="yes", ac_cv_c_dll_macho="no")
+      CFLAGS=$saved_cflags
+      ])
+      if test "$ac_cv_c_dll_macho" = "yes"
+      then
+        LDSHARED="\$(CC) -bundle -flat_namespace -undefined suppress"
+        LDXXSHARED="\$(CXX) -bundle -flat_namespace -undefined suppress"
+        LDDLLFLAGS="-fno-common"
+        CFLAGS="$CFLAGS -ffixed-r13 -no-cpp-precomp -Dsocklen_t=u_int32_t"
+        CXXFLAGS="$CXXFLAGS -ffixed-r13 -no-cpp-precomp -Dsocklen_t=u_int32_t"
+      fi
     fi
   fi
 fi
-if test "$ac_cv_c_dll_linux" = "no" -a "$ac_cv_c_dll_unixware" = "no" -a "$ac_cv_c_dll_netbsd" = "no"
+if test "$ac_cv_c_dll_linux" = "no" -a "$ac_cv_c_dll_unixware" = "no" -a "$ac_cv_c_dll_netbsd" = "no" -a "$ac_cv_c_dll_macho" = "no"
 then
   AC_MSG_ERROR([Could not find how to build a dynamically linked library])
 fi
@@ -2455,6 +2471,20 @@
     CXXFLAGS="$CXXFLAGS -D__sun__"
 fi
 
+dnl *** check for the need to define __powerpc__
+
+AC_CACHE_CHECK(whether we need to define __powerpc__,ac_cv_cpp_def_powerpc,
+ AC_EGREP_CPP(yes,[#if (defined(__ppc__) || defined(__PPC__) || defined(__POWERPC__)) && !defined(__powerpc__)
+yes
+#endif],
+ ac_cv_cpp_def_powerpc="yes", ac_cv_cpp_def_powerpc="no"))
+if test "$ac_cv_cpp_def_powerpc" = "yes"
+then
+    CFLAGS="$CFLAGS -D__powerpc__"
+    CXXFLAGS="$CXXFLAGS -D__powerpc__"
+fi
+
+
 dnl **** Test Winelib-related features of the C++ compiler
 AC_LANG_CPLUSPLUS()
 if test "x${GCC}" = "xyes"
@@ -2710,9 +2740,12 @@
 then
   WINE_LIBRARY_ROOT=":/usr/lib/wine:/usr/local/lib:/usr/local/lib/wine:/opt/wine/lib"
 else
-  AC_PATH_FILE(WINE_LIBRARY_ROOT,[libwine.so],[
-    AC_MSG_ERROR([Could not find the Wine libraries (libwine.so)])
-  ],$WINE_LIBRARY_ROOT)
+  AC_PATH_FILE(WINE_LIBRARY_ROOT,[libwine.so],
+    [
+    AC_PATH_FILE(WINE_LIBRARY_ROOT,[libwine.dylib],
+      [AC_MSG_ERROR([Could not find the Wine libraries (libwine.dylib or libwine.so)])],
+      $WINE_LIBRARY_ROOT)
+    ], $WINE_LIBRARY_ROOT)
 fi
 AC_PATH_LIBRARY(WINE_LIBRARY_ROOT,[-lwine],[],[
   AC_MSG_ERROR([Could not link with the Wine libraries (libwine.so)])
@@ -2746,6 +2779,7 @@
     WINE_DLL_ROOT="/lib:/lib/wine:/usr/lib:/usr/lib/wine:/usr/local/lib:/usr/local/lib/wine"
   fi
 fi
+
 AC_PATH_FILE(WINE_DLL_ROOT,[libntdll.def],[
   AC_MSG_ERROR([Could not find the Wine dlls (libntdll.def)])
 ],[$WINE_DLL_ROOT])
@@ -2771,7 +2805,13 @@
   AC_MSG_ERROR([Could not find Wine's wrc tool])
 fi
 
-LDPATH="LD_LIBRARY_PATH=\"$LDPATH:\$\$LD_LIBRARY_PATH\""
+case $build_os in
+  darwin*|macosx*)
+    LDPATH="DYLD_LIBRARY_PATH=\"$LDPATH:\$\$DYLD_LIBRARY_PATH\"";;
+  *)
+    LDPATH="LD_LIBRARY_PATH=\"$LDPATH:\$\$LD_LIBRARY_PATH\""
+esac
+
 AC_SUBST(LDPATH)
 AC_SUBST(WINE_INCLUDE_PATH)
 AC_SUBST(WINE_LIBRARY_PATH)
@@ -3000,8 +3040,6 @@
 LDSHARED  = @LDSHARED@
 LDXXSHARED= @LDXXSHARED@
 LDDLLFLAGS= @LDDLLFLAGS@
-STRIP     = strip
-STRIPFLAGS= --strip-unneeded
 LN_S      = @LN_S@
 RM        = rm -f
 MV        = mv