diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..58ec89cc25834003b4189ba8733b4c51e01c82ac
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,362 @@
+# Unix Makefile for qhull and rbox (default gcc/g++)
+#
+#       see README.txt  
+#       Qt project file at src/qhull-all.pro
+#       
+#       make           to produce qhull qconvex qdelaunay qhalf qvoronoi rbox user_eg user_eg2
+#       make qhullx    to produce qhull qconvex etc. w/o libqhull.a
+#       make qtest     quick test of rbox and qhull (bin/rbox D4 | bin/qhull)
+#       make test      test of rbox and qhull
+#       make bin/qvoronoi  to produce bin/qvoronoi (etc.)
+#       make doc       to print documentation
+#       make install   to copy qhull, rbox, qhull.1, rbox.1 to BINDIR, MANDIR
+#       make new       to rebuild qhull and rbox from source
+#
+#       make printall  to print all files
+#       make clean     to remove object files and core
+#       make cleanall  to remove all generated files
+#
+#       PRINTMAN --    command for printing manual pages
+#       PRINTC --      command for printing C files
+#       BINDIR --      directory where to copy executables
+#       MANDIR --      directory where to copy manual pages
+#       CC --          ANSI C or C++ compiler
+#       CC_OPTS1 -      options used to compile .c files
+#       CC_OPTS2 --     options used to link .o files
+#       CXX --          ANSI C++ compiler
+#       CXX_OPTS1 -      options used to compile .o files
+#       CXX_OPTS2 --     options used to link .o files
+#
+#       CFILES --      .c files for printing
+#       LIBQHULL_HDRS --      .h files for printing
+#       DFILES --       documentation files
+#       MFILES --      man pages and html files
+#       TFILES --      .txt versions of html html files
+#       FILES --       all other files
+#       LIBQHULL_OBJS --        specifies the object files of libqhull.a
+#
+# Do not replace tabs with spaces.  Needed by 'make' for build rules
+
+BINDIR	= /usr/local/bin
+MANDIR	= /usr/local/man/man1
+
+# if you do not have enscript, try a2ps or just use lpr.  The files are text.
+PRINTMAN = enscript -2rl
+PRINTC = enscript -2r
+# PRINTMAN = lpr
+# PRINTC = lpr
+
+#for Gnu's gcc compiler, -O2 for optimization, -g for debugging
+#   -fno-strict-aliasing not needed for gcc 4.4+ (segfault in qset.c)
+#for CXX_OPTS1, libqhullcpp must be before libqhull
+CC        = gcc
+CC_OPTS1  = -O2 -ansi -fno-strict-aliasing -Isrc/libqhull $(CC_WARNINGS)
+CXX       = g++
+CXX_OPTS1 = -O2 -Dqh_QHpointer -Isrc/ -Isrc/libqhullcpp -Isrc/libqhull $(CXX_WARNINGS)
+
+# for Sun's cc compiler, -fast or O2 for optimization, -g for debugging, -Xc for ANSI
+#CC       = cc
+#CC_OPTS1 = -Xc -v -fast
+
+# for Silicon Graphics cc compiler, -O2 for optimization, -g for debugging
+#CC       = cc
+#CC_OPTS1 = -ansi -O2
+
+# for Next cc compiler with fat executable
+#CC       = cc
+#CC_OPTS1 = -ansi -O2 -arch m68k -arch i386 -arch hppa
+
+# for loader, ld
+CC_OPTS2 = $(CC_OPTS1)
+CXX_OPTS2 = $(CXX_OPTS1)
+
+# [gcc 4.4] Compiles without error (-Werror)
+CC_WARNINGS  = -Wall -Wcast-qual -Wextra -Wwrite-strings -Wshadow
+CXX_WARNINGS = -Wall -Wcast-qual -Wextra -Wwrite-strings -Wno-sign-conversion -Wshadow -Wconversion 
+
+# Compiles OK with all gcc warnings except for -Wno-sign-conversion and -Wconversion
+# Compiles OK with all g++ warnings except Qt source errors on -Wshadow and -Wconversion
+#    -Waddress -Warray-bounds -Wchar-subscripts -Wclobbered -Wcomment -Wunused-variable
+#    -Wempty-body -Wformat -Wignored-qualifiers -Wimplicit-function-declaration -Wimplicit-int
+#    -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-parameter-type -Wnonnull
+#    -Wold-style-declaration -Woverride-init -Wparentheses -Wpointer-sign -Wreturn-type
+#    -Wsequence-point -Wsign-compare -Wsign-compare -Wstrict-aliasing -Wstrict-overflow=1
+#    -Wswitch -Wtrigraphs -Wtype-limits -Wuninitialized -Wuninitialized -Wvolatile-register-var
+#    -Wunknown-pragmas -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value
+     
+# LIBQHULL_OBJS ordered by frequency of execution with small files at end.  Better locality.
+
+L=    src/libqhull
+LP=   src/libqhullp
+LCPP= src/libqhullcpp
+TCPP= src/qhulltest
+
+LIBQHULL_OBJS = $(L)/rboxlib.o $(L)/user.o $(L)/global.o $(L)/stat.o \
+	$(L)/io.o $(L)/geom2.o $(L)/poly2.o $(L)/merge.o \
+	$(L)/libqhull.o $(L)/geom.o $(L)/poly.o $(L)/qset.o \
+	$(L)/mem.o $(L)/usermem.o $(L)/userprintf.o $(L)/random.o
+
+LIBQHULLP_OBJS = $(LP)/rboxlib.o $(LP)/user.o $(LP)/global.o $(LP)/stat.o \
+	$(LP)/io.o $(LP)/geom2.o $(LP)/poly2.o $(LP)/merge.o \
+	$(LP)/libqhull.o $(LP)/geom.o $(LP)/poly.o $(LP)/qset.o \
+	$(LP)/mem.o $(LP)/usermem.o $(LP)/userprintf.o $(LP)/random.o
+
+LIBQHULL_HDRS = $(L)/user.h $(L)/libqhull.h $(L)/qhull_a.h $(L)/geom.h \
+	$(L)/io.h $(L)/mem.h $(L)/merge.h $(L)/poly.h $(L)/random.h \
+	$(L)/qset.h $(L)/stat.h
+
+LIBQHULLCPP_OBJS = src/road/RoadError.o src/road/RoadLogEvent.o $(LCPP)/Coordinates.o \
+	$(LCPP)/PointCoordinates.o $(LCPP)/Qhull.o $(LCPP)/QhullFacet.o \
+	$(LCPP)/QhullFacetList.o $(LCPP)/QhullFacetSet.o \
+	$(LCPP)/QhullHyperplane.o $(LCPP)/QhullPoint.o \
+	$(LCPP)/QhullPoints.o $(LCPP)/QhullPointSet.o $(LCPP)/QhullQh.o \
+	$(LCPP)/QhullRidge.o $(LCPP)/QhullSet.o $(LCPP)/QhullStat.o \
+	$(LCPP)/QhullVertex.o $(LCPP)/QhullVertexSet.o $(LCPP)/RboxPoints.o \
+	$(LCPP)/UsingLibQhull.o src/user_eg3/user_eg3.o 
+
+LIBQHULLCPP_HDRS = src/road/RoadError.h src/road/RoadLogEvent.h $(LCPP)/Coordinates.h \
+	$(LCPP)/QhullHyperplane.h $(LCPP)/functionObjects.h $(LCPP)/PointCoordinates.h \
+	$(LCPP)/Qhull.h $(LCPP)/QhullError.h $(LCPP)/QhullFacet.h \
+	$(LCPP)/QhullFacetList.h $(LCPP)/QhullFacetSet.h $(LCPP)/QhullIterator.h \
+	$(LCPP)/QhullLinkedList.h $(LCPP)/QhullPoint.h $(LCPP)/QhullPoints.h \
+	$(LCPP)/QhullPointSet.h $(LCPP)/QhullQh.h $(LCPP)/QhullRidge.h \
+	$(LCPP)/QhullSet.h $(LCPP)/QhullSets.h $(LCPP)/QhullStat.h \
+	$(LCPP)/QhullVertex.h $(LCPP)/RboxPoints.h $(LCPP)/UsingLibQhull.h
+       
+# CFILES ordered alphabetically after libqhull.c 
+CFILES= src/qhull/unix.c $(L)/libqhull.c $(L)/geom.c $(L)/geom2.c $(L)/global.c $(L)/io.c \
+	$(L)/mem.c $(L)/merge.c $(L)/poly.c $(L)/poly2.c $(L)/random.c $(L)/rboxlib.c \
+	$(L)/qset.c $(L)/stat.c $(L)/user.c $(L)/usermem.c $(L)/userprintf.c \
+	src/qconvex/qconvex.c src/qdelaunay/qdelaun.c src/qhalf/qhalf.c src/qvoronoi/qvoronoi.c
+
+CXXFILES= src/road/RoadError.cpp src/road/RoadLogEvent.cpp $(LCPP)/Coordinates.cpp \
+	$(LCPP)/PointCoordinates.cpp $(LCPP)/Qhull.cpp $(LCPP)/QhullFacet.cpp \
+	$(LCPP)/QhullFacetList.cpp $(LCPP)/QhullFacetSet.cpp \
+	$(LCPP)/QhullHyperplane.cpp $(LCPP)/QhullPoint.cpp \
+	$(LCPP)/QhullPoints.cpp $(LCPP)/QhullPointSet.cpp $(LCPP)/QhullQh.cpp \
+	$(LCPP)/QhullRidge.cpp $(LCPP)/QhullSet.cpp $(LCPP)/QhullStat.cpp \
+	$(LCPP)/QhullVertex.cpp $(LCPP)/QhullVertexSet.cpp $(LCPP)/RboxPoints.cpp \
+	$(LCPP)/UsingLibQhull.cpp src/user_eg3/user_eg3.cpp 
+	
+TESTFILES= $(TCPP)/qhulltest.cpp $(TCPP)/Coordinates_test.cpp $(TCPP)/Point_test.cpp $(TCPP)/PointCoordinates_test.cpp \
+	$(TCPP)/Qhull_test.cpp $(TCPP)/QhullFacet_test.cpp $(TCPP)/QhullFacetList_test.cpp \
+	$(TCPP)/QhullFacetSet_test.cpp $(TCPP)/QhullHyperplane_test.cpp $(TCPP)/QhullLinkedList_test.cpp \
+	$(TCPP)/QhullPoint_test.cpp $(TCPP)/QhullPoints_test.cpp \
+	$(TCPP)/QhullPointSet_test.cpp $(TCPP)/QhullRidge_test.cpp \
+	$(TCPP)/QhullSet_test.cpp $(TCPP)/QhullVertex_test.cpp $(TCPP)/QhullVertexSet_test.cpp \
+	$(TCPP)/RboxPoints_test.cpp $(TCPP)/UsingLibQhull_test.cpp 
+
+
+TXTFILES= Announce.txt REGISTER.txt COPYING.txt README.txt src/Changes.txt
+DOCFILES= html/rbox.txt html/qhull.txt
+FILES=	Makefile src/rbox/rbox.c src/user_eg/user_eg.c src/user_eg2/user_eg2.c eg/q_test eg/q_egtest eg/q_eg
+HTMFILES= html/qhull.man html/rbox.man $(L)/qh-code.htm $(L)/qh-optg.htm $(L)/qh-optt.htm \
+	html/index.htm html/qh-quick.htm html/qh-impre.htm html/qh-eg.htm \
+	html/qh-optc.htm html/qh-opto.htm html/qh-optf.htm  html/qh-optp.htm html/qh-optq.htm \
+	html/qh-c.htm html/qh-faq.htm html/qhull.htm html/qconvex.htm html/qdelaun.htm \
+	html/qh-geom.htm html/qh-globa.htm html/qh-io.htm html/qh-mem.htm html/qh-merge.htm \
+	html/qh-poly.htm html/qh-qhull.htm html/qh-set.htm html/qh-stat.htm html/qh-user.htm \
+	html/qconvex.htm html/qdelau_f.htm html/qdelaun.htm html/qhalf.htm html/qvoronoi.htm \
+	html/qvoron_f.htm html/rbox.htm 
+
+all: bin/rbox bin/qconvex bin/qdelaunay bin/qhalf bin/qvoronoi bin/qhull qtest \
+     bin/user_eg bin/user_eg2 bin/user_eg3
+
+qhull/unix.o:            $(L)/libqhull.h $(L)/user.h $(L)/mem.h
+qconvex/qconvex.o:       $(L)/libqhull.h $(L)/user.h $(L)/mem.h
+qdelanay/qdelaun.o:      $(L)/libqhull.h $(L)/user.h $(L)/mem.h
+qhalf/qhalf.o:           $(L)/libqhull.h $(L)/user.h $(L)/mem.h
+qvoronoi/qvoronoi.o:     $(L)/libqhull.h $(L)/user.h $(L)/mem.h
+$(L)/libqhull.o:  $(LIBQHULL_HDRS)
+$(L)/geom.o:      $(LIBQHULL_HDRS)
+$(L)/geom2.o:     $(LIBQHULL_HDRS)
+$(L)/global.o:    $(LIBQHULL_HDRS)
+$(L)/io.o:        $(LIBQHULL_HDRS)
+$(L)/mem.o:       $(L)/mem.h 
+$(L)/merge.o:     $(LIBQHULL_HDRS)
+$(L)/poly.o:      $(LIBQHULL_HDRS)
+$(L)/poly2.o:     $(LIBQHULL_HDRS)
+$(L)/random.o:    $(L)/libqhull.h $(L)/random.h
+$(L)/rboxlib.o:   $(L)/libqhull.h $(L)/random.h $(L)/user.h
+$(L)/qset.o:      $(L)/qset.h $(L)/mem.h 
+$(L)/stat.o:      $(LIBQHULL_HDRS)
+$(L)/user.o:      $(LIBQHULL_HDRS)
+$(L)/usermem.o:   $(L)/libqhull.h $(L)/user.h
+$(L)/userprintf.o: $(L)/libqhull.h $(L)/user.h
+$(LP)/libqhull.o: $(LIBQHULL_HDRS)
+$(LP)/geom.o:     $(LIBQHULL_HDRS)
+$(LP)/geom2.o:    $(LIBQHULL_HDRS)
+$(LP)/global.o:   $(LIBQHULL_HDRS)
+$(LP)/io.o:       $(LIBQHULL_HDRS)
+$(LP)/mem.o:      $(L)/mem.h 
+$(LP)/merge.o:    $(LIBQHULL_HDRS)
+$(LP)/poly.o:     $(LIBQHULL_HDRS)
+$(LP)/poly2.o:    $(LIBQHULL_HDRS)
+$(LP)/random.o:   $(L)/libqhull.h $(L)/random.h
+$(LP)/rboxlib.o:  $(L)/libqhull.h $(L)/random.h $(L)/user.h
+$(LP)/qset.o:     $(L)/qset.h $(L)/mem.h 
+$(LP)/stat.o:     $(LIBQHULL_HDRS)
+$(LP)/user.o:     $(LIBQHULL_HDRS)
+src/road/RoadError.o:       src/road/RoadError.h src/road/RoadLogEvent.h         
+src/road/RoadLogEvent.o:    src/road/RoadError.h                  
+$(LCPP)/Coordinates.o:      $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/PointCoordinates.o: $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/Qhull.o:            $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullFacet.o:       $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullFacetList.o:   $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullFacetSet.o:    $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullHyperplane.o:  $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullPoint.o:       $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullPoints.o:      $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullPointSet.o:    $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullQh.o:          $(LIBQHULL_HDRS)
+$(LCPP)/QhullRidge.o:       $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullSet.o:         $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullStat.o:        $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullVertex.o:      $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/QhullVertexSet.o:   $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/RboxPoints.o:       $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+$(LCPP)/UsingLibQhull.o:    $(LIBQHULLCPP_HDRS) $(LIBQHULL_HDRS)
+
+.c.o:
+	$(CC) -c $(CC_OPTS1) -o $@ $<
+
+.cpp.o:
+	$(CXX) -c $(CXX_OPTS1) -o $@ $<
+
+$(LP)/libqhull.o: $(L)/libqhull.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/geom.o:     $(L)/geom.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/geom2.o:    $(L)/geom2.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/global.o:   $(L)/global.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/io.o:       $(L)/io.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/mem.o:      $(L)/mem.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/merge.o:    $(L)/merge.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/poly.o:     $(L)/poly.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/poly2.o:    $(L)/poly2.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/random.o:   $(L)/random.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/rboxlib.o:   $(L)/rboxlib.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/qset.o:     $(L)/qset.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/stat.o:     $(L)/stat.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/user.o:     $(L)/user.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/usermem.o:     $(L)/usermem.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+$(LP)/userprintf.o:     $(L)/userprintf.c
+	$(CC) -c -Dqh_QHpointer $(CC_OPTS1) -o $@ $<
+
+
+clean:
+	rm -f src/libqhull/*.o src/libqhullcpp/*.o src/libqhullp/*.o src/qconvex/*.o \
+	src/qdelaunay/*.o src/qhalf/*.o src/qvoronoi/*.o src/qhull/*.o src/rbox/*.o \
+	src/road/*.o src/user_eg/*.o src/user_eg2/*.o src/user_eg3/*.o
+
+cleanall: clean
+	rm -f bin/qconvex bin/qdelaunay bin/qhalf bin/qvoronoi bin/qhull bin/*.exe \
+	rm -f bin/libqhull.a  bin/libqhullcpp.a bin/libqhullp.a \
+	bin/user_eg bin/user_eg2 bin/user_eg3 
+
+doc: 
+	$(PRINTMAN) $(TXTFILES) $(DOCFILES)
+
+install:  
+	cp bin/qconvex $(BINDIR)/qconvex
+	cp bin/qdelaunay $(BINDIR)/qdelaunay
+	cp bin/qhalf $(BINDIR)/qhalf
+	cp bin/qhull $(BINDIR)/qhull
+	cp bin/qvoronoi $(BINDIR)/qvoronoi
+	cp bin/rbox $(BINDIR)/rbox
+	cp html/qhull.man $(MANDIR)/qhull.1
+	cp html/rbox.man $(MANDIR)/rbox.1
+
+new:	cleanall all
+
+printall: doc printh printc printf
+
+printh:
+	$(PRINTC) $(LIBQHULL_HDRS)
+	$(PRINTC) $(LIBQHULLCPP_HDRS)
+
+printc:
+	$(PRINTC) $(CFILES)
+	$(PRINTC) $(CXXFILES)
+	$(PRINTC) $(TESTFILES)
+
+printf:
+	$(PRINTC) $(FILES)
+
+
+bin/libqhull.a: $(LIBQHULL_OBJS)
+	@echo If 'ar' fails, try 'make qhullx'
+	ar -rs bin/libqhull.a $(LIBQHULL_OBJS)
+	#If 'ar -rs' fails try using 'ar -r' with 'ranlib'
+	#ranlib bin/libqhull.a
+
+bin/libqhullp.a: $(LIBQHULLP_OBJS)
+	ar -rs bin/libqhullp.a $(LIBQHULLP_OBJS)
+	#ranlib bin/libqhullp.a
+
+bin/libqhullcpp.a: $(LIBQHULLCPP_OBJS)
+	ar -rs bin/libqhullcpp.a $(LIBQHULLCPP_OBJS)
+	#ranlib bin/libqhullp.a
+
+# don't use ../qconvex.	 Does not work on Red Hat Linux
+bin/qconvex: src/qconvex/qconvex.o bin/libqhull.a
+	$(CC) -o $@ $< $(CC_OPTS2) -Lbin -lqhull -lm
+
+bin/qdelaunay: src/qdelaunay/qdelaun.o bin/libqhull.a
+	$(CC) -o $@ $< $(CC_OPTS2) -Lbin -lqhull -lm
+
+bin/qhalf: src/qhalf/qhalf.o bin/libqhull.a
+	$(CC) -o $@ $< $(CC_OPTS2) -Lbin -lqhull -lm
+
+bin/qvoronoi: src/qvoronoi/qvoronoi.o bin/libqhull.a
+	$(CC) -o $@ $< $(CC_OPTS2) -Lbin -lqhull -lm
+
+bin/qhull: src/qhull/unix.o bin/libqhull.a
+	$(CC) -o $@ $< $(CC_OPTS2) -Lbin -lqhull -lm
+	-chmod +x eg/q_test eg/q_eg eg/q_egtest
+
+bin/rbox: src/rbox/rbox.o bin/libqhull.a
+	$(CC) -o $@ $< $(CC_OPTS2) -Lbin -lqhull -lm
+
+bin/user_eg: src/user_eg/user_eg.o bin/libqhull.a 
+	$(CC) -o $@ $< $(CC_OPTS2) -Lbin -lqhull -lm
+
+bin/user_eg2: src/user_eg2/user_eg2.o bin/libqhull.a 
+	$(CC) -o $@ $< $(CC_OPTS2) -Lbin -lqhull -lm
+
+bin/user_eg3: src/user_eg3/user_eg3.o bin/libqhullp.a bin/libqhullcpp.a 
+	$(CXX) -o $@ $< $(CXX_OPTS2) -Lbin -lqhullcpp -lqhullp -lm
+
+# compile qhull without using bin/libqhull.a
+qhullx: src/qconvex/qconvex.o src/qdelaunay/qdelaun.o src/qhalf/qhalf.o \
+            src/qvoronoi/qvoronoi.o src/qhull/unix.o src/rbox/rbox.o $(LIBQHULL_OBJS)
+	$(CC) -o bin/qconvex $(CC_OPTS2) -lm $(LIBQHULL_OBJS) src/qconvex/qconvex.o 
+	$(CC) -o bin/qdelaunay $(CC_OPTS2) -lm $(LIBQHULL_OBJS) src/qdelaunay/qdelaun.o
+	$(CC) -o bin/qhalf $(CC_OPTS2) -lm $(LIBQHULL_OBJS) src/qhalf/qhalf.o 
+	$(CC) -o bin/qvoronoi $(CC_OPTS2) -lm $(LIBQHULL_OBJS) src/qvoronoi/qvoronoi.o 
+	$(CC) -o bin/qhull $(CC_OPTS2) -lm $(LIBQHULL_OBJS) src/qhull/unix.o 
+	$(CC) -o bin/rbox $(CC_OPTS2) -lm $(LIBQHULL_OBJS) src/rbox/rbox.o 
+
+qtest:
+	-bin/rbox D4 | bin/qhull
+	
+test:
+	-eg/q_eg
+	-eg/q_egtest
+	-eg/q_test
+	
+# end of Makefile
diff --git a/eg/q_eg b/eg/q_eg
index 05061c26eb1abdf617904149bfc74c71f3c97a74..1eef80612fa5372fddff58063b99ab816f721f52 100755
--- a/eg/q_eg
+++ b/eg/q_eg
@@ -1,6 +1,12 @@
 #! /bin/sh
 #   writes examples to eg/
 #   see html/qh_eg.htm
+if [ -d bin ]; then
+   PATH=bin:$PATH
+else
+   echo Run eg/q_eg from the Qhull directory
+   exit
+fi
 set -v
 rbox c D3 | qconvex s G >eg/eg.01.cube
 rbox c d G2.0 | qconvex s G >eg/eg.02.diamond.cube
diff --git a/eg/q_egtest b/eg/q_egtest
index e944694bf481dcf47b4169184506e6ef87392eb0..04b7a03c98698f74e782d8669d6c22f77014cd95 100755
--- a/eg/q_egtest
+++ b/eg/q_egtest
@@ -1,5 +1,11 @@
 #! /bin/sh
 #   writes examples to eg/
+if [ -d bin ]; then
+   PATH=bin:$PATH
+else
+   echo Run eg/q_egtest from the Qhull directory
+   exit
+fi
 set -v
 rbox d D3 | qconvex s Gnrv Tc Tv >eg/eg.t01.spheres.3
 rbox d D2 | qconvex s Gnv  Tc Tv >eg/eg.t02.spheres.2
diff --git a/eg/q_test b/eg/q_test
index 1019d2f12c89103a720abf5eaabfaaa9acfecad2..9bdcda4e85919cf81769a84bcd2142e63133c9e8 100755
--- a/eg/q_test
+++ b/eg/q_test
@@ -1,6 +1,12 @@
 #!/bin/sh
 #
 #  NOTE:  all tests duplicated in q_test.bat
+if [ -d bin ]; then
+   PATH=bin:$PATH
+else
+   echo Run eg/q_test from the Qhull directory
+   exit
+fi
 set -v
 echo === errors if 'user_eg' and 'user_eg2' not found ===
 echo === check user_eg ${d:-`date`} =====================
diff --git a/src/Changes.txt b/src/Changes.txt
index 09c8f46a4b505aa9212632c4dd8834f12bfd0ce7..050949d38e94580321dbb9f97abf7d7078be130f 100644
--- a/src/Changes.txt
+++ b/src/Changes.txt
@@ -30,10 +30,7 @@ To do
  - Add a CMake build for everying
  - Add an Autotools build for everything
  - Update debian build
- - Change the Qt build for shadow directory
  - Fix use of strncat.  The limits are wrong
- - Fix warnings reported by gcc 4.4
- - Remove -frtti from gcc build
  - Is -fno-strict-aliasing always used, but not always the default?
  - Qhull-go.bat does not work in Windows 7
 
@@ -54,6 +51,20 @@ Links on build systems
 
 
 ------------
+
+gitorious.org/qhull 2011/03/25
+ - Moved src/libqhull/Makefile.txt to Makefile
+ - Makefile: Added libqhullp, libqhullcpp, user_eg3, qhulltest
+ - Build: Removed -frtti from gcc build
+ - Build: Comment out -Werror
+ - Removed semicolon after extern "C" {...}
+ - Renamed parameters, locals, and fields to avoid shadowing
+
+gitorious.org/qhull 2011/03/09
+ - Compiles gcc with all warnings except for -Wno-sign-conversion and -Wconversion
+ - Compiles g++ with all warnings except for -Wshadow and -Wconversion in Qt
+ - Needed to turn off -Wshadow and -Wconversion warnings due to Qt warnings
+
 gitorious.org/qhull 2011/03/07
  - Merged changes from J. Obermayr in gitorious/jobermayrs-qhull:next
  -   Fix strncat limit in rboxlib.c and global.c
diff --git a/src/libqhull/Makefile.txt b/src/libqhull/Makefile.txt
deleted file mode 100644
index 238a59e55265ebf1b5e17a80e87fabbd3b8d955c..0000000000000000000000000000000000000000
--- a/src/libqhull/Makefile.txt
+++ /dev/null
@@ -1,196 +0,0 @@
-# Unix Makefile for qhull and rbox
-#
-#       see README.txt
-#       the Unix distribution contains a configure Makefile
-#       
-#       make           to produce qhull qconvex qdelaunay qhalf qvoronoi rbox
-#       make qvoronoi  to produce qvoronoi (etc.)
-#       make qhullx    to produce qhull qconvex etc.  w/o using libqhull.a
-#       make doc       to print documentation
-#       make install   to copy qhull, rbox, qhull.1, rbox.1 to BINDIR, MANDIR
-#       make new       to rebuild qhull and rbox from source
-#
-#       make printall  to print all files
-#       make user_eg   to produce user_eg
-#       make user_eg2  to produce user_eg2
-#       make clean     to remove object files and core
-#       make cleanall  to remove all generated files
-#
-#       PRINTMAN --    command for printing manual pages
-#       PRINTC --      command for printing C files
-#       BINDIR --      directory where to copy executables
-#       MANDIR --      directory where to copy manual pages
-#       CC --          ANSI C or C++ compiler
-#       CCOPTS1 -      options used to compile .c files
-#       CCOPTS2 --     options used to link .o files
-#
-#       CFILES --      .c files for printing
-#       HFILES --      .h files for printing
-#       DFILES --       documentation files
-#       MFILES --      man pages and html files
-#       TFILES --      .txt versions of html html files
-#       FILES --       all other files
-#       OBJS --        specifies the object files of libqhull.a
-#
-# Do not replace tabs with spaces.  Needed by 'make' for build rules
-
-BINDIR	= /usr/local/bin
-MANDIR	= /usr/local/man/man1
-
-# if you do not have enscript, try a2ps or just use lpr.  The files are text.
-PRINTMAN = enscript -2rl
-PRINTC = enscript -2r
-# PRINTMAN = lpr
-# PRINTC = lpr
-
-#for Gnu's gcc compiler -O2 for optimization, -g for debugging, -Wall for check
-#   -fno-strict-aliasing not needed for gcc 4.4+ (segfault in qset.c)
-CC  = gcc
-CCOPTS1 = -O2 -ansi -fno-strict-aliasing 
-
-# for Sun's cc compiler, -fast or O2 for optimization, -g for debugging, -Xc for ANSI
-#CC = cc
-#CCOPTS1 = -Xc -v -fast
-
-# for Silicon Graphics cc compiler, -O2 for optimization, -g for debugging
-#CC = cc
-#CCOPTS1 = -ansi -O2
-
-# for Next cc compiler with fat executable
-#CC = cc
-#CCOPTS1 = -ansi -O2 -arch m68k -arch i386 -arch hppa
-
-# for loader, ld
-CCOPTS2 = $(CCOPTS1)
-
-# OBJS ordered by frequency of execution with small files at end.  Better locality.
-OBJS = rboxlib.o user.o global.o stat.o io.o geom2.o poly2.o merge.o \
-       libqhull.o geom.o poly.o qset.o mem.o usermem.o userprintf.o random.o
-
-# CFILES ordered alphabetically after libqhull.c 
-CFILES= unix.c libqhull.c geom.c geom2.c global.c io.c mem.c merge.c poly.c \
-		poly2.c random.c qset.c stat.c user.c qconvex.c qdelaun.c qhalf.c qvoronoi.c usermem.c userprintf.c rboxlib.c
-HFILES= user.h libqhull.h qhull_a.h geom.h io.h mem.h merge.h poly.h random.h qset.h stat.h
-TXTFILES= ../Announce.txt ../REGISTER.txt ../COPYING.txt ../README.txt Changes.txt
-DOCFILES= ../html/rbox.txt ../html/qhull.txt
-FILES=	Makefile rbox.c user_eg.c ../eg/q_test ../eg/q_egtest ../eg/q_eg
-HTMFILES= ../html/qhull.man ../html/rbox.man qh-code.htm qh-optg.htm qh-optt.htm \
-		index.htm qh-quick.htm qh-impre.htm qh-eg.htm \
-                qh-optc.htm qh-opto.htm qh-optf.htm  qh-optp.htm qh-optq.htm \
-		qh-c.htm qh-faq.htm qhull.htm qconvex.htm qdelaun.htm \
-		qh-geom.htm qh-globa.htm qh-io.htm qh-mem.htm qh-merge.htm \
-		qh-poly.htm qh-qhull.htm qh-set.htm qh-stat.htm qh-user.htm \
-		qdelau_f.htm qhalf.htm qvoronoi.htm qvoron_f.htm rbox.htm 
-
-all: rbox qconvex qdelaunay qhalf qvoronoi qhull
-
-unix.o:	    libqhull.h user.h mem.h
-qconvex.o:  libqhull.h user.h mem.h
-qdelaun.o:  libqhull.h user.h mem.h
-qhalf.o:    libqhull.h user.h mem.h
-qvoronoi.o: libqhull.h user.h mem.h
-libqhull.o: $(HFILES)
-geom.o:	    $(HFILES)
-geom2.o:    $(HFILES)
-global.o:   $(HFILES)
-io.o:	    $(HFILES)
-mem.o:	    mem.h 
-merge.o:    $(HFILES)
-poly.o:	    $(HFILES)
-poly2.o:    $(HFILES)
-random.o:   libqhull.h random.h
-qset.o:	    qset.h mem.h 
-stat.o:	    $(HFILES)
-user.o:	    $(HFILES)
-
-.c.o:
-	$(CC) -c $(CCOPTS1) $<
-
-clean:
-	rm -f *.o ../core qconvex qdelaunay qhalf qvoronoi qhull libqhull.a \
-              *.exe
-
-cleanall: clean
-	rm -f *~ ../rbox ../qhull ../qhalf ../qconvex ../qdelaunay ../qhalf\
-		../qvoronoi ../user_eg ../user_eg2 ../*.exe >/dev/null
-
-doc: 
-	$(PRINTMAN) $(TXTFILES) $(DOCFILES)
-
-install:  
-	cp ../qconvex $(BINDIR)/qconvex
-	cp ../qdelaunay $(BINDIR)/qdelaunay
-	cp ../qhalf $(BINDIR)/qhalf
-	cp ../qhull $(BINDIR)/qhull
-	cp ../qvoronoi $(BINDIR)/qvoronoi
-	cp ../rbox $(BINDIR)/rbox
-	cp ../html/qhull.man $(MANDIR)/qhull.1
-	cp ../html/rbox.man $(MANDIR)/rbox.1
-
-new:	cleanall all
-
-printall: doc printh printc printf
-
-printh:
-	$(PRINTC) $(HFILES)
-
-printc:
-	$(PRINTC) $(CFILES)
-
-printf:
-	$(PRINTC) $(FILES) 
-
-libqhull.a: $(OBJS)
-	@echo if 'ar' or 'ranlib' fails, try 'make qhullx'
-	ar -r libqhull.a $(OBJS)
-	@echo the next line may need to be removed.
-	-test -x /bin/ranlib -o -x /usr/bin/ranlib && ranlib libqhull.a
-
-# don't use ../qconvex.	 Does not work on Red Hat Linux
-qconvex: qconvex.o libqhull.a
-	$(CC) -o qconvex $(CCOPTS2) qconvex.o -L. -lqhull -lm 
-	cp qconvex ..
-
-qdelaunay: qdelaun.o libqhull.a
-	$(CC) -o qdelaunay $(CCOPTS2) qdelaun.o -L. -lqhull -lm 
-	cp qdelaunay ..
-
-qhalf: qhalf.o libqhull.a
-	$(CC) -o qhalf $(CCOPTS2) qhalf.o -L. -lqhull -lm 
-	cp qhalf ..
-
-qvoronoi: qvoronoi.o libqhull.a
-	$(CC) -o qvoronoi $(CCOPTS2) qvoronoi.o -L. -lqhull -lm 
-	cp qvoronoi ..
-
-qhull: unix.o libqhull.a
-	$(CC) -o qhull $(CCOPTS2) unix.o -L. -lqhull -lm 
-	cp qhull ..
-	-chmod +x ../eg/q_test ../eg/q_eg ../eg/q_egtest
-	-cd ..; ./rbox D4 | ./qhull
-
-# compile qhull without using libqhull.a
-qhullx: qconvex.o qdelaun.o qhalf.o qvoronoi.o unix.o rbox.o $(OBJS)
-	$(CC) -o qconvex $(CCOPTS2) qconvex.o $(OBJS) -lm 
-	$(CC) -o qdelaunay $(CCOPTS2) qdelaun.o $(OBJS) -lm 
-	$(CC) -o qhalf $(CCOPTS2) qhalf.o $(OBJS) -lm 
-	$(CC) -o qvoronoi $(CCOPTS2) qvoronoi.o $(OBJS) -lm 
-	$(CC) -o qhull $(CCOPTS2) unix.o $(OBJS) -lm 
-	$(CC) -o rbox $(CCOPTS2) rbox.o $(OBJS) -lm 
-	cp qconvex qdelaunay qhalf qvoronoi qhull rbox ..
-	-chmod +x ../eg/q_test ../eg/q_eg ../eg/q_egtest
-	-cd ..; ./rbox D4 | ./qhull
-
-rbox: rbox.o libqhull.a
-	$(CC) -o rbox rbox.o -L. -lqhull $(CCOPTS2) -lm
-	cp rbox ..
-
-user_eg: user_eg.o libqhull.a 
-	$(CC)  -o user_eg $(CCOPTS2) user_eg.o	-L. -lqhull -lm 
-	cp user_eg ..
-
-user_eg2: user_eg2.o libqhull.a 
-	$(CC)  -o user_eg2 $(CCOPTS2) user_eg2.o  -L. -lqhull -lm 
-	cp user_eg2 ..
-
-# end of Makefile
diff --git a/src/libqhull/libqhull.pro b/src/libqhull/libqhull.pro
index e246076f6f2988346b4307175b0a209c5eea4c9e..d2ceb7c2a573a7c16dcf367b834d9bf15deaac4f 100644
--- a/src/libqhull/libqhull.pro
+++ b/src/libqhull/libqhull.pro
@@ -17,9 +17,11 @@ build_pass:CONFIG(debug, debug|release):{
 *g++ {
     COMPVER = $$system(gcc -v)
     contains(COMPVER, 4.1)|contains(COMPVER, 4.2)|contains(COMPVER, 4.3) {
-        QMAKE_CFLAGS += -fno-strict-aliasing # Avoid core dumps in qset.c with -O2
+        QMAKE_CFLAGS += -fno-strict-aliasing # Avoids core dumps in qset.c with -O2
     }
-    QMAKE_CFLAGS_WARN_ON += -Werror -Wcast-qual -Wextra -Wshadow -Wwrite-strings
+    # QMAKE_CFLAGS_WARN_ON += -Werror # Treat warnings as errors
+    QMAKE_CFLAGS_WARN_ON += -Wcast-qual -Wextra -Wshadow -Wwrite-strings
+
     #QMAKE_CFLAGS_WARN_ON += -Wno-sign-conversion # Many size_t vs. int warnings
     #QMAKE_CFLAGS_WARN_ON += -Wconversion # No workaround for bit-field conversions
 }
diff --git a/src/libqhullcpp/PointCoordinates.cpp b/src/libqhullcpp/PointCoordinates.cpp
index c6fca84c76a0b1372d63479d64a9b800e75ae757..a42daf557d8a44b61f75378c1b0991b6509f34b3 100644
--- a/src/libqhullcpp/PointCoordinates.cpp
+++ b/src/libqhullcpp/PointCoordinates.cpp
@@ -1,8 +1,8 @@
 /****************************************************************************
 **
 ** Copyright (c) 2009-2011 C.B. Barber. All rights reserved.
-** $Id: //main/2011/qhull/src/libqhullcpp/PointCoordinates.cpp#3 $$Change: 1342 $
-** $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
+** $Id: //main/2011/qhull/src/libqhullcpp/PointCoordinates.cpp#4 $$Change: 1348 $
+** $DateTime: 2011/03/25 23:54:58 $$Author: bbarber $
 **
 ****************************************************************************/
 
@@ -45,30 +45,28 @@ PointCoordinates(int pointDimension)
 }
 
 PointCoordinates::
-PointCoordinates(const std::string &comment)
+PointCoordinates(const std::string &aComment)
 : QhullPoints()
 , point_coordinates()
-, point_comment()
+, point_comment(aComment)
 {
-    appendComment(comment);
     makeValid();
 }
 
 PointCoordinates::
-PointCoordinates(int pointDimension, const std::string &comment)
+PointCoordinates(int pointDimension, const std::string &aComment)
 : QhullPoints(pointDimension)
 , point_coordinates()
-, point_comment()
+, point_comment(aComment)
 {
-    appendComment(comment);
     makeValid();
 }
 
 PointCoordinates::
-PointCoordinates(int pointDimension, const std::string &comment, int coordinatesCount, const coordT *c)
+PointCoordinates(int pointDimension, const std::string &aComment, int coordinatesCount, const coordT *c)
 : QhullPoints(pointDimension)
 , point_coordinates()
-, point_comment(comment)
+, point_comment(aComment)
 {
     append(coordinatesCount, c);
 }
@@ -136,16 +134,16 @@ beginCoordinates(int pointIndex)
 #//Modify
 
 void PointCoordinates::
-append(int count, const coordT *c)
+append(int coordinatesCount, const coordT *c)
 {
-    if(count<=0){
+    if(coordinatesCount<=0){
         return;
     }
     if(includesCoordinates(c)){
         throw QhullError(10065, "Qhull error: can not append a subset of PointCoordinates to itself.  The coordinates for point %d may move.", indexOf(c, QhullError::NOthrow));
     }
-    reserveCoordinates(count);
-    std::copy(c, c+count, std::back_inserter(point_coordinates));
+    reserveCoordinates(coordinatesCount);
+    std::copy(c, c+coordinatesCount, std::back_inserter(point_coordinates));
     makeValid();
 }//append coordT
 
@@ -208,7 +206,7 @@ appendPoints(istream &in)
     }
     setDimension(inDimension);
     reserveCoordinates(inCount*inDimension);
-    int coordinateCount= 0;
+    int coordinatesCount= 0;
     while(!in.eof()){
         realT p;
         in >> p >> ws;
@@ -216,17 +214,17 @@ appendPoints(istream &in)
             in.clear();
             string remainder;
             getline(in, remainder);
-            throw QhullError(10008, "Qhull error: failed to read coordinate %d  of point %d\n   %s", coordinateCount % inDimension, coordinateCount/inDimension, 0, remainder.c_str());
+            throw QhullError(10008, "Qhull error: failed to read coordinate %d  of point %d\n   %s", coordinatesCount % inDimension, coordinatesCount/inDimension, 0, remainder.c_str());
         }else{
             point_coordinates.push_back(p);
-            coordinateCount++;
+            coordinatesCount++;
         }
     }
-    if(coordinateCount != inCount*inDimension){
-        if(coordinateCount%inDimension==0){
-            throw QhullError(10006, "Qhull error: expected %d %d-d PointCoordinates but read %i PointCoordinates", int(inCount), inDimension, 0.0, int(coordinateCount/inDimension));
+    if(coordinatesCount != inCount*inDimension){
+        if(coordinatesCount%inDimension==0){
+            throw QhullError(10006, "Qhull error: expected %d %d-d PointCoordinates but read %i PointCoordinates", int(inCount), inDimension, 0.0, int(coordinatesCount/inDimension));
         }else{
-            throw QhullError(10012, "Qhull error: expected %d %d-d PointCoordinates but read %i PointCoordinates plus %f extra coordinates", inCount, inDimension, float(coordinateCount%inDimension), coordinateCount/inDimension);
+            throw QhullError(10012, "Qhull error: expected %d %d-d PointCoordinates but read %i PointCoordinates plus %f extra coordinates", inCount, inDimension, float(coordinatesCount%inDimension), coordinatesCount/inDimension);
         }
     }
     makeValid();
@@ -253,9 +251,9 @@ reserveCoordinates(int newCoordinates)
 int PointCoordinates::
 indexOffset(int i) const {
     int n= i*dimension();
-    int coordinateCount= point_coordinates.count();
-    if(i<0 || n>coordinateCount){
-        throw QhullError(10061, "Qhull error: point_coordinates is too short (%d) for point %d", coordinateCount, i);
+    int coordinatesCount= point_coordinates.count();
+    if(i<0 || n>coordinatesCount){
+        throw QhullError(10061, "Qhull error: point_coordinates is too short (%d) for point %d", coordinatesCount, i);
     }
     return n;
 }
diff --git a/src/libqhullcpp/PointCoordinates.h b/src/libqhullcpp/PointCoordinates.h
index b8b68472ae9a1ce586471aeb4ea0a115660df3f7..c974f90ae8e7c057f88428e20f46322e94dd273c 100644
--- a/src/libqhullcpp/PointCoordinates.h
+++ b/src/libqhullcpp/PointCoordinates.h
@@ -1,8 +1,8 @@
 /****************************************************************************
 **
 ** Copyright (c) 2009-2011 C.B. Barber. All rights reserved.
-** $Id: //main/2011/qhull/src/libqhullcpp/PointCoordinates.h#3 $$Change: 1342 $
-** $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
+** $Id: //main/2011/qhull/src/libqhullcpp/PointCoordinates.h#4 $$Change: 1348 $
+** $DateTime: 2011/03/25 23:54:58 $$Author: bbarber $
 **
 ****************************************************************************/
 
@@ -36,9 +36,9 @@ public:
 #//Construct
                         PointCoordinates();
     explicit            PointCoordinates(int pointDimension);
-    explicit            PointCoordinates(const std::string &comment);
-                        PointCoordinates(int pointDimension, const std::string &comment);
-                        PointCoordinates(int pointDimension, const std::string &comment, int coordinatesCount, const coordT *c); // may be invalid
+    explicit            PointCoordinates(const std::string &aComment);
+                        PointCoordinates(int pointDimension, const std::string &aComment);
+                        PointCoordinates(int pointDimension, const std::string &aComment, int coordinatesCount, const coordT *c); // may be invalid
                         //! Use append() and appendPoints() for Coordinates and vector<coordT>
                         PointCoordinates(const PointCoordinates &other);
     PointCoordinates   &operator=(const PointCoordinates &other);
@@ -89,7 +89,7 @@ public:
 
 #//Modify
     //FIXUP QH11001: Add clear() and other modify operators from Coordinates.h.  Include QhullPoint::operator=()
-    void                append(int count, const coordT *c);  //! Dimension previously defined
+    void                append(int coordinatesCount, const coordT *c);  //! Dimension previously defined
     void                append(const coordT &c) { append(1, &c); } //! Dimension previously defined
     void                append(const QhullPoint &p);
     //! See convert for std::vector and QList
diff --git a/src/libqhullcpp/Qhull.cpp b/src/libqhullcpp/Qhull.cpp
index abddd41c6b6d8b52dd0b27e78349e4a23218dfd8..0f478081b4f9bdbc14191c90fa45a297c02bc536 100644
--- a/src/libqhullcpp/Qhull.cpp
+++ b/src/libqhullcpp/Qhull.cpp
@@ -1,8 +1,8 @@
 /****************************************************************************
 **
 ** Copyright (c) 2008-2011 C.B. Barber. All rights reserved.
-** $Id: //main/2011/qhull/src/libqhullcpp/Qhull.cpp#3 $$Change: 1342 $
-** $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
+** $Id: //main/2011/qhull/src/libqhullcpp/Qhull.cpp#4 $$Change: 1348 $
+** $DateTime: 2011/03/25 23:54:58 $$Author: bbarber $
 **
 ****************************************************************************/
 
@@ -59,7 +59,7 @@ Qhull()
 }//Qhull
 
 Qhull::
-Qhull(const RboxPoints &points, const char *qhullCommand)
+Qhull(const RboxPoints &rboxPoints, const char *qhullCommand2)
 : qhull_qh(0)
 , qhull_run_id(UsingLibQhull::NOqhRunId)
 , origin_point()
@@ -74,11 +74,11 @@ Qhull(const RboxPoints &points, const char *qhullCommand)
 , useOutputStream(false)
 {
     initializeQhull();
-    runQhull(points, qhullCommand);
+    runQhull(rboxPoints, qhullCommand2);
 }//Qhull rbox
 
 Qhull::
-Qhull(const char *rboxCommand, int pointDimension, int pointCount, const realT *points, const char *qhullCommand)
+Qhull(const char *rboxCommand2, int pointDimension, int pointCount, const realT *pointCoordinates, const char *qhullCommand2)
 : qhull_qh(0)
 , qhull_run_id(UsingLibQhull::NOqhRunId)
 , origin_point()
@@ -93,7 +93,7 @@ Qhull(const char *rboxCommand, int pointDimension, int pointCount, const realT *
 , useOutputStream(false)
 {
     initializeQhull();
-    runQhull(rboxCommand, pointDimension, pointCount, points, qhullCommand);
+    runQhull(rboxCommand2, pointDimension, pointCount, pointCoordinates, qhullCommand2);
 }//Qhull points
 
 Qhull::
@@ -381,22 +381,22 @@ outputQhull(const char *outputflags)
 }//outputQhull
 
 void Qhull::
-runQhull(const RboxPoints &points, const char *qhullCommand)
+runQhull(const RboxPoints &rboxPoints, const char *qhullCommand2)
 {
-    runQhull(points.comment().c_str(), points.dimension(), points.count(), &*points.coordinates(), qhullCommand);
+    runQhull(rboxPoints.comment().c_str(), rboxPoints.dimension(), rboxPoints.count(), &*rboxPoints.coordinates(), qhullCommand2);
 }//runQhull, RboxPoints
 
 //! points is a array of points, input sites ('d' or 'v'), or halfspaces with offset last ('H')
 //! Derived from qh_new_qhull [user.c]
 void Qhull::
-runQhull(const char *rboxCommand, int pointDimension, int pointCount, const realT *points, const char *qhullCommand)
+runQhull(const char *rboxCommand2, int pointDimension, int pointCount, const realT *rboxPoints, const char *qhullCommand2)
 {
     if(run_called){
         throw QhullError(10027, "Qhull error: runQhull called twice.  Only one call allowed.");
     }
     run_called= true;
     string s("qhull ");
-    s += qhullCommand;
+    s += qhullCommand2;
     char *command= const_cast<char*>(s.c_str());
     UsingLibQhull q(this);
     int exitCode = setjmp(qh errexit);
@@ -404,11 +404,11 @@ runQhull(const char *rboxCommand, int pointDimension, int pointCount, const real
         qh_checkflags(command, s_unsupported_options);
         qh_initflags(command);
         *qh rbox_command= '\0';
-        strncat( qh rbox_command, rboxCommand, sizeof( qh rbox_command));
+        strncat( qh rbox_command, rboxCommand2, sizeof( qh rbox_command));
         if(qh DELAUNAY){
             qh PROJECTdelaunay= True;   // qh_init_B() calls qh_projectinput()
         }
-        pointT *newPoints= const_cast<pointT*>(points);
+        pointT *newPoints= const_cast<pointT*>(rboxPoints);
         int newDimension= pointDimension;
         int newIsMalloc= False;
         if(qh HALFspace){
diff --git a/src/libqhullcpp/Qhull.h b/src/libqhullcpp/Qhull.h
index 7045861d14e45d7bddd19ba7b445b87630610ce7..61574a32081008c9542c199bf261bb0a7b5b68cf 100644
--- a/src/libqhullcpp/Qhull.h
+++ b/src/libqhullcpp/Qhull.h
@@ -1,8 +1,8 @@
 /****************************************************************************
 **
 ** Copyright (c) 2008-2011 C.B. Barber. All rights reserved.
-** $Id: //main/2011/qhull/src/libqhullcpp/Qhull.h#2 $$Change: 1342 $
-** $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
+** $Id: //main/2011/qhull/src/libqhullcpp/Qhull.h#3 $$Change: 1348 $
+** $DateTime: 2011/03/25 23:54:58 $$Author: bbarber $
 **
 ****************************************************************************/
 
@@ -70,8 +70,8 @@ public:
 
 #//constructor, assignment, destructor, invariant
                         Qhull();      //! Qhull::runQhull() must be called next
-                        Qhull(const RboxPoints &points, const char *qhullCommand);
-                        Qhull(const char *rboxCommand, int pointDimension, int pointCount, const realT *points, const char *qhullCommand);
+                        Qhull(const RboxPoints &rboxPoints, const char *qhullCommand2);
+                        Qhull(const char *rboxCommand2, int pointDimension, int pointCount, const realT *pointCoordinates, const char *qhullCommand2);
                         // Throws error if other.initialized().  Needed for return by value and parameter passing
                         Qhull(const Qhull &other);
                         // Throws error if initialized() or other.initialized().  Needed for vector<Qhull>
@@ -132,8 +132,8 @@ public:
 #//Modify
     void                outputQhull();
     void                outputQhull(const char * outputflags);
-    void                runQhull(const RboxPoints &points, const char *qhullCommand);
-    void                runQhull(const char *rboxCommand, int pointDimension, int pointCount, const realT *points, const char *qhullCommand);
+    void                runQhull(const RboxPoints &rboxPoints, const char *qhullCommand2);
+    void                runQhull(const char *rboxCommand2, int pointDimension, int pointCount, const realT *rboxPoints, const char *qhullCommand2);
 
 private:
 #//Helpers
diff --git a/src/libqhullcpp/QhullEvent.h b/src/libqhullcpp/QhullEvent.h
deleted file mode 100644
index 07bdfa123a8c519fcfa113fdae278812bf21c081..0000000000000000000000000000000000000000
--- a/src/libqhullcpp/QhullEvent.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (c) 2008-2011 C.B. Barber. All rights reserved.
-** $Id: //main/2011/qhull/src/libqhullcpp/QhullEvent.h#3 $$Change: 1342 $
-** $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
-**
-****************************************************************************/
-
-#ifndef QHULLEVENT_H
-#define QHULLEVENT_H
-
-extern "C" {
-    #include "libqhull/qhull_a.h"
-};
-
-#include <string>
-
-namespace orgQhull {
-
-#//Types
-    //! QhullEvent -- Circular array of Qhull execution events
-    class QhullEvent;
-
-class QhullEvent {
-
-#//Types
-    friend class QhullLog;
-
-#//Constants
-public:
-    enum EventTypes {
-        LogEvent= 0x0,
-        CallEvent= 0x1,
-        ReturnEvent= 0x2
-    };
-
-private:
-#//Fields
-    unsigned int    time_s:24;
-    unsigned int    event_type:2;
-    unsigned int    trace_level:3;
-    unsigned int    unused_bits:3;
-    const char     *event_message;
-    int             int_arg1;
-    int             int_arg2;
-    const char     *cstr_arg3;
-
-
-public:
-#//Constructor, destructor
-    QhullEvent() : time_s(0), event_type(0), trace_level(0), unused_bits(0), event_message(0), int_arg1(0), int_arg2(0), cstr_arg3(0) {};
-    QhullEvent(int timeSeconds, EventTypes e, int traceLevel, const char *message, int arg1, int arg2, const char *arg3) : time_s(timeSeconds), event_type(e), trace_level(traceLevel), unused_bits(0), event_message(message), int_arg1(arg1), int_arg2(arg2), cstr_arg3(arg3) {};
-    ~QhullEvent() {};
-};//QhullEvent
-
-inline QhullEvent::EventTypes operator&(QhullEvent::EventTypes a, QhullEvent::EventTypes b) { return static_cast<QhullEvent::EventTypes>(int(a) & int(b)); };
-
-#if 0
-error messages start with "Error" -- may be translated
-.what is the last error message
-messageLength()
-on ERROR dump log to FILE
-shadow log?
-messageCount, maxCount
-#endif
-
-}//namespace orgQhull
-
-#//Global functions
-
-#endif // QHULLEVENT_H
diff --git a/src/libqhullcpp/QhullLog.cpp b/src/libqhullcpp/QhullLog.cpp
deleted file mode 100644
index 4fc2c5c6414cac03ad50c31f12a994cdfeed61d0..0000000000000000000000000000000000000000
--- a/src/libqhullcpp/QhullLog.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/****************************************************************************
-**
-** Copyright (c) 2008-2011 C.B. Barber. All rights reserved.
-** $Id: //main/2011/qhull/src/libqhullcpp/QhullLog.cpp#2 $$Change: 1342 $
-** $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
-**
-****************************************************************************/
-
-#//! QhullLog -- A recorded event in a circular buffer
-
-#include "QhullLog.h"
-
-#include <time.h>
-
-#ifdef _MSC_VER  // Microsoft Visual C++ -- warning level 4
-#endif
-
-namespace orgQhull {
-
-#//Class global
-std::vector<std::string>         a_log;
-std::vector<QhullEvent>   a_events;
-int             a_head= 0;
-int             a_tail= 0;
-int             a_head_gap= 0;
-int             a_tail_end= 0;
-int             a_max_overrun= 0;
-int             a_call_depth= 0;
-int              a_min_call_depth= 0;
-time_t           a_start_time_s= 0;
-int              a_logging_enabled= 0;
-
-#//Constructor, destructor, etc.
-QhullLog::
-QhullLog(int level, const char *message)
-{
-    a_call_depth++;
-    log(QhullEvent::CallEvent, level, message, 0, 0, 0);
-}
-
-QhullLog::
-QhullLog(int level, const char *message, int arg1)
-{
-    a_call_depth++;
-    log(QhullEvent::CallEvent, level, message, arg1, 0, 0);
-}
-
-QhullLog::
-QhullLog(int level, const char *message, int arg1, int arg2)
-{
-    a_call_depth++;
-    log(QhullEvent::CallEvent, level, message, arg1, arg2, 0);
-}
-
-QhullLog::
-QhullLog(int level, const char *message, int arg1, const char* arg3)
-{
-    a_call_depth++;
-    log(QhullEvent::CallEvent, level, message, arg1, 0, arg3);
-}
-
-QhullLog::
-QhullLog(int traceLevel, const char *message, int arg1, int arg2, const char* arg3)
-{
-    a_call_depth++;
-    log(QhullEvent::CallEvent, traceLevel, message, arg1, arg2, arg3);
-}
-
-QhullLog::
-~QhullLog()
-{
-    if(--a_call_depth < a_min_call_depth){
-        a_min_call_depth= a_call_depth;
-    }
-    if(a_events[a_tail].event_type & QhullEvent::ReturnEvent){
-        log(QhullEvent::ReturnEvent, 0, 0, 0, 0, 0);
-    }else{
-        a_events[a_tail++].event_type |= QhullEvent::ReturnEvent;
-    }
-}
-
-#//GetSet
-
-#//Modify
-
-void QhullLog::
-log(int level, const char *message)
-{
-    log(QhullEvent::LogEvent, level, message, 0, 0, 0);
-}
-
-void QhullLog::
-log(int level, const char *message, int arg1)
-{
-    log(QhullEvent::LogEvent, level, message, arg1, 0, 0);
-}
-
-void QhullLog::
-log(int level, const char *message, int arg1, int arg2)
-{
-    log(QhullEvent::LogEvent, level, message, arg1, arg2, 0);
-}
-
-void QhullLog::
-log(int level, const char *message, int arg1, const char* arg3)
-{
-    log(QhullEvent::LogEvent, level, message, arg1, 0, arg3);
-}
-
-
-#//Helper
-
-void QhullLog::
-cullEvents()
-{
-
-}//cullEvents
-
-//! May be called by multiple threads
-void QhullLog::
-log(QhullEvent::EventTypes e, int traceLevel, const char *message, int arg1, int arg2, const char* arg3)
-{
-    traceLevel= traceLevel;  // Ignore traceLevel for now
-    if(a_logging_enabled != 1){
-        return;
-    }
-    int t= (int)(time(0) - a_start_time_s); // Conversion OK, seconds since starts
-    a_events[a_tail++]= QhullEvent(t, e, traceLevel, message, arg1, arg2, arg3);
-    a_call_depth++;
-    if(a_tail-a_head_gap < a_head || a_tail >= a_tail_end){
-        maybeCullEvents();
-    }
-}
-
-void QhullLog::
-maybeCullEvents()
-{
-    if(a_tail>=a_tail_end){
-        if(a_tail-a_tail_end > a_max_overrun){
-            a_max_overrun= a_tail-a_tail_end; //FIXUP -- race condition, code not in Qhull
-        }
-        a_tail= 0;
-    }
-    if(a_head<a_head_gap){
-        if(a_tail<a_head_gap || a_tail_end-a_tail+a_head < a_head_gap){
-            cullEvents();
-        }
-    }else if(a_head>a_tail && a_head-a_tail < a_head_gap){
-        cullEvents();
-    }
-}//maybeCullEvents
-
-
-}//namespace orgQhull
-
diff --git a/src/libqhullcpp/QhullLog.h b/src/libqhullcpp/QhullLog.h
deleted file mode 100644
index 4285a18f008010c351d601a4c4506633c8a39ca6..0000000000000000000000000000000000000000
--- a/src/libqhullcpp/QhullLog.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (c) 2008-2011 C.B. Barber. All rights reserved.
-** $Id: //main/2011/qhull/src/libqhullcpp/QhullLog.h#2 $$Change: 1342 $
-** $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
-**
-****************************************************************************/
-
-#ifndef QHULLLOG_H
-#define QHULLLOG_H
-
-#include "QhullEvent.h"
-extern "C" {
-    #include "../src/qhull_a.h"
-};
-
-#include <string>
-#include <vector>
-
-namespace orgQhull {
-
-#//Types
-    //! QhullLog -- Report errors in Qhull
-    class QhullLog;
-
-class QhullLog {
-
-private:
-#//Fields
-
-public:
-#//Constants
-
-#//Class global
-    static std::vector<std::string>
-                            a_log;
-    static std::vector<QhullEvent>
-                           a_events;
-    static int             a_head;     //! Head of event queue.  Multiple threads may simultaneously increment a_head
-    static int             a_tail;     //! Tail of event queue.
-
-    static int             a_head_gap;      //! Gap between tail and head.
-    static int             a_tail_end;      //! End of event queue.  Additional elements allocated to avoid buffer overflow
-    static int             a_max_overrun; //! Maximum overrun due to multiple threads (a_head-a_end)
-
-    static int              a_call_depth;  //! Current call depth
-    static int              a_min_call_depth;  //! Minimum call depth since last cull
-
-    static time_t           a_start_time_s;    //! UTC seconds at start of logging
-    static int              a_logging_enabled; //! True only if '1'
-
-#//Constructors
-     QhullLog(int level, const char *message);
-     QhullLog(int level, const char *message, int arg1);
-     QhullLog(int level, const char *message, int arg1, int arg2);
-     QhullLog(int level, const char *message, int arg1, const char *arg3);
-     QhullLog(int level, const char *message, int arg1, int arg2, const char *arg3);
-    ~QhullLog();
-
-private:
-    QhullLog() {};  // disabled
-
-#//Update
-    void        log(int level, const char *message);
-    void        log(int level, const char *message, int arg1);
-    void        log(int level, const char *message, int arg1, const char *arg3);
-    void        log(int level, const char *message, int arg1, int arg2);
-    void        log(int level, const char *message, int arg1, int arg2, const char *arg3);
-
-#//Helper
-private:
-    void cullEvents();
-    void        log(QhullEvent::EventTypes t, int level, const char *message, int arg1, int arg2, const char *arg3);
-    void maybeCullEvents();
-
-};//QhullLog
-
-#if 0
-.what is the last error message
-.where is the stack + execution log
-messageLength()
-on ERROR dump log to FILE
-log all the time
-shadow log?
-elide history RELATIVE level, n-back
-messageCount, maxCount
-#endif
-
-
-}//namespace orgQhull
-
-#//Global functions
-
-std::ostream &operator<<(std::ostream &os, const orgQhull::QhullLog *f);
-
-#endif // QHULLLOG_H
diff --git a/src/libqhullcpp/QhullPoint.cpp b/src/libqhullcpp/QhullPoint.cpp
index 8468914b0d24c4aa88d838b6e4c83521e7e2ee1d..d3d1d874c60ddfe785cc249b4491dae222c57a8c 100644
--- a/src/libqhullcpp/QhullPoint.cpp
+++ b/src/libqhullcpp/QhullPoint.cpp
@@ -1,8 +1,8 @@
 /****************************************************************************
 **
 ** Copyright (c) 2009-2011 C.B. Barber. All rights reserved.
-** $Id: //main/2011/qhull/src/libqhullcpp/QhullPoint.cpp#2 $$Change: 1342 $
-** $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
+** $Id: //main/2011/qhull/src/libqhullcpp/QhullPoint.cpp#3 $$Change: 1348 $
+** $DateTime: 2011/03/25 23:54:58 $$Author: bbarber $
 **
 ****************************************************************************/
 
@@ -28,11 +28,11 @@ id(int qhRunId, int dimension, const coordT *c)
     if(UsingLibQhull::hasPoints()){
         if(qhRunId==UsingLibQhull::NOqhRunId){
             const coordT *pointsEnd;
-            int dimension;
-            const coordT *points= UsingLibQhull::globalPoints(&dimension, &pointsEnd);
+            int dim;
+            const coordT *points= UsingLibQhull::globalPoints(&dim, &pointsEnd);
             if(c>=points && c<pointsEnd){
                 int offset= (int)(c-points); // WARN64
-                return offset/dimension;
+                return offset/dim;
             }
         }else{
             UsingLibQhull q(qhRunId);
diff --git a/src/libqhullcpp/QhullPoints.cpp b/src/libqhullcpp/QhullPoints.cpp
index 26df71eefb85fa37cd0a7d947dd8fa17ba411410..0f9571fd6ef74f710ffc092c3a64742dd42d85c4 100644
--- a/src/libqhullcpp/QhullPoints.cpp
+++ b/src/libqhullcpp/QhullPoints.cpp
@@ -1,8 +1,8 @@
 /****************************************************************************
 **
 ** Copyright (c) 2009-2011 C.B. Barber. All rights reserved.
-** $Id: //main/2011/qhull/src/libqhullcpp/QhullPoints.cpp#2 $$Change: 1342 $
-** $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
+** $Id: //main/2011/qhull/src/libqhullcpp/QhullPoints.cpp#3 $$Change: 1348 $
+** $DateTime: 2011/03/25 23:54:58 $$Author: bbarber $
 **
 ****************************************************************************/
 
@@ -118,31 +118,31 @@ count(const QhullPoint &t) const
 }//count
 
 int QhullPoints::
-indexOf(const coordT *coordinates) const
+indexOf(const coordT *pointCoordinates) const
 {
-    if(!includesCoordinates(coordinates) || dimension()==0){
+    if(!includesCoordinates(pointCoordinates) || dimension()==0){
         return -1;
     }
-    size_t offset= coordinates-point_first;
+    size_t offset= pointCoordinates-point_first;
     int idx= (int)(offset/(size_t)dimension()); // int for error reporting
     int extra= (int)(offset%(size_t)dimension());
     if(extra!=0){
-        throw QhullError(10066, "Qhull error: coordinates %x are not at point boundary (extra %d at index %d)", extra, idx, 0.0, coordinates);
+        throw QhullError(10066, "Qhull error: coordinates %x are not at point boundary (extra %d at index %d)", extra, idx, 0.0, pointCoordinates);
     }
     return idx;
 }//indexOf coordT
 
 int QhullPoints::
-indexOf(const coordT *coordinates, int noThrow) const
+indexOf(const coordT *pointCoordinates, int noThrow) const
 {
     size_t extra= 0;
     if(noThrow){
-        if(!includesCoordinates(coordinates)||dimension()==0){
+        if(!includesCoordinates(pointCoordinates) || dimension()==0){
             return -1;
         }
-        extra= (coordinates-point_first)%(size_t)dimension();
+        extra= (pointCoordinates-point_first)%(size_t)dimension();
     }
-    return indexOf(coordinates-extra);
+    return indexOf(pointCoordinates-extra);
 }//indexOf coordT noThrow
 
 int QhullPoints::
diff --git a/src/libqhullcpp/QhullPoints.h b/src/libqhullcpp/QhullPoints.h
index 790e2847073f4289ea67845955c6f35ddc35d210..101afc7695b2e3b5c8cb46fdf3e2278e7421676b 100644
--- a/src/libqhullcpp/QhullPoints.h
+++ b/src/libqhullcpp/QhullPoints.h
@@ -1,8 +1,8 @@
 /****************************************************************************
 **
 ** Copyright (c) 2009-2011 C.B. Barber. All rights reserved.
-** $Id: //main/2011/qhull/src/libqhullcpp/QhullPoints.h#3 $$Change: 1342 $
-** $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
+** $Id: //main/2011/qhull/src/libqhullcpp/QhullPoints.h#4 $$Change: 1348 $
+** $DateTime: 2011/03/25 23:54:58 $$Author: bbarber $
 **
 ****************************************************************************/
 
@@ -109,8 +109,8 @@ public:
 #//Search
     bool                contains(const QhullPoint &t) const;
     int                 count(const QhullPoint &t) const;
-    int                 indexOf(const coordT *coordinates) const;
-    int                 indexOf(const coordT *coordinates, int noThrow) const;
+    int                 indexOf(const coordT *pointCoordinates) const;
+    int                 indexOf(const coordT *pointCoordinates, int noThrow) const;
     int                 indexOf(const QhullPoint &t) const;
     int                 lastIndexOf(const QhullPoint &t) const;
 
diff --git a/src/libqhullcpp/libqhullcpp.pro b/src/libqhullcpp/libqhullcpp.pro
index 6258096217a7bc4d85815ef350bb4850d22d710e..ac2e6b1999050161a9da2be5e0036491e8b1cf58 100644
--- a/src/libqhullcpp/libqhullcpp.pro
+++ b/src/libqhullcpp/libqhullcpp.pro
@@ -20,10 +20,43 @@ DEFINES += qh_QHpointer
 INCLUDEPATH += ../../src
 INCLUDEPATH += $$PWD # for MOC_DIR
 *g++ {
-    #QMAKE_CXXFLAGS_WARN_ON += -Wconversion # Qt conversion errors in qbitarray and qpalette
     QMAKE_CXXFLAGS_WARN_ON += -Werror # Treat warnings as errors
-    QMAKE_CXXFLAGS_WARN_ON += -Wcast-qual -Wextra -Wwrite-strings
+    QMAKE_CXXFLAGS_WARN_ON += -Wshadow -Wconversion
+    QMAKE_CXXFLAGS_WARN_ON += -Wcast-qual -Wextra -Wshadow -Wwrite-strings
     QMAKE_CXXFLAGS_WARN_ON += -Wno-sign-conversion
+QMAKE_CXXFLAGS_WARN_ON += -Waddress
+QMAKE_CXXFLAGS_WARN_ON += -Warray-bounds
+QMAKE_CXXFLAGS_WARN_ON += -Wc++0x-compat
+QMAKE_CXXFLAGS_WARN_ON += -Wchar-subscripts
+QMAKE_CXXFLAGS_WARN_ON += -Wclobbered
+QMAKE_CXXFLAGS_WARN_ON += -Wcomment
+QMAKE_CXXFLAGS_WARN_ON += -Wempty-body
+QMAKE_CXXFLAGS_WARN_ON += -Wenum-compare
+QMAKE_CXXFLAGS_WARN_ON += -Wformat
+QMAKE_CXXFLAGS_WARN_ON += -Wignored-qualifiers
+QMAKE_CXXFLAGS_WARN_ON += -Wmain
+QMAKE_CXXFLAGS_WARN_ON += -Wmissing-braces
+QMAKE_CXXFLAGS_WARN_ON += -Wmissing-field-initializers
+QMAKE_CXXFLAGS_WARN_ON += -Wparentheses
+QMAKE_CXXFLAGS_WARN_ON += -Wreorder
+QMAKE_CXXFLAGS_WARN_ON += -Wreturn-type
+QMAKE_CXXFLAGS_WARN_ON += -Wsequence-point
+QMAKE_CXXFLAGS_WARN_ON += -Wsign-compare
+QMAKE_CXXFLAGS_WARN_ON += -Wsign-compare
+QMAKE_CXXFLAGS_WARN_ON += -Wstrict-aliasing
+QMAKE_CXXFLAGS_WARN_ON += -Wstrict-overflow=1
+QMAKE_CXXFLAGS_WARN_ON += -Wswitch
+QMAKE_CXXFLAGS_WARN_ON += -Wtrigraphs
+QMAKE_CXXFLAGS_WARN_ON += -Wtype-limits
+QMAKE_CXXFLAGS_WARN_ON += -Wuninitialized
+QMAKE_CXXFLAGS_WARN_ON += -Wuninitialized
+QMAKE_CXXFLAGS_WARN_ON += -Wunknown-pragmas
+QMAKE_CXXFLAGS_WARN_ON += -Wunused-function
+QMAKE_CXXFLAGS_WARN_ON += -Wunused-label
+QMAKE_CXXFLAGS_WARN_ON += -Wunused-parameter
+QMAKE_CXXFLAGS_WARN_ON += -Wunused-value
+QMAKE_CXXFLAGS_WARN_ON += -Wunused-variable
+QMAKE_CXXFLAGS_WARN_ON += -Wvolatile-register-var
 }
 
 SOURCES += ../road/RoadError.cpp
diff --git a/src/qhull-app-c.pri b/src/qhull-app-c.pri
index 9bfbb015c65140512c2370c917ce4ea57ebfbfb6..5f09ad74139dd83830d8d5d25404e26d4e3300d3 100644
--- a/src/qhull-app-c.pri
+++ b/src/qhull-app-c.pri
@@ -14,6 +14,43 @@ build_pass:CONFIG(debug, debug|release){
     QMAKE_CFLAGS_WARN_ON += -Werror -Wcast-qual -Wextra -Wshadow -Wwrite-strings
     QMAKE_CFLAGS_WARN_ON += -Wno-sign-conversion
     QMAKE_CFLAGS_WARN_ON += -Wconversion
+QMAKE_CFLAGS_WARN_ON += -Waddress
+QMAKE_CFLAGS_WARN_ON += -Warray-bounds
+QMAKE_CFLAGS_WARN_ON += -Wchar-subscripts
+QMAKE_CFLAGS_WARN_ON += -Wclobbered
+QMAKE_CFLAGS_WARN_ON += -Wcomment
+QMAKE_CFLAGS_WARN_ON += -Wempty-body
+QMAKE_CFLAGS_WARN_ON += -Wformat
+QMAKE_CFLAGS_WARN_ON += -Wignored-qualifiers
+QMAKE_CFLAGS_WARN_ON += -Wimplicit-function-declaration
+QMAKE_CFLAGS_WARN_ON += -Wimplicit-int
+QMAKE_CFLAGS_WARN_ON += -Wmain
+QMAKE_CFLAGS_WARN_ON += -Wmissing-braces
+QMAKE_CFLAGS_WARN_ON += -Wmissing-field-initializers
+QMAKE_CFLAGS_WARN_ON += -Wmissing-parameter-type
+QMAKE_CFLAGS_WARN_ON += -Wnonnull
+QMAKE_CFLAGS_WARN_ON += -Wold-style-declaration
+QMAKE_CFLAGS_WARN_ON += -Woverride-init
+QMAKE_CFLAGS_WARN_ON += -Wparentheses
+QMAKE_CFLAGS_WARN_ON += -Wpointer-sign
+QMAKE_CFLAGS_WARN_ON += -Wreturn-type
+QMAKE_CFLAGS_WARN_ON += -Wsequence-point
+QMAKE_CFLAGS_WARN_ON += -Wsign-compare
+QMAKE_CFLAGS_WARN_ON += -Wsign-compare
+QMAKE_CFLAGS_WARN_ON += -Wstrict-aliasing
+QMAKE_CFLAGS_WARN_ON += -Wstrict-overflow=1
+QMAKE_CFLAGS_WARN_ON += -Wswitch
+QMAKE_CFLAGS_WARN_ON += -Wtrigraphs
+QMAKE_CFLAGS_WARN_ON += -Wtype-limits
+QMAKE_CFLAGS_WARN_ON += -Wuninitialized
+QMAKE_CFLAGS_WARN_ON += -Wuninitialized
+QMAKE_CFLAGS_WARN_ON += -Wunknown-pragmas
+QMAKE_CFLAGS_WARN_ON += -Wunused-function
+QMAKE_CFLAGS_WARN_ON += -Wunused-label
+QMAKE_CFLAGS_WARN_ON += -Wunused-parameter
+QMAKE_CFLAGS_WARN_ON += -Wunused-value
+QMAKE_CFLAGS_WARN_ON += -Wunused-variable
+QMAKE_CFLAGS_WARN_ON += -Wvolatile-register-var
 }
 win32-msvc* : QMAKE_LFLAGS += /INCREMENTAL:NO
 
diff --git a/src/qhull-app-cpp.pri b/src/qhull-app-cpp.pri
index 281c655505359e85ce263d6c2d80cd359b7ae2b6..233e9d6ae64b904a8fb6bfaf49c9f2433d17688c 100644
--- a/src/qhull-app-cpp.pri
+++ b/src/qhull-app-cpp.pri
@@ -18,6 +18,39 @@ build_pass:CONFIG(debug, debug|release){
     QMAKE_CXXFLAGS_WARN_ON += -Werror # Treat warnings as errors
     QMAKE_CXXFLAGS_WARN_ON += -Wcast-qual -Wextra -Wwrite-strings
     QMAKE_CXXFLAGS_WARN_ON += -Wno-sign-conversion
+QMAKE_CXXFLAGS_WARN_ON += -Waddress
+QMAKE_CXXFLAGS_WARN_ON += -Warray-bounds
+QMAKE_CXXFLAGS_WARN_ON += -Wc++0x-compat
+QMAKE_CXXFLAGS_WARN_ON += -Wchar-subscripts
+QMAKE_CXXFLAGS_WARN_ON += -Wclobbered
+QMAKE_CXXFLAGS_WARN_ON += -Wcomment
+QMAKE_CXXFLAGS_WARN_ON += -Wempty-body
+QMAKE_CXXFLAGS_WARN_ON += -Wenum-compare
+QMAKE_CXXFLAGS_WARN_ON += -Wformat
+QMAKE_CXXFLAGS_WARN_ON += -Wignored-qualifiers
+QMAKE_CXXFLAGS_WARN_ON += -Wmain
+QMAKE_CXXFLAGS_WARN_ON += -Wmissing-braces
+QMAKE_CXXFLAGS_WARN_ON += -Wmissing-field-initializers
+QMAKE_CXXFLAGS_WARN_ON += -Wparentheses
+QMAKE_CXXFLAGS_WARN_ON += -Wreorder
+QMAKE_CXXFLAGS_WARN_ON += -Wreturn-type
+QMAKE_CXXFLAGS_WARN_ON += -Wsequence-point
+QMAKE_CXXFLAGS_WARN_ON += -Wsign-compare
+QMAKE_CXXFLAGS_WARN_ON += -Wsign-compare
+QMAKE_CXXFLAGS_WARN_ON += -Wstrict-aliasing
+QMAKE_CXXFLAGS_WARN_ON += -Wstrict-overflow=1
+QMAKE_CXXFLAGS_WARN_ON += -Wswitch
+QMAKE_CXXFLAGS_WARN_ON += -Wtrigraphs
+QMAKE_CXXFLAGS_WARN_ON += -Wtype-limits
+QMAKE_CXXFLAGS_WARN_ON += -Wuninitialized
+QMAKE_CXXFLAGS_WARN_ON += -Wuninitialized
+QMAKE_CXXFLAGS_WARN_ON += -Wunknown-pragmas
+QMAKE_CXXFLAGS_WARN_ON += -Wunused-function
+QMAKE_CXXFLAGS_WARN_ON += -Wunused-label
+QMAKE_CXXFLAGS_WARN_ON += -Wunused-parameter
+QMAKE_CXXFLAGS_WARN_ON += -Wunused-value
+QMAKE_CXXFLAGS_WARN_ON += -Wunused-variable
+QMAKE_CXXFLAGS_WARN_ON += -Wvolatile-register-var
 }
 win32-msvc : QMAKE_LFLAGS += /INCREMENTAL:NO