180 lines
5.8 KiB
Plaintext
180 lines
5.8 KiB
Plaintext
# -*- Autoconf -*-
|
|
# Process this file with autoconf to produce a configure script.
|
|
|
|
AC_PREREQ([2.69])
|
|
|
|
m4_define([pipecolors_version_major],[0])
|
|
m4_define([pipecolors_version_minor],[1])
|
|
m4_define([pipecolors_version_micro],[0])
|
|
m4_define([pipecolors_version_beta], [])
|
|
|
|
m4_define([pipecolors_version_base], [pipecolors_version_major.pipecolors_version_minor.pipecolors_version_micro])
|
|
m4_define([pipecolors_version],
|
|
[ifelse(pipecolors_version_beta, [], [pipecolors_version_base], [pipecolors_version_base.pipecolors_version_beta])])
|
|
|
|
AC_INIT([pipecolors], [pipecolors_version])
|
|
|
|
|
|
AC_SUBST(PIPECOLORS_VERSION_BASE, pipecolors_version_base)
|
|
AC_SUBST(PIPECOLORS_VERSION_BETA, pipecolors_version_beta)
|
|
|
|
AC_SUBST([PIPECOLORS_VERSION_MAJOR], [pipecolors_version_major])
|
|
AC_SUBST([PIPECOLORS_VERSION_MINOR], [pipecolors_version_minor])
|
|
AC_SUBST([PIPECOLORS_VERSION_MICRO], [pipecolors_version_micro])
|
|
AC_SUBST([PIPECOLORS_VERSION], [pipecolors_version])
|
|
|
|
PKG_INSTALLDIR
|
|
AC_CONFIG_SRCDIR([libpipecolors.cpp])
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AC_CONFIG_AUX_DIR([config])
|
|
AC_CANONICAL_TARGET
|
|
AC_CANONICAL_HOST
|
|
AC_CANONICAL_BUILD
|
|
PKG_PROG_PKG_CONFIG
|
|
AM_INIT_AUTOMAKE([gnu dist-bzip2 dist-zip std-options])
|
|
|
|
AM_SILENT_RULES
|
|
AC_GNU_SOURCE
|
|
AC_PROG_INSTALL
|
|
AC_PROG_CXXCPP
|
|
AM_PROG_AR
|
|
AC_PROG_LIBTOOL
|
|
AC_PROG_LN_S
|
|
|
|
LT_INIT
|
|
AC_LANG_CPLUSPLUS
|
|
AC_PREFIX_DEFAULT([/usr])
|
|
|
|
# Checks for programs.
|
|
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
AC_SUBST([LIBTOOL_DEPS])
|
|
|
|
gcc_full_vers=`g++ -dumpversion`
|
|
gcc_major_vers=`echo ${gcc_full_vers} | cut -f1 -d.`
|
|
gcc_minor_vers=`echo ${gcc_full_vers} | cut -f2 -d.`
|
|
gcc_micro_vers=`echo ${gcc_full_vers} | cut -f3 -d.`
|
|
|
|
|
|
#AC_MSG_CHECKING([${CXX-c++} version])
|
|
#if test "${gcc_minor_vers}" -lt 9; then
|
|
# AC_MSG_ERROR([GCC >= 4.9 is required, you have version ${gcc_full_vers}])
|
|
#else
|
|
# AC_MSG_RESULT([${gcc_full_vers} ... acceptable])
|
|
#fi
|
|
AC_CHECK_FUNCS([vasprintf], [], [AC_MSG_ERROR([Why don't you have this? Install basic c++ header files.])])
|
|
AC_CHECK_HEADERS([stdarg.h stdlib.h unistd.h string iostream map],[],[AC_MSG_ERROR([We couldn't find one or more of the required headers.])])
|
|
AC_CHECK_HEADER([boost/regex.hpp],[],[AC_MSG_ERROR([Please install the libboost-regex header library.])])
|
|
AC_CHECK_LIB([boost_regex], [main], [], [AC_MSG_ERROR([Please install the libboost-regex libs on your system.])])
|
|
|
|
|
|
AC_CHECK_TYPES([std::string], [], [], [[
|
|
#include <iostream>
|
|
#include <string>
|
|
]])
|
|
|
|
AC_ARG_ENABLE([pipe-stripping],
|
|
[AC_HELP_STRING([--disable-pipe-stripping], [strip invalid pipe codes [default=no]])],
|
|
[], [disable_pipe_stripping=no])
|
|
AM_CONDITIONAL([PC_REMOVE_INVALID], [test "x$disable_pipe_stripping" = "xno"])
|
|
|
|
AM_COND_IF([PC_REMOVE_INVALID],
|
|
[AC_MSG_NOTICE([Invalid pipe codes will be filtered.])],
|
|
[AC_MSG_NOTICE([Invalid pipe codes will not be filtered.])])
|
|
|
|
AC_ARG_ENABLE([btree],
|
|
[AC_HELP_STRING([--enable-btree], [enable googles btree instead of stl map [default=no]])],
|
|
[enable_btree=yes])
|
|
AM_CONDITIONAL([BUILD_WITH_BTREE], [test "x$enable_btree" = "xyes"])
|
|
|
|
if test "x$enable_btree" == "xyes"; then
|
|
|
|
AC_CHECK_CXX_ARGUMENT([-std=c++11])
|
|
|
|
AC_CHECK_TOOL([MERCURIAL], [hg], [no])
|
|
|
|
|
|
if test "x${MERCURIAL}" = "xhg"; then
|
|
have_hg_bin=1
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for ${srcdir}/cpp-btree/btree_map.h])
|
|
|
|
if test -f ${srcdir}/cpp-btree/btree_map.h; then
|
|
have_btree_h=1
|
|
AC_MSG_RESULT([found.])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
if test "x$have_btree_h" = "x1"; then
|
|
AC_VERBOSE([Using already existing btree.])
|
|
AM_CONDITIONAL([BUILD_WITH_BTREE], [true])
|
|
elif test "x$have_hg_bin" = "x1"; then
|
|
AC_VERBOSE([
|
|
* Downloading btree headers with mercurial
|
|
])
|
|
|
|
$(which hg) clone https://code.google.com/p/cpp-btree/
|
|
AM_CONDITIONAL([BUILD_WITH_BTREE], [true])
|
|
else
|
|
AC_VERBOSE([
|
|
* Could not find hg in your PATH
|
|
* Building with STL maps instead of Google Btree
|
|
])
|
|
AM_CONDITIONAL([BUILD_WITH_BTREE], [false])
|
|
fi
|
|
|
|
fi
|
|
|
|
AC_ARG_ENABLE([the-force],
|
|
[AC_HELP_STRING([--enable-the-force], [use the force [default=no]])],
|
|
[], [enable_the_force=no])
|
|
AM_CONDITIONAL([ENABLE_THE_FORCE], [test "x$enable_the_force" = "xyes"])
|
|
|
|
|
|
AC_CONFIG_FILES([Makefile libpipecolors.pc:libpipecolors.pc.in libpipecolors.h:libpipecolors.h.in],[],[APIVERSION=PIPECOLORS_VERSION])
|
|
AC_CONFIG_COMMANDS([timestamp], [date >timestamp])
|
|
AC_OUTPUT
|
|
|
|
resetc=$(tput sgr0);
|
|
green=$(tput bold; tput setaf 2)
|
|
blue=$(tput bold; tput setaf 4)
|
|
cyan=$(tput bold; tput setaf 6)
|
|
white=$(tput bold; tput setaf 7)
|
|
|
|
|
|
if test "x$disable_pipe_stripping" == "xno" ; then
|
|
|
|
cat << EOF
|
|
|
|
${reset}
|
|
${green}* ${white}Prefix ${resetc}: ${cyan}${prefix}
|
|
${green}* ${white}Exec Prefix ${resetc}: ${cyan}${exec_prefix}
|
|
${green}* ${white}Library ${resetc}: ${cyan}${libdir}
|
|
${green}* ${white}Include ${resetc}: ${cyan}${includedir}
|
|
${green}* ${resetc}Configure finished type '${cyan}make${resetc}' to build and '${cyan}make install${resetc}' to install.
|
|
${green}* ${resetc}Invalid pipe codes will be filtered
|
|
${green}* ${resetc} e.g. ('${white}|41${resetc}Hello World' will show as 'Hello World' instead of '${white}|41${resetc}Hello World')
|
|
${green}* ${resetc} You can change this behavior by using the ${white}--disable-pipe-stripping ${resetc}configure flag.
|
|
|
|
EOF
|
|
|
|
else
|
|
|
|
cat << EOF
|
|
|
|
${reset}
|
|
${green}* ${white}Prefix ${resetc}: ${cyan}${prefix}
|
|
${green}* ${white}Exec Prefix ${resetc}: ${cyan}${exec_prefix}
|
|
${green}* ${white}Library ${resetc}: ${cyan}${libdir}
|
|
${green}* ${white}Include ${resetc}: ${cyan}${includedir}
|
|
${green}* ${resetc}Configure finished type '${cyan}make${resetc}' to build and '${cyan}make install${resetc}' to install.
|
|
${green}* ${resetc}Invalid pipe codes will not be filtered.
|
|
${green}* ${resetc} e.g. ('${white}|41${resetc}Hello World' will show as '${white}|41${resetc}Hello World' instead of 'Hello World')
|
|
${green}* ${resetc} You can change this behavior by removing the ${white}--disable-pipe-stripping ${resetc}configure flag.
|
|
|
|
EOF
|
|
|
|
fi
|