Combined patches from git.
--- fltk1.3-1.3.1.orig/configure
+++ fltk1.3-1.3.1/configure
@@ -2685,10 +2685,10 @@ if test x$enable_shared = xyes; then
             GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
             IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
             CAIRODSONAME="libfltk_cairo.so.$FL_API_VERSION"
-            DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared -fPIC $DEBUGFLAG -o"
-	    if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/usr/lib64"; then
-		    DSOLINK="-Wl,-rpath,$libdir"
-            fi
+            DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ -shared -fPIC $DEBUGFLAG -o"
+#	    if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/usr/lib64"; then
+#		    DSOLINK="-Wl,-rpath,$libdir"
+#           fi
 	    ;;
 	AIX*)
             DSONAME="libfltk_s.a"
@@ -6161,8 +6161,8 @@ $as_echo "$as_me: WARNING: Cannot find s
 else
     ZLIBINC=""
     ZLIB=""
-    LIBS="-lz $LIBS"
-    IMAGELIBS="-lz $IMAGELIBS"
+    # LIBS="-lz $LIBS"
+    # IMAGELIBS="-lz $IMAGELIBS"
     STATICIMAGELIBS="-lz $STATICIMAGELIBS"
     $as_echo "#define HAVE_LIBZ 1" >>confdefs.h
 
@@ -6429,6 +6429,7 @@ $as_echo "$have_pthread" >&6; }
 		break
 	    fi
 	done
+	LIBS=$SAVELIBS
     fi
 fi
 
@@ -7445,12 +7446,12 @@ fi
 if test "x$ac_cv_header_GL_glu_h" = xyes; then :
   $as_echo "#define HAVE_GL_GLU_H 1" >>confdefs.h
 
-		if test x$ac_cv_lib_GL_glXMakeCurrent = xyes; then
-		    GLLIB="-lGLU $GLLIB"
-		fi
-		if test x$ac_cv_lib_MesaGL_glXMakeCurrent = xyes; then
-		    GLLIB="-lMesaGLU $GLLIB"
-		fi
+		# if test x$ac_cv_lib_GL_glXMakeCurrent = xyes; then
+		#     GLLIB="-lGLU $GLLIB"
+		# fi
+		# if test x$ac_cv_lib_MesaGL_glXMakeCurrent = xyes; then
+		#     GLLIB="-lMesaGLU $GLLIB"
+		# fi
 
 fi
 
@@ -7625,7 +7626,7 @@ if ${ac_cv_lib_Xft_XftDrawCreate+:} fals
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lXft  $LIBS"
+LIBS="-lXft -lfontconfig $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -7658,7 +7659,7 @@ $as_echo "$ac_cv_lib_Xft_XftDrawCreate"
 if test "x$ac_cv_lib_Xft_XftDrawCreate" = xyes; then :
   $as_echo "#define USE_XFT 1" >>confdefs.h
 
-			LIBS="-lXft $LIBS"
+			LIBS="-lXft -lfontconfig $LIBS"
 fi
 
 fi
@@ -8124,7 +8125,7 @@ _ACEOF
 
     else
 	cat >>confdefs.h <<_ACEOF
-#define FLTK_DOCDIR "$prefix/share/doc/fltk"
+#define FLTK_DOCDIR "$prefix/share/doc/fltk1.3-doc/HTML"
 _ACEOF
 
     fi
--- fltk1.3-1.3.1.orig/fltk-config.in
+++ fltk1.3-1.3.1/fltk-config.in
@@ -231,18 +231,18 @@ fi
 
 # Calculate needed libraries
 LDSTATIC="$libdir/libfltk.a $LDLIBS"
-LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS"
+LDLIBS="-lfltk$SHAREDSUFFIX"
 
 if test x$use_forms = xyes; then
     LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS"
     LDSTATIC="$libdir/libfltk_forms.a $LDSTATIC"
 fi
 if test x$use_gl = xyes; then
-    LDLIBS="-lfltk_gl$SHAREDSUFFIX @GLLIB@ $LDLIBS"
+    LDLIBS="-lfltk_gl$SHAREDSUFFIX $LDLIBS"
     LDSTATIC="$libdir/libfltk_gl.a @GLLIB@ $LDSTATIC"
 fi
 if test x$use_images = xyes; then
-    LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS"
+    LDLIBS="-lfltk_images$SHAREDSUFFIX $LDLIBS"
     LDSTATIC="$libdir/libfltk_images.a $STATICIMAGELIBS $LDSTATIC"
 fi
 
@@ -281,8 +281,8 @@ if test -n "$compile"; then
 
     post="$prog"
 
-    echo $CXX $ARCHFLAGS $includes $CXXFLAGS $debug -o "'$prog'" "'$compile'" $LDSTATIC
-    $CXX $ARCHFLAGS $includes $CXXFLAGS $debug -o "$prog" "$compile" $LDSTATIC || exit 1
+    echo $CXX $ARCHFLAGS $includes $CXXFLAGS $debug -o "'$prog'" "'$compile'" $LDLIBS
+    $CXX $ARCHFLAGS $includes $CXXFLAGS $debug -o "$prog" "$compile" $LDLIBS || exit 1
 fi
 
 if test -n "$post"; then
@@ -325,11 +325,11 @@ EOF
 fi
 
 if test "$echo_cflags" = "yes"; then
-    echo $includes $CFLAGS
+    echo "$includes $CFLAGS" | sed -e 's/ -[gO][^ ]*//g'
 fi
 
 if test "$echo_cxxflags" = "yes"; then
-    echo $includes $CXXFLAGS
+    echo "$includes $CXXFLAGS" | sed -e 's/ -[gO][^ ]*//g'
 fi
 
 if test "$echo_optim" = "yes"; then
--- fltk1.3-1.3.1.orig/configure.in
+++ fltk1.3-1.3.1/configure.in
@@ -271,10 +271,10 @@ if test x$enable_shared = xyes; then
             GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
             IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
             CAIRODSONAME="libfltk_cairo.so.$FL_API_VERSION"
-            DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared -fPIC $DEBUGFLAG -o"
-	    if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/usr/lib64"; then
-		    DSOLINK="-Wl,-rpath,$libdir"
-            fi
+            DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ -shared -fPIC $DEBUGFLAG -o"
+#	    if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/usr/lib64"; then
+#		    DSOLINK="-Wl,-rpath,$libdir"
+#           fi
 	    ;;
 	AIX*)
             DSONAME="libfltk_s.a"
@@ -689,8 +689,8 @@ if test x$enable_localzlib = xyes -o x$s
 else
     ZLIBINC=""
     ZLIB=""
-    LIBS="-lz $LIBS"
-    IMAGELIBS="-lz $IMAGELIBS"
+    # LIBS="-lz $LIBS"
+    # IMAGELIBS="-lz $IMAGELIBS"
     STATICIMAGELIBS="-lz $STATICIMAGELIBS"
     AC_DEFINE(HAVE_LIBZ)
 fi
@@ -802,6 +802,7 @@ if test "x$enable_threads" != xno -a x$c
 		break
 	    fi
 	done
+	LIBS=$SAVELIBS
     fi
 fi
 
@@ -939,12 +940,12 @@ case $uname_GUI in
 	    )
 	    AC_CHECK_HEADER(GL/glu.h,
         	AC_DEFINE(HAVE_GL_GLU_H)
-		if test x$ac_cv_lib_GL_glXMakeCurrent = xyes; then
-		    GLLIB="-lGLU $GLLIB"
-		fi
-		if test x$ac_cv_lib_MesaGL_glXMakeCurrent = xyes; then
-		    GLLIB="-lMesaGLU $GLLIB"
-		fi
+		# if test x$ac_cv_lib_GL_glXMakeCurrent = xyes; then
+		#     GLLIB="-lGLU $GLLIB"
+		# fi
+		# if test x$ac_cv_lib_MesaGL_glXMakeCurrent = xyes; then
+		#     GLLIB="-lMesaGLU $GLLIB"
+		# fi
 	    )
 
 	    if test x$ac_cv_lib_GL_glXMakeCurrent != xyes -a x$ac_cv_lib_MesaGL_glXMakeCurrent != xyes; then
@@ -983,7 +984,7 @@ case $uname_GUI in
 		AC_CHECK_HEADER(X11/Xft/Xft.h,
 		    AC_CHECK_LIB(Xft, XftDrawCreate,
 			AC_DEFINE(USE_XFT)
-			LIBS="-lXft $LIBS"))
+			LIBS="-lXft -lfontconfig $LIBS", [], -lfontconfig))
 	    fi
 	fi
 
@@ -1298,7 +1299,7 @@ case $uname in
     if test x$prefix = xNONE; then
 	AC_DEFINE_UNQUOTED(FLTK_DOCDIR, "/usr/local/share/doc/fltk")
     else
-	AC_DEFINE_UNQUOTED(FLTK_DOCDIR, "$prefix/share/doc/fltk")
+	AC_DEFINE_UNQUOTED(FLTK_DOCDIR, "$prefix/share/doc/fltk1.3-doc/HTML")
     fi
     ;;
 esac
--- fltk1.3-1.3.1.orig/makeinclude.in
+++ fltk1.3-1.3.1/makeinclude.in
@@ -25,7 +25,7 @@ includedir	= @includedir@
 libdir		= @libdir@
 mandir		= @mandir@
 srcdir		= @srcdir@
-docdir		= $(datadir)/doc/fltk
+docdir		= $(datadir)/doc/fltk1.3-doc
 VPATH		= @srcdir@
 USEMMFILES  = @USEMMFILES@
 # programs we use...
@@ -131,7 +131,7 @@ INSTALL_DESKTOP	= @INSTALL_DESKTOP@
 UNINSTALL_DESKTOP = @UNINSTALL_DESKTOP@
 
 # Be quiet when building...
-.SILENT:
+#.SILENT:
 
 # Build commands and filename extensions...
 .SUFFIXES:	.0 .1 .3 .6 .c .cxx .mm .h .fl .man .o .z $(EXEEXT)
--- fltk1.3-1.3.1.orig/Makefile
+++ fltk1.3-1.3.1/Makefile
@@ -100,8 +100,8 @@ makeinclude: configure configh.in makein
 	touch config.h
 	chmod +x fltk-config
 
-configure: configure.in
-	autoconf
+# configure: configure.in
+# 	autoconf
 
 portable-dist:
 	epm -v -s fltk.xpm fltk
--- fltk1.3-1.3.1.orig/src/Makefile
+++ fltk1.3-1.3.1/src/Makefile
@@ -211,6 +211,9 @@ UTF8CFILES = \
 FLTKFLAGS = -DFL_LIBRARY
 include ../makeinclude
 
+CFLAGS   := $(CFLAGS:-fPIE=-fPIC)
+CXXFLAGS := $(CXXFLAGS:-fPIE=-fPIC)
+
 MMFILES = $(shell if test $(USEMMFILES) = Yes; then echo $(OBJCPPFILES); fi)
 
 OBJECTS =  $(MMFILES:.mm=.o) $(CPPFILES:.cxx=.o) $(CFILES:.c=.o) $(UTF8CFILES:.c=.o)
@@ -231,13 +234,13 @@ $(LIBNAME): $(OBJECTS)
 
 libfltk.so.1.3: $(OBJECTS)
 	echo $(DSOCOMMAND) $@ ...
-	$(DSOCOMMAND) $@ $(OBJECTS)
+	$(DSOCOMMAND) $@ $(OBJECTS) $(LDLIBS) -lpthread
 	$(RM) libfltk.so
 	$(LN) libfltk.so.1.3 libfltk.so
 
 libfltk.sl.1.3: $(OBJECTS)
 	echo $(DSOCOMMAND) $@ ...
-	$(DSOCOMMAND) $@ $(OBJECTS)
+	$(DSOCOMMAND) $@ $(OBJECTS) $(LDLIBS)
 	$(RM) libfltk.sl
 	$(LN) libfltk.sl.1.3 libfltk.sl
 
@@ -303,13 +306,13 @@ $(GLLIBNAME): $(GLOBJECTS)
 
 libfltk_gl.so.1.3: $(GLOBJECTS) libfltk.so.1.3
 	echo $(DSOCOMMAND) $@ ...
-	$(DSOCOMMAND) $@ $(GLOBJECTS) -L. -lfltk
+	$(DSOCOMMAND) $@ $(GLOBJECTS) -lGL -lX11 -ldl -L. -lfltk
 	$(RM) libfltk_gl.so
 	$(LN) libfltk_gl.so.1.3 libfltk_gl.so
 
 libfltk_gl.sl.1.3: $(GLOBJECTS) libfltk.sl.1.3
 	echo $(DSOCOMMAND) $@ ...
-	$(DSOCOMMAND) $@ $(GLOBJECTS) -L. -lfltk
+	$(DSOCOMMAND) $@ $(GLOBJECTS) -lGL -lX11 -ldl -L. -lfltk
 	$(RM) libfltk_gl.sl
 	$(LN) libfltk_gl.sl.1.3 libfltk_gl.sl
 
--- fltk1.3-1.3.1.orig/documentation/Makefile
+++ fltk1.3-1.3.1/documentation/Makefile
@@ -73,10 +73,10 @@ depend:
 
 install: $(MANPAGES)
 	echo "Installing documentation files in $(DESTDIR)$(docdir) ..."
-	-$(INSTALL_DIR) $(DESTDIR)$(docdir)
+	-$(INSTALL_DIR) $(DESTDIR)$(docdir)/HTML
 	if test -f html/index.html ; then \
 	  for file in html/* ; do \
-		$(INSTALL_DATA) $$file $(DESTDIR)$(docdir); \
+		$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/HTML; \
 	  done \
 	fi
 	if test -f fltk.pdf ; then \
--- fltk1.3-1.3.1.orig/cairo/Makefile
+++ fltk1.3-1.3.1/cairo/Makefile
@@ -19,6 +19,8 @@
 FLTKFLAGS = -DFL_LIBRARY
 include ../makeinclude
 
+CXXFLAGS := $(CXXFLAGS:-fPIE=-fPIC)
+
 #
 # Object files...
 #
@@ -39,13 +41,13 @@ $(CAIROLIBNAME): $(CAIROOBJECTS)
 
 libfltk_cairo.so.1.3: $(CAIROOBJECTS) ../src/libfltk.so.1.3
 	echo $(DSOCOMMAND) $@ ...
-	$(DSOCOMMAND) $@ $(CAIROOBJECTS) -L../src -lfltk
+	$(DSOCOMMAND) $@ $(CAIROOBJECTS) -L../src $(CAIROLIBS) -lfltk
 	$(RM) libfltk_cairo.so
 	$(LN) $(CAIRODSONAME) libfltk_cairo.so
 
 libfltk_cairo.sl.1.3: $(CAIROOBJECTS) ../src/libfltk.sl.1.3
 	echo $(DSOCOMMAND) $@ ...
-	$(DSOCOMMAND) $@ $(CAIROOBJECTS) -L../src -lfltk
+	$(DSOCOMMAND) $@ $(CAIROOBJECTS) -L../src $(CAIROLIBS) -lfltk
 	$(RM) libfltk_cairo.sl
 	$(LN) libfltk_cairo.sl.1.3 libfltk_cairo.sl
 
--- fltk1.3-1.3.1.orig/fluid/Makefile
+++ fltk1.3-1.3.1/fluid/Makefile
@@ -54,7 +54,9 @@ fluid$(EXEEXT):		$(OBJECTS) $(LIBNAME) $
 fluid-shared$(EXEEXT):	$(OBJECTS) ../src/$(DSONAME) ../src/$(FLDSONAME) \
 			../src/$(IMGDSONAME)
 	echo Linking $@...
-	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) $(LINKSHARED) $(LDLIBS)
+	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) \
+	    -L../src -Wl,-rpath-link,../src -lfltk_images -lfltk_forms -lfltk \
+	    -lpng -lX11
 
 clean:
 	-$(RM) *.o core.* *~ *.bck *.bck
--- fltk1.3-1.3.1.orig/test/Makefile
+++ fltk1.3-1.3.1/test/Makefile
@@ -18,6 +18,16 @@
 
 include ../makeinclude
 
+# Streamline dependencies
+GLDLIBS       = -lGL
+IMAGELIBS     =
+LDLIBS        =
+LINKFLTK      = -L../src -Wl,-rpath-link,../src -lfltk
+LINKFLTKFORMS = -L../src -Wl,-rpath-link,../src -lfltk_forms -lfltk
+LINKFLTKGL    = -L../src -Wl,-rpath-link,../src -lfltk_gl -lfltk
+LINKFLTKIMG   = -L../src -Wl,-rpath-link,../src -lfltk_images -lfltk
+LINKSHARED    = -L../src -Wl,-rpath-link,../src -lfltk_images -lfltk_forms -lfltk
+
 CPPFILES =\
 	unittests.cxx \
 	adjuster.cxx \
@@ -304,6 +314,8 @@ colbrowser$(EXEEXT): colbrowser.o
 	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ colbrowser.o $(LINKFLTKFORMS) $(LDLIBS)
 
 color_chooser$(EXEEXT): color_chooser.o
+	echo Linking $@...
+	$(CXX) $(ARCHFLAGS) $(LDFLAGS) color_chooser.o -o $@ $(LINKFLTK) -lXext -lX11
 
 cursor$(EXEEXT): cursor.o
 
@@ -345,6 +357,8 @@ help$(EXEEXT): help.o $(IMGLIBNAME)
 iconize$(EXEEXT): iconize.o
 
 image$(EXEEXT): image.o
+	echo Linking $@...
+	$(CXX) $(ARCHFLAGS) $(LDFLAGS) image.o -o $@ $(LINKFLTK) -lXext -lX11
 
 inactive$(EXEEXT): inactive.o
 inactive.cxx:	inactive.fl ../fluid/fluid$(EXEEXT)
@@ -366,6 +380,8 @@ label$(EXEEXT): label.o
 line_style$(EXEEXT): line_style.o
 
 list_visuals$(EXEEXT): list_visuals.o
+	echo Linking $@...
+	$(CXX) $(ARCHFLAGS) $(LDFLAGS) list_visuals.o -o $@ $(LINKFLTK) -lXext -lX11
 
 mandelbrot$(EXEEXT): mandelbrot_ui.o mandelbrot.o
 	echo Linking $@...
@@ -420,7 +436,7 @@ subwindow$(EXEEXT): subwindow.o
 
 sudoku: sudoku.o
 	echo Linking $@...
-	$(CXX) $(ARCHFLAGS) $(LDFLAGS) sudoku.o -o $@ $(AUDIOLIBS) $(LINKFLTKIMG) $(LDLIBS)
+	$(CXX) $(ARCHFLAGS) $(LDFLAGS) sudoku.o -o $@ $(AUDIOLIBS) $(LINKFLTKIMG) -lX11
 	$(OSX_ONLY) $(INSTALL_BIN) sudoku$(EXEEXT) sudoku.app/Contents/MacOS
 
 sudoku.exe: sudoku.o sudoku.rc
@@ -436,6 +452,8 @@ tabs$(EXEEXT): tabs.o
 tabs.cxx:	tabs.fl ../fluid/fluid$(EXEEXT)
 
 threads$(EXEEXT): threads.o
+	echo Linking $@...
+	$(CXX) -I.. $(LDFLAGS) threads.o -o $@ $(LINKFLTK) -lpthread
 # This ensures that we have this dependency even if threads are not
 # enabled in the current tree...
 threads.o:	threads.h
@@ -443,6 +461,8 @@ threads.o:	threads.h
 tile$(EXEEXT): tile.o
 
 tiled_image$(EXEEXT): tiled_image.o
+	echo Linking $@...
+	$(CXX) $(ARCHFLAGS) $(LDFLAGS) tiled_image.o -o $@ $(LINKFLTK) -lXext -lX11
 
 tree$(EXEEXT): tree.o
 tree.cxx:	tree.fl ../fluid/fluid$(EXEEXT)
@@ -470,7 +490,7 @@ cube$(EXEEXT): cube.o
 
 fractals$(EXEEXT): fractals.o fracviewer.o
 	echo Linking $@...
-	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ fractals.o fracviewer.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
+	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ fractals.o fracviewer.o $(LINKFLTKGL) $(LINKFLTK) -lGLU $(GLDLIBS)
 
 fullscreen$(EXEEXT): fullscreen.o
 	echo Linking $@...
@@ -478,7 +498,7 @@ fullscreen$(EXEEXT): fullscreen.o
 
 glpuzzle$(EXEEXT): glpuzzle.o
 	echo Linking $@...
-	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ glpuzzle.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
+	$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ glpuzzle.o $(LINKFLTKGL) $(LINKFLTK) -lGLU $(GLDLIBS)
 
 gl_overlay$(EXEEXT): gl_overlay.o
 	echo Linking $@...
