]> granicus.if.org Git - postgresql/commitdiff
Change configure.in to note that since we are using expr(1)'s regex match
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 19 Mar 2000 22:46:22 +0000 (22:46 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 19 Mar 2000 22:46:22 +0000 (22:46 +0000)
command, the entries in template/.similar can really be regular
expressions.  This isn't a new feature, just an observation of what the
code already did.

src/configure.in

index 45ecc9117bb82dc65037597656869d99a7112211..6255da8ba150366867a8ee3a5cc2597254994652 100644 (file)
@@ -96,30 +96,28 @@ host="`echo $host | tr '[[A-Z]]' '[[a-z]]'`"
 if test -f "template/$host"
 then TEMPLATE="$host"
 else
-    # Next try for an exact match to a .similar entry.
-    # There shouldn't be multiple matches, but take the last if there are.
-    GUESS=`grep "^$host=" template/.similar | sed 's/^.*=//' | tail -1`
+    # Scan template/.similar for a rule that tells us which template to use.
+    # The format of each line of the file is
+    #           hostnamepattern=templatefilename
+    # where the hostnamepattern is evaluated per the rules of expr(1) ---
+    # namely, it is a standard regular expression with an implicit ^ at the
+    # start.  If multiple lines match, we will end up using the last match.
+    GUESS=""
+    exec 4<template/.similar
+    while read LINE <&4
+    do
+       SIMHOST=`expr "$LINE" : '\(.*\)='`
+       MATCH=`expr "$host" : "$SIMHOST"`
+       if test "$MATCH" != 0
+       then GUESS=`echo "$LINE" | sed 's/^.*=//'`
+       fi
+    done
+    exec 4<&-
     if test "$GUESS"
     then TEMPLATE="$GUESS"
     else
-       # Next look for a .similar entry that is a prefix of $host.
-       # If there are multiple matches, take the last one.
-       exec 4<template/.similar
-       while read LINE <&4
-       do
-           SIMHOST=`expr "$LINE" : '\(.*\)='`
-           MATCH=`expr "$host" : "$SIMHOST"`
-           if test "$MATCH" != 0
-           then GUESS=`echo "$LINE" | sed 's/^.*=//'`
-           fi
-       done
-       exec 4<&-
-       if test "$GUESS"
-       then TEMPLATE="$GUESS"
-       else
-           # Last chance ... maybe uname -s will match an entry.
-           TEMPLATE=`uname -s | tr '[[A-Z]]' '[[a-z]]'` 
-       fi
+       # Last chance ... maybe uname -s will match an entry.
+       TEMPLATE=`uname -s | tr '[[A-Z]]' '[[a-z]]'` 
     fi
 fi
     ])
@@ -130,7 +128,7 @@ if test ! -f "template/$TEMPLATE"; then
        echo ""
        echo "$TEMPLATE does not exist"
        echo ""
-       echo "Available Templates (set using --with-template):"
+       echo "Available Templates (select one using --with-template):"
        echo ""
        ls template
        echo ""