1251876Speter#!/bin/sh
2251876Speter#
3251876Speter# Licensed to the Apache Software Foundation (ASF) under one or more
4251876Speter# contributor license agreements.  See the NOTICE file distributed with
5251876Speter# this work for additional information regarding copyright ownership.
6251876Speter# The ASF licenses this file to You under the Apache License, Version 2.0
7251876Speter# (the "License"); you may not use this file except in compliance with
8251876Speter# the License.  You may obtain a copy of the License at
9251876Speter#
10251876Speter#     http://www.apache.org/licenses/LICENSE-2.0
11251876Speter#
12251876Speter# Unless required by applicable law or agreed to in writing, software
13251876Speter# distributed under the License is distributed on an "AS IS" BASIS,
14251876Speter# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15251876Speter# See the License for the specific language governing permissions and
16251876Speter# limitations under the License.
17251876Speter#
18251876Speter#
19251876Speter
20251876Speterif [ "$1" = "--verbose" -o "$1" = "-v" ]; then
21251876Speter    verbose="--verbose"
22251876Speter    shift
23251876Speterfi
24251876Speter
25251876Speter# Default place to look for apr source.  Can be overridden with 
26251876Speter#   --with-apr=[directory]
27251876Speterapr_src_dir=../apr
28251876Speter
29251876Speterwhile test $# -gt 0 
30251876Speterdo
31251876Speter  # Normalize
32251876Speter  case "$1" in
33251876Speter  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
34251876Speter  *) optarg= ;;
35251876Speter  esac
36251876Speter
37251876Speter  case "$1" in
38251876Speter  --with-apr=*)
39251876Speter  apr_src_dir=$optarg
40251876Speter  ;;
41251876Speter  esac
42251876Speter
43251876Speter  shift
44251876Speterdone
45251876Speter
46251876Speterif [ -f "$apr_src_dir/build/apr_common.m4" ]; then
47251876Speter  apr_src_dir=`cd $apr_src_dir; pwd`
48251876Speter  echo ""
49251876Speter  echo "Looking for apr source in $apr_src_dir"
50251876Speterelse
51251876Speter  echo ""
52251876Speter  echo "Problem finding apr source in $apr_src_dir."
53251876Speter  echo "Use:"
54251876Speter  echo "  --with-apr=[directory]" 
55251876Speter  exit 1
56251876Speterfi
57251876Speter
58251876Speterset -e
59251876Speter
60251876Speter# Remove some files, then copy them from apr source tree
61251876Speterrm -f build/apr_common.m4 build/find_apr.m4 build/install.sh \
62251876Speter      build/config.guess build/config.sub build/get-version.sh
63251876Spetercp -p $apr_src_dir/build/apr_common.m4 $apr_src_dir/build/find_apr.m4 \
64251876Speter      $apr_src_dir/build/install.sh $apr_src_dir/build/config.guess \
65251876Speter      $apr_src_dir/build/config.sub $apr_src_dir/build/get-version.sh \
66251876Speter      build/
67251876Speter
68251876Speter# Remove aclocal.m4 as it'll break some builds...
69251876Speterrm -rf aclocal.m4 autom4te*.cache
70251876Speter
71251876Speter#
72251876Speter# Generate the autoconf header (include/apu_config.h) and ./configure
73251876Speter#
74251876Speterecho "Creating include/private/apu_config.h ..."
75251876Speter${AUTOHEADER:-autoheader} $verbose
76251876Speter
77251876Speterecho "Creating configure ..."
78251876Speter### do some work to toss config.cache?
79251876Speterif ${AUTOCONF:-autoconf} $verbose; then
80251876Speter  :
81251876Speterelse
82251876Speter  echo "autoconf failed"
83251876Speter  exit 1
84251876Speterfi
85251876Speter
86251876Speter#
87251876Speter# Generate build-outputs.mk for the build system
88251876Speter#
89251876Speterecho "Generating 'make' outputs ..."
90251876Speter$apr_src_dir/build/gen-build.py $verbose make
91251876Speter
92251876Speter# Remove autoconf cache again
93251876Speterrm -rf autom4te*.cache
94251876Speter
95251876Speter# Create RPM Spec file
96251876Speterif [ -f `which cut` ]; then
97251876Speter  echo rebuilding rpm spec file
98251876Speter  REVISION=`build/get-version.sh all include/apu_version.h APU`
99251876Speter  VERSION=`echo $REVISION | cut -d- -s -f1`
100251876Speter  RELEASE=`echo $REVISION | cut -d- -s -f2`
101251876Speter  if [ "x$VERSION" = "x" ]; then
102251876Speter      VERSION=$REVISION
103251876Speter      RELEASE=1
104251876Speter  fi
105251876Speter  sed -e "s/APU_VERSION/$VERSION/" -e "s/APU_RELEASE/$RELEASE/" \
106251876Speter    ./build/rpm/apr-util.spec.in > apr-util.spec
107251876Speterfi
108251876Speter
109362181Sdim# Verify the tree was clean, notify user if not (normal in development)
110362181Sdim#
111362181Sdimif [ -f "include/apu.h" -o -f "include/private/apu_config.h" -o \
112362181Sdim     -f "include/apu_want.h" -o -f "include/private/apu_select_dbm.h" ]; then
113362181Sdim    echo ""
114362181Sdim    echo "Generated include files already exist, the tree is not clean."
115362181Sdim    echo "The resulting build-outputs.mk file is incorrect"
116362181Sdimfi
117362181Sdim
118362181Sdimexit 0
119