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