diff -uNr root.orig/Makefile root/Makefile
--- root.orig/Makefile	Tue Dec 12 01:21:59 2000
+++ root/Makefile	Tue Jan 30 18:02:58 2001
@@ -166,23 +166,29 @@
 
 # special rules (need to be defined before generic ones)
 cint/src/%.o: cint/src/%.cxx
-	$(CXX) $(OPT) $(CINTCXXFLAGS) -o $@ -c $<
+	$(CXX) $(OPT) $(CINTCXXFLAGS) -c $<
+	mv `basename $@` $@
 
 cint/src/%.o: cint/src/%.c
-	$(CC) $(OPT) $(CINTCFLAGS) -o $@ -c $<
+	$(CC) $(OPT) $(CINTCFLAGS) -c $<
+	mv `basename $@` $@
 
 %.o: %.cxx
-	$(CXX) $(OPT) $(CXXFLAGS) -o $@ -c $<
+	$(CXX) $(OPT) $(CXXFLAGS) -c $<
+	mv `basename $@` $@
 
 %.o: %.c
-	$(CC) $(OPT) $(CFLAGS) -o $@ -c $<
+	$(CC) $(OPT) $(CFLAGS) -c $<
+	mv `basename $@` $@
 
 %.o: %.f
 ifeq ($(F77),f2c)
 	f2c -a -A $<
-	$(CC) $(F77OPT) $(CFLAGS) -o $@ -c $*.c
+	$(CC) $(F77OPT) $(CFLAGS) -c $*.c
+	mv `basename $@` $@
 else
-	$(F77) $(F77OPT) $(F77FLAGS) -o $@ -c $<
+	$(F77) $(F77OPT) $(F77FLAGS) -c $<
+	mv `basename $@` $@
 endif
 
 
diff -uNr root.orig/base/inc/RConfig.h root/base/inc/RConfig.h
--- root.orig/base/inc/RConfig.h	Mon Dec 11 02:57:39 2000
+++ root/base/inc/RConfig.h	Fri Feb  2 19:23:37 2001
@@ -95,8 +95,10 @@
 #   endif
 #endif
 
-#if defined(linux)
-#   include <features.h>
+#if defined(linux) || defined(__APPLE__)
+#   if !defined(__APPLE__)
+#      include <features.h>
+#   endif
 #   if __GNU_LIBRARY__ == 6
 #      ifndef R__GLIBC
 #         define R__GLIBC
@@ -156,6 +158,16 @@
 #   if __GNUC_MINOR__ >= 90   /* egcs */
 #      define R__PPCEGCS
 #   endif
+#endif
+
+#if defined(__APPLE__) && defined(__ppc__)
+#   define R__DARWIN
+#   define R__MKLINUX
+#   define R__LINUX
+#   define R__UNIX
+#   define NEED_SIGJMP
+#   define R__PPCEGCS
+#   define R__NOSTATS         /* problem using stats with FreeBSD malloc/free */
 #endif
 
 #if defined(__Lynx__) && defined(__powerpc__)
diff -uNr root.orig/base/src/TMapFile.cxx root/base/src/TMapFile.cxx
--- root.orig/base/src/TMapFile.cxx	Thu Dec 14 00:13:45 2000
+++ root/base/src/TMapFile.cxx	Fri Feb  2 23:23:09 2001
@@ -96,7 +96,7 @@
 #include "TClass.h"
 #include "TMath.h"
 
-#ifdef R__UNIX
+#if defined(R__UNIX) && !defined(R__DARWIN)
 #define HAVE_SEMOP
 #include <sys/types.h>
 #include <sys/ipc.h>
diff -uNr root.orig/build/Module.mk root/build/Module.mk
--- root.orig/build/Module.mk	Sun Jan 21 00:05:54 2001
+++ root/build/Module.mk	Sun Jan 21 00:41:42 2001
@@ -17,7 +17,7 @@
 #RMKDEPCFLAGS := -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".obj\"
 RMKDEPCFLAGS := -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".o\"
 else
-GCCLIBDIR    := $(shell gcc -v 2>&1 | grep '/usr' | sed -e 's;.*\(/usr/lib/gcc-lib/.*\)/specs;\1;')
+GCCLIBDIR    := $(shell gcc -v 2>&1 | grep '/usr/local/lib/' | sed -e 's;.*\(/usr/local/lib/gcc-lib/.*\)/specs;\1;')
 PREINCDIR    := \"$(GCCLIBDIR)/include\"
 INCLUDEDIR   := \"/usr/include\"
 POSTINCDIR   := \"$(shell strings $(GCCLIBDIR)/cpp | grep include/g++)\"
@@ -68,4 +68,5 @@
 
 ##### local rules #####
 $(RMKDEPO): %.o: %.c
-	$(CC) $(OPT) $(CFLAGS) $(RMKDEPCFLAGS) -o $@ -c $<
+	$(CC) $(OPT) $(CFLAGS) $(RMKDEPCFLAGS) -c $<
+	mv `basename $@` $@
diff -uNr root.orig/cint/Module.mk root/cint/Module.mk
--- root.orig/cint/Module.mk	Tue Jan 16 03:00:45 2001
+++ root/cint/Module.mk	Sun Jan 21 05:07:31 2001
@@ -42,6 +42,9 @@
 ifeq ($(PLATFORM),linux)
 CINTS2       += $(MODDIRS)/libstrm.cxx
 endif
+ifeq ($(PLATFORM),darwin)
+CINTS2       += $(MODDIRS)/libstrm.cxx
+endif
 ifeq ($(PLATFORM),fbsd)
 CINTS2       += $(MODDIRS)/libstrm.cxx
 endif
diff -uNr root.orig/clib/src/Getline.c root/clib/src/Getline.c
--- root.orig/clib/src/Getline.c	Fri Nov 24 00:53:02 2000
+++ root/clib/src/Getline.c	Tue Jan 23 04:27:10 2001
@@ -346,6 +346,12 @@
 #endif
 #endif
 
+#if defined(__APPLE__) && defined(__ppc__)
+#ifndef unix
+#define unix
+#endif
+#endif
+
 #ifdef unix
 #include <unistd.h>
 #if !defined(__osf__) && !defined(_AIX)       /* W.Karig@gsi.de */
@@ -354,6 +360,9 @@
 
 #if defined(__linux__) && defined(__powerpc__)
 #   define R__MKLINUX       // = linux on PowerMac
+#endif
+#if defined(__APPLE__) && defined(__ppc__)
+#   define R__MKLINUX       // = MacOSX
 #endif
 #if defined(__linux__) && defined(__alpha__)
 #   define R__ALPHALINUX    // = linux on Alpha
diff -uNr root.orig/config/ARCHS root/config/ARCHS
--- root.orig/config/ARCHS	Tue Dec 12 21:18:52 2000
+++ root/config/ARCHS	Tue Jan 30 09:33:46 2001
@@ -36,3 +36,4 @@
 lynxos               for LynxOS with gcc
 win32                for Win32 with VC++
 win32egcs            for Win32 with egcs (Cygwin)
+darwin               for MacOS X and Darwin
diff -uNr root.orig/config/Makefile.darwin root/config/Makefile.darwin
--- root.orig/config/Makefile.darwin	Thu Jan  1 09:00:00 1970
+++ root/config/Makefile.darwin	Fri Feb  2 13:48:04 2001
@@ -0,0 +1,91 @@
+# Makefile of ROOT for linuxppc with glibc and gcc2.95
+
+PLATFORM      = darwin
+
+ifeq (debug,$(findstring debug,$(ROOTBUILD)))
+OPT           = -g
+NOOPT         =
+else
+OPT           = -O
+NOOPT         =
+endif
+
+# Compiler:
+# CXX           = g++
+CXX           = c++
+CC            = cc
+# Darwin requires -fno-common to generate dynamic libs
+# Main prorams then have to have separate flags
+
+# CXXFLAGS      = -pipe -Wall -fsigned-char -dynamic -fno-common \
+#		-fno-rtti -fno-exceptions -fvtable-thunks \
+#               -I/usr/X11R6/include $(EXTRA_CXXFLAGS)
+
+CXXFLAGS      = -pipe -Wall -fsigned-char -dynamic \
+                -I/usr/X11R6/include $(EXTRA_CXXFLAGS)
+
+# CFLAGS        = -pipe -Wall -dynamic -fsigned-char -fno-common \
+#                 -I/usr/X11R6/include $(EXTRA_CFLAGS)
+
+CFLAGS        = -pipe -Wall -dynamic -fsigned-char \
+                -I/usr/X11R6/include $(EXTRA_CFLAGS)
+
+MAINCXXFLAGS  = -pipe -Wall -fsigned-char -dynamic \
+                -I/usr/X11R6/include $(EXTRA_CXXFLAGS)
+MAINCFLAGS    = -pipe -Wall -dynamic -fsigned-char \
+                -I/usr/X11R6/include $(EXTRA_CFLAGS)
+
+# CINTCXXFLAGS  = -pipe -Wall -dynamic -fsigned-char -fno-common \
+#		-fno-rtti -fno-exceptions -fvtable-thunks \
+#		-DG__REGEXP -DG__UNIX \
+#               -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \
+#                $(EXTRA_CXXFLAGS)
+
+CINTCXXFLAGS  = -pipe -Wall -dynamic -fsigned-char \
+		-DG__REGEXP -DG__UNIX \
+                -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \
+                $(EXTRA_CXXFLAGS)
+
+# CINTCFLAGS    = -pipe -Wall -dynamic -fsigned-char -fno-common \
+#		-DG__REGEXP -DG__UNIX \
+#               -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \
+#               $(EXTRA_CFLAGS)
+
+CINTCFLAGS    = -pipe -Wall -dynamic -fsigned-char \
+		-DG__REGEXP -DG__UNIX \
+                -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \
+                $(EXTRA_CFLAGS)
+
+# Linker:
+# LD            = g++
+LD            = c++
+LDFLAGS       = $(OPT) $(EXTRA_LDFLAGS)
+# SOFLAGS       = -bundle -undefined suppress -install_name 
+
+# for g++
+# SOFLAGS       = -dylib -r -nostartfiles -nodefaultlibs -install_name 
+
+# c++ does not understand -nodefaultlibs
+SOFLAGS       = -dylib -r -nostartfiles -install_name 
+
+# SOFLAGS       = -dylib -r -nostdlib -lcc_dynamic -install_name 
+
+# SOFLAGS       = -dynamiclib -undefined suppress \
+#		  -read_only_relocs suppress -nostdlib -lcc -install_name 
+SOEXT         = dylib
+
+# System libraries:
+SYSLIBS       = -L/usr/local/lib -lm -ldl -ldyld -lc
+XLIBS         = $(XPMLIBDIR) $(XPMLIB) -L/usr/X11R6/lib -lX11 -lSM -lICE
+# CILIBS        = -L/usr/local/lib -lm -ltermcap -ldl -ldyld
+CILIBS        = -L/usr/local/lib -lm -ldl -ldyld -lc
+CRYPTLIBS     = 
+
+# Fortran:
+F77           = g77
+F77FLAGS      = -fPIC
+F77LIBS       = -L/usr/local/lib -lg2c
+
+# Extras
+GLLIBEXTRA    = $(OPENGLLIBDIR) $(OPENGLULIB) $(OPENGLLIB) \
+                -L/usr/X11R6/lib -lXmu
diff -uNr root.orig/config/root-config.in root/config/root-config.in
--- root.orig/config/root-config.in	Mon Dec 11 02:59:50 2000
+++ root/config/root-config.in	Thu Feb  1 23:45:28 2001
@@ -216,6 +216,12 @@
    auxlibs="-lm -lstdc++"
    auxglibs=${auxlibs}
    ;;
+darwin)
+   # Darwin with gcc
+   auxcflags="-fsigned-char -I/usr/X11R6/include -I/usr/local/include"
+   auxlibs="-L/usr/lib -lstdc++ -L/usr/local/lib -lm -ldl -ldyld"
+   auxglibs=${auxlibs}
+   ;;
 hiux)
    # Hitachi HIUX
    auxcflags=
diff -uNr root.orig/configure root/configure
--- root.orig/configure	Wed Jan 17 02:24:22 2001
+++ root/configure	Sun Jan 21 00:26:33 2001
@@ -244,7 +244,7 @@
     xpmlib=no
     xpmdir=no
     if [ "x$enable_shared" != "xno" ]; then
-        libs="libXpm.so libXpm.sl libXpm.a"
+        libs="libXpm.so libXpm.sl libXpm.a libXpm.dylib"
     else
         libs="libXpm.a"
     fi
@@ -296,7 +296,7 @@
     threadlib=no
     threaddir=no
     if [ "x$enable_shared" != "xno" ]; then
-        libs="libpthread.so libpthread.sl libpthread.a"
+        libs="libpthread.so libpthread.sl libpthread.a libpthread.dylib"
     else
         libs="libpthread.a"
     fi
@@ -377,7 +377,7 @@
                  /usr/local/ttf/lib /opt/ttf/lib"
     fi
     if [ "x$enable_shared" != "xno" ]; then
-        libs="libttf.so libttf.sl libttf.a"
+        libs="libttf.so libttf.sl libttf.a libttf.dylib"
     else
         libs="libttf.a"
     fi
@@ -487,7 +487,7 @@
                         /opt/Mesa /opt/Mesa/lib"
     fi
     if [ "x$enable_shared" != "xno" ]; then
-        libs="libGL.so libGL.sl libMesaGL.so libMesaGL.sl libGL.a libMesaGL.a"
+        libs="libGL.so libGL.sl libGL.dylib libMesaGL.so libMesaGL.sl libGL.a libMesaGL.a"
     else
         libs="libGL.a libMesaGL.a"
     fi
@@ -507,7 +507,7 @@
 
     echo $ac_n "Checking for libGLU ... $ac_c"
     if [ "x$enable_shared" != "xno" ]; then
-        libs="libGLU.so libGLU.sl libMesaGLU.so libMesaGLU.sl libGLU.a \
+        libs="libGLU.so libGLU.sl libGLU.dylib libMesaGLU.so libMesaGLU.sl libGLU.a \
               libMesaGLU.a"
     else
         libs="libGLU.a libMesaGLU.a"
@@ -613,7 +613,7 @@
     # shared library then the static one.
     if [ "x$enable_shared" != "xno" ]; then
         libs="libmysqlclient.so libmysqlclient.sl libmysqlclient.a \
-              libmysqlclient.lib"
+              libmysqlclient.lib libmysqlclient.dylib"
     else
         libs="libmysqlclient.a libmysqlclient.lib"
     fi
@@ -838,7 +838,7 @@
                 /usr/lib /usr/local/lib"
     fi
     if [ "x$enable_shared" != "xno" ]; then
-        libs="libVenus.so libVenus.sl libVenus.a libVenus.lib"
+        libs="libVenus.so libVenus.sl libVenus.a libVenus.lib libVenus.dylib"
     else
         libs="libVenus.a libVenus.lib"
     fi
@@ -893,7 +893,7 @@
                     /usr/local/lib/shift /usr/lib /usr/local/lib"
     fi
     if [ "x$enable_shared" != "xno" ]; then
-        libs="libshift.so libshift.sl libshift.a"
+        libs="libshift.so libshift.sl libshift.dylib libshift.a"
     else
         libs="libshift.a"
     fi
diff -uNr root.orig/eg/inc/cfortran.h root/eg/inc/cfortran.h
--- root.orig/eg/inc/cfortran.h	Wed May 17 02:00:48 2000
+++ root/eg/inc/cfortran.h	Mon Jan 22 11:00:28 2001
@@ -89,7 +89,7 @@
 #if !(defined(mipsFortran)||defined(DECFortran)||defined(vmsFortran)||defined(CONVEXFortran)||defined(PowerStationFortran))
 /* If no Fortran compiler is given, we choose one for the machines we know.   */
 #if defined(lynx) || defined(VAXUltrix) || defined(linux) || defined(_HIUX_SOURCE) || \
-    defined(__FreeBSD__)
+    defined(__FreeBSD__) || defined(__APPLE__)
 #define f2cFortran    /* Lynx:      Only support f2c at the moment.
                          VAXUltrix: f77 behaves like f2c.
                            Support f2c or f77 with gcc, vcc with f2c.
diff -uNr root.orig/proofd/src/daemon.cxx root/proofd/src/daemon.cxx
--- root.orig/proofd/src/daemon.cxx	Sat Dec 16 04:38:35 2000
+++ root/proofd/src/daemon.cxx	Mon Jan 22 11:27:07 2001
@@ -179,6 +179,8 @@
       sigaction(SIGCHLD, &sigact, &oldsigact);
 #elif defined(__sun)
       sigignore(SIGCHLD);
+#elif defined(__APPLE__)
+      signal(SIGCHLD, SIG_IGN);
 #else
       signal(SIGCLD, SIG_IGN);
 #endif
diff -uNr root.orig/rootd/src/daemon.cxx root/rootd/src/daemon.cxx
--- root.orig/rootd/src/daemon.cxx	Sat Jun 17 00:23:01 2000
+++ root/rootd/src/daemon.cxx	Mon Jan 22 11:21:20 2001
@@ -178,6 +178,8 @@
       sigaction(SIGCHLD, &sigact, &oldsigact);
 #elif defined(__sun)
       sigignore(SIGCHLD);
+#elif defined(__APPLE__)
+      signal(SIGCHLD, SIG_IGN);
 #else
       signal(SIGCLD, SIG_IGN);
 #endif
diff -uNr root.orig/rootd/src/rootd.cxx root/rootd/src/rootd.cxx
--- root.orig/rootd/src/rootd.cxx	Mon Jan  8 00:21:31 2001
+++ root/rootd/src/rootd.cxx	Mon Jan 22 11:25:17 2001
@@ -134,7 +134,7 @@
 #   endif
 #endif
 
-#if defined(__FreeBSD__) && (__FreeBSD__ < 4)
+#if (defined(__FreeBSD__) && (__FreeBSD__ < 4) ) || defined(__APPLE__)
 #include <sys/file.h>
 #define lockf(fd, op, sz)   flock((fd), (op))
 #define	F_LOCK             (LOCK_EX | LOCK_NB)
@@ -142,7 +142,7 @@
 #endif
 
 #if defined(linux) || defined(__sun) || defined(__sgi) || \
-    defined(_AIX) || defined(__FreeBSD__)
+    defined(_AIX) || defined(__FreeBSD__) || defined(__APPLE__)
 #include <grp.h>
 #include <sys/types.h>
 #endif
diff -uNr root.orig/rootx/src/rootx.cxx root/rootx/src/rootx.cxx
--- root.orig/rootx/src/rootx.cxx	Mon Dec 11 01:02:49 2000
+++ root/rootx/src/rootx.cxx	Mon Jan 22 17:53:03 2001
@@ -36,7 +36,7 @@
 #define UTMP_NO_ADDR
 #endif
 #if (defined(__alpha) && !defined(__linux)) || defined(_AIX) || \
-    defined(__FreeBSD__) || defined(__Lynx__)
+    defined(__FreeBSD__) || defined(__Lynx__) || defined(__APPLE__)
 #define UTMP_NO_ADDR
 #endif
 
@@ -190,7 +190,7 @@
    static char msg[512];
 
 #  if defined(__linux) || defined(__alpha) || defined(__sgi) || \
-      defined(__sun) || defined(__FreeBSD__)
+      defined(__sun) || defined(__FreeBSD__) || defined(__APPLE__)
    if (getenv("LD_LIBRARY_PATH"))
       sprintf(msg, "LD_LIBRARY_PATH=%s/lib:%s", getenv("ROOTSYS"),
                                                 getenv("LD_LIBRARY_PATH"));
@@ -298,7 +298,7 @@
 
    struct sigaction ignore, handle, saveintr, savequit, saveusr1;
 
-#if defined(__sun) && !defined(__i386) && !defined(__SVR4)
+#if (defined(__sun) && !defined(__i386) && !defined(__SVR4)) || defined(__APPLE__)
    ignore.sa_handler = (void (*)())SIG_IGN;
 #elif defined(__sun) && defined(__SVR4)
    ignore.sa_handler = (void (*)(int))SIG_IGN;
@@ -308,7 +308,7 @@
    sigemptyset(&ignore.sa_mask);
    ignore.sa_flags = 0;
    handle = ignore;
-#if defined(__sun) && !defined(__i386) && !defined(__SVR4)
+#if (defined(__sun) && !defined(__i386) && !defined(__SVR4)) || defined(__APPLE__)
    handle.sa_handler = (void (*)())SigUsr1;
 #elif defined(__sun) && defined(__SVR4)
    handle.sa_handler = (void (*)(int))SigUsr1;
diff -uNr root.orig/test/Makefile.in root/test/Makefile.in
--- root.orig/test/Makefile.in	Wed Jan 10 18:36:13 2001
+++ root/test/Makefile.in	Fri Feb  2 11:45:04 2001
@@ -286,6 +286,15 @@
 SOFLAGS       = -shared -Wl,-soname,
 endif
 
+ifeq ($(ARCH),darwin)
+# Darwin with egcs
+CXX           = c++
+CXXFLAGS      = -O -Wall -dynamic
+LD            = c++
+LDFLAGS       = -O -dynamic
+SOFLAGS       = -dylib -bundle -undefined suppress -install_name 
+endif
+
 ifeq ($(ARCH),linuxia64gcc)
 # Itanium Linux with gcc 2.9x
 CXX           = g++
@@ -494,7 +503,11 @@
 		$(LD) $(SOFLAGS) $(LDFLAGS) $^ $*.exp $(LIBS) \
 		   $(OutPutOpt)$@
 else
+ifeq ($(ARCH),darwin)
+		g++ -O -dylib -r -nostartfiles -o libEvent.so Event.o EventDict.o
+else
 		$(LD) $(SOFLAGS) $(LDFLAGS) $(EVENTO) $(OutPutOpt) $(EVENTSO)
+endif
 endif
 endif
 endif
diff -uNr root.orig/test/vmatrix.cxx root/test/vmatrix.cxx
--- root.orig/test/vmatrix.cxx	Wed Jul 12 03:05:26 2000
+++ root/test/vmatrix.cxx	Fri Feb  2 17:26:59 2001
@@ -15,7 +15,9 @@
 #include <iostream.h>
 #include <math.h>
 #include <float.h>
-
+#if defined(R__DARWIN)
+#include "TApplication.h"
+#endif
 
 //
 //------------------------------------------------------------------------
@@ -878,8 +880,15 @@
 
 TROOT mat("matrix","verify matrices");
 
+#if !defined(R__DARWIN)
 int main()
-{
+#else
+int main(int argc, char **argv)
+#endif
+{
+#if defined(R__DARWIN)
+   TApplication theApp("App",&argc, argv);
+#endif
    cout<< "\n\n" <<
           "----------------------------------------------------------------" <<
           "\n\t\tVerify Operations on Matrices" << endl;
diff -uNr root.orig/test/vvector.cxx root/test/vvector.cxx
--- root.orig/test/vvector.cxx	Wed Jul 12 03:05:26 2000
+++ root/test/vvector.cxx	Fri Feb  2 17:27:02 2001
@@ -13,6 +13,9 @@
 #include "TFile.h"
 #include "TMatrix.h"
 #include <iostream.h>
+#if defined(R__DARWIN)
+#include "TApplication.h"
+#endif
 
 //
 //------------------------------------------------------------------------
@@ -556,8 +559,15 @@
 
 TROOT vec("vector","verify vectors");
 
+#if !defined(R__DARWIN)
 int main()
+#else
+int main(int argc, char **argv)
+#endif
 {
+#if defined(R__DARWIN)
+   TApplication theApp("App",&argc, argv);
+#endif
    cout<< "\n\n" <<
           "----------------------------------------------------------------" <<
           "\n\t\tVerify Operations on Vectors" << endl;
diff -uNr root.orig/unix/src/TUnixSystem.cxx root/unix/src/TUnixSystem.cxx
--- root.orig/unix/src/TUnixSystem.cxx	Thu Dec 21 02:37:47 2000
+++ root/unix/src/TUnixSystem.cxx	Mon Jan 22 18:00:15 2001
@@ -135,7 +135,7 @@
 #   define HAVE_UTMPX_H
 #   define UTMP_NO_ADDR
 #endif
-#if defined(R__ALPHA) || defined(R__AIX) || defined(R__FBSD) || defined(R__LYNXOS)
+#if defined(R__ALPHA) || defined(R__AIX) || defined(R__FBSD) || defined(R__LYNXOS) || defined(R__DARWIN)
 #   define UTMP_NO_ADDR
 #endif
 
@@ -406,7 +406,7 @@
       ignoreInt = ignore;
       if (ignore) {
          struct sigaction sigact;
-#if defined(R__SUN)
+#if defined(R__SUN) || defined(R__DARWIN)
          sigact.sa_handler = (void (*)())SIG_IGN;
 #elif defined(R__SOLARIS)
          sigact.sa_handler = (void (*)(int))SIG_IGN;
@@ -1882,7 +1882,7 @@
       gSignalMap[sig].handler    = handler;
       gSignalMap[sig].oldhandler = new struct sigaction();
 
-#if defined(R__SUN)
+#if defined(R__SUN) || defined(R__DARWIN)
       sigact.sa_handler = (void (*)())sighandler;
 #elif defined(R__SOLARIS)
       sigact.sa_handler = (void (*)(int))sighandler;
@@ -2419,8 +2419,8 @@
 {
    // Returns the path of a shared library (searches for library in the
    // shared library search path). If no file name extension is provided
-   // it first tries .so, .sl, .dl and then .a (for AIX). The returned string
-   // must be deleted.
+   // it first tries .so, .sl, .dl, dylib and then .a (for AIX). 
+   // The returned string must be deleted.
 
    char *name;
 
