Combined patches from git.
--- fltk1.3-1.3.0.orig/configure
+++ fltk1.3-1.3.0/configure
@@ -2064,10 +2064,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"
@@ -9090,8 +9090,8 @@ echo "$as_me: WARNING: Cannot find syste
 else
     ZLIBINC=""
     ZLIB=""
-    LIBS="-lz $LIBS"
-    IMAGELIBS="-lz $IMAGELIBS"
+    # LIBS="-lz $LIBS"
+    # IMAGELIBS="-lz $IMAGELIBS"
     STATICIMAGELIBS="-lz $STATICIMAGELIBS"
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_LIBZ 1
@@ -9854,6 +9854,7 @@ _ACEOF
 		break
 	    fi
 	done
+	LIBS=$SAVELIBS
     fi
 fi
 
@@ -12127,12 +12128,12 @@ if test $ac_cv_header_GL_glu_h = yes; th
 #define HAVE_GL_GLU_H 1
 _ACEOF
 
-		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
 
@@ -12484,7 +12485,7 @@ if test "${ac_cv_lib_Xft_XftDrawCreate+s
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lXft  $LIBS"
+LIBS="-lXft -lfontconfig $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -12544,7 +12545,7 @@ if test $ac_cv_lib_Xft_XftDrawCreate = y
 #define USE_XFT 1
 _ACEOF
 
-			LIBS="-lXft $LIBS"
+			LIBS="-lXft -lfontconfig $LIBS"
 fi
 
 fi
@@ -13153,7 +13154,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.0.orig/fltk-config.in
+++ fltk1.3-1.3.0/fltk-config.in
@@ -240,18 +240,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
 
@@ -290,8 +290,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
@@ -334,11 +334,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.0.orig/configure.in
+++ fltk1.3-1.3.0/configure.in
@@ -280,10 +280,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"
@@ -698,8 +698,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
@@ -811,6 +811,7 @@ if test "x$enable_threads" != xno -a x$c
 		break
 	    fi
 	done
+	LIBS=$SAVELIBS
     fi
 fi
 
@@ -948,12 +949,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
@@ -992,7 +993,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
 
@@ -1307,7 +1308,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.0.orig/makeinclude.in
+++ fltk1.3-1.3.0/makeinclude.in
@@ -34,7 +34,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...
@@ -140,7 +140,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.0.orig/Makefile
+++ fltk1.3-1.3.0/Makefile
@@ -109,8 +109,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.0.orig/src/Makefile
+++ fltk1.3-1.3.0/src/Makefile
@@ -220,6 +220,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)
@@ -240,13 +243,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
 
@@ -312,13 +315,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.0.orig/documentation/Makefile
+++ fltk1.3-1.3.0/documentation/Makefile
@@ -81,10 +81,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.0.orig/cairo/Makefile
+++ fltk1.3-1.3.0/cairo/Makefile
@@ -28,6 +28,8 @@
 FLTKFLAGS = -DFL_LIBRARY
 include ../makeinclude
 
+CXXFLAGS := $(CXXFLAGS:-fPIE=-fPIC)
+
 #
 # Object files...
 #
@@ -48,13 +50,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.0.orig/fluid/Makefile
+++ fltk1.3-1.3.0/fluid/Makefile
@@ -63,7 +63,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.0.orig/test/Makefile
+++ fltk1.3-1.3.0/test/Makefile
@@ -27,6 +27,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 \
@@ -313,6 +323,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
 
@@ -354,6 +366,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)
@@ -375,6 +389,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 $@...
@@ -429,7 +445,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
@@ -445,6 +461,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
@@ -452,6 +470,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)
@@ -479,7 +499,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 $@...
@@ -487,7 +507,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 $@...
--- fltk1.3-1.3.0.orig/src/Fl_x.cxx
+++ fltk1.3-1.3.0/src/Fl_x.cxx
@@ -1645,7 +1645,7 @@ void Fl_X::make_xid(Fl_Window* win, XVis
   if (!win->parent() && !Fl::grab()) {
     // center windows in case window manager does not do anything:
 #ifdef FL_CENTER_WINDOWS
-    if (!(win->flags() & Fl_Widget::FORCE_POSITION)) {
+    if (!win->force_position()) {
       win->x(X = scr_x+(scr_w-W)/2);
       win->y(Y = scr_y+(scr_h-H)/2);
     }
@@ -1858,7 +1858,7 @@ void Fl_X::sendxjunk() {
     prop[1] = 1|2|16; // MWM_FUNC_ALL | MWM_FUNC_RESIZE | MWM_FUNC_MAXIMIZE
   }
 
-  if (w->flags() & Fl_Widget::FORCE_POSITION) {
+  if (w->force_position()) {
     hints->flags |= USPosition;
     hints->x = w->x();
     hints->y = w->y();
