New configuration system for library clients.
authormdw <mdw>
Thu, 11 Nov 1999 17:48:28 +0000 (17:48 +0000)
committermdw <mdw>
Thu, 11 Nov 1999 17:48:28 +0000 (17:48 +0000)
Makefile.am
configure.in
mLib-config.in [new file with mode: 0755]

index 6ff03e8..21a6309 100644 (file)
@@ -1,6 +1,6 @@
 ## -*-Makefile-*-
 ##
-## $Id: Makefile.am,v 1.15 1999/10/22 22:40:49 mdw Exp $
+## $Id: Makefile.am,v 1.16 1999/11/11 17:48:28 mdw Exp $
 ##
 ## Building the distribution
 ##
@@ -29,6 +29,9 @@
 ##----- Revision history ----------------------------------------------------
 ##
 ## $Log: Makefile.am,v $
+## Revision 1.16  1999/11/11 17:48:28  mdw
+## New configuration system for library clients.
+##
 ## Revision 1.15  1999/10/22 22:40:49  mdw
 ## New source files.  New testing system for sym and dynarray.
 ##
@@ -87,6 +90,8 @@ AUTOMAKE_OPTIONS = foreign
 
 SUBDIRS = man
 
+bin_SCRIPTS = mLib-config
+
 lib_LIBRARIES = libmLib.a
 libexec_PROGRAMS = bres
 
index e762c69..f3771e2 100644 (file)
@@ -1,6 +1,6 @@
 dnl -*-fundamental-*-
 dnl
-dnl $Id: configure.in,v 1.17 1999/10/04 21:48:50 mdw Exp $
+dnl $Id: configure.in,v 1.18 1999/11/11 17:48:28 mdw Exp $
 dnl
 dnl Configuration script for mLib
 dnl
@@ -29,6 +29,9 @@ dnl MA 02111-1307, USA.
 dnl ----- Revision history --------------------------------------------------
 dnl
 dnl $Log: configure.in,v $
+dnl Revision 1.18  1999/11/11 17:48:28  mdw
+dnl New configuration system for library clients.
+dnl
 dnl Revision 1.17  1999/10/04 21:48:50  mdw
 dnl Find libraries for standalone name resolver server.
 dnl
@@ -72,4 +75,4 @@ mdw_CHECK_MANYLIBS(gethostbyname, nsl resolv)
 
 mdw_OPT_mLib_DEBUG(mLib)
 
-AC_OUTPUT(Makefile man/Makefile)
+AC_OUTPUT(Makefile mLib-config man/Makefile)
diff --git a/mLib-config.in b/mLib-config.in
new file mode 100755 (executable)
index 0000000..5ed3f51
--- /dev/null
@@ -0,0 +1,105 @@
+#! /bin/sh
+#
+# $Id: mLib-config.in,v 1.1 1999/11/11 17:48:28 mdw Exp $
+#
+# Provide configuration information for mLib clients
+#
+# (c) 1999 Straylight/Edgeware
+#
+
+#----- Licensing notice -----------------------------------------------------
+#
+# This file is part of mLib.
+#
+# mLib is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Library General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+# 
+# mLib is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Library General Public License for more details.
+# 
+# You should have received a copy of the GNU Library General Public
+# License along with mLib; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+# MA 02111-1307, USA.
+
+#----- Revision history -----------------------------------------------------
+#
+# $Log: mLib-config.in,v $
+# Revision 1.1  1999/11/11 17:48:28  mdw
+# New configuration system for library clients.
+#
+
+#----- Configuration --------------------------------------------------------
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+VERSION=@VERSION@
+
+#----- Command-line parsing and output --------------------------------------
+
+ego=`echo "$0" | sed 's:.*/::'`
+
+if [ -z "${1+x}" ]; then
+  echo >&2 "Usage: $ego OPTION"
+  echo >&2 "Run \`$ego --help' for more information."
+  exit 1
+fi
+
+case "$1" in
+  --help)
+    cat <<EOF
+mLib, version $VERSION
+
+Usage: $ego OPTION
+
+Provides configuration parameters for mLib client programs.  Options
+are:
+
+--help         Display this help text.
+--version      Display mLib version number.
+--check VERSION        Verifies that the given version number is supported.
+--cflags       Display appropriate compiler flags.
+--libs         Display appropriate linker flags and library names.
+EOF
+  ;;
+  --version)
+    echo $VERSION
+    ;;
+  --check)
+    version=${2-1.0.0pre0}
+    set `echo $VERSION | sed 's/[^0-9][^0-9]*/ /g'`
+    MAJOR=${1-1} MINOR=${2-0} PATCH=${3-0} PRE=$4
+    set `echo $version | sed 's/[^0-9][^0-9]*/ /g'`
+    major=${1-1} minor=${2-0} patch=${3-0} pre=$4
+    [ $major -gt $MAJOR ] && exit 1
+    [ $major -lt $MAJOR ] && exit 0
+    [ $minor -gt $MINOR ] && exit 1
+    [ $minor -lt $MINOR ] && exit 0
+    [ $patch -gt $PATCH ] && exit 1
+    [ $patch -lt $PATCH ] && exit 0
+    if [ "$PRE" ]; then
+      [ -z "$pre" ] && exit 1
+      [ $pre -gt $PRE ] && exit 1
+      [ $pre -lt $PRE ] && exit 0
+    fi
+    exit 0
+    ;;
+  --cflags)
+    echo "-I${includedir}"
+    ;;
+  --libs)
+    echo "-L${libdir} -lmLib"
+    ;;
+  *)
+    echo >&2 "$ego: unrecognized option \`$1'"
+    exit 1
+esac
+
+#----- That's all, folks ----------------------------------------------------