--- Makefile.in.orig	2016-03-23 10:46:24.000000000 -0500
+++ Makefile.in	2016-03-31 12:21:15.000000000 -0500
@@ -7,11 +7,16 @@
 LDFLAGS = @LDFLAGS@
 CPPFLAGS = -D_GNU_SOURCE @CPPFLAGS@
 GNU_LD = @GNU_LD@
+UNAME_S := $(shell uname -s)
 
 VERSION = @VERSION@
 TAG = r$(subst .,-,$(VERSION))
 SONAME = @SONAME@
+ifeq ($(UNAME_S),Darwin)
+SOEXT = dylib
+else
 SOEXT = so
+endif
 
 PYTHONVERS = @PYTHONVERS@
 WHIPTCLLIB = @WHIPTCLLIB@
@@ -26,17 +31,28 @@
 NDIALOGOBJS = whiptail.o dialogboxes.o
 WHIPTCLOBJS = shared/whiptcl.o shared/dialogboxes.o
 LIBNEWT = libnewt.a
+ifeq ($(SOEXT),dylib)
+SHARED = -dynamiclib
+LIBNEWTSH = libnewt.$(VERSION).$(SOEXT)
+LIBNEWTSONAME = libnewt.$(SONAME).$(SOEXT)
+else
+SHARED = -shared
 LIBNEWTSH = libnewt.$(SOEXT).$(VERSION)
 LIBNEWTSONAME = libnewt.$(SOEXT).$(SONAME)
+endif
 LIBOBJS = newt.o button.o form.o checkbox.o entry.o label.o listbox.o \
           scrollbar.o textbox.o scale.o grid.o windows.o buttonbar.o \
 	  checkboxtree.o
 
+ifeq ($(SOEXT),dylib)
+SHLIBFLAGS= -install_name $(libdir)/$(LIBNEWTSONAME) -current_version $(VERSION) -compatibility_version $(SONAME)
+else
 ifneq ($(GNU_LD),)
 SHLIBFLAGS= -Wl,--version-script,newt.0.52.ver -Wl,-soname,$(LIBNEWTSONAME)
 else
 SHLIBFLAGS=
 endif
+endif
 
 SHCFLAGS = -fPIC
 
@@ -105,8 +121,8 @@
 whiptail: $(NDIALOGOBJS) $(LIBNEWTSH)
 	$(CC) -g -o whiptail $(NDIALOGOBJS) -L. $(LDFLAGS) -lnewt $(LIBS) -lpopt
 
-whiptcl.$(SOEXT): $(WHIPTCLOBJS) $(LIBNEWTSH)
-	$(CC) -shared $(SHCFLAGS) $(LDFLAGS) -o whiptcl.$(SOEXT) $(WHIPTCLOBJS) -L. -lnewt  $(LIBTCL) -lpopt $(LIBS)
+$(WHIPTCLSO): $(WHIPTCLOBJS) $(LIBNEWTSH)
+	$(CC) $(SHARED) $(SHCFLAGS) $(LDFLAGS) -o $(WHIPTCLSO) $(WHIPTCLOBJS) -L. -lnewt  $(LIBTCL) -lpopt $(LIBS)
 
 $(LIBNEWT): $(LIBOBJS)
 	ar rv $@ $^
@@ -129,7 +145,7 @@
 sharedlib: $(LIBNEWTSH)
 
 $(LIBNEWTSH): $(SHAREDDIR) $(SHAREDOBJS)
-	$(CC) -shared -o $(LIBNEWTSH) $(SHLIBFLAGS) $(SHAREDOBJS) $(LDFLAGS) $(LIBS)
+	$(CC) $(SHARED) -o $(LIBNEWTSH) $(SHLIBFLAGS) $(SHAREDOBJS) $(LDFLAGS) $(LIBS)
 	ln -fs $(LIBNEWTSONAME) libnewt.$(SOEXT)
 	ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME)
 
@@ -154,7 +170,7 @@
 	install -m 755 $(LIBNEWTSH) $(instroot)/$(libdir)
 	ln -sf $(LIBNEWTSONAME) $(instroot)/$(libdir)/libnewt.$(SOEXT)
 	ln -sf $(LIBNEWTSH) $(instroot)/$(libdir)/$(LIBNEWTSONAME)
-	[ -n "$(WHIPTCLSO)" ] && install -m 755 whiptcl.$(SOEXT) $(instroot)/$(libdir) || :
+	[ -n "$(WHIPTCLSO)" ] && install -m 755 $(WHIPTCLSO) $(instroot)/$(libdir) || :
 	[ -n "$(PYTHONVERS)" ] && for ver in $(PYTHONVERS) ; do \
 	   [ -d $(instroot)/$(libdir)/$$ver/site-packages ] || install -m 755 -d $(instroot)/$(libdir)/$$ver/site-packages ;\
 	   install -m 755 $$ver/_snack.$(SOEXT) $(instroot)/$(libdir)/$$ver/site-packages ;\