1# Copyright (c) 2006, Google Inc.
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met:
7#
8#     * Redistributions of source code must retain the above copyright
9# notice, this list of conditions and the following disclaimer.
10#     * Redistributions in binary form must reproduce the above
11# copyright notice, this list of conditions and the following disclaimer
12# in the documentation and/or other materials provided with the
13# distribution.
14#     * Neither the name of Google Inc. nor the names of its
15# contributors may be used to endorse or promote products derived from
16# this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
30
31AC_PREREQ(2.57)
32
33AC_INIT(breakpad, 0.1, google-breakpad-dev@googlegroups.com)
34dnl Sanity check: the argument is just a file that should exist.
35AC_CONFIG_SRCDIR(README)
36AC_CONFIG_AUX_DIR(autotools)
37AC_CONFIG_MACRO_DIR([m4])
38AC_CANONICAL_HOST
39
40AM_INIT_AUTOMAKE(subdir-objects tar-ustar 1.11.1)
41AM_CONFIG_HEADER(src/config.h)
42AM_MAINTAINER_MODE
43
44AM_PROG_AS
45AC_PROG_CC
46AM_PROG_CC_C_O
47AC_PROG_CPP
48AC_PROG_CXX
49AC_PROG_RANLIB
50AM_CONDITIONAL(GCC, test "$GCC" = yes)   # let the Makefile know if we're gcc
51
52dnl This must come before all the feature tests below.
53AC_ARG_ENABLE(m32,
54              AS_HELP_STRING([--enable-m32],
55                             [Compile/build with -m32]
56                             [(default is no)]),
57              [case "${enableval}" in
58                 yes)
59                   CFLAGS="${CFLAGS} -m32"
60                   CXXFLAGS="${CXXFLAGS} -m32"
61                   usem32=true
62                   ;;
63                 no)
64                   usem32=false
65                   ;;
66                 *)
67                   AC_MSG_ERROR(bad value ${enableval} for --enable-m32)
68                   ;;
69               esac],
70              [usem32=false])
71
72AC_HEADER_STDC
73AC_SYS_LARGEFILE
74m4_include(m4/ax_pthread.m4)
75AX_PTHREAD
76AC_CHECK_HEADERS([a.out.h])
77
78# Only build Linux client libs when compiling for Linux
79case $host in
80  *-*-linux* | *-android* )
81    LINUX_HOST=true
82    ;;
83esac
84AM_CONDITIONAL(LINUX_HOST, test x$LINUX_HOST = xtrue)
85
86# Only use Android support headers when compiling for Android
87case $host in
88  *-android*)
89    ANDROID_HOST=true
90    ;;
91esac
92AM_CONDITIONAL(ANDROID_HOST, test x$ANDROID_HOST = xtrue)
93
94AC_ARG_ENABLE(processor,
95              AS_HELP_STRING([--disable-processor],
96                             [Don't build processor library]
97                             [(default is no)]),
98              [case "${enableval}" in
99                 yes)
100                   disable_processor=false
101                   ;;
102                 no)
103                   disable_processor=true
104                   ;;
105                 *)
106                   AC_MSG_ERROR(bad value ${enableval} for --disable-processor)
107                   ;;
108               esac],
109              [disable_processor=false])
110AM_CONDITIONAL(DISABLE_PROCESSOR, test x$disable_processor = xtrue)
111
112AC_ARG_ENABLE(tools,
113              AS_HELP_STRING([--disable-tools],
114                             [Don't build tool binaries]
115                             [(default is no)]),
116              [case "${enableval}" in
117                 yes)
118                   disable_tools=false
119                   ;;
120                 no)
121                   disable_tools=true
122                   ;;
123                 *)
124                   AC_MSG_ERROR(bad value ${enableval} for --disable-tools)
125                   ;;
126               esac],
127              [disable_tools=false])
128AM_CONDITIONAL(DISABLE_TOOLS, test x$disable_tools = xtrue)
129
130if test x$LINUX_HOST = xfalse -a x$disable_processor = xtrue -a x$disable_tools = xtrue; then
131   AC_MSG_ERROR([--disable-processor and --disable-tools were specified, and not building for Linux. Nothing to build!])
132fi
133
134AC_ARG_ENABLE(selftest,
135              AS_HELP_STRING([--enable-selftest],
136                             [Run extra tests with "make check" ]
137                             [(may conflict with optimizations) ]
138                             [(default is no)]),
139              [case "${enableval}" in
140                 yes)
141                   selftest=true
142                   ;;
143                 no)
144                   selftest=false
145                   ;;
146                 *)
147                   AC_MSG_ERROR(bad value ${enableval} for --enable-selftest)
148                   ;;
149               esac],
150              [selftest=false])
151AM_CONDITIONAL(SELFTEST, test x$selftest = xtrue)
152
153AC_CONFIG_FILES(m4_flatten([
154  breakpad.pc
155  breakpad-client.pc
156  Makefile
157]))
158
159AC_OUTPUT
160