blob: 0d944417afbd4bf72e5ecca7118b77824a3ec2fd [file] [log] [blame]
# Configure script for Digital Bazaar Bitmunk product line
# Usage: Run ./configure once
# Author: Manu Sporny
AC_PREREQ([2.60])
AC_INIT([forge],[0.1.0],[support@digitalbazaar.com])
AC_CONFIG_AUX_DIR(setup)
# Setup standard build environment variables
# FIXME: allow changing via configure option
FORGE_DIR=`(cd ${srcdir} && pwd)`
AC_SUBST(FORGE_DIR)
DATE_YMD=`date +%Y%m%d`
PACKAGE_DATE_VERSION=${PACKAGE_VERSION}-${DATE_YMD}
AC_SUBST(DATE_RFC_2822)
AC_SUBST(PACKAGE_DATE_VERSION)
dnl ----------------- docs -----------------
AC_ARG_ENABLE([docs],
AS_HELP_STRING([--enable-docs], [build documentation [no]]),
[
case "${enableval}" in
yes) BUILD_DOCS=yes ;;
no) BUILD_DOCS=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-docs) ;;
esac
], [BUILD_DOCS=no]) dnl Default value
AC_SUBST(BUILD_DOCS)
dnl ----------------- tests -----------------
AC_ARG_ENABLE([tests],
AC_HELP_STRING([--disable-tests], [disable building test apps [no]]),
[
case "${enableval}" in
yes) BUILD_TESTS=yes ;;
no) BUILD_TESTS=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
esac
], [BUILD_TESTS=no]) dnl Default value
AC_SUBST(BUILD_TESTS)
dnl ----------------- build flash -----------------
AC_ARG_ENABLE([flash],
AC_HELP_STRING([--disable-flash], [disable building Flash [no]]),
[
case "${enableval}" in
yes) BUILD_FLASH=yes ;;
no) BUILD_FLASH=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-flash) ;;
esac
], [BUILD_FLASH=yes]) dnl Default value
AC_ARG_ENABLE([pre-built-flash],
AC_HELP_STRING([--disable-pre-built-flash],
[disable use of pre-built Flash [no]]),
[
case "${enableval}" in
yes) USE_PRE_BUILT_FLASH=yes ;;
no) USE_PRE_BUILT_FLASH=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-flash) ;;
esac
], [USE_PRE_BUILT_FLASH=yes]) dnl Default value
AC_SUBST(BUILD_FLASH)
AC_SUBST(USE_PRE_BUILT_FLASH)
dnl ----------------- mxmlc -----------------
AC_ARG_WITH([mxmlc],
AC_HELP_STRING([--with-mxmlc=PATH],
[use PATH for mxmlc]),
[
case "${withval}" in
yes|no) AC_MSG_ERROR(bad value ${withval} for --with-mxmlc) ;;
*) MXMLC="${withval}" ;;
esac
if test "x$MXMLC" = x -o ! -x "$MXMLC"; then
AC_MSG_ERROR([mxmlc not found at "$MXMLC"])
fi
])
if test "$BUILD_FLASH" = "yes" ; then
dnl Need to try to find mxmlc
if test "x$MXMLC" = x; then
AC_CHECK_PROGS(MXMLC, mxmlc /usr/lib/flex3/bin/mxmlc,, $PATH /)
fi
dnl Check that mxmlc was found
if test "x$MXMLC" = x; then
if test "$USE_PRE_BUILT_FLASH" = "yes"; then
dnl Check pre-built SWF is present
if test -r "$FORGE_DIR/swf/SocketPool.swf"; then
AC_MSG_NOTICE([Using pre-built Flash])
BUILD_FLASH=no
else
AC_MSG_ERROR([mxmlc and pre-built Flash not found])
fi
else
AC_MSG_ERROR([mxmlc not found, try --with-mxmlc])
fi
fi
fi
AC_SUBST(MXMLC)
dnl ----------------- mxmlc debug -----------------
AC_ARG_ENABLE([mxmlc-debug],
AC_HELP_STRING([--enable-mxmlc-debug], [enable mxmlc debug mode [no]]),
[
case "${enableval}" in
yes) MXMLC_DEBUG_MODE=yes ;;
no) MXMLC_DEBUG_MODE=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-mxmlc-debug) ;;
esac
], [MXMLC_DEBUG_MODE=no]) dnl Default value
AC_SUBST(MXMLC_DEBUG_MODE)
dnl ----------------- end of options -----------------
echo -e "\n--------- Configuring Build Environment -----------"
PKG_PROG_PKG_CONFIG
# Checking for standard build tools
AC_PROG_CPP
AC_PROG_INSTALL
AS_PATH_PYTHON([2.7])
if test "x$PYTHON" != x; then
save_CPPFLAGS="$CPPFLAGS"
AC_CHECK_PROGS([PYTHON_CONFIG], [python-config])
if test "x$PYTHON_CONFIG" != x; then
CPPFLAGS="$CPPFLAGS `$PYTHON_CONFIG --cflags`"
fi
AC_CHECK_HEADERS([Python.h],
[BUILD_PYTHON_MODULES=yes],
[BUILD_PYTHON_MODULES=no
AC_MSG_WARN([Python.h not found, SSL bindings will not be build.])])
CPPFLAGS="$save_CPPFLAGS"
else
AC_MSG_WARN([Need at least Python 2.7 to build SSL bindings.])
fi
AC_SUBST(BUILD_PYTHON_MODULES)
dnl ----------------------------------
dnl NOTE:
dnl This code was used previously to autogenerate the .gitignore file but due
dnl to the current more common use of just the js files, it's likely people
dnl who checkout the code will never run the build scripts. The files are now
dnl just hardcoded into .gitignore and should be updated by hand as needed.
dnl
dnl # Generating files
dnl AC_CONFIG_FILES([
dnl .gitignore
dnl Makefile
dnl ])
dnl
dnl # add newlines to internal output file list
dnl CONFIGURE_GENERATED_FILES="`echo $ac_config_files | tr ' ' '\n'`"
dnl AC_SUBST(CONFIGURE_GENERATED_FILES)
AC_OUTPUT
# Dump the build configuration
echo -e "\n--------- Forge Build Environment -----------"
echo "Forge Version : $PACKAGE_NAME $PACKAGE_DATE_VERSION"
if test "x$BUILD_FLASH" = "xyes" ; then
echo "Adobe Flash : Flash building enabled"
echo "MXMLC : $MXMLC"
echo "MXMLC Debug flags : $MXMLC_DEBUG_MODE"
else
echo "Adobe Flash : using pre-built Flash"
fi
if test "x$BUILD_PYTHON_MODULES" = "xyes" ; then
echo "Python : $PYTHON (version $PYTHON_VERSION)"
else
echo "Python : development environment not found"
fi
if test "x$BUILD_DOCS" = "xyes"; then
echo "Documentation : enabled"
else
echo "Documentation : disabled (use --enable-docs to enable)"
fi
if test "x$BUILD_TESTS" = "xyes"; then
echo "Tests : enabled"
else
echo "Tests : disabled (use --enable-tests to enable)"
fi