source: mod_gnutls/m4/find_apr.m4 @ 0e277f2

debian/masterdebian/stretch-backportsjessie-backportsmsvaupstream
Last change on this file since 0e277f2 was abce298, checked in by Nokis Mavrogiannopoulos <nmav@…>, 12 years ago

added new m4 directory

  • Property mode set to 100644
File size: 6.0 KB
Line 
1dnl -------------------------------------------------------- -*- autoconf -*-
2dnl Copyright 2000-2005 The Apache Software Foundation
3dnl
4dnl Licensed under the Apache License, Version 2.0 (the "License");
5dnl you may not use this file except in compliance with the License.
6dnl You may obtain a copy of the License at
7dnl
8dnl     http://www.apache.org/licenses/LICENSE-2.0
9dnl
10dnl Unless required by applicable law or agreed to in writing, software
11dnl distributed under the License is distributed on an "AS IS" BASIS,
12dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13dnl See the License for the specific language governing permissions and
14dnl limitations under the License.
15
16dnl
17dnl find_apr.m4 : locate the APR include files and libraries
18dnl
19dnl This macro file can be used by applications to find and use the APR
20dnl library. It provides a standardized mechanism for using APR. It supports
21dnl embedding APR into the application source, or locating an installed
22dnl copy of APR.
23dnl
24dnl APR_FIND_APR(srcdir, builddir, implicit-install-check, acceptable-majors)
25dnl
26dnl   where srcdir is the location of the bundled APR source directory, or
27dnl   empty if source is not bundled.
28dnl
29dnl   where builddir is the location where the bundled APR will will be built,
30dnl   or empty if the build will occur in the srcdir.
31dnl
32dnl   where implicit-install-check set to 1 indicates if there is no
33dnl   --with-apr option specified, we will look for installed copies.
34dnl
35dnl   where acceptable-majors is a space separated list of acceptable major
36dnl   version numbers. Often only a single major version will be acceptable.
37dnl   If multiple versions are specified, and --with-apr=PREFIX or the
38dnl   implicit installed search are used, then the first (leftmost) version
39dnl   in the list that is found will be used.  Currently defaults to [0 1].
40dnl
41dnl Sets the following variables on exit:
42dnl
43dnl   apr_found : "yes", "no", "reconfig"
44dnl
45dnl   apr_config : If the apr-config tool exists, this refers to it. If
46dnl                apr_found is "reconfig", then the bundled directory
47dnl                should be reconfigured *before* using apr_config.
48dnl
49dnl Note: this macro file assumes that apr-config has been installed; it
50dnl       is normally considered a required part of an APR installation.
51dnl
52dnl If a bundled source directory is available and needs to be (re)configured,
53dnl then apr_found is set to "reconfig". The caller should reconfigure the
54dnl (passed-in) source directory, placing the result in the build directory,
55dnl as appropriate.
56dnl
57dnl If apr_found is "yes" or "reconfig", then the caller should use the
58dnl value of apr_config to fetch any necessary build/link information.
59dnl
60
61AC_DEFUN([APR_FIND_APR], [
62  apr_found="no"
63
64  if test "$ac_cv_emxos2" = "yes"; then
65    # Scripts don't pass test -x on OS/2
66    TEST_X="test -f"
67  else
68    TEST_X="test -x"
69  fi
70
71  ifelse([$4], [], [
72         ifdef(AC_WARNING,AC_WARNING([$0: missing argument 4 (acceptable-majors): Defaulting to APR 0.x then APR 1.x]))
73         acceptable_majors="0 1"],
74         [acceptable_majors="$4"])
75
76  apr_temp_acceptable_apr_config=""
77  for apr_temp_major in $acceptable_majors
78  do
79    case $apr_temp_major in
80      0)
81      apr_temp_acceptable_apr_config="$apr_temp_acceptable_apr_config apr-config"
82      ;;
83      *)
84      apr_temp_acceptable_apr_config="$apr_temp_acceptable_apr_config apr-$apr_temp_major-config"
85      ;;
86    esac
87  done
88
89  AC_MSG_CHECKING(for APR)
90  AC_ARG_WITH(apr,
91  [  --with-apr=PATH         prefix for installed APR, path to APR build tree,
92                          or the full path to apr-config],
93  [
94    if test "$withval" = "no" || test "$withval" = "yes"; then
95      AC_MSG_ERROR([--with-apr requires a directory or file to be provided])
96    fi
97
98    for apr_temp_apr_config_file in $apr_temp_acceptable_apr_config
99    do
100      for lookdir in "$withval/bin" "$withval"
101      do
102        if $TEST_X "$lookdir/$apr_temp_apr_config_file"; then
103          apr_found="yes"
104          apr_config="$lookdir/$apr_temp_apr_config_file"
105          break 2
106        fi
107      done
108    done
109
110    if test "$apr_found" != "yes" && $TEST_X "$withval" && $withval --help > /dev/null 2>&1 ; then
111      apr_found="yes"
112      apr_config="$withval"
113    fi
114
115    dnl if --with-apr is used, it is a fatal error for its argument
116    dnl to be invalid
117    if test "$apr_found" != "yes"; then
118      AC_MSG_ERROR([the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file.])
119    fi
120  ],[
121    dnl If we allow installed copies, check those before using bundled copy.
122    if test -n "$3" && test "$3" = "1"; then
123      for apr_temp_apr_config_file in $apr_temp_acceptable_apr_config
124      do
125        if $apr_temp_apr_config_file --help > /dev/null 2>&1 ; then
126          apr_found="yes"
127          apr_config="$apr_temp_apr_config_file"
128          break
129        else
130          dnl look in some standard places
131          for lookdir in /usr /usr/local /usr/local/apr /opt/apr /usr/local/apache2; do
132            if $TEST_X "$lookdir/bin/$apr_temp_apr_config_file"; then
133              apr_found="yes"
134              apr_config="$lookdir/bin/$apr_temp_apr_config_file"
135              break 2
136            fi
137          done
138        fi
139      done
140    fi
141    dnl if we have not found anything yet and have bundled source, use that
142    if test "$apr_found" = "no" && test -d "$1"; then
143      apr_temp_abs_srcdir="`cd $1 && pwd`"
144      apr_found="reconfig"
145      apr_bundled_major="`sed -n '/#define.*APR_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p' \"$1/include/apr_version.h\"`"
146      case $apr_bundled_major in
147        "")
148          AC_MSG_ERROR([failed to find major version of bundled APR])
149        ;;
150        0)
151          apr_temp_apr_config_file="apr-config"
152        ;;
153        *)
154          apr_temp_apr_config_file="apr-$apr_bundled_major-config"
155        ;;
156      esac
157      if test -n "$2"; then
158        apr_config="$2/$apr_temp_apr_config_file"
159      else
160        apr_config="$1/$apr_temp_apr_config_file"
161      fi
162    fi
163  ])
164
165  AC_MSG_RESULT($apr_found)
166])
Note: See TracBrowser for help on using the repository browser.