Initial commit
[yaffs-website] / node_modules / node-sass / src / libsass / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ([2.61])
5
6 AC_INIT([libsass], m4_esyscmd_s([./version.sh]), [support@moovweb.com])
7 AC_CONFIG_SRCDIR([src/ast.hpp])
8 AC_CONFIG_MACRO_DIR([m4])
9 AC_CONFIG_HEADERS([src/config.h])
10 AC_CONFIG_FILES([include/sass/version.h])
11 AC_CONFIG_AUX_DIR([script])
12 # These are flags passed to automake
13 # Though they look like gcc flags!
14 AM_INIT_AUTOMAKE([foreign parallel-tests -Wall])
15 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
16
17 # Checks for programs.
18 AC_PROG_CC
19 AC_PROG_CXX
20 AC_LANG_PUSH([C])
21 AC_LANG_PUSH([C++])
22 AC_GNU_SOURCE
23 # Check fails on Travis, but it works fine
24 # AX_CXX_COMPILE_STDCXX_11([ext],[optional])
25 AC_CHECK_TOOL([AR], [ar], [false])
26 AC_CHECK_TOOL([DLLTOOL], [dlltool], [false])
27 AC_CHECK_TOOL([DLLWRAP], [dllwrap], [false])
28 AC_CHECK_TOOL([WINDRES], [windres], [false])
29 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
30 LT_INIT([dlopen])
31
32 # Checks for header files.
33 AC_CHECK_HEADERS([unistd.h])
34
35 # Checks for typedefs, structures, and compiler characteristics.
36 AC_TYPE_SIZE_T
37
38 # Checks for library functions.
39 AC_FUNC_MALLOC
40 AC_CHECK_FUNCS([floor getcwd strtol])
41
42 # Checks for testing.
43 AC_ARG_ENABLE(tests, AS_HELP_STRING([--enable-tests], [enable testing the build]),
44               [enable_tests="$enableval"], [enable_tests=no])
45
46 AS_CASE([$host], [*-*-mingw*], [is_mingw32=yes], [is_mingw32=no])
47 AM_CONDITIONAL(COMPILER_IS_MINGW32, test "x$is_mingw32" = "xyes")
48
49 dnl The dlopen() function is in the C library for *BSD and in
50 dnl libdl on GLIBC-based systems
51 if test "x$is_mingw32" != "xyes"; then
52   AC_SEARCH_LIBS([dlopen], [dl dld], [], [
53     AC_MSG_ERROR([unable to find the dlopen() function])
54   ])
55 fi
56
57 if test "x$enable_tests" = "xyes"; then
58   AC_PROG_CC
59   AC_PROG_AWK
60   # test need minitest gem
61   AC_PATH_PROG(RUBY, [ruby])
62   AC_PATH_PROG(TAPOUT, [tapout])
63   AC_REQUIRE_AUX_FILE([tap-driver])
64   AC_REQUIRE_AUX_FILE([tap-runner])
65   AC_ARG_WITH(sassc-dir,
66               AS_HELP_STRING([--with-sassc-dir=<dir>], [specify directory of sassc sources for testing (default: sassc)]),
67               [sassc_dir="$withval"], [sassc_dir="sassc"])
68   AC_CHECK_FILE([$sassc_dir/sassc.c], [], [
69     AC_MSG_ERROR([Unable to find sassc directory.
70 You must clone the sassc repository in this directory or specify
71 the --with-sassc-dir=<dir> argument.
72 ])
73   ])
74   SASS_SASSC_PATH=$sassc_dir
75   AC_SUBST(SASS_SASSC_PATH)
76
77   AC_ARG_WITH(sass-spec-dir,
78               AS_HELP_STRING([--with-sass-spec-dir=<dir>], [specify directory of sass-spec for testing (default: sass-spec)]),
79               [sass_spec_dir="$withval"], [sass_spec_dir="sass-spec"])
80   AC_CHECK_FILE([$sass_spec_dir/sass-spec.rb], [], [
81     AC_MSG_ERROR([Unable to find sass-spec directory.
82 You must clone the sass-spec repository in this directory or specify
83 the --with-sass-spec-dir=<dir> argument.
84 ])
85   ])
86   # Automake doesn't like its tests in an absolute path, so we make it relative.
87   case $sass_spec_dir in
88     /*)
89       SASS_SPEC_PATH=`$RUBY -e "require 'pathname'; puts Pathname.new('$sass_spec_dir').relative_path_from(Pathname.new('$PWD')).to_s"`
90       ;;
91     *)
92       SASS_SPEC_PATH="$sass_spec_dir"
93       ;;
94   esac
95   AC_SUBST(SASS_SPEC_PATH)
96
97   # TODO: Remove this when automake requirements are 1.12+
98   AC_MSG_CHECKING([whether we can use TAP mode])
99   tmp=`$AWK '/TEST_LOG_DRIVER/' $srcdir/GNUmakefile.in`
100   if test "x$tmp" != "x"; then
101     use_tap=yes
102   else
103     use_tap=no
104   fi
105   AC_MSG_RESULT([$use_tap])
106
107 fi
108
109 AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = "xyes")
110 AM_CONDITIONAL(USE_TAP, test "x$use_tap" = "xyes")
111
112 AC_ARG_ENABLE([coverage],
113   [AS_HELP_STRING([--enable-coverage],
114     [enable coverage report for test suite])],
115     [enable_cov=$enableval],
116     [enable_cov=no])
117
118 if test "x$enable_cov" = "xyes"; then
119
120     AC_CHECK_PROG(GCOV, gcov, gcov)
121
122     # Remove all optimization flags from C[XX]FLAGS
123     changequote({,})
124     CFLAGS=`echo "$CFLAGS -O1 -fno-omit-frame-pointer" | $SED -e 's/-O[0-9]*//g'`
125     CXXFLAGS=`echo "$CXXFLAGS -O1 -fno-omit-frame-pointer" | $SED -e 's/-O[0-9]*//g'`
126     changequote([,])
127
128     AC_SUBST(GCOV)
129 fi
130
131 AM_CONDITIONAL(ENABLE_COVERAGE, test "x$enable_cov" = "xyes")
132
133 AC_SUBST(PACKAGE_VERSION)
134
135 AC_MSG_NOTICE([Building libsass ($VERSION)])
136
137 AC_CONFIG_FILES([GNUmakefile src/GNUmakefile src/support/libsass.pc])
138 AC_OUTPUT