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
   
   ##
  
  
  

Reply via email to