|
Packit |
bfcc33 |
# -*- Autoconf -*-
|
|
Packit |
bfcc33 |
# Process this file with autoconf to produce a configure script.
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AC_PREREQ([2.61])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AC_INIT([libsass], m4_esyscmd_s([./version.sh]), [support@moovweb.com])
|
|
Packit |
bfcc33 |
AC_CONFIG_SRCDIR([src/ast.hpp])
|
|
Packit |
bfcc33 |
AC_CONFIG_MACRO_DIR([m4])
|
|
Packit |
bfcc33 |
AC_CONFIG_HEADERS([src/config.h])
|
|
Packit |
bfcc33 |
AC_CONFIG_FILES([include/sass/version.h])
|
|
Packit |
bfcc33 |
AC_CONFIG_AUX_DIR([script])
|
|
Packit |
bfcc33 |
# These are flags passed to automake
|
|
Packit |
bfcc33 |
# Though they look like gcc flags!
|
|
Packit |
bfcc33 |
AM_INIT_AUTOMAKE([foreign parallel-tests -Wall])
|
|
Packit |
bfcc33 |
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
# Checks for programs.
|
|
Packit |
bfcc33 |
AC_PROG_CC
|
|
Packit |
bfcc33 |
AC_PROG_CXX
|
|
Packit |
bfcc33 |
AC_LANG_PUSH([C])
|
|
Packit |
bfcc33 |
AC_LANG_PUSH([C++])
|
|
Packit |
bfcc33 |
AC_GNU_SOURCE
|
|
Packit |
bfcc33 |
# Check fails on Travis, but it works fine
|
|
Packit |
bfcc33 |
# AX_CXX_COMPILE_STDCXX_11([ext],[optional])
|
|
Packit |
bfcc33 |
AC_CHECK_TOOL([AR], [ar], [false])
|
|
Packit |
bfcc33 |
AC_CHECK_TOOL([DLLTOOL], [dlltool], [false])
|
|
Packit |
bfcc33 |
AC_CHECK_TOOL([DLLWRAP], [dllwrap], [false])
|
|
Packit |
bfcc33 |
AC_CHECK_TOOL([WINDRES], [windres], [false])
|
|
Packit |
bfcc33 |
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
|
Packit |
bfcc33 |
LT_INIT([dlopen])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
# Checks for header files.
|
|
Packit |
bfcc33 |
AC_CHECK_HEADERS([unistd.h])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
# Checks for typedefs, structures, and compiler characteristics.
|
|
Packit |
bfcc33 |
AC_TYPE_SIZE_T
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
# Checks for library functions.
|
|
Packit |
bfcc33 |
AC_FUNC_MALLOC
|
|
Packit |
bfcc33 |
AC_CHECK_FUNCS([floor getcwd strtol])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
# Checks for testing.
|
|
Packit |
bfcc33 |
AC_ARG_ENABLE(tests, AS_HELP_STRING([--enable-tests], [enable testing the build]),
|
|
Packit |
bfcc33 |
[enable_tests="$enableval"], [enable_tests=no])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AS_CASE([$host], [*-*-mingw*], [is_mingw32=yes], [is_mingw32=no])
|
|
Packit |
bfcc33 |
AM_CONDITIONAL(COMPILER_IS_MINGW32, test "x$is_mingw32" = "xyes")
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
dnl The dlopen() function is in the C library for *BSD and in
|
|
Packit |
bfcc33 |
dnl libdl on GLIBC-based systems
|
|
Packit |
bfcc33 |
if test "x$is_mingw32" != "xyes"; then
|
|
Packit |
bfcc33 |
AC_SEARCH_LIBS([dlopen], [dl dld], [], [
|
|
Packit |
bfcc33 |
AC_MSG_ERROR([unable to find the dlopen() function])
|
|
Packit |
bfcc33 |
])
|
|
Packit |
bfcc33 |
fi
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
if test "x$enable_tests" = "xyes"; then
|
|
Packit |
bfcc33 |
AC_PROG_CC
|
|
Packit |
bfcc33 |
AC_PROG_AWK
|
|
Packit |
bfcc33 |
# test need minitest gem
|
|
Packit |
bfcc33 |
AC_PATH_PROG(RUBY, [ruby])
|
|
Packit |
bfcc33 |
AC_PATH_PROG(TAPOUT, [tapout])
|
|
Packit |
bfcc33 |
AC_REQUIRE_AUX_FILE([tap-driver])
|
|
Packit |
bfcc33 |
AC_REQUIRE_AUX_FILE([tap-runner])
|
|
Packit |
bfcc33 |
AC_ARG_WITH(sassc-dir,
|
|
Packit |
bfcc33 |
AS_HELP_STRING([--with-sassc-dir=<dir>], [specify directory of sassc sources for testing (default: sassc)]),
|
|
Packit |
bfcc33 |
[sassc_dir="$withval"], [sassc_dir="sassc"])
|
|
Packit |
bfcc33 |
AC_CHECK_FILE([$sassc_dir/sassc.c], [], [
|
|
Packit |
bfcc33 |
AC_MSG_ERROR([Unable to find sassc directory.
|
|
Packit |
bfcc33 |
You must clone the sassc repository in this directory or specify
|
|
Packit |
bfcc33 |
the --with-sassc-dir=<dir> argument.
|
|
Packit |
bfcc33 |
])
|
|
Packit |
bfcc33 |
])
|
|
Packit |
bfcc33 |
SASS_SASSC_PATH=$sassc_dir
|
|
Packit |
bfcc33 |
AC_SUBST(SASS_SASSC_PATH)
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AC_ARG_WITH(sass-spec-dir,
|
|
Packit |
bfcc33 |
AS_HELP_STRING([--with-sass-spec-dir=<dir>], [specify directory of sass-spec for testing (default: sass-spec)]),
|
|
Packit |
bfcc33 |
[sass_spec_dir="$withval"], [sass_spec_dir="sass-spec"])
|
|
Packit |
bfcc33 |
AC_CHECK_FILE([$sass_spec_dir/sass-spec.rb], [], [
|
|
Packit |
bfcc33 |
AC_MSG_ERROR([Unable to find sass-spec directory.
|
|
Packit |
bfcc33 |
You must clone the sass-spec repository in this directory or specify
|
|
Packit |
bfcc33 |
the --with-sass-spec-dir=<dir> argument.
|
|
Packit |
bfcc33 |
])
|
|
Packit |
bfcc33 |
])
|
|
Packit |
bfcc33 |
# Automake doesn't like its tests in an absolute path, so we make it relative.
|
|
Packit |
bfcc33 |
case $sass_spec_dir in
|
|
Packit |
bfcc33 |
/*)
|
|
Packit |
bfcc33 |
SASS_SPEC_PATH=`$RUBY -e "require 'pathname'; puts Pathname.new('$sass_spec_dir').relative_path_from(Pathname.new('$PWD')).to_s"`
|
|
Packit |
bfcc33 |
;;
|
|
Packit |
bfcc33 |
*)
|
|
Packit |
bfcc33 |
SASS_SPEC_PATH="$sass_spec_dir"
|
|
Packit |
bfcc33 |
;;
|
|
Packit |
bfcc33 |
esac
|
|
Packit |
bfcc33 |
AC_SUBST(SASS_SPEC_PATH)
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
# TODO: Remove this when automake requirements are 1.12+
|
|
Packit |
bfcc33 |
AC_MSG_CHECKING([whether we can use TAP mode])
|
|
Packit |
bfcc33 |
tmp=`$AWK '/TEST_LOG_DRIVER/' $srcdir/GNUmakefile.in`
|
|
Packit |
bfcc33 |
if test "x$tmp" != "x"; then
|
|
Packit |
bfcc33 |
use_tap=yes
|
|
Packit |
bfcc33 |
else
|
|
Packit |
bfcc33 |
use_tap=no
|
|
Packit |
bfcc33 |
fi
|
|
Packit |
bfcc33 |
AC_MSG_RESULT([$use_tap])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
fi
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = "xyes")
|
|
Packit |
bfcc33 |
AM_CONDITIONAL(USE_TAP, test "x$use_tap" = "xyes")
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AC_ARG_ENABLE([coverage],
|
|
Packit |
bfcc33 |
[AS_HELP_STRING([--enable-coverage],
|
|
Packit |
bfcc33 |
[enable coverage report for test suite])],
|
|
Packit |
bfcc33 |
[enable_cov=$enableval],
|
|
Packit |
bfcc33 |
[enable_cov=no])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
if test "x$enable_cov" = "xyes"; then
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AC_CHECK_PROG(GCOV, gcov, gcov)
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
# Remove all optimization flags from C[XX]FLAGS
|
|
Packit |
bfcc33 |
changequote({,})
|
|
Packit |
bfcc33 |
CFLAGS=`echo "$CFLAGS -O1 -fno-omit-frame-pointer" | $SED -e 's/-O[0-9]*//g'`
|
|
Packit |
bfcc33 |
CXXFLAGS=`echo "$CXXFLAGS -O1 -fno-omit-frame-pointer" | $SED -e 's/-O[0-9]*//g'`
|
|
Packit |
bfcc33 |
changequote([,])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AC_SUBST(GCOV)
|
|
Packit |
bfcc33 |
fi
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AM_CONDITIONAL(ENABLE_COVERAGE, test "x$enable_cov" = "xyes")
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AC_SUBST(PACKAGE_VERSION)
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AC_MSG_NOTICE([Building libsass ($VERSION)])
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
AC_CONFIG_FILES([GNUmakefile src/GNUmakefile src/support/libsass.pc])
|
|
Packit |
bfcc33 |
AC_OUTPUT
|