From 86b5507486164da7cd7a71c6a688666ee3fb5d83 Mon Sep 17 00:00:00 2001
From: Michael R Sweet <michael.r.sweet@gmail.com>
Date: Mon, 12 Feb 2001 15:12:14 +0000
Subject: [PATCH] Configure script changes to support man pages, HTMLDOC,
 AIX/QNX with strings.h, etc.

Add check for strings.h in fluid/factory.cxx.

Add directories and man page rules to makeinclude.in

Rename man page sources; these are formatted to the correct extensions.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1368 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
---
 CHANGES                              |  8 ++++
 configh.in                           |  5 ++-
 configure.in                         | 63 +++++++++++++++++++++++++---
 documentation/Makefile               | 61 ++++++++++++++-------------
 documentation/README                 |  2 +-
 documentation/{fltk.3 => fltk.man}   |  0
 documentation/{fluid.1 => fluid.man} |  0
 fluid/factory.cxx                    | 11 +++--
 makeinclude.in                       | 24 +++++++++--
 9 files changed, 130 insertions(+), 44 deletions(-)
 rename documentation/{fltk.3 => fltk.man} (100%)
 rename documentation/{fluid.1 => fluid.man} (100%)

diff --git a/CHANGES b/CHANGES
index a95744460..28c832680 100644
--- a/CHANGES
+++ b/CHANGES
@@ -25,9 +25,17 @@ CHANGES SINCE FLTK 1.0.10
 	- Fl::flush() now calls GdiFlush() under WIN32 to
 	  ensure that all graphics are drawn.
 
+	- fl_curve() now uses a much better algorithim to figure
+	  out how many pieces to cut the curve into.
+
 	- FLUID now uses GetTempPath() under WIN32 to determine
 	  where to store the clipboard.
 
+	- Right-ctrl does not delete selected text in Fl_Input,
+	  until you type a composed character.
+
+	- Added simple FLTK and FLUID manual pages.
+
 
 CHANGES SINCE FLTK 1.0.9
 
diff --git a/configh.in b/configh.in
index ce8c223d2..b6e4c7507 100644
--- a/configh.in
+++ b/configh.in
@@ -1,5 +1,5 @@
 /*
- * "$Id: configh.in,v 1.11.2.7 2001/01/22 15:13:37 easysw Exp $"
+ * "$Id: configh.in,v 1.11.2.8 2001/02/12 15:12:14 easysw Exp $"
  *
  * Configuration file for the Fast Light Tool Kit (FLTK).
  * @configure_input@
@@ -140,6 +140,7 @@
  * String functions...
  */
 
+#define HAVE_STRINGS_H 0
 #define HAVE_STRCASECMP 0
 
 /*
@@ -159,5 +160,5 @@
 #define USE_POLL 0
 
 /*
- * End of "$Id: configh.in,v 1.11.2.7 2001/01/22 15:13:37 easysw Exp $".
+ * End of "$Id: configh.in,v 1.11.2.8 2001/02/12 15:12:14 easysw Exp $".
  */
diff --git a/configure.in b/configure.in
index 82dff1afa..98d8ab51f 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
 dnl -*- sh -*-
 dnl the "configure" script is made from this by running GNU "autoconf"
 dnl
-dnl "$Id: configure.in,v 1.33.2.22 2001/01/22 15:13:37 easysw Exp $"
+dnl "$Id: configure.in,v 1.33.2.23 2001/02/12 15:12:14 easysw Exp $"
 dnl
 dnl Configuration script for the Fast Light Tool Kit (FLTK).
 dnl
@@ -93,6 +93,16 @@ fi])
 AC_PROG_CC
 AC_PROG_CXX
 dnl AC_PROG_INSTALL
+AC_PATH_PROG(NROFF,nroff)
+if test "$NROFF" = ""; then
+    AC_PATH_PROG(GROFF,groff)
+    if test "$GROFF" = ""; then
+        NROFF="echo"
+    else
+        NROFF="$GROFF -T ascii"
+    fi
+fi
+AC_PATH_PROG(HTMLDOC,htmldoc)
 
 AC_C_BIGENDIAN
 
@@ -120,8 +130,8 @@ fi
 AC_HEADER_DIRENT
 AC_CHECK_HEADER(sys/select.h)
 AC_CHECK_FUNC(scandir,
-    if test "$uname" = "SunOS"; then
-	echo Not using Solaris scandir BSD emulation function.
+    if test "$uname" = SunOS -o "$uname" = QNX; then
+        echo Not using $uname scandir emulation function.
     else
         AC_DEFINE(HAVE_SCANDIR)
     fi)
@@ -138,6 +148,7 @@ AC_CHECK_FUNC(snprintf,
         AC_DEFINE(HAVE_SNPRINTF)
     fi)
 AC_CHECK_FUNCS(vsprintf)
+AC_CHECK_HEADER(strings.h)
 AC_CHECK_FUNCS(strcasecmp)
 
 AC_PATH_XTRA
@@ -170,10 +181,50 @@ if test "$ac_cv_have_overlay" = yes; then
     AC_DEFINE(HAVE_OVERLAY)
 fi
 
-MAKEDEPEND="\$(CXX) -M"
+dnl Figure out the appropriate formatted man page extension...
+case "$uname" in
+    FreeBSD* | NetBSD* | OpenBSD*)
+	# *BSD
+	CAT1EXT=0
+	CAT3EXT=0
+	;;
+    IRIX*)
+	# SGI IRIX
+	CAT1EXT=z
+	CAT3EXT=z
+	;;
+    *)
+	# All others
+	CAT1EXT=1
+	CAT3EXT=3
+	;;
+esac
+
+AC_SUBST(CAT1EXT)
+AC_SUBST(CAT3EXT)
 
-dnl add warnings to compiler switches:
+dnl Fix "mandir" variable...
+if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/usr"; then
+	case "$uname" in
+        	FreeBSD* | NetBSD* | OpenBSD*)
+        		# *BSD
+        		mandir="/usr/share/man"
+        		;;
+        	IRIX*)
+        		# SGI IRIX
+        		mandir="/usr/share/catman"
+        		;;
+        	*)
+        		# All others
+        		mandir="/usr/man"
+        		;;
+	esac
+fi
+
+dnl Add warnings to compiler switches:
 dnl do this last so messing with switches does not break tests
+MAKEDEPEND="\$(CXX) -M"
+
 if test -n "$GXX"; then
     CFLAGS="-Wall $CFLAGS"
     CXXFLAGS="-Wall $CXXFLAGS"
@@ -281,5 +332,5 @@ AC_CONFIG_HEADER(config.h:configh.in)
 AC_OUTPUT(makeinclude)
 
 dnl
-dnl End of "$Id: configure.in,v 1.33.2.22 2001/01/22 15:13:37 easysw Exp $".
+dnl End of "$Id: configure.in,v 1.33.2.23 2001/02/12 15:12:14 easysw Exp $".
 dnl
diff --git a/documentation/Makefile b/documentation/Makefile
index fc37b9c07..168076b06 100644
--- a/documentation/Makefile
+++ b/documentation/Makefile
@@ -1,5 +1,5 @@
 #
-# "$Id: Makefile,v 1.9.2.9 2001/01/28 06:57:32 spitzak Exp $"
+# "$Id: Makefile,v 1.9.2.10 2001/02/12 15:12:14 easysw Exp $"
 #
 # Documentation makefile for the Fast Light Tool Kit (FLTK).
 #
@@ -26,9 +26,6 @@
 # Get configuration stuff...
 include ../makeinclude
 
-# Where to find HTMLDOC (http://www.fltk.org/htmldoc)...
-HTMLDOC		=	htmldoc
-
 # What media size to use:
 
 # "Universal" size - minimum of US Letter and A4
@@ -118,7 +115,9 @@ HTMLFILES	= \
 		osissues.html \
 		license.html
 
-all:	fltk.ps fltk.pdf
+MANPAGES =	fltk.$(CAT3EXT) fluid.$(CAT1EXT)
+
+all:	fltk.ps fltk.pdf $(MANPAGES)
 
 clean:
 	rm -f fltk.ps
@@ -127,31 +126,35 @@ clean:
 depend:
 
 # According to FHS this should be:
-# htmldir = $(prefix)/share/doc/html/en/fltk
+# htmldir = $(datadir)/doc/html/en/fltk
 # Possibly the "en/" can be removed, it is not clear.
 # KDE uses "HTML" instead of "html", which is correct?
-htmldir = $(prefix)/share/doc/fltk
-
-# According to FHS this should be:
-# mandir = $(prefix)/share/man/en/man
-# they say the "en/" is optional
-mandir = $(prefix)/man/man
-
-install:
-	-mkdir -p $(htmldir)
-	cp $(HTMLFILES) *.gif *.jpg index.html $(htmldir)
-	chmod 644 $(htmldir)/*
-	-mkdir -p $(mandir)1
-	cp *.1 $(mandir)1
-	-mkdir -p $(mandir)3
-	cp *.3 $(mandir)3
-
-# Base html files are now the readable ones, this is not done:
-#fltk.d/index.html: $(HTMLFILES)
-#	echo "Generating HTML documentation..."
-#	-mkdir fltk.d
-#	-rm -f fltk.d/*
-#	$(HTMLDOC) -d fltk.d -t html --verbose --toclevels 2 --bodycolor white --titleimage FL.gif $(HTMLFILES)
+docdir = $(datadir)/doc/fltk
+
+install: $(MANPAGES)
+	-mkdir -p $(docdir)
+	cp $(HTMLFILES) *.gif *.jpg index.html $(docdir)
+	chmod 644 $(docdir)/*
+	-mkdir -p $(mandir)/cat1
+	cp fluid.$(CAT1EXT) $(mandir)/cat1
+	chmod 644 $(mandir)/cat1/fluid.$(CAT1EXT)
+	-mkdir -p $(mandir)/cat3
+	cp fltk.$(CAT3EXT) $(mandir)/cat3
+	chmod 644 $(mandir)/cat3/fltk.$(CAT3EXT)
+	-mkdir -p $(mandir)/man1
+	cp fluid.man $(mandir)/man1/fluid.1
+	chmod 644 $(mandir)/man1/fluid.1
+	-mkdir -p $(mandir)/man3
+	cp fltk.man $(mandir)/man3/fltk.3
+	chmod 644 $(mandir)/man3/fltk.3
+
+# Base html files are now the readable ones, so this target is not make by
+# default...
+fltk.d/index.html: $(HTMLFILES)
+	echo "Generating HTML documentation..."
+	-mkdir fltk.d
+	-rm -f fltk.d/*
+	$(HTMLDOC) -d fltk.d -t html --verbose --toclevels 2 --bodycolor white --titleimage FL.gif $(HTMLFILES)
 
 fltk.ps: $(HTMLFILES)
 	echo "Generating PostScript documentation..."
@@ -163,5 +166,5 @@ fltk.pdf: $(HTMLFILES)
 	$(HTMLDOC) -f fltk.pdf --jpeg --compression=9 --duplex --verbose --toclevels 2 --titleimage FL.gif $(HTMLFILES)
 
 #
-# End of "$Id: Makefile,v 1.9.2.9 2001/01/28 06:57:32 spitzak Exp $".
+# End of "$Id: Makefile,v 1.9.2.10 2001/02/12 15:12:14 easysw Exp $".
 #
diff --git a/documentation/README b/documentation/README
index 45904085f..f3ae94a70 100644
--- a/documentation/README
+++ b/documentation/README
@@ -10,7 +10,7 @@ You can generate your own (printable) copy of the manual by typing
 "make" in this directory.  You will need to have the HTMLDOC software
 installed on your system.  HTMLDOC can be downloaded from:
 
-    http://www.easysw.com/~mike/htmldoc
+    http://www.easysw.com/htmldoc
 
 The default media size is 8.27x11.0" (210x279mm), which is the lesser
 of A4 and US Letter sizes.  You can change this in the makefile by
diff --git a/documentation/fltk.3 b/documentation/fltk.man
similarity index 100%
rename from documentation/fltk.3
rename to documentation/fltk.man
diff --git a/documentation/fluid.1 b/documentation/fluid.man
similarity index 100%
rename from documentation/fluid.1
rename to documentation/fluid.man
diff --git a/fluid/factory.cxx b/fluid/factory.cxx
index f953aa162..a8f46c306 100644
--- a/fluid/factory.cxx
+++ b/fluid/factory.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: factory.cxx,v 1.4.2.9 2001/01/22 15:13:39 easysw Exp $"
+// "$Id: factory.cxx,v 1.4.2.10 2001/02/12 15:12:14 easysw Exp $"
 //
 // Widget factory code for the Fast Light Tool Kit (FLTK).
 //
@@ -34,10 +34,15 @@
 #include <FL/Fl.H>
 #include <FL/Fl_Group.H>
 #include <FL/Fl_Menu_Item.H>
-#include <string.h>
 #include <stdio.h>
 #include <config.h>
 
+#include <string.h>
+
+#ifdef HAVE_STRINGS_H
+#  include <strings.h>
+#endif // HAVE_STRINGS_H
+
 #if defined(WIN32) || defined(__EMX__)
 #define strcasecmp stricmp
 #endif
@@ -722,5 +727,5 @@ int lookup_symbol(const char *name, int &v, int numberok) {
 }
 
 //
-// End of "$Id: factory.cxx,v 1.4.2.9 2001/01/22 15:13:39 easysw Exp $".
+// End of "$Id: factory.cxx,v 1.4.2.10 2001/02/12 15:12:14 easysw Exp $".
 //
diff --git a/makeinclude.in b/makeinclude.in
index 23985fd75..78559737b 100644
--- a/makeinclude.in
+++ b/makeinclude.in
@@ -1,5 +1,5 @@
 #
-# "$Id: makeinclude.in,v 1.7.2.8 2001/01/22 15:13:37 easysw Exp $"
+# "$Id: makeinclude.in,v 1.7.2.9 2001/02/12 15:12:14 easysw Exp $"
 #
 # Make include file for the Fast Light Tool Kit (FLTK).
 # @configure_input@
@@ -27,11 +27,17 @@
 prefix		=@prefix@
 exec_prefix	=@exec_prefix@
 bindir		=@bindir@
+datadir		=@datadir@
 includedir	=@includedir@
 libdir		=@libdir@
+mandir		=@mandir@
 srcdir		=@srcdir@
 VPATH		=@srcdir@
 
+# programs we use...
+HTMLDOC		=@HTMLDOC@
+NROFF		=@NROFF@
+
 # compiler names:
 CXX		=@CXX@
 CC		=@CC@
@@ -56,7 +62,7 @@ GLDLIBS		=@LDFLAGS@ @LIBS@ @GLLIB@ -lX11 -lXext @X_EXTRA_LIBS@ -lm
 .SILENT:
 
 # Build commands and filename extensions...
-.SUFFIXES:	.c .cxx .h .fl .o
+.SUFFIXES:	.0 .1 .3 .c .cxx .h .fl .man .o .z
 
 .cxx:
 	echo Compiling and linking $@...
@@ -70,6 +76,18 @@ GLDLIBS		=@LDFLAGS@ @LIBS@ @GLLIB@ -lX11 -lXext @X_EXTRA_LIBS@ -lm
 	echo Compiling $@...
 	$(CXX) -I.. $(CXXFLAGS) -c $<
 
+.man.0 .man.1 .man.3:
+	echo Formatting $<...
+	$(RM) $@
+	$(NROFF) -man $< >$@
+
+.man.z:
+	echo Formatting $<...
+	$(RM) $@ t.z
+	$(NROFF) -man $< >t
+	pack -f t
+	$(MV) t.z $@
+
 #
-# End of "$Id: makeinclude.in,v 1.7.2.8 2001/01/22 15:13:37 easysw Exp $".
+# End of "$Id: makeinclude.in,v 1.7.2.9 2001/02/12 15:12:14 easysw Exp $".
 #
-- 
GitLab