1dnl $Id: configure.in,v 1.70 2007/06/07 02:33:53 vkurland Exp $
2
3AC_INIT
4AC_CONFIG_SRCDIR([src/gui/main.cpp])
5AC_CANONICAL_TARGET
6AC_CONFIG_HEADER(config.h)
7AC_CONFIG_HEADER(src/libfwbuilder/src/fwbuilder/libfwbuilder-config.h)
8
9PACKAGE=fwbuilder
10AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package])
11AC_SUBST(PACKAGE)
12
13LT_INIT
14AC_CONFIG_MACRO_DIR([m4])
15
16dnl
17dnl all version numbers are defined in the file VERSION
18dnl
19. ./VERSION
20
21RELEASE_NUM=$BUILD_NUM
22GENERATION_SHORT=$(echo $GENERATION | sed 's/\.//')
23
24AC_DEFINE_UNQUOTED(BUILD_NUM, "$BUILD_NUM", [desc])
25AC_SUBST(BUILD_NUM)
26AC_SUBST(RELEASE_NUM)
27
28AC_SUBST(FWB_MAJOR_VERSION)
29AC_SUBST(FWB_MINOR_VERSION)
30AC_SUBST(FWB_MICRO_VERSION)
31AC_SUBST(FWB_VERSION)
32AC_SUBST(GENERATION)
33AC_SUBST(GENERATION_SHORT)
34
35# libfwbuilder versions
36dnl AC_SUBST(LIBFWBUILDER_VERSION)
37AC_SUBST(FWBUILDER_XML_VERSION)
38
39AC_DEFINE_UNQUOTED(FWBUILDER_XML_VERSION, "$FWBUILDER_XML_VERSION", [desc])
40
41echo "Creating VERSION.h file..."
42
43cat <<EOF > VERSION.h
44#define VERSION      "$VERSION"
45#define GENERATION   "$GENERATION"
46EOF
47
48dnl try to find QT
49dnl
50AC_ARG_WITH(qtdir,[  --with-qtdir=DIR        Specify directory path for QT ])
51
52if test -n "$with_qtdir"; then
53   AC_MSG_CHECKING(Using QT in )
54   QTDIR="$with_qtdir";
55   export QTDIR
56   AC_MSG_RESULT($QTDIR)
57fi
58
59# TODO: do we need to add $QTDIR/bin to PATH to find qmake?
60EXTENDED_PATH="/usr/local/bin:$QTDIR/bin/:$PATH"
61
62AC_ARG_WITH(qmake, [  --with-qmake=qmake     Specify the qmake to be used (debian qmake-qt4) ])
63if test -n "$with_qmake"; then
64    AC_PATH_PROG(QMAKE,  $with_qmake,      ,[$EXTENDED_PATH])
65    if test -z "$QMAKE"; then
66        AC_MSG_ERROR("Could not find qmake")
67    fi
68else
69    AC_PATH_PROG(QMAKE,  qmake,      ,[$EXTENDED_PATH])
70    if test -z "$QMAKE"; then
71        AC_PATH_PROG(QMAKE,  qmake-qt4,      ,[$EXTENDED_PATH])
72        if test -z "$QMAKE"; then
73            AC_MSG_ERROR("Could not find qmake")
74        fi
75    fi
76fi
77
78AC_MSG_CHECKING(checking version of QT this qmake is part of)
79qmake_version=`$QMAKE -v 2>&1 | awk '/Using Qt version/ { print $4;}'`
80case $qmake_version in
81    4.*) AC_MSG_RESULT( $qmake_version ) ;;
82    5.*) AC_MSG_RESULT( $qmake_version ) ;;
83      *) AC_MSG_ERROR( "$qmake_version -- v4.x or v5.x is required") ;;
84esac
85
86
87
88AC_ARG_WITH(templatedir, [  --with-templatedir=DIR  Specify directory path for fwbuilder template files ])
89AC_ARG_WITH(docdir,      [  --with-docdir=DIR       Specify directory path for fwbuilder
90                          documentation files  ])
91AC_ARG_WITH(datadir,     [  --with-datadir=DIR      Specify directory path for fwbuilder
92                          data files  ])
93
94AC_C_BIGENDIAN(AC_DEFINE(WORDS_BIGENDIAN, 1, [desc]),
95               AC_DEFINE(WORDS_LITTLEENDIAN, 1, [desc]),
96               AC_MSG_ERROR(Failed to determine endianness!!))
97
98LIBFWBUILDER_LIBDIR='-L${libdir}'
99
100
101
102dnl
103dnl   Determine init dir and add definition to config.h. Program
104dnl   determines prefix name of the directory it was started from
105dnl   and prepends it to the RES_DIR
106dnl
107
108PREFIX=$ac_default_prefix
109
110if test "x$prefix" != "xNONE"; then
111  PREFIX=$prefix
112fi
113AC_DEFINE_UNQUOTED(PREFIX, "${PREFIX}", [prefix])
114AC_SUBST(PREFIX)
115
116AC_DEFINE_UNQUOTED(VERSION,              "$VERSION", [version])
117AC_SUBST(VERSION)
118
119
120AC_PROG_INSTALL
121
122AC_ISC_POSIX
123AC_PROG_CC
124dnl  AM_PROG_CC_STDC
125AC_HEADER_STDC
126AC_PROG_CPP
127AC_PROG_CXX
128AC_PROG_CXXCPP
129
130dnl need this for intl to compile on FreeBSD and may be other platforms
131AC_CHECK_FUNCS(strchr memcpy)
132
133
134dnl AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
135dnl AC_CANONICAL_HOST
136
137AC_PROG_MAKE_SET
138
139
140dnl Check for GNU make
141dnl
142AC_MSG_CHECKING(whether make is GNU Make)
143if ${MAKE-make} -q --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
144  AC_MSG_RESULT(yes)
145else
146  AC_MSG_RESULT(no)
147  if test "$host_vendor" = "sun" ; then
148    AC_MSG_ERROR("SUN make does not work for building Firewall Builder. Please install GNU make")
149  fi
150fi
151
152dnl some platform-dependent flags
153dnl
154dnl e.g. we need to set -I/sw/include before check for GETTEXT
155dnl
156GUILINKFLAGS=
157case "$build_os" in
158  *solaris*)
159    GUILINKFLAGS="-export-dynamic"
160    ;;
161 esac
162AC_SUBST(GUILINKFLAGS)
163
164dnl
165dnl forkpty is in libutil on Linux and BSD, while on Mac it is in libc
166dnl
167AC_CHECK_HEADERS( [pty.h libutil.h util.h],[],[],[#include <sys/types.h>])
168AC_CHECK_LIB(c,forkpty,[
169  AC_DEFINE_UNQUOTED(HAVE_FORKPTY, 1, [forkpty])
170  ],[
171  AC_CHECK_LIB(util,forkpty,[
172    AC_DEFINE_UNQUOTED(HAVE_FORKPTY, 1, [forkpty])
173    LIBS="-lutil $LIBS"
174    ],[
175    AC_MSG_RESULT(["forkpty not found, will use emulation"])
176  ],[])
177],[])
178
179AC_CHECK_LIB(c,cfmakeraw,[
180  AC_DEFINE_UNQUOTED(HAVE_CFMAKERAW, 1, [cfmakeraw])
181])
182
183
184dnl standard LIBTOOL fragment
185dnl
186dnl     commented out 12/20 - we now use qmake and do not need libtool
187dnl
188dnl AC_LIBTOOL_DLOPEN
189dnl AC_PROG_LIBTOOL
190dnl AC_SUBST(LIBTOOL_DEPS)
191dnl AM_PROG_LIBTOOL
192dnl AC_PROG_RANLIB
193
194AC_CHECK_HEADERS([getopt.h])
195AC_CHECK_HEADERS([signal.h])
196AC_CHECK_HEADERS([endian.h])
197
198AC_CHECK_FUNCS(strtok_r)
199
200AC_CHECK_FUNCS(stat _stat signal)
201
202AC_STRUCT_TM
203AC_STRUCT_TIMEZONE
204
205AC_SUBST(LIBS)
206
207AC_LANG([C++])
208
209AM_PATH_CPPUNIT(1.12.0, [HAVE_CPPUNIT="1"])
210AC_DEFINE_UNQUOTED(HAVE_CPPUNIT, $HAVE_CPPUNIT, [desc])
211AC_SUBST(HAVE_CPPUNIT)
212AC_SUBST(CPPUNIT_CFLAGS)
213AC_SUBST(CPPUNIT_LIBS)
214
215dnl A check for antlr-runtime library used to be here but has been
216dnl removed. We should always use antlr runtime code incuded with
217dnl fwbuilder code tree because of the fixes I've done in
218dnl CurcularQueue.hpp module for 64 bit systems. This problem seems to
219dnl have been fixed in antlr v3 but until we convert all grammars to
220dnl the new antlr, we have to use provided antlr 2.7.7 with these
221dnl fixes. This means we can't use antlr runtime that comes with the
222dnl OS even if it is installed.
223
224ANTLR_INCLUDEPATH="`pwd`/src/"
225ANTLR_LIBS="`pwd`/src/antlr/libantlr.a"
226AC_SUBST(ANTLR_LIBS)
227AC_SUBST(ANTLR_INCLUDEPATH)
228
229dnl check for pthreads
230dnl
231dnl Somehow, standard macro tries -lpthreads, while pthread library really
232dnl is "libpthread" on Linux. Thus only test using -pthread suceeds, but
233dnl PTHREAD_LIBS macro ends up empty.
234
235ACX_PTHREAD([
236   test -z "$PTHREAD_LIBS" && test "$PTHREAD_CFLAGS" = "-pthread" && PTHREAD_LIBS="-pthread"
237
238   echo "Found pthread library:"
239   echo "PTHREAD_CFLAGS="$PTHREAD_CFLAGS
240   echo "PTHREAD_LIBS="$PTHREAD_LIBS
241
242] , [
243   AC_MSG_ERROR([POSIX threads library not present or not configured])
244])
245
246
247dnl check for XML library
248
249AC_ARG_WITH(xml2-config,
250    [  --with-xml2-config=xml2-config     Specify the xml2-config to be used],
251    [ XML2_CONFIG=$with_xml2_config ],
252    [ AC_PATH_PROG(XML2_CONFIG, xml2-config,  ,[$EXTENDED_PATH]) ])
253if test x$XML2_CONFIG = x ; then
254   AC_MSG_ERROR([libxml2 not present or not configured])
255else
256  XML_CFLAGS="`$XML2_CONFIG --cflags`"
257  XML_LIBS="`$XML2_CONFIG --libs`"
258fi
259XML_CFLAGS=`echo $XML_CFLAGS | sed 's/-I\/usr\/include //'`
260AC_SUBST(XML_CFLAGS)
261AC_SUBST(XML_LIBS)
262
263SAVE_LIBS=${LIBS}
264LIBS="$XML_LIBS $LIBS"
265AC_CHECK_FUNCS(xmlSaveFormatFileEnc)
266LIBS=${SAVE_LIBS}
267
268dnl check for XSLT library
269
270AC_ARG_WITH(xslt-config,
271    [  --with-xslt-config=xslt-config     Specify the xslt-config to be used],
272    [ XSLT_CONFIG=$with_xslt_config ],
273    [ AC_PATH_PROG(XSLT_CONFIG, xslt-config,  ,[$EXTENDED_PATH]) ])
274if test x$XSLT_CONFIG = x ; then
275   AC_MSG_ERROR([libxslt not present or not configured])
276else
277  XSLT_CFLAGS="`$XSLT_CONFIG --cflags`"
278  XSLT_LIBS="`$XSLT_CONFIG --libs`"
279fi
280XSLT_CFLAGS=`echo $XSLT_CFLAGS | sed 's/-I\/usr\/include //'`
281
282dnl
283dnl purely aestetical: xslt-config often reports the same flags as
284dnl xml2-config
285dnl
286ac_xslt_var=""
287for w in ${XSLT_CFLAGS}; do
288  case " ${XML_CFLAGS} " in
289    *\ $w\ *) ;;
290    *) ac_xslt_var="$ac_xslt_var $w" ;;
291  esac
292done
293XSLT_CFLAGS=$ac_xslt_var
294
295ac_xslt_var=""
296for w in ${XSLT_LIBS}; do
297  case " ${XML_LIBS} " in
298    *\ $w\ *) ;;
299    *) ac_xslt_var="$ac_xslt_var $w" ;;
300  esac
301done
302XSLT_LIBS=$ac_xslt_var
303
304AC_SUBST(XSLT_CFLAGS)
305AC_SUBST(XSLT_LIBS)
306
307dnl libXslt header libxslt/xsltconfig.h only present in newew version of libxslt
308dnl for instance it is not part of 1.0.1 but present in 1.0.7.
309AC_CHECK_HEADERS(libxslt/xsltconfig.h)
310
311dnl Check for bind specific headers and libraries
312dnl if they are present, use them, rather than ones
313dnl coming with libc.
314
315AC_CHECK_HEADER(bind/resolv.h, [
316  CPPFLAGS="$CPPFLAGS -I/usr/include/bind"
317  HAVE_RESOLV_H=yes
318] , [ AC_CHECK_HEADER(/usr/local/bind/include/resolv.h, [
319    CPPFLAGS="$CPPFLAGS -I/usr/local/bind/include/"
320    HAVE_RESOLV_H=yes
321  ], [
322    AC_CHECK_HEADERS([resolv.h], [ HAVE_RESOLV_H=yes ], [], [
323#include <sys/types.h>
324#include <netinet/in.h>
325    ] )
326  ] )
327], [
328#include <netinet/in.h>
329] )
330
331LIB_RESOLV=""
332HAVE_RES_NQUERY=""
333AC_SUBST(LIB_RESOLV)
334
335
336dnl
337dnl prepare equivalents of *_CFLAGS variables for qmake
338dnl qmake requires these to be without "-I"
339dnl
340XML_CFLAGS_Q=`echo ${XML_CFLAGS} | sed 's/-I//g'`
341XSLT_CFLAGS_Q=`echo ${XSLT_CFLAGS} | sed 's/-I//g'`
342PTHREAD_CFLAGS_Q=`echo ${PTHREAD_CFLAGS} | sed 's/-I//g'`
343LIBS_Q=`echo ${LIBS} | sed 's/-I//g'`
344
345AC_SUBST(XML_CFLAGS_Q)
346AC_SUBST(XSLT_CFLAGS_Q)
347AC_SUBST(PTHREAD_CFLAGS_Q)
348AC_SUBST(LIBS_Q)
349
350
351
352dnl
353dnl  We also support "--with-ucdsnmp=no" and "--without-ucdsnmp"
354dnl  By default we assume user wants snmp support, provided script
355dnl  can find the library
356dnl
357dnl  Just in case we support both --with-ucdsnmp and --with-ucd-snmp
358dnl                                    --vk
359dnl
360
361check_for_ucdsnmp=yes
362if test x$with_ucdsnmp = xno ; then
363  check_for_ucdsnmp=no
364fi
365
366if test x$with_ucd_snmp = xno ; then
367  check_for_ucdsnmp=no
368fi
369
370if test $check_for_ucdsnmp = yes ; then
371
372dnl
373dnl net-snmp library includes script net-snmp-config which I use to determine cflags
374dnl and libs. Unfortunately even if this script is there and is used  flags,
375dnl the program may still not link with the library. Currently having this problem on
376dnl FreeBSD 4.7 - after upgrade of openssl, code using net-snmp stopped linking. That
377dnl is why I still try to do linking test even if script is present.
378dnl
379dnl Testing for presence of includes and doing linking test assures that -devel
380dnl package is indeed installed (primitive test program could link with libsnmp.so
381dnl even if -devel package is not installed and headers are not there).
382dnl
383  AC_PATH_PROG(NET_SNMP_CONFIG, net-snmp-config,  ,[$EXTENDED_PATH])
384  if test x$NET_SNMP_CONFIG != x ; then
385    ac_LIBSNMP_LIBS="`$NET_SNMP_CONFIG --libs`"
386    ac_LIBSNMP_CFLAGS="`$NET_SNMP_CONFIG --cflags`"
387    AC_CHECK_LIB(netsnmp, init_snmp,
388    [
389      HAVE_LIBSNMP="1"
390      AC_DEFINE(HAVE_LIBSNMP, 1, [desc])
391      NET_SNMP="1"
392      AC_DEFINE(NET_SNMP, 1, [desc])
393      LIBSNMP_LIBS=$ac_LIBSNMP_LIBS
394      LIBSNMP_CFLAGS=$ac_LIBSNMP_CFLAGS
395      AC_CHECK_LIB(netsnmp, snprint_objid, [
396        AC_DEFINE(HAVE_SNPRINT_OBJID, 1, [desc])
397      ], ,$ac_LIBSNMP_LIBS)
398    ], ,$ac_LIBSNMP_LIBS)
399  else
400    AC_CHECK_HEADERS([ucd-snmp/asn1.h], [
401      AC_CHECK_HEADER(ucd-snmp/snmp.h, [
402        AC_CHECK_LIBSNMP( snmp )
403        if test "Z$HAVE_LIBSNMP" != "Z"; then
404          UCD_SNMP="1"
405          AC_DEFINE(UCD_SNMP, 1, [desc])
406          save_LIBS=$LIBS
407          LIBS="$LIBSNMP_LIBS $LIBS"
408          AC_CHECK_LIB(snmp, snprint_objid, [
409            AC_DEFINE(HAVE_SNPRINT_OBJID, 1, [desc])
410          ])
411          LIBS=$save_LIBS
412        fi
413      ], ,[
414#include <sys/types.h>
415#include <ucd-snmp/asn1.h>
416      ])
417    ])
418  fi
419
420  LIBS="${LIBSNMP_LIBS} ${LIBS}"
421
422fi
423AC_SUBST(LIBSNMP_LIBS)
424
425AC_CHECK_LIB(c, inet_net_ntop, [
426  AC_DEFINE_UNQUOTED(HAVE_INET_NET_NTOP, 1, [inet_net_ntop])
427  ],[
428    AC_CHECK_LIB(bind, inet_net_ntop, [
429      AC_DEFINE_UNQUOTED(HAVE_INET_NET_NTOP, 1, [inet_net_ntop])
430      LIBS="-lbind $LIBS"
431      ])
432],[])
433
434
435AC_CHECK_LIB(z, gzopen, [ LIBS="-lz ${LIBS}"], [
436   AC_MSG_ERROR([libz library not found])
437])
438
439dnl
440dnl   Determine init dir and add definition to config.h
441dnl
442
443PREFIX=$ac_default_prefix
444
445if test "x$prefix" != "xNONE"; then
446  PREFIX=$prefix
447fi
448
449dnl ********************************************************************
450
451
452if test "x$with_docdir" != "x"; then
453  DOCDIR="${with_docdir}"
454else
455  DOCDIR="${PREFIX}/share/doc/fwbuilder-${VERSION}"
456fi
457DOCDIRPATH=`dirname ${DOCDIR}`
458
459if test "x$with_datadir" != "x"; then
460  DATADIR="${with_datadir}"
461else
462  DATADIR="${PREFIX}/share/"
463fi
464
465ICONSDIR=""
466
467dnl do not insert spaces in these macros, even outside of []
468AC_PATH_PROG(RCS_FILE_NAME,[rcs],[rcs],[$EXTENDED_PATH])
469AC_PATH_PROG(RCSDIFF_FILE_NAME,[rcsdiff],[rcsdiff],[$EXTENDED_PATH])
470AC_PATH_PROG(RLOG_FILE_NAME,[rlog],[rlog],[$EXTENDED_PATH])
471AC_PATH_PROG(CI_FILE_NAME,[ci],[ci],[$EXTENDED_PATH])
472AC_PATH_PROG(CO_FILE_NAME,[co],[co],[$EXTENDED_PATH])
473
474AC_MSG_CHECKING(what OS this is)
475
476case ${host} in
477  *-*-cygwin*)
478    OS=cygwin
479    OS_CYGWIN=1
480    AC_MSG_RESULT(Win32 cygwin)
481    DEFAULT_RES_DIR="resources"
482    ;;
483
484  *-*-mingw32*)
485    OS=mingw32
486    OS_MINGW=1
487    AC_MSG_RESULT(Win32 mingw)
488    DEFAULT_RES_DIR="resources"
489    RCS_FILE_NAME="rcs.exe"
490    RCSDIFF_FILE_NAME="rcsdiff.exe"
491    RLOG_FILE_NAME="rlog.exe"
492    CI_FILE_NAME="ci.exe"
493    CO_FILE_NAME="co.exe"
494    ;;
495
496  *-*-darwin*)
497    OS=MacOSX
498    OS_MACOSX=1
499    MANDIR="${PREFIX}/share/man/"
500    AC_MSG_RESULT(MacOSX)
501    DEFAULT_RES_DIR="../Resources"
502    ;;
503
504  *-*-solaris*)
505    OS=Solaris
506    OS_SOLARIS=1
507    MANDIR="${PREFIX}/share/man/"
508    AC_MSG_RESULT(Solaris)
509    DEFAULT_RES_DIR="${PREFIX}/share/fwbuilder-${VERSION}"
510    ;;
511
512  *-*-freebsd*|*-*-dragonfly*)
513    OS=FreeBSD
514    OS_FREEBSD=1
515    MANDIR="${PREFIX}/man/"
516    AC_MSG_RESULT(FreeBSD)
517    DEFAULT_RES_DIR="${PREFIX}/share/fwbuilder-${VERSION}"
518    ;;
519
520  *-*-openbsd*)
521    OS=OpenBSD
522    OS_OPENBSD=1
523    MANDIR="${PREFIX}/man/"
524    AC_MSG_RESULT(OpenBSD)
525    DEFAULT_RES_DIR="${PREFIX}/share/fwbuilder-${VERSION}"
526    ;;
527
528  *-*-kfreebsd*)
529    OS=FreeBSD
530    OS_FREEBSD=1
531    if test -f /etc/debian_version ; then
532       DISTRO=Debian
533    else
534       DISTRO="Unknown"
535    fi
536    MANDIR="${PREFIX}/share/man/"
537    AC_MSG_RESULT($DISTRO GNU/kFreeBSD)
538    DEFAULT_RES_DIR="${PREFIX}/share/fwbuilder-${VERSION}"
539    ;;
540
541  *-*-linux*)
542    DEFAULT_RES_DIR="${PREFIX}/share/fwbuilder-${VERSION}"
543    OS=Linux
544    OS_LINUX=1
545    if test -f /etc/debian_version ; then
546	DISTRO=Debian
547    elif test -f /etc/mandrake-release ; then
548	DISTRO=Mandrake
549    elif test -f /etc/slackware-version ; then
550	DISTRO=Slackware
551    elif test -f /etc/SuSE-release ; then
552        DISTRO=SuSE
553    elif test -f /etc/redhat-release ; then
554#
555# Mandrake has symlink /etc/redhat-release -> /etc/manrake-release ,
556# so this check must be the last
557#
558	DISTRO=RedHat
559    else
560	DISTRO="Unknown"
561    fi
562    MANDIR="${PREFIX}/share/man/"
563    ICONSDIR="${DATADIR}/icons/hicolor/"
564    AC_MSG_RESULT($DISTRO Linux)
565    ;;
566
567  *)
568    OS=Unknown
569    OS_UNKNOWN=1
570    DISTRO=Unknown
571    MANDIR="${PREFIX}/share/man/"
572    AC_MSG_RESULT(Unknown)
573    DEFAULT_RES_DIR="${PREFIX}/share/fwbuilder-${VERSION}"
574    ;;
575esac
576
577if test "x$with_templatedir" != "x"; then
578  RES_DIR="${with_templatedir}"
579else
580  RES_DIR="$DEFAULT_RES_DIR"
581fi
582
583AC_DEFINE_UNQUOTED(RES_DIR, "$RES_DIR", [res_dir])
584AC_SUBST(RES_DIR)
585
586AC_DEFINE_UNQUOTED(RCS_FILE_NAME,      ["$RCS_FILE_NAME"], [rcs_file_name])
587AC_DEFINE_UNQUOTED(RCSDIFF_FILE_NAME,  ["$RCSDIFF_FILE_NAME"], [rcsdiff_file_name])
588AC_DEFINE_UNQUOTED(RLOG_FILE_NAME,     ["$RLOG_FILE_NAME"], [rlog_file_name])
589AC_DEFINE_UNQUOTED(CI_FILE_NAME,       ["$CI_FILE_NAME"], [ci_file_name])
590AC_DEFINE_UNQUOTED(CO_FILE_NAME,       ["$CO_FILE_NAME"], [co_file_name])
591
592
593dnl   prefix has bogus value while building RPM. Since program
594dnl   should incrorporate full path to the templates directory into
595dnl   the code via config.h file, we need to keep track of
596dnl   this directory twice: TEMPLATE_DIR is what goes to config.h, while
597dnl   "install" Makefile targets will use $(prefix) to build install
598dnl   path
599
600TEMPLATE_DIR=$RES_DIR
601AC_DEFINE_UNQUOTED(LIBFWBUILDER_TEMPLATE_DIR, "${TEMPLATE_DIR}", [desc])
602AC_SUBST(TEMPLATE_DIR)
603
604
605AC_SUBST(OS)
606AC_DEFINE_UNQUOTED(OS, "${OS}", [os])
607test -n "$OS_CYGWIN" && AC_DEFINE_UNQUOTED(OS_CYGWIN, "${OS_CYGWIN}", [cygwin])
608test -n "$OS_MINGW" && AC_DEFINE_UNQUOTED(OS_MINGW, "${OS_MINGW}", [mingw])
609test -n "$OS_MACOSX" && AC_DEFINE_UNQUOTED(OS_MACOSX, "${OS_MACOSX}", [macosx])
610test -n "$OS_SOLARIS" && AC_DEFINE_UNQUOTED(OS_SOLARIS,"${OS_SOLARIS}",[solaris])
611test -n "$OS_FREEBSD" && AC_DEFINE_UNQUOTED(OS_FREEBSD,"${OS_FREEBSD}",[freebsd])
612test -n "$OS_OPENBSD" && AC_DEFINE_UNQUOTED(OS_OPENBSD,"${OS_OPENBSD}",[openbsd])
613test -n "$OS_LINUX" && AC_DEFINE_UNQUOTED(OS_LINUX, "${OS_LINUX}", [linux])
614test -n "$OS_SECUWALL" && AC_DEFINE_UNQUOTED(OS_SECUWALL, "${OS_SECUWALL}", [secuwall])
615test -n "$OS_UNKNOWN" && AC_DEFINE_UNQUOTED(OS_UNKNOWN,"${OS_UNKNOWN}",[unknown])
616
617AC_SUBST(DISTRO)
618AC_DEFINE_UNQUOTED(DISTRO, "${DISTRO}", [distro])
619
620AC_SUBST(DOCDIRPATH)
621AC_DEFINE_UNQUOTED(DOCDIRPATH, "${DOCDIRPATH}", [docdirpath])
622
623AC_SUBST(DOCDIR)
624AC_DEFINE_UNQUOTED(DOCDIR, "${DOCDIR}", [docdir])
625
626AC_SUBST(DATADIR)
627AC_SUBST(MANDIR)
628AC_SUBST(ICONSDIR)
629
630AC_ARG_WITH(ccache,[  --with-ccache=yes      Use ccache to speed up repeated compilation])
631
632if test -n "$with_ccache"; then
633  if test "x$with_ccache" != "xno"; then
634    AC_PATH_PROG(CCACHE, ccache, , )
635    AC_SUBST(CCACHE)
636    if test -n "$CCACHE"
637    then
638      ccache -s
639    fi
640  else
641    CCACHE=""
642    AC_SUBST(CCACHE)
643  fi
644else
645  AC_PATH_PROG(CCACHE, ccache, , )
646  AC_SUBST(CCACHE)
647  if test -n "$CCACHE"
648  then
649        ccache -s
650  fi
651fi
652
653AC_ARG_WITH(distcc,[  --with-distcc=N        Use distcc with N parallel make count])
654
655if test -n "$with_distcc"; then
656  if test "x$with_distcc" != "xno"; then
657    AC_PATH_PROG(HAVE_DISTCC, distcc, , )
658    if test -n "$HAVE_DISTCC"; then
659       DISTCC=$HAVE_DISTCC
660       AC_SUBST(DISTCC)
661       PARALLEL_MAKE_COUNT=$with_distcc
662       AC_SUBST(PARALLEL_MAKE_COUNT)
663    fi
664  fi
665else
666
667  AC_PATH_PROG(HAVE_DISTCC, distcc, , )
668  if test -n "$HAVE_DISTCC"; then
669     M_J=$(distcc -j 2>/dev/null)
670     if test -n "$M_J"; then
671        DISTCC=$HAVE_DISTCC
672        AC_SUBST(DISTCC)
673        PARALLEL_MAKE_COUNT=$M_J
674        AC_SUBST(PARALLEL_MAKE_COUNT)
675     fi
676  fi
677fi
678
679AC_CONFIG_FILES([ qmake.inc
680                  src/res/objects_init.xml
681                  src/res/templates.xml
682                  src/libfwbuilder/qmake.inc
683                  src/libfwbuilder/etc/fwbuilder.dtd
684                  packaging/fwbuilder.control
685                  packaging/fwbuilder.spec
686                  packaging/fwbuilder-static-qt.spec
687                  packaging/fwbuilder.nsi])
688
689
690AC_OUTPUT
691
692# QMAKE=$QMAKE CCACHE=$CCACHE QTDIR=$QTDIR ./runqmake.sh
693QMAKE=$QMAKE QTDIR=$QTDIR ./runqmake.sh
694
695