A few final changes for the 3.0.6 release
[pacman.git] / configure.ac
blobecc13034c0fd5363936caf5af6605d712efd96ee
1 ENV_CFLAGS=$CFLAGS
2 CFLAGS=""
4 AC_PREREQ(2.59)
5 dnl Update it right before the release since $pkgver_foo are all _post_ release snapshots
6 AC_INIT([Pacman package manager], 3.0.6, [pacman-dev@archlinux.org], [pacman])
7 AC_LANG([C])
8 AC_CONFIG_HEADERS(config.h)
9 AC_CANONICAL_HOST
10 AM_INIT_AUTOMAKE
11 AM_GNU_GETTEXT([external])
12 AM_GNU_GETTEXT_VERSION(0.13.1)
14 dnl Define the libalpm version number here
15 LIB_MAJOR_VERSION=1
16 LIB_MINOR_VERSION=0
17 LIB_MICRO_VERSION=0
18 LIB_VERSION=$LIB_MAJOR_VERSION.$LIB_MINOR_VERSION.$LIB_MICRO_VERSION
19 dnl Needed for libtool to create proper shared lib version.
20 dnl This is not completely correct- see 
21 dnl http://sourceware.org/autobook/autobook/autobook_91.html for details.
22 LIB_VERSION_INFO=`expr $LIB_MAJOR_VERSION + $LIB_MINOR_VERSION`:$LIB_MICRO_VERSION:$LIB_MINOR_VERSION
24 dnl Set subsitution values for version stuff in Makefiles and anywhere else
25 AC_SUBST(LIB_VERSION)
26 AC_SUBST(LIB_VERSION_INFO)
28 dnl Put version number in config.h
29 AC_DEFINE_UNQUOTED([LIB_VERSION], ["$LIB_VERSION"], [libalpm version number])
31 dnl Configuration files
32 dnl AC_CONFIG_FILES([etc/makepkg.conf] [etc/pacman.conf])
34 AC_PROG_CC
35 AC_HEADER_STDC
36 AC_PROG_INSTALL
37 AC_CHECK_FUNCS([strverscmp])
38 AM_PROG_LIBTOOL
39 AM_CONDITIONAL(LINKSTATIC, test "$enable_static" = "yes")
41 dnl Help line for doxygen
42 AC_ARG_ENABLE(doxygen,
43     AC_HELP_STRING([--disable-doxygen], [Build API docs via Doxygen]),
44     [wantdoxygen=$enableval], [wantdoxygen=yes])
46 dnl Help line for config file
47 AC_ARG_WITH(config-file,
48     AC_HELP_STRING([--with-config-file=path], [Set the location of pacman's config file]),
49     [configfile=$withval], [configfile=/etc/pacman.conf])
51 dnl Help line for debug
52 AC_ARG_ENABLE(debug,
53     AC_HELP_STRING([--enable-debug], [Enable debugging support]),
54     [debug=$enableval], [debug=no])
56 dnl Help line for fakeroot
57 AC_ARG_ENABLE(fakeroot,
58     AC_HELP_STRING([--disable-fakeroot], [Disable fakeroot proof support]),
59     [fakeroot=$enableval], [fakeroot=yes])
61 dnl Host-dependant flags
62 case "${host}" in
63         *-*-cygwin*)
64                 ENV_CFLAGS="$ENV_CFLAGS -DCYGWIN"
65                 ;;
66 esac
68 dnl Check for architecture
69 case "${host}" in
70         i686-*) 
71                 CARCH="i686"
72                 CARCHFLAGS="i686"
73                 ARCHSWITCH="march"
74                 ;;
75         x86_64-*) 
76                 CARCH="x86_64"
77                 CARCHFLAGS="x86-64"
78                 ARCHSWITCH="march"
79                 ;;
80         ia64-*) 
81                 CARCH="ia64"
82                 CARCHFLAGS="ia64"
83                 ARCHSWITCH="march"
84                 ;;
85         sparc-*) 
86                 CARCH="sparc"
87                 CARCHFLAGS="v9"
88                 ARCHSWITCH="mcpu"
89                 ;;
90         ppc-* | powerpc-*)
91                 CARCH="ppc"
92                 CARCHFLAGS="750"
93                 ARCHSWITCH="mcpu"
94                 ;;
95         i386-*) 
96                 CARCH="i386"
97                 CARCHFLAGS="i386"
98                 ARCHSWITCH="march"
99                 ;;
100         *)
101                 AC_MSG_ERROR([Your architecture is not supported])
102                 ;;
103 esac
105 dnl Now do some things common to all architectures
106 CHOST="${host}"
107 AC_SUBST(CARCH)
108 AC_SUBST(CARCHFLAGS)
109 AC_SUBST(ARCHSWITCH)
110 AC_SUBST(CHOST)
112 dnl Humor lowers blood pressure
113 AC_MSG_CHECKING(your blood pressure)
114 AC_MSG_RESULT([a bit high, but we can proceed])
116 dnl Check for doxygen support
117 AC_MSG_CHECKING(for doxygen)
118 if test "x$wantdoxygen" = "xyes" ; then
119     AC_CHECK_PROGS([DOXYGEN], [doxygen])
120     if test $DOXYGEN ; then
121                 AC_MSG_RESULT(yes)
122                 usedoxygen=yes
123     else
124                 AC_MSG_RESULT(no, doxygen missing)
125                 usedoxygen=no
126     fi
127 else
128     AC_MSG_RESULT(no, disabled by configure)
129         usedoxygen=no
131 AM_CONDITIONAL(HAS_DOXYGEN, test "x$usedoxygen" = "xyes")
133 dnl Check for math
134 AC_CHECK_LIB([m], [sqrt], [AC_CHECK_HEADER([math.h], [LIBM='-lm'])])
135 if test -z "$LIBM"; then
136     AC_MSG_ERROR("math library needed to compile pacman!");
139 dnl Check for libarchive
140 AC_CHECK_LIB([archive], [archive_read_data], [AC_CHECK_HEADER([archive.h], [LIBARCHIVE='-larchive'])])
141 if test -z "$LIBARCHIVE"; then
142     AC_MSG_ERROR("libarchive is needed to compile pacman!");
145 dnl Check for libdownload
146 AC_CHECK_LIB([download], [downloadParseURL], [AC_CHECK_HEADER([download.h], [LIBDOWNLOAD='-ldownload'])])
147 if test -z "$LIBDOWNLOAD"; then
148     AC_MSG_ERROR("libdownload is needed to compile pacman!");
151 # Enable large file support if available
152 AC_SYS_LARGEFILE
154 dnl Set config location
155 AC_MSG_CHECKING(for configuration file name)
156 if test -n "$configfile"; then
157         AC_DEFINE_UNQUOTED([PACCONF], "$configfile", [Location of pacman conf file])
158     AC_MSG_RESULT(["$configfile"])
159 else
160     AC_MSG_ERROR(["pacman config file (--with-config-file is not set"])
163 dnl Enable or disable debug code
164 AC_MSG_CHECKING(for debug mode request)
165 if test "x$debug" = "xyes" ; then
166         AC_DEFINE([PACMAN_DEBUG], , [Enable debug code])
167         CFLAGS="$CFLAGS -g -Wall -Werror -fstack-protector -std=c99"
168         LDFLAGS="$LDFLAGS -lmcheck"
169     AC_MSG_RESULT(yes)
170 else
171         CFLAGS="$CFLAGS -Wall -std=c99"
172     AC_MSG_RESULT(no)
175 dnl Enable or disable fakeroot code
176 AC_MSG_CHECKING(for fakeroot proof support)
177 if test "x$fakeroot" = "xyes" ; then
178         AC_MSG_RESULT(yes)
179 else
180         AC_DEFINE([FAKEROOT], , [Disable fakeroot-proof code])
181         AC_MSG_RESULT(no)
184 dnl Set CFLAGS to both $CFLAGS and ones from env ($ENV_CFLAGS)
185 CFLAGS="$CFLAGS $ENV_CFLAGS"
187 dnl ==========================================================================
189 AC_OUTPUT([
190 lib/libalpm/Makefile
191 lib/libalpm/po/Makefile.in
192 src/pacman/Makefile
193 src/pacman/po/Makefile.in
194 src/util/Makefile
195 scripts/Makefile
196 doc/Makefile
197 etc/Makefile
198 etc/makepkg.conf
199 etc/pacman.conf
200 etc/pacman.d/Makefile
201 etc/pacman.d/mirrorlist
202 etc/abs/Makefile
203 pactest/Makefile
204 contrib/Makefile
205 Makefile
208 echo "
209 pacman-$VERSION:
211     prefix                 : ${prefix}
212     source code location   : ${srcdir}
213     compiler               : ${CC}
214     compiler flags         : ${CFLAGS}
215     defines                : ${DEFS}
217     Architecture           : ${CARCH}
218     Architecture flags     : -${ARCHSWITCH}=${CARCHFLAGS}
219     Host Type              : ${CHOST}
221     libalpm version        : ${LIB_VERSION}
222     pacman version         : ${PACKAGE_VERSION}
223     pacman.conf location   : ${configfile}
225     Doxygen support        : ${usedoxygen}
226     debug support          : ${debug}
227     fakeroot-proof support : ${fakeroot}