blob: 1b30b062dddcbaad20c26bc5129dca73d09d597c [file] [log] [blame]
mmentovai7daf2462006-09-20 21:16:16 +00001# 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.
mmentovai425d2562006-08-30 20:05:05 +000029
30
brynercb91a2f2006-08-25 21:14:45 +000031AC_PREREQ(2.57)
32
mmentovaie5dc6082007-02-14 19:51:05 +000033AC_INIT(breakpad, 0.1, opensource@google.com)
mmentovai425d2562006-08-30 20:05:05 +000034dnl Sanity check: the argument is just a file that should exist.
brynercb91a2f2006-08-25 21:14:45 +000035AC_CONFIG_SRCDIR(README)
mmentovai425d2562006-08-30 20:05:05 +000036AC_CONFIG_AUX_DIR(autotools)
ted.mielczarek53a8b1a2010-08-31 15:09:01 +000037AC_CONFIG_MACRO_DIR([m4])
38AC_CANONICAL_HOST
mmentovai425d2562006-08-30 20:05:05 +000039
jimblandy71f75802010-02-11 19:31:48 +000040AM_INIT_AUTOMAKE(subdir-objects tar-ustar 1.11.1)
brynercb91a2f2006-08-25 21:14:45 +000041AM_CONFIG_HEADER(src/config.h)
42
brynercb91a2f2006-08-25 21:14:45 +000043AC_PROG_CC
ted.mielczarekd192a712010-10-05 19:38:51 +000044AM_PROG_CC_C_O
brynercb91a2f2006-08-25 21:14:45 +000045AC_PROG_CPP
46AC_PROG_CXX
ted.mielczarekd192a712010-10-05 19:38:51 +000047AC_PROG_RANLIB
brynercb91a2f2006-08-25 21:14:45 +000048
brynercb91a2f2006-08-25 21:14:45 +000049AC_HEADER_STDC
nealsidde545c02010-03-02 00:39:48 +000050m4_include(m4/ax_pthread.m4)
51AX_PTHREAD
52
ted.mielczarek53a8b1a2010-08-31 15:09:01 +000053# Only build Linux client libs when compiling for Linux
54case $host in
ted.mielczarekcfc86282010-10-20 15:51:38 +000055 *-*-linux* | *-android* )
ted.mielczarek53a8b1a2010-08-31 15:09:01 +000056 LINUX_HOST=true
57 ;;
58esac
59AM_CONDITIONAL(LINUX_HOST, test x$LINUX_HOST = xtrue)
60
nealsidde545c02010-03-02 00:39:48 +000061AC_ARG_ENABLE(m32,
62 AS_HELP_STRING([--enable-m32],
63 [Compile/build with -m32]
64 [(default is no)]),
65 [case "${enableval}" in
66 yes)
thestig@chromium.orgc40bcc72010-09-16 23:29:13 +000067 CFLAGS="${CFLAGS} -m32"
68 CXXFLAGS="${CXXFLAGS} -m32"
nealsidde545c02010-03-02 00:39:48 +000069 usem32=true
70 ;;
71 no)
72 usem32=false
73 ;;
74 *)
75 AC_MSG_ERROR(bad value ${enableval} for --enable-m32)
76 ;;
77 esac],
78 [usem32=false])
brynercb91a2f2006-08-25 21:14:45 +000079
ted.mielczareke574a2a2010-10-05 19:38:22 +000080AC_ARG_ENABLE(processor,
81 AS_HELP_STRING([--disable-processor],
82 [Don't build processor library]
83 [(default is no)]),
84 [case "${enableval}" in
85 yes)
86 disable_processor=false
87 ;;
88 no)
89 disable_processor=true
90 ;;
91 *)
92 AC_MSG_ERROR(bad value ${enableval} for --disable-processor)
93 ;;
94 esac],
95 [disable_processor=false])
96AM_CONDITIONAL(DISABLE_PROCESSOR, test x$disable_processor = xtrue)
97
98if test x$LINUX_HOST = xfalse -a x$disable_processor = xtrue; then
99 AC_MSG_ERROR([--disable-processor was specified, and not building for Linux. Nothing to build!])
100fi
101
ted.mielczarekb2236272010-04-08 23:06:23 +0000102AC_CHECK_MEMBER(struct sockaddr.sa_len,
103 [AC_DEFINE([GET_SA_LEN(X)],[(((struct sockaddr*)&(X))->sa_len)],
104 [actual length of specific struct sockaddr])],
105 [AC_DEFINE([GET_SA_LEN(X)],
106 [(((struct sockaddr*)&(X))->sa_family == AF_INET ? sizeof(struct sockaddr_in) : \
107 ((struct sockaddr*)&(X))->sa_family == AF_INET6 ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr))],
108 [actual length of specific struct sockaddr])],
109 [#include <sys/socket.h>])
110
mmentovai0dbedc92006-09-25 21:16:15 +0000111AC_ARG_ENABLE(selftest,
112 AS_HELP_STRING([--enable-selftest],
113 [Run extra tests with "make check" ]
114 [(may conflict with optimizations) ]
115 [(default is no)]),
116 [case "${enableval}" in
117 yes)
118 selftest=true
119 ;;
120 no)
121 selftest=false
122 ;;
123 *)
124 AC_MSG_ERROR(bad value ${enableval} for --enable-selftest)
125 ;;
126 esac],
127 [selftest=false])
128AM_CONDITIONAL(SELFTEST, test x$selftest = xtrue)
129
brynercb91a2f2006-08-25 21:14:45 +0000130AC_CONFIG_FILES([Makefile])
131AC_OUTPUT