5 dnl Update it right before the release since $pkgver_foo are all _post_ release snapshots
6 AC_INIT([Pacman package manager], 3.0.0, [pacman-dev@archlinux.org], pacman)
8 AM_CONFIG_HEADER(config.h)
11 AM_GNU_GETTEXT([external])
12 AM_GNU_GETTEXT_VERSION(0.13.1)
14 dnl Host dependant flags
17 ENV_CFLAGS="$ENV_CFLAGS -DCYGWIN"
21 dnl Define here the libalpm version number
25 PM_VERSION=$PM_MAJOR_VERSION.$PM_MINOR_VERSION.$PM_MICRO_VERSION
26 dnl Needed for libtool to create proper shared lib version
27 PM_VERSION_INFO=`expr $PM_MAJOR_VERSION + $PM_MINOR_VERSION`:$PM_MICRO_VERSION:$PM_MINOR_VERSION
29 AC_SUBST(PM_MAJOR_VERSION)
30 AC_SUBST(PM_MINOR_VERSION)
31 AC_SUBST(PM_MICRO_VERSION)
33 AC_SUBST(PM_VERSION_INFO)
35 dnl Put out version numbers to config.h
36 AC_DEFINE_UNQUOTED([PM_VERSION], ["$PM_VERSION"], [libalpm version number])
38 dnl Configuration files
39 dnl AC_CONFIG_FILES([etc/makepkg.conf] [etc/pacman.conf])
44 AC_CHECK_FUNCS([strverscmp])
46 AM_CONDITIONAL(LINKSTATIC, test "$enable_static" = "yes")
48 dnl Humor lowers blood pressure
49 AC_MSG_CHECKING(your blood pressure)
50 AC_MSG_RESULT([a bit high, but we can proceed])
52 dnl Help line for man2html
53 AC_ARG_ENABLE(man2html,
54 AC_HELP_STRING([--enable-man2html], [Build html docs via man2html]),
55 [wantman2html=$enableval], [wantman2html=no])
57 dnl Help line for po4a
59 AC_HELP_STRING([--disable-po4a], [Build localized manpages via po4a]),
60 [wantpo4a=$enableval], [wantpo4a=yes])
62 dnl Help line for doxygen
63 AC_ARG_ENABLE(doxygen,
64 AC_HELP_STRING([--disable-doxygen], [Build API docs via Doxygen]),
65 [wantdoxygen=$enableval], [wantdoxygen=yes])
67 dnl Help line for python
69 AC_HELP_STRING([--disable-python], [Build Python bindings]),
70 [wantpython=$enableval], [wantpython=yes])
72 dnl Help line for perl
74 AC_HELP_STRING([--disable-perl], [Build Perl bindings]),
75 [wantperl=$enableval], [wantperl=yes])
77 dnl Help line for java
79 AC_HELP_STRING([--disable-java], [Build Java bindings]),
80 [wantjava=$enableval], [wantjava=yes])
82 dnl Check for architecture
84 i686-*) AC_DEFINE_UNQUOTED([CARCH], ["i686"], [Architecture])
85 AC_DEFINE_UNQUOTED([CARCHFLAGS], ["i686"], [Architecture])
86 AC_DEFINE_UNQUOTED([MARCHFLAG], ["march"], [Architecture])
92 x86_64-*) AC_DEFINE_UNQUOTED([CARCH], ["x86_64"], [Architecture])
93 AC_DEFINE_UNQUOTED([CARCHFLAGS], ["k8"], [Architecture])
94 AC_DEFINE_UNQUOTED([MARCHFLAG], ["march"], [Architecture])
100 ia64-*) AC_DEFINE_UNQUOTED([CARCH], ["ia64"], [Architecture])
101 AC_DEFINE_UNQUOTED([CARCHFLAGS], ["ia64"], [Architecture])
102 AC_DEFINE_UNQUOTED([MARCHFLAG], ["march"], [Architecture])
108 sparc-*) AC_DEFINE_UNQUOTED([CARCH], ["sparc"], [Architecture])
109 AC_DEFINE_UNQUOTED([CARCHFLAGS], ["v9"], [Architecture])
110 AC_DEFINE_UNQUOTED([MARCHFLAG], ["mcpu"], [Architecture])
117 AC_DEFINE_UNQUOTED([CARCH], ["ppc"], [Architecture])
118 AC_DEFINE_UNQUOTED([CARCHFLAGS], ["750"], [Architecture])
119 AC_DEFINE_UNQUOTED([MARCHFLAG], ["mcpu"], [Architecture])
125 i386-*) AC_DEFINE_UNQUOTED([CARCH], ["i386"], [Architecture])
126 AC_DEFINE_UNQUOTED([CARCHFLAGS], ["i386"], [Architecture])
127 AC_DEFINE_UNQUOTED([MARCHFLAG], ["march"], [Architecture])
134 AC_MSG_ERROR([Your architecture is not supported])
143 dnl Help line for config file
144 AC_ARG_WITH(config-file,
145 AC_HELP_STRING([ --with-config-file=path], [Set the name and path for pacman's config file]),
146 [configfile=$withval], [configfile=/etc/pacman.conf])
148 dnl Help line for debug
150 AC_HELP_STRING([--enable-debug], [Enable debugging support]),
151 [debug=$enableval], [debug=no])
153 dnl Help line for fakeroot
154 AC_ARG_ENABLE(fakeroot,
155 AC_HELP_STRING([--disable-fakeroot], [Disable fakeroot proof support]),
156 [fakeroot=$enableval], [fakeroot=yes])
158 dnl Check for man2html binary
159 AC_MSG_CHECKING(for support man2html)
160 if test x$wantman2html = xyes ; then
161 AC_CHECK_PROGS([MAN2HTML], [man2html])
162 AM_CONDITIONAL(HAS_MAN2HTML, test $MAN2HTML)
163 if test $MAN2HTML ; then
164 AC_DEFINE([HAS_MAN2HTML], [TRUE], [Enabled HTML generation from man via man2html])
167 AC_DEFINE([HAS_MAN2HTML], [FALSE], [Disabled HTML generation from man via man2html])
168 AC_MSG_RESULT(no, man2html missing)
171 AM_CONDITIONAL(HAS_MAN2HTML, test $MAN2HTML)
172 AC_DEFINE([HAS_MAN2HTML], [FALSE], [Not specified at configure line])
173 AC_MSG_RESULT(not requested by configure)
176 dnl Check for po4a binary
177 AC_MSG_CHECKING(for support po4a)
178 if test x$wantpo4a = xyes ; then
179 AC_CHECK_PROGS([PO4A], [po4a])
180 AM_CONDITIONAL(HAS_PO4A, test $PO4A)
182 AC_DEFINE([HAS_PO4A], [TRUE], [Enabled PO4A (localization support for manpages)])
184 POSTATUS="yes, path: `which $PO4A`"
186 AC_DEFINE([HAS_PO4A], [FALSE], [Disabled PO4A (localization support for manpages)])
187 AC_MSG_RESULT(no, po4a binary missing)
188 POSTATUS="no, missing po4a binary"
191 AM_CONDITIONAL(HAS_PO4A, test $PO4A)
192 AC_DEFINE([HAS_PO4A], [FALSE], [Not specified at configure line])
193 AC_MSG_RESULT(not requested by configure)
194 POSTATUS="no, disabled by configure"
197 dnl Check for doxygen support
198 if test x$wantdoxygen = xyes ; then
199 AC_CHECK_PROGS([DOXYGEN], [doxygen])
200 if test $DOXYGEN ; then
201 DOXYSTATUS="yes, path: `which $DOXYGEN`"
203 DOXYSTATUS="doxygen binary not found"
206 DOXYSTATUS="no, disabled by configure"
208 AM_CONDITIONAL(HAS_DOXYGEN, test $DOXYGEN)
210 dnl Check for swig binary
211 AC_CHECK_PROGS([SWIG], [swig])
213 dnl Check for python support
214 AC_MSG_CHECKING(if Python bindings should be generated)
215 if test x$wantpython = xyes ; then
216 AM_CONDITIONAL(HAS_PYTHON, test $SWIG)
218 AC_DEFINE([HAS_PYTHON], [TRUE], [Enabled Python Support])
220 PYTHONSTATUS="yes, path: `which $SWIG`"
222 AC_DEFINE([HAS_PYTHON], [FALSE], [Disabled Python support])
223 AC_MSG_RESULT(no, swig missing)
224 PYTHONSTATUS="swig binary not found"
227 AM_CONDITIONAL(HAS_PYTHON, test $PYTHON)
228 AC_DEFINE([HAS_PYTHON], [FALSE], [Not specified at configure line])
229 AC_MSG_RESULT(not requested by configure)
230 PYTHONSTATUS="no, disabled by configure"
233 dnl Check for perl support
234 AC_MSG_CHECKING(if Perl bindings should be generated)
235 if test x$wantperl = xyes ; then
236 AM_CONDITIONAL(HAS_PERL, test $SWIG)
238 AC_DEFINE([HAS_PERL], [TRUE], [Enabled Perl Support])
240 PERLSTATUS="yes, path: `which $SWIG`"
242 AC_DEFINE([HAS_PERL], [FALSE], [Disabled Perl support])
243 AC_MSG_RESULT(no, swig missing)
244 PERLSTATUS="swig binary not found"
247 AM_CONDITIONAL(HAS_PERL, test $PERL)
248 AC_DEFINE([HAS_PERL], [FALSE], [Not specified at configure line])
249 AC_MSG_RESULT(not requested by configure)
250 PERLSTATUS="no, disabled by configure"
253 dnl Check for java support
254 AC_MSG_CHECKING(if Java bindings should be generated)
255 if test x$wantjava = xyes ; then
256 AC_CHECK_PROGS([JAVAC], [javac])
257 AM_CONDITIONAL(HAS_JAVA, test "$JAVAC" -a "$SWIG")
258 if test $JAVAC ; then
260 AC_DEFINE([HAS_JAVA], [TRUE], [Enabled Java Support (javac=ok swig=ok)])
262 JAVASTATUS="yes, path: `which $JAVAC`"
264 AC_DEFINE([HAS_JAVA], [FALSE], [Java support disabled because swig not found (javac=ok swig=missing)])
265 AC_MSG_RESULT(no, swig not found and that is need for java)
266 JAVASTATUS="java compiler found, swig not found"
270 AC_DEFINE([HAS_JAVA], [FALSE], [Disabled Java support (javac=missing swig=ok])
271 AC_MSG_RESULT(no, javac missing, swig ok)
272 JAVASTATUS="java compiler not found, swig found"
274 AC_DEFINE([HAS_JAVA], [FALSE], [Disabled Java support (javac=missing swig=missing])
275 AC_MSG_RESULT(no, javac missing, swig missing)
276 JAVASTATUS="java compiler not found, swig not found"
280 AM_CONDITIONAL(HAS_JAVA, test $JAVAC -a $SWIG)
281 AC_DEFINE([HAS_JAVA], [FALSE], [Not specified at configure line])
282 AC_MSG_RESULT(not requested by configure)
283 JAVASTATUS="no, disabled by configure"
287 AC_CHECK_LIB([m], [sqrt], [AC_CHECK_HEADER([math.h], [LIBM='-lm'])])
288 if test -z "$LIBM"; then
289 AC_MSG_ERROR("math library needed to compile pacman!");
292 dnl Check for libarchive
293 AC_CHECK_LIB([archive], [archive_read_data], [AC_CHECK_HEADER([archive.h], [LIBARCHIVE='-larchive'])])
294 if test -z "$LIBARCHIVE"; then
295 AC_MSG_ERROR("libarchive is needed to compile pacman!");
298 dnl Check for libdownload
299 AC_CHECK_LIB([download], [downloadParseURL], [AC_CHECK_HEADER([download.h], [LIBDOWNLOAD='-ldownload'])])
300 if test -z "$LIBDOWNLOAD"; then
301 AC_MSG_ERROR("libdownload is needed to compile pacman!");
304 dnl Set config location
305 AC_MSG_CHECKING(for configuration file name)
306 if test -n "$configfile"; then
307 CFLAGS="$CFLAGS -D'PACCONF=\"$configfile\"'"
308 AC_MSG_RESULT(["$configfile"])
310 AC_MSG_ERROR(["pacman config file (--with-config-file is not set"])
313 dnl Enable or disable debug code
314 AC_MSG_CHECKING(for debug mode request)
315 if test "$debug" = "yes" ; then
316 AM_CONDITIONAL(PACMAN_DEBUG, test "$debug" = "yes")
317 CFLAGS="$CFLAGS -g -Wall -Werror -std=c99 -DPACMAN_DEBUG"
318 LDFLAGS="$LDFLAGS -lmcheck"
321 AM_CONDITIONAL(PACMAN_DEBUG, test "$debug" = "no")
322 CFLAGS="$CFLAGS -Wall -std=c99"
326 dnl Enable or disable fakeroot code
327 AC_MSG_CHECKING(for fakeroot proof support)
328 if test "$fakeroot" = "yes" ; then
331 CFLAGS="$CFLAGS -DFAKEROOT"
335 dnl ==========================================================================
339 lib/libalpm/po/Makefile.in
341 src/pacman/po/Makefile.in
352 etc/pacman.d/Makefile
353 etc/pacman.d/mirrorlist
355 bindings/perl/Makefile
356 bindings/python/Makefile
357 bindings/java/Makefile
365 source code location : ${srcdir}
367 compiler flags : ${CFLAGS}
369 libalpm version : ${PM_VERSION}
370 pacman.conf location : ${configfile}
372 Architecture CARCH : ${CARCH}
373 Architecture used cflag : ${CARCHFLAGS}
374 Architecture CHOST : ${CHOST}
376 Doxygen support : ${DOXYSTATUS}
377 Manpage localization : ${POSTATUS}
378 Perl bindings : ${PERLSTATUS}
379 Python bindings : ${PYTHONSTATUS}
380 Java bindings : ${JAVASTATUS}
382 debug support : ${debug}