summaryrefslogtreecommitdiff
path: root/dviware/dvisvgm/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'dviware/dvisvgm/configure.ac')
-rw-r--r--dviware/dvisvgm/configure.ac237
1 files changed, 237 insertions, 0 deletions
diff --git a/dviware/dvisvgm/configure.ac b/dviware/dvisvgm/configure.ac
new file mode 100644
index 0000000000..c90e3059fb
--- /dev/null
+++ b/dviware/dvisvgm/configure.ac
@@ -0,0 +1,237 @@
+# This file is part of dvisvgm
+# Copyright (C) 2005-2019 Martin Gieseking <martin.gieseking@uos.de>
+#
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.59)
+AC_INIT([dvisvgm],[2.7],[martin.gieseking@uos.de])
+DATE="April 2019"
+AC_CONFIG_SRCDIR(src)
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_MACRO_DIR([m4])
+AC_CANONICAL_HOST
+AC_CANONICAL_TARGET
+AM_INIT_AUTOMAKE([subdir-objects])
+
+AH_TEMPLATE([TARGET_SYSTEM], [The machine triplet of the target system])
+AC_DEFINE_UNQUOTED([TARGET_SYSTEM], ["$target"])
+
+# Checks for programs.
+AC_PROG_CC
+AC_PROG_CC_C99
+AC_PROG_CXX
+AX_CXX_COMPILE_STDCXX([11])
+AM_PROG_AR
+LT_INIT
+
+AC_PROG_RANLIB
+AC_LANG(C)
+
+AX_CHECK_COMPILE_FLAG([-Wmismatched-tags -Wno-mismatched-tags], [CXXFLAGS="$CXXFLAGS -Wno-mismatched-tags"])
+AC_CHECK_HEADERS([sys/time.h sys/timeb.h xlocale.h])
+AC_HEADER_TIOCGWINSZ
+
+CPPFLAGS_SAVE="$CPPFLAGS"
+CFLAGS_SAVE="$CFLAGS"
+LDFLAGS_SAVE="$LDFLAGS"
+
+# Check availability and usability of the kpathsea library
+AC_ARG_VAR(KPSE_CFLAGS, [C/C++ compiler flags for the kpathsea library])
+AC_ARG_VAR(KPSE_LIBS, [linker flags for the kpathsea library])
+AC_ARG_VAR(KPSE_LIBS, [])
+AC_ARG_WITH([kpathsea],
+ [AS_HELP_STRING([--with-kpathsea=prefix], [set location of kpathsea library])],
+ [with_kpathsea="$withval"],
+ [with_kpathsea=yes])
+
+AS_IF([test "x$with_kpathsea" != "xyes"],
+ [KPSE_CFLAGS="-I$with_kpathsea/include" KPSE_LIBS="-L$with_kpathsea/lib"]
+ [CPPFLAGS="$CPPFLAGS $KPSE_CFLAGS" CFLAGS="$CFLAGS $KPSE_CFLAGS" LDFLAGS="$LDFLAGS $KPSE_LIBS"])
+
+AC_CHECK_HEADER([kpathsea/kpathsea.h],,
+ [AC_MSG_ERROR([please install the kpathsea development package])])
+AC_CHECK_LIB([kpathsea], [kpse_find_file],,
+ [AC_MSG_ERROR([libkpathsea not found, please install the corresponding package first])])
+
+AC_MSG_CHECKING([kpathsea version])
+AC_RUN_IFELSE([AC_LANG_SOURCE([#include <stdio.h>
+ #include <kpathsea/kpathsea.h>
+ int main() {
+ FILE *f;
+ f = fopen("kpseversion", "w");
+ if(!f) exit(1);
+ fprintf(f, "%s\n", KPSEVERSION);
+ fclose(f);
+ exit(0);
+ }])],
+ [kpseversion=`cat kpseversion|sed 's/kpathsea version //'`], [kpseversion=], [kpseversion=unknown])
+AC_MSG_RESULT("$kpseversion")
+rm -f kpseversion
+AS_IF([test -z "$kpseversion"],
+ [AC_MSG_ERROR([Could not compile a simple kpathsea program -- check your installation])])
+AC_SUBST(KPSE_CFLAGS)
+AC_SUBST(KPSE_LIBS)
+
+# Check how to link Ghostscript
+have_libgs=yes
+AC_CHECK_HEADER([ghostscript/iapi.h],
+ [AC_CHECK_LIB(gs, gsapi_revision,, [have_libgs=no])],
+ [have_libgs=no])
+AS_IF([test "x$have_libgs" = "xno"],
+ # Ghostscript not found, check for dlopen
+ [AC_CHECK_LIB(dl, dlopen,,
+ [AC_DEFINE(DISABLE_GS, 1, [Set to 1 if PostScript support should be disabled])]
+ [AC_MSG_WARN(PostScript support disabled)])])
+
+# Check for pkg-config
+PKG_PROG_PKG_CONFIG
+
+# Check for libraries.
+PKG_CHECK_MODULES([FREETYPE], [freetype2])
+
+AC_ARG_ENABLE([woff],
+ [AS_HELP_STRING([--disable-woff], [Disable WOFF support @<:@default=no@:>@])],
+ [],
+ [enable_woff=yes])
+AM_CONDITIONAL([ENABLE_WOFF], [test "x$enable_woff" = "xyes"])
+
+AC_ARG_WITH([ttfautohint],
+ [AS_HELP_STRING([--with-ttfautohint@<:@=prefix@:>@], [enable ttfautohint support (disabled by default)])],
+ [with_ttfautohint="$withval"],
+ [with_ttfautohint=no])
+
+# Add option to enable linking of bundled libraries (brotli, potrace, woff2, xxhash).
+AC_ARG_ENABLE([bundled-libs],
+ [AS_HELP_STRING([--enable-bundled-libs], [use bundled libraries instead of the system ones @<:@default=no@:>@])])
+AM_CONDITIONAL([USE_BUNDLED_LIBS], [test "x$enable_bundled_libs" = "xyes"])
+
+# If option --enable-bundled-libs is not given, look for system libraries of brotli, potrace, woff2, and xxhash.
+AS_IF([test "x$enable_bundled_libs" != "xyes"],
+ [AC_CHECK_HEADER(potracelib.h,
+ [AC_SEARCH_LIBS(potrace_trace, [potrace], [have_potrace=yes])])]
+ [AC_CHECK_HEADER([xxhash.h],
+ [AC_SEARCH_LIBS(XXH32, [xxhash], [have_xxhash=yes])])]
+ [AS_IF([test "x$enable_woff" = "xyes"],
+ [PKG_CHECK_MODULES(BROTLI, [libbrotlienc], [have_brotli=yes])]
+ [PKG_CHECK_MODULES(WOFF2, [libwoff2enc], [have_woff2=yes])])])
+AM_CONDITIONAL(HAVE_POTRACE, [test "x$have_potrace" = "xyes"])
+AM_CONDITIONAL(HAVE_BROTLI, [test "x$have_brotli" = "xyes"])
+AM_CONDITIONAL(HAVE_WOFF2, [test "x$have_woff2" = "xyes"])
+AM_CONDITIONAL(HAVE_XXHASH, [test "x$have_xxhash" = "xyes"])
+
+AS_IF([test "x$enable_woff" != "xyes"],
+ [AC_DEFINE([DISABLE_WOFF], 1, [Define if WOFF support is disabled])],
+ [AS_IF([test "x$with_ttfautohint" != "xno"],
+ [AS_IF([test "x$with_ttfautohint" = "xyes"],
+ # --with-ttfautohint without path => check via pkg-config
+ [PKG_CHECK_MODULES([TTFAUTOHINT], [ttfautohint],,
+ [AC_MSG_ERROR([can't locate ttfautohint, use "--with-ttfautohint=path" to specify its location])])],
+ # --with-ttfautohint=/path/ttfautohint given
+ [TTFAUTOHINT_CFLAGS="-I$with_ttfautohint/include"]
+ [TTFAUTOHINT_LIBS="-L$with_ttfautohint/lib"])]
+ [CPPFLAGS="$CPPFLAGS $TTFAUTOHINT_CFLAGS" CFLAGS="$CFLAGS $TTFAUTOHINT_CFLAGS" LDFLAGS="$LDFLAGS $TTFAUTOHINT_LIBS"]
+ [AC_CHECK_HEADERS([ttfautohint.h],, [AC_MSG_WARN([ttfautohint.h not found])])]
+ [AC_CHECK_LIB([ttfautohint], [TTF_autohint],,
+ [AC_MSG_WARN([no working ttfautohint library found])]
+ [AC_CHECK_LIB(dl, dlopen,
+ [AC_MSG_NOTICE([enabled dynamic loading of ttfautohint])],
+ [AC_MSG_WARN([disabled ttfautohint support])])])]
+ [AC_SUBST(TTFAUTOHINT_CFLAGS) AC_SUBST(TTFAUTOHINT_LIBS)])])
+
+AC_CHECK_HEADERS([openssl/md5.h])
+PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto], [HAVE_LIBCRYPTO=1], [HAVE_LIBCRYPTO=0])
+AM_CONDITIONAL([USE_BUNDLED_MD5], [test "$HAVE_LIBCRYPTO" -eq 0])
+
+AC_CHECK_LIB(z, gzopen)
+
+# Check for header files.
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+AC_CHECK_HEADERS_ONCE([libintl.h stdlib.h string.h strings.h unistd.h])
+
+# Check for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_TYPE_SIZE_T
+AC_STRUCT_TM
+
+# Check for library functions.
+AC_FUNC_STAT
+AC_CHECK_FUNCS_ONCE([ftime gettimeofday sigaction umask uselocale])
+
+# add options for selection of "optional" library locations
+# currently these libraries are mandatory; the --with-foo options
+# are used to specify the locations explicitely
+
+AC_ARG_WITH(zlib,
+ [AS_HELP_STRING([--with-zlib=DIR], [set location of the zlib library])],
+ [AS_IF([test "x$withval" != "xno"],
+ [AS_IF([test "x$withval" != "xyes"], [ZLIB_DIR=$withval])]
+ [AS_IF([test -n "$ZLIB_DIR"],
+ [ZLIB_CFLAGS="-I$ZLIB_DIR -I$ZLIB_DIR/include"]
+ [ZLIB_LIBS="-L$ZLIB_DIR/lib" -lz])])])
+
+AC_SUBST([ZLIB_CFLAGS])
+AC_SUBST([ZLIB_LIBS])
+
+# Check if the kpathsea headers are C++ safe
+AC_MSG_CHECKING([if the kpathsea headers are C++ safe])
+AC_LANG_PUSH([C++])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <kpathsea/kpathsea.h>]],
+ [[printf("%s\n", concat("one", "two"))]])],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ AC_DEFINE([KPSE_CXX_UNSAFE], 1,
+ [Define to 1 if the kpathsea headers are not C++ safe.])])
+AC_LANG_POP([C++])
+
+CPPFLAGS="$CPPFLAGS_SAVE"
+CFLAGS="$CFLAGS_SAVE"
+LDFLAGS="$LDFLAGS_SAVE"
+
+AC_ARG_ENABLE([manpage],
+ [AS_HELP_STRING([--disable-manpage], [disable generation of manual page @<:@default=no@:>@])])
+AS_IF([test "x$enable_manpage" != "xno"],[
+ enable_manpage="no"
+ # Check for utilities required to build the manpage
+ AC_CHECK_PROG(ASCIIDOC, asciidoc, yes)
+ AS_IF([test "x$ASCIIDOC" = "xyes"], [
+ AC_CHECK_PROG(XMLTO, xmlto, yes)
+ AS_IF([test "x$XMLTO" = "xyes"], [
+ AC_CHECK_PROG(XSLTPROC, xsltproc, yes)
+ AS_IF([test "x$XSLTPROC" = "xyes"],[enable_manpage="yes"])])])])
+AS_IF([test "x$enable_manpage" != "xyes"],
+ AC_MSG_NOTICE([generation of manual page has been disabled]))
+AM_CONDITIONAL([BUILD_MANPAGE], [test "x$enable_manpage" = "xyes"])
+
+AX_CODE_COVERAGE
+AS_IF([ test "$enable_code_coverage" = "yes" ], [
+ # disable optimization
+ changequote({,})
+ CFLAGS=`echo $CFLAGS | sed 's/-O[1-9s]//g'`
+ CXXFLAGS=`echo $CXXFLAGS | sed 's/-O[1-9s]//g'`
+ changequote([,])
+])
+
+AC_SUBST([dvisvgm_srcdir], ['$(top_srcdir)'])
+AC_SUBST(DATE)
+AC_SUBST(AM_CPPFLAGS)
+AC_SUBST(AM_LDFLAGS)
+AC_CONFIG_FILES([
+ Makefile
+ libs/Makefile
+ libs/brotli/Makefile
+ libs/clipper/Makefile
+ libs/ff-woff/Makefile
+ libs/md5/Makefile
+ libs/potrace/Makefile
+ libs/variant/Makefile
+ libs/woff2/Makefile
+ libs/xxHash/Makefile
+ m4/Makefile
+ src/Makefile
+ src/version.hpp
+ src/optimizer/Makefile
+ tests/Makefile
+ tests/data/Makefile
+ doc/Makefile])
+AC_OUTPUT