randy 98/12/09 12:51:41
Modified: . configure
Log:
Modify recent --with-layout option to set these variables first from
the config.layout file (or specified file) and allow the any other
configuration arguments to override portions of that layout.
ie. --prefix etc.
Revision Changes Path
1.58 +69 -44 apache-1.3/configure
Index: configure
===================================================================
RCS file: /home/cvs/apache-1.3/configure,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- configure 1998/12/06 15:40:51 1.57
+++ configure 1998/12/09 20:51:39 1.58
@@ -263,10 +263,8 @@
IFS="$OIFS"
##
-## parse argument line options
+## preprocess path layout definititions so that these can be overriden
##
-
-addconf_created=0
apc_prev=""
OIFS1="$IFS" IFS="$DIFS"
for apc_option
@@ -283,6 +281,74 @@
*) apc_optarg= ;;
esac
+ case "$apc_option" in
+ --with-layout=*|--compat)
+ if [ ".$apc_option" = ".--compat" ]; then
+ apc_optarg="Apache"
+ fi
+ case $apc_optarg in
+ *:* )
+ file=`echo $apc_optarg | sed -e 's/:.*//'`
+ name=`echo $apc_optarg | sed -e 's/.*://'`
+ ;;
+ * )
+ name=$apc_optarg
+ file=$configlayout
+ ;;
+ esac
+ if [ ! -f "$file" ]; then
+ echo "configure:Error: Path layout definition file $file not
found" 1>&2
+ exit 1
+ fi
+ sed -e "1,/[ ]*<[Ll]ayout[ ]*$name[ ]*>[ ]*/d" \
+ -e '/[ ]*<\/Layout>[ ]*/,$d' \
+ -e "s/^[ ]*//g" \
+ -e "s/:[ ]*/=\'/g" \
+ -e "s/[ ]*$/'/g" \
+ $file >$pldconf
+ . $pldconf
+ rm -f $pldconf 2>/dev/null
+ if [ ".$prefix" = .UNSET ]; then
+ echo "configure:Error: Path layout definition not found or
incorrect" 1>&2
+ exit 1
+ fi
+ if [ ".$quiet" = .no ]; then
+ echo " + using installation path layout: $name ($file)"
+ fi
+ with_layout=1
+ ;;
+ *)
+ args="$apc_option $args"
+ ;;
+ esac
+done
+
+if [ ".$with_layout" = .0 ]; then
+ echo "configure:Error: Please select an installation path layout with"
+ echo " the --with-layout=[FILE:]ID option. Use 'Apache'
or"
+ echo " 'GNU' for ID to select the two predefined
layouts."
+ exit 1
+fi
+
+##
+## parse argument line options
+##
+addconf_created=0
+apc_prev=""
+OIFS1="$IFS" IFS="$DIFS"
+for apc_option in $args
+do
+ # if previous option needs an argument, assign it.
+ if [ ".$apc_prev" != . ]; then
+ eval "$apc_prev=\$apc_option"
+ apc_prev=""
+ continue
+ fi
+ # split out arguments
+ case "$apc_option" in
+ -*=*) apc_optarg=`echo "$apc_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) apc_optarg= ;;
+ esac
# accept only the most important GNU Autoconf-style options
case "$apc_option" in
--quiet | --silent)
@@ -415,41 +481,6 @@
echo " --compat backward compat only: use
--with-layout=Apache"
exit 0
;;
- --with-layout=*|--compat)
- if [ ".$apc_option" = ".--compat" ]; then
- apc_optarg="Apache"
- fi
- case $apc_optarg in
- *:* )
- file=`echo $apc_optarg | sed -e 's/:.*//'`
- name=`echo $apc_optarg | sed -e 's/.*://'`
- ;;
- * )
- name=$apc_optarg
- file=$configlayout
- ;;
- esac
- if [ ! -f "$file" ]; then
- echo "configure:Error: Path layout definition file $file not
found" 1>&2
- exit 1
- fi
- sed -e "1,/[ ]*<[Ll]ayout[ ]*$name[ ]*>[ ]*/d" \
- -e '/[ ]*<\/Layout>[ ]*/,$d' \
- -e "s/^[ ]*//g" \
- -e "s/:[ ]*/=\'/g" \
- -e "s/[ ]*$/'/g" \
- $file >$pldconf
- . $pldconf
- rm -f $pldconf 2>/dev/null
- if [ ".$prefix" = .UNSET ]; then
- echo "configure:Error: Path layout definition not found or
incorrect" 1>&2
- exit 1
- fi
- if [ ".$quiet" = .no ]; then
- echo " + using installation path layout: $name ($file)"
- fi
- with_layout=1
- ;;
--show-layout|--layout)
show_layout=1
;;
@@ -837,12 +868,6 @@
echo " and htdocs/manual/suexec.html documents
first."
exit 1
fi
-fi
-if [ ".$with_layout" = .0 ]; then
- echo "configure:Error: Please select an installation path layout with"
- echo " the --with-layout=[FILE:]ID option. Use 'Apache'
or"
- echo " 'GNU' for ID to select the two predefined
layouts."
- exit 1
fi
##