| ############################################################################### |
| # BRLTTY - A background process providing access to the console screen (when in |
| # text mode) for a blind person using a refreshable braille display. |
| # |
| # Copyright (C) 1995-2023 by The BRLTTY Developers. |
| # |
| # BRLTTY comes with ABSOLUTELY NO WARRANTY. |
| # |
| # This is free software, placed under the terms of the |
| # GNU Lesser General Public License, as published by the Free Software |
| # Foundation; either version 2.1 of the License, or (at your option) any |
| # later version. Please see the file LICENSE-LGPL for details. |
| # |
| # Web Page: http://brltty.app/ |
| # |
| # This software is maintained by Dave Mielke <dave@mielke.cc>. |
| ############################################################################### |
| |
| AC_PREREQ([2.64]) |
| AC_INIT([BRLTTY], [6.6], [BRLTTY@brltty.app], [brltty], [https://brltty.app/]) |
| AC_CONFIG_SRCDIR([Programs/brltty.c]) |
| |
| AC_CONFIG_MACRO_DIR([m4]) |
| m4_include([Bindings/Emacs/bindings.m4]) |
| m4_include([Bindings/Java/bindings.m4]) |
| m4_include([Bindings/Lisp/bindings.m4]) |
| m4_include([Bindings/Lua/bindings.m4]) |
| m4_include([Bindings/OCaml/bindings.m4]) |
| m4_include([Bindings/Python/bindings.m4]) |
| m4_include([Bindings/Tcl/bindings.m4]) |
| |
| copyright="© 1995-2023 by The BRLTTY Developers" |
| AC_SUBST([PACKAGE_COPYRIGHT], ["${copyright}"]) |
| AC_DEFINE_UNQUOTED([PACKAGE_COPYRIGHT], ["${copyright}"], |
| [Define this to be a string containing the copyright notice.]) |
| |
| AC_SUBST([api_major], [0]) |
| AC_SUBST([api_minor], [8]) |
| AC_SUBST([api_revision], [5]) |
| |
| AC_SUBST([api_name], [BrlAPI]) |
| AC_SUBST([api_version], [${api_major}.${api_minor}]) |
| AC_SUBST([api_release], [${api_version}.${api_revision}]) |
| |
| AC_DEFINE_UNQUOTED([BRLAPI_RELEASE], ["${api_release}"], |
| [Define this to be a string containing the API library version.]) |
| AC_DEFINE_UNQUOTED([BRLAPI_MAJOR], [${api_major}], |
| [Define this to be the API library major version number.]) |
| AC_DEFINE_UNQUOTED([BRLAPI_MINOR], [${api_minor}], |
| [Define this to be the API library minor version number.]) |
| AC_DEFINE_UNQUOTED([BRLAPI_REVISION], [${api_revision}], |
| [Define this to be the API library revision number.]) |
| |
| BRLTTY_SUMMARY_BEGIN |
| brltty_build_directories=". Programs Documents Messages" |
| brltty_source_directory="`dirname "${0}"`" |
| brltty_manual_directories="" |
| |
| for brltty_directory in Autostart Authorization Initramfs Android |
| do |
| for brltty_subdirectory in `cd "${brltty_source_directory}/${brltty_directory}" && echo *` |
| do |
| brltty_path="${brltty_directory}/${brltty_subdirectory}" |
| test -f "${brltty_source_directory}/${brltty_path}/Makefile.in" && { |
| brltty_build_directories="${brltty_build_directories} ${brltty_path}" |
| } |
| done |
| done |
| |
| for brltty_manual_directory in `(cd "${brltty_source_directory}" && echo Documents/Manual-*/*)` |
| do |
| test -f "${brltty_source_directory}/${brltty_manual_directory}/Makefile.in" && { |
| brltty_manual_directories="${brltty_manual_directories} ${brltty_manual_directory}" |
| } |
| done |
| |
| AC_SUBST([brltty_manual_directories]) |
| brltty_build_directories="${brltty_build_directories} ${brltty_manual_directories}" |
| |
| AC_CONFIG_HEADERS([config.h]) |
| AC_CONFIG_HEADERS([Programs/brlapi.h]) |
| AC_PREFIX_DEFAULT([]) |
| AC_CONFIG_AUX_DIR([acdir]) |
| AC_CANONICAL_TARGET |
| |
| brltty_default_execute_root="/${PACKAGE_TARNAME}-${PACKAGE_VERSION}" |
| BRLTTY_ARG_WITH( |
| [execute-root], [DIRECTORY], |
| [where the package is to be anchored at run-time], |
| [execute_root], [""] |
| ) |
| if test "${execute_root}" = "no" |
| then |
| execute_root="" |
| elif test "${execute_root}" = "yes" |
| then |
| execute_root="${brltty_default_execute_root}" |
| fi |
| AC_SUBST([execute_root]) |
| BRLTTY_SUMMARY_ITEM([execute-root], [execute_root]) |
| |
| brltty_default_install_root="/tmp/${PACKAGE_TARNAME}-${PACKAGE_VERSION}" |
| BRLTTY_ARG_WITH( |
| [install-root], [DIRECTORY], |
| [where to install the package], |
| [install_root], ["${execute_root}"] |
| ) |
| if test "${install_root}" = "no" |
| then |
| install_root="${execute_root}" |
| elif test "${install_root}" = "yes" |
| then |
| install_root="${brltty_default_install_root}" |
| fi |
| AC_SUBST([install_root]) |
| BRLTTY_SUMMARY_ITEM([install-root], [install_root]) |
| |
| BRLTTY_ARG_WITH( |
| [configuration-file], [FILE], |
| [name of configuration file], |
| [CONFIGURATION_FILE], ["${PACKAGE_TARNAME}.conf"] |
| ) |
| AC_SUBST([CONFIGURATION_FILE]) |
| BRLTTY_DEFINE_EXPANDED([CONFIGURATION_FILE], ["${CONFIGURATION_FILE}"], |
| [Define this to be a string containing the name of the default configuration file.]) |
| |
| AC_SUBST([PREFERENCES_FILE], ["${PACKAGE_TARNAME}.prefs"]) |
| BRLTTY_DEFINE_EXPANDED([PREFERENCES_FILE], ["${PREFERENCES_FILE}"], |
| [Define this to be a string containing the name of the default preferences file.]) |
| |
| BRLTTY_PORTABLE_DIRECTORY([includedir], [/usr]) |
| BRLTTY_PORTABLE_DIRECTORY([datarootdir], [/usr]) |
| BRLTTY_PORTABLE_DIRECTORY([localstatedir], []) |
| |
| BRLTTY_SUMMARY_ITEM([libdir], [libdir]) |
| BRLTTY_SUMMARY_ITEM([sysconfdir], [sysconfdir]) |
| |
| BRLTTY_ARG_REQUIRED( |
| [program-directory], [DIRECTORY], |
| [path to directory containing executables], |
| [program_directory], ["${bindir}"] |
| ) |
| |
| BRLTTY_ARG_REQUIRED( |
| [commands-directory], [DIRECTORY], |
| [path to directory containing helper commands], |
| [commands_directory], ["${libexecdir}/${PACKAGE_TARNAME}"] |
| ) |
| |
| BRLTTY_ARG_REQUIRED( |
| [drivers-directory], [DIRECTORY], |
| [path to directory containing drivers], |
| [drivers_directory], ["${libdir}/${PACKAGE_TARNAME}"] |
| ) |
| |
| BRLTTY_ARG_WITH( |
| [updatable-directory], [DIRECTORY], |
| [path to directory which contains files that can be updated], |
| [updatable_directory], ["yes"] |
| ) |
| if test "${updatable_directory}" = "no" |
| then |
| updatable_directory="" |
| elif test "${updatable_directory}" = "yes" |
| then |
| updatable_directory="${localstatedir}/lib/${PACKAGE_TARNAME}" |
| fi |
| AC_SUBST([updatable_directory]) |
| BRLTTY_SUMMARY_ITEM([updatable-directory], [updatable_directory]) |
| |
| BRLTTY_ARG_WITH( |
| [writable-directory], [DIRECTORY], |
| [path to directory which can be written to], |
| [writable_directory], ["yes"] |
| ) |
| if test "${writable_directory}" = "no" |
| then |
| writable_directory="" |
| elif test "${writable_directory}" = "yes" |
| then |
| writable_directory="/run/${PACKAGE_TARNAME}" |
| fi |
| AC_SUBST([writable_directory]) |
| BRLTTY_SUMMARY_ITEM([writable-directory], [writable_directory]) |
| |
| BRLTTY_ARG_REQUIRED( |
| [tables-directory], [DIRECTORY], |
| [path to directory containing data files], |
| [tables_directory], ["${sysconfdir}/${PACKAGE_TARNAME}"] |
| ) |
| |
| BRLTTY_DEFINE_STRING([TEXT_TABLES_SUBDIRECTORY], [Text], [the subdirectory for text tables]) |
| BRLTTY_DEFINE_STRING([CONTRACTION_TABLES_SUBDIRECTORY], [Contraction], [the subdirectory for contraction tables]) |
| BRLTTY_DEFINE_STRING([ATTRIBUTES_TABLES_SUBDIRECTORY], [Attributes], [the subdirectory for attributes tables]) |
| BRLTTY_DEFINE_STRING([KEYBOARD_TABLES_SUBDIRECTORY], [Keyboard], [the subdirectory for keyboard key tables]) |
| BRLTTY_DEFINE_STRING([INPUT_TABLES_SUBDIRECTORY], [Input], [the subdirectory for braille device key tables]) |
| |
| BRLTTY_DEFINE_STRING([TEXT_TABLE_EXTENSION], [.ttb], [the extension for text tables]) |
| BRLTTY_DEFINE_STRING([TEXT_SUBTABLE_EXTENSION], [.tti], [the extension for text subtables]) |
| |
| BRLTTY_DEFINE_STRING([CONTRACTION_TABLE_EXTENSION], [.ctb], [the extension for contraction tables]) |
| BRLTTY_DEFINE_STRING([CONTRACTION_SUBTABLE_EXTENSION], [.cti], [the extension for contraction subtables]) |
| |
| BRLTTY_DEFINE_STRING([ATTRIBUTES_TABLE_EXTENSION], [.atb], [the extension for attributes tables]) |
| BRLTTY_DEFINE_STRING([ATTRIBUTES_SUBTABLE_EXTENSION], [.ati], [the extension for attributes subtables]) |
| |
| BRLTTY_DEFINE_STRING([KEY_TABLE_EXTENSION], [.ktb], [the extension for key tables]) |
| BRLTTY_DEFINE_STRING([KEY_SUBTABLE_EXTENSION], [.kti], [the extension for key subtables]) |
| BRLTTY_DEFINE_STRING([KEY_HELP_EXTENSION], [.txt], [the extension for key help files]) |
| |
| BRLTTY_DEFINE_STRING([PROFILES_SUBDIRECTORY], [Profiles], [the subdirectory for profiles]) |
| BRLTTY_DEFINE_STRING([LANGUAGE_PROFILE_EXTENSION], [.lpf], [the extension for language profiles]) |
| |
| BRLTTY_ARG_REQUIRED( |
| [manpage-directory], [DIRECTORY], |
| [path to directory containing manual pages], |
| [manpage_directory], ["${mandir}"] |
| ) |
| |
| BRLTTY_ARG_REQUIRED( |
| [include-directory], [DIRECTORY], |
| [path to directory containing header files], |
| [include_directory], ["${includedir}/${PACKAGE_TARNAME}"] |
| ) |
| |
| brltty_default_init_path=/sbin/init_real |
| BRLTTY_ARG_WITH( |
| [init-path], [FILE], |
| [path to real init program], |
| [init_path], [""] |
| ) |
| if test "${init_path}" = "no" |
| then |
| init_path="" |
| elif test "${init_path}" = "yes" |
| then |
| init_path="${brltty_default_init_path}" |
| fi |
| if test -n "${init_path}" |
| then |
| AC_DEFINE_UNQUOTED([INIT_PATH], ["${init_path}"], |
| [Define this if BRLTTY is to be run as init.]) |
| fi |
| BRLTTY_SUMMARY_ITEM([init-path], [init_path]) |
| AC_SUBST([init_path]) |
| |
| BRLTTY_ARG_PARAMETERS([privilege], [privilege establishment stage], [PLATFORM:], []) |
| |
| brltty_default_stderr_path=/tmp/brltty.log |
| BRLTTY_ARG_WITH( |
| [stderr-path], [FILE], |
| [path to standard error log file], |
| [stderr_path], [""] |
| ) |
| if test "${stderr_path}" = "no" |
| then |
| stderr_path="" |
| elif test "${stderr_path}" = "yes" |
| then |
| stderr_path="${brltty_default_stderr_path}" |
| fi |
| if test -n "${stderr_path}" |
| then |
| AC_DEFINE_UNQUOTED([STDERR_PATH], ["${stderr_path}"], |
| [Define this if standard error is to be redirected to a file.]) |
| fi |
| BRLTTY_SUMMARY_ITEM([stderr-path], [stderr_path]) |
| AC_SUBST([stderr_path]) |
| |
| AC_PROG_MAKE_SET |
| |
| AC_PROG_CC |
| AC_PROG_CXX |
| |
| brltty_gcc_cflags="-std=gnu99 -Wall" |
| brltty_gcc_cppflags="" |
| |
| case "${host_os}" |
| in |
| darwin*) |
| brltty_gcc_cflags="${brltty_gcc_cflags} -Wno-initializer-overrides -Wno-unused-const-variable -Wno-pointer-bool-conversion" |
| ;; |
| elf*) |
| brltty_gcc_cppflags="${brltty_gcc_cppflags} -ffreestanding -nostdinc -nostdlib" |
| CPPFLAGS="${CPPFLAGS} -DGRUB_RUNTIME -DGRUB_FILE=__FILE__ -DNESTED_FUNC_ATTR=" |
| |
| brltty_include_directory=`$CC -print-file-name=include` |
| CPPFLAGS="${CPPFLAGS} -isystem $brltty_include_directory" |
| |
| brltty_grub_root="`pwd`/grub-root" |
| test -d $brltty_grub_root || { |
| AC_MSG_ERROR([symbolic link not found: $brltty_grub_root]) |
| } |
| CPPFLAGS="${CPPFLAGS} -I$brltty_grub_root -I$brltty_grub_root/grub-core/lib/posix_wrap/include -I$brltty_grub_root/include" |
| ;; |
| esac |
| |
| test "${GCC}" = "yes" && { |
| CFLAGS="${CFLAGS} ${brltty_gcc_cflags}" |
| CPPFLAGS="${CPPFLAGS} ${brltty_gcc_cppflags}" |
| |
| extraCFlags="" |
| for flag in unknown-warning-option |
| do |
| AX_CHECK_COMPILE_FLAG([-Werror=${flag}], [dnl |
| extraCFlags="${extraCFlags} -Werror=${flag}" |
| ]) |
| done |
| |
| # warnings that should be errors |
| for flag in format-security |
| do |
| AX_CHECK_COMPILE_FLAG([-Werror=${flag}], [dnl |
| CFLAGS="${CFLAGS} -Werror=${flag}" |
| ], [:], [${extraCFlags}]) |
| done |
| |
| # warnings that should be suppressed |
| for flag in address-of-packed-member stringop-truncation initializer-overrides |
| do |
| AX_CHECK_COMPILE_FLAG([-Werror=${flag}], [dnl |
| CFLAGS="${CFLAGS} -Wno-${flag}" |
| ], [:], [${extraCFlags}]) |
| done |
| |
| AX_GCC_VAR_ATTRIBUTE([packed]) |
| AX_GCC_VAR_ATTRIBUTE([unused]) |
| |
| AX_GCC_FUNC_ATTRIBUTE([format]) |
| AX_GCC_FUNC_ATTRIBUTE([format_arg]) |
| AX_GCC_FUNC_ATTRIBUTE([noreturn]) |
| AX_GCC_FUNC_ATTRIBUTE([unused]) |
| } |
| |
| test "${GXX}" = "yes" && { |
| CXXFLAGS="${CXXFLAGS} ${brltty_gcc_cflags}" |
| } |
| |
| case "${host_os}" |
| in |
| linux*|gnu*|kfreebsd*) |
| brltty_prog_cc_sysflags="-D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=2 -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D_GNU_SOURCE" |
| ;; |
| solaris2.1?*) # Solaris 10 & 11 require _XOPEN_SOURCE=600 if using C99 |
| brltty_prog_cc_sysflags="-D_XOPEN_SOURCE=600 -D__EXTENSIONS__" |
| ;; |
| solaris*) |
| brltty_prog_cc_sysflags="-D_XOPEN_SOURCE=500 -D__EXTENSIONS__" |
| ;; |
| hpux*) |
| brltty_prog_cc_sysflags="-D_XOPEN_SOURCE_EXTENDED -D_HPUX_SOURCE" |
| ;; |
| osf*) |
| brltty_prog_cc_sysflags="-D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE -D_OSF_SOURCE" |
| ;; |
| cygwin*) |
| brltty_prog_cc_sysflags="-D_XOPEN_SOURCE_EXTENDED -D_GNU_SOURCE" |
| ;; |
| mingw*) |
| brltty_prog_cc_sysflags="-D_XOPEN_SOURCE_EXTENDED -D_GNU_SOURCE" |
| ;; |
| *) |
| brltty_prog_cc_sysflags="" |
| ;; |
| esac |
| CPPFLAGS="${CPPFLAGS} ${brltty_prog_cc_sysflags}" |
| |
| if test "${GCC}" = "yes" |
| then |
| case "${host_os}" |
| in |
| cygwin*|mingw*) |
| LIBCFLAGS="" |
| ;; |
| msdos*) |
| LIBCFLAGS="" |
| ;; |
| darwin*) |
| LIBCFLAGS="" |
| ;; |
| *) |
| LIBCFLAGS="-fPIC" |
| ;; |
| esac |
| else |
| case "${host_os}" |
| in |
| *) |
| LIBCFLAGS="" |
| AC_MSG_WARN([library flags not configured for ${host_os}]) |
| ;; |
| esac |
| fi |
| AC_SUBST([LIBCFLAGS]) |
| |
| if test "$GXX" = "yes" |
| then |
| LIBCXXFLAGS="-fPIC" |
| else |
| case "${host_os}" |
| in |
| *) |
| LIBCXXFLAGS="" |
| ;; |
| esac |
| fi |
| AC_SUBST([LIBCXXFLAGS]) |
| |
| AC_CHECK_TOOL([LD], [ld]) |
| AC_CHECK_TOOL([STRIP], [strip]) |
| AC_CHECK_TOOL([RANLIB], [ranlib]) |
| |
| AC_PROG_AWK |
| AC_PROG_LN_S |
| |
| m4_ifdef([PKG_PROG_PKG_CONFIG], [dnl |
| PKG_PROG_PKG_CONFIG |
| ], [dnl |
| AC_PATH_PROG([PKG_CONFIG], [pkg-config]) |
| ]) |
| |
| if test -z "${PKG_CONFIG}" |
| then |
| PKG_CONFIG=false |
| fi |
| |
| AC_PATH_PROG([MSGMERGE], [msgmerge], [false]) |
| AC_PATH_PROG([MSGFMT], [msgfmt], [false]) |
| |
| AC_PATH_PROG([LINUXDOC], [linuxdoc], [false]) |
| AC_PATH_PROG([DOXYGEN], [doxygen], [false]) |
| |
| case "${host_os}" |
| in |
| cygwin* ) LDFLAGS_DYNAMIC="--export-all-symbols --enable-auto-import";; |
| darwin* ) LDFLAGS_DYNAMIC="";; |
| elf* ) LDFLAGS_DYNAMIC="";; |
| freebsd* ) LDFLAGS_DYNAMIC="-export-dynamic";; |
| gnu* ) LDFLAGS_DYNAMIC="-export-dynamic";; |
| haiku* ) LDFLAGS_DYNAMIC="-export-dynamic";; |
| hpux* ) LDFLAGS_DYNAMIC="-E +s";; |
| kfreebsd*) LDFLAGS_DYNAMIC="-export-dynamic";; |
| linux* ) LDFLAGS_DYNAMIC="-export-dynamic";; |
| mingw* ) LDFLAGS_DYNAMIC="--export-all-symbols --enable-auto-import";; |
| msdos* ) LDFLAGS_DYNAMIC="";; |
| netbsd* ) LDFLAGS_DYNAMIC="-export-dynamic";; |
| openbsd* ) LDFLAGS_DYNAMIC="-export-dynamic";; |
| osf* ) LDFLAGS_DYNAMIC="";; |
| *qnx* ) LDFLAGS_DYNAMIC="-export-dynamic";; |
| solaris* ) LDFLAGS_DYNAMIC="";; |
| *) AC_MSG_ERROR([dynamic linkage not supported for ${host_os}]);; |
| esac |
| LDFLAGS_DYNAMIC="BRLTTY_OPTIONS_LD2CC([${LDFLAGS_DYNAMIC}])" |
| |
| if test "${GCC}" = "yes" |
| then |
| LDFLAGS_STATIC="-static" |
| else |
| case "${host_os}" |
| in |
| cygwin* ) LDFLAGS_STATIC="-static";; |
| elf* ) LDFLAGS_STATIC="-static";; |
| freebsd* ) LDFLAGS_STATIC="-static";; |
| gnu* ) LDFLAGS_STATIC="-static";; |
| hpux* ) LDFLAGS_STATIC="-Bstatic";; |
| kfreebsd*) LDFLAGS_STATIC="-static";; |
| linux* ) LDFLAGS_STATIC="-static";; |
| mingw* ) LDFLAGS_STATIC="-static";; |
| netbsd* ) LDFLAGS_STATIC="-Bstatic";; |
| openbsd* ) LDFLAGS_STATIC="-static";; |
| osf* ) LDFLAGS_STATIC="-non_shared";; |
| *qnx* ) LDFLAGS_STATIC="-static";; |
| solaris* ) LDFLAGS_STATIC="-dn";; |
| *) AC_MSG_ERROR([static linkage not supported for ${host_os}]);; |
| esac |
| LDFLAGS_STATIC="BRLTTY_OPTIONS_LD2CC([${LDFLAGS_STATIC}])" |
| fi |
| |
| pkgconfig_flags_libs="--libs" |
| |
| BRLTTY_ARG_ENABLE( |
| [standalone-programs], |
| [statically linked executables], |
| [], |
| [dnl |
| LDFLAGS="${LDFLAGS} ${LDFLAGS_STATIC}" |
| brltty_standalone_programs="yes" |
| pkgconfig_flags_libs="${pkgconfig_flags_libs} --static" |
| ], [dnl |
| LDFLAGS="${LDFLAGS} ${LDFLAGS_DYNAMIC}" |
| |
| AC_DEFINE([ENABLE_SHARED_OBJECTS], [1], |
| [Define this if shared object support is to be included.]) |
| ]) |
| |
| AC_PROG_INSTALL |
| BRLTTY_EXECUTABLE_PATH([INSTALL]) |
| |
| test "${LINUXDOC}" = "false" && can_make_manual=no || can_make_manual=yes |
| AC_SUBST([can_make_manual]) |
| |
| test "${DOXYGEN}" = "false" && can_make_BrlAPIref=no || can_make_BrlAPIref=yes |
| AC_SUBST([can_make_BrlAPIref]) |
| |
| AC_CACHE_CHECK([for shared object creation command], [brltty_cv_prog_make_object_shared], [dnl |
| case "${host_os}" |
| in |
| linux*|gnu*|openbsd*|freebsd*|kfreebsd*|netbsd*|*qnx*|cygwin*|mingw*|msdos*|elf*|haiku*) |
| brltty_mkshr_ld_make="-shared" |
| ;; |
| solaris*) |
| brltty_mkshr_ld_make="-G" |
| ;; |
| hpux*) |
| brltty_mkshr_ld_make="-b" |
| ;; |
| osf*) |
| brltty_mkshr_ld_make="-shared" |
| ;; |
| darwin*) |
| brltty_mkshr_ld_make="-bundle" |
| brltty_mkshr_ld_options="-flat_namespace -undefined suppress" |
| brltty_mkshr_gcc_make="-bundle" |
| ;; |
| *) |
| AC_MSG_ERROR([loadable module creation command not configured for ${host_os}]) |
| brltty_mkshr_ld_make="NOT_SUPPORTED" |
| brltty_mkshr_ld_options="NOT_SUPPORTED" |
| brltty_mkshr_gcc_make="NOT_SUPPORTED" |
| ;; |
| esac |
| |
| if test "${GCC}" = "yes" |
| then |
| brltty_cv_prog_make_object_shared="\$(CC) ${brltty_mkshr_gcc_make=-shared} BRLTTY_OPTIONS_LD2CC([${brltty_mkshr_ld_options}])" |
| else |
| brltty_cv_prog_make_object_shared="\$(LD) ${brltty_mkshr_ld_make} ${brltty_mkshr_ld_options}" |
| fi |
| |
| brltty_cv_prog_make_object_shared="${brltty_cv_prog_make_object_shared} ${LDFLAGS} -o" |
| ]) |
| AC_SUBST([MKSHR], ["${brltty_cv_prog_make_object_shared}"]) |
| |
| AC_CACHE_CHECK([for make relocatable object command], [brltty_cv_prog_make_object_relocatable], [dnl |
| case "${host_os}" |
| in |
| *) |
| brltty_cv_prog_make_object_relocatable="\$(LD) -r -o" |
| ;; |
| esac]) |
| MKREL="${brltty_cv_prog_make_object_relocatable}" |
| AC_SUBST([MKREL]) |
| |
| AC_CACHE_CHECK([for dynamic library creation command], [brltty_cv_prog_mklib], [dnl |
| case "${host_os}" |
| in |
| linux*|gnu*|openbsd*|freebsd*|kfreebsd*|netbsd*|*qnx*|elf*|haiku*) |
| brltty_mklib_ld_make="-shared" |
| brltty_mklib_ld_options="-soname" |
| ;; |
| solaris*) |
| brltty_mklib_ld_make="-G" |
| brltty_mklib_ld_options="-h" |
| ;; |
| hpux*) |
| brltty_mklib_ld_make="-b" |
| brltty_mklib_ld_options="+h" |
| ;; |
| osf*) |
| brltty_mklib_ld_make="-shared" |
| brltty_mklib_ld_options="-expect_unresolved '*' -soname" |
| ;; |
| cygwin*|mingw*) |
| brltty_mklib_ld_make="-shared" |
| brltty_mklib_ld_options="--out-implib implib.a --output-def lib.def -soname" |
| ;; |
| msdos*) |
| brltty_mklib_ld_make="not_supported_on_msdos" |
| brltty_mklib_ld_options="not_supported_on_msdos" |
| brltty_mklib_gcc_make="not_supported_on_msdos" |
| ;; |
| darwin*) |
| dylibFound=false |
| dylibPath=/usr/lib/dylib1.o |
| set -- "${dylibPath}" |
| |
| sdkRootPrefix="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX" |
| sdkRootSuffix=".sdk/${dylibPath}" |
| sdkVersion=`sw_vers -productVersion` |
| |
| while true |
| do |
| set -- "${@}" "${sdkRootPrefix}${sdkVersion}${sdkRootSuffix}" |
| sdkNext="${sdkVersion%.*}" |
| test "${sdkNext}" != "${sdkVersion}" || break |
| sdkVersion="${sdkNext}" |
| done |
| |
| set -- "${@}" "${sdkRootPrefix}"*"${sdkRootSuffix}" |
| for sdkPath |
| do |
| test ! -f "${sdkPath}" || { |
| dylibPath="${sdkPath}" |
| dylibFound=true |
| break |
| } |
| done |
| "${dylibFound}" || AC_MSG_WARN([cannot find ${dylibPath}]) |
| |
| brltty_mklib_ld_make="-dylib" |
| brltty_mklib_ld_options="${dylibPath} -single_module -install_name" |
| brltty_mklib_gcc_make="-dynamiclib" |
| ;; |
| *) |
| AC_MSG_ERROR([dynamic library creation command not configured for ${host_os}]) |
| ;; |
| esac |
| if test "${GCC}" = "yes" |
| then |
| brltty_cv_prog_mklib="\$(CC) \$(LDFLAGS) ${brltty_mklib_gcc_make=-shared} BRLTTY_OPTIONS_LD2CC([${brltty_mklib_ld_options+${brltty_mklib_ld_options} <name>}]) -o" |
| else |
| brltty_cv_prog_mklib="\$(LD) \$(LDFLAGS) ${brltty_mklib_ld_make} ${brltty_mklib_ld_options+${brltty_mklib_ld_options} <name>} -o" |
| fi]) |
| AC_SUBST([MKLIB], ["${brltty_cv_prog_mklib}"]) |
| |
| AC_CACHE_CHECK([for configure shared object directory command], [brltty_cv_prog_conflibdir], [dnl |
| case "${host_os}" |
| in |
| linux*|gnu*|kfreebsd*|elf*) |
| brltty_cv_prog_conflibdir="/sbin/ldconfig -n" |
| ;; |
| *) |
| brltty_cv_prog_conflibdir=":" |
| ;; |
| esac]) |
| AC_SUBST([CONFLIBDIR], ["${brltty_cv_prog_conflibdir}"]) |
| |
| case "${host_os}" |
| in |
| mingw*) |
| BRLTTY_HAVE_WINDOWS_LIBRARY([ws2_32]) |
| BRLTTY_HAVE_WINDOWS_LIBRARY([gdi32]) |
| BRLTTY_HAVE_WINDOWS_LIBRARY([winmm]) |
| ;; |
| cygwin*) |
| BRLTTY_HAVE_WINDOWS_LIBRARY([gdi32]) |
| ;; |
| *) |
| AC_SEARCH_LIBS([socket], [socket network]) |
| AC_SEARCH_LIBS([inet_ntoa], [nsl]) |
| ;; |
| esac |
| |
| install_messages= |
| BRLTTY_ARG_DISABLE( |
| [i18n], |
| [support for internationalization], |
| [], |
| [dnl |
| test "${MSGMERGE}" = "false" || { |
| install_messages=install-messages |
| |
| AC_CHECK_HEADER([libintl.h], [dnl |
| BRLTTY_HAVE_LIBRARY([intl]) |
| AC_DEFINE([ENABLE_I18N_SUPPORT], [1], |
| [Define this if internationalization support is to be included.]) |
| ]) |
| } |
| ]) |
| AC_SUBST([install_messages]) |
| |
| AC_CHECK_FUNC([wcslen], [AC_CHECK_HEADERS([wchar.h], [dnl |
| AC_CHECK_FUNCS([wcwidth]) |
| ])]) |
| |
| AC_CHECK_HEADERS([glob.h], [dnl |
| AC_CHECK_FUNCS([glob]) |
| ]) |
| |
| AC_CHECK_HEADERS([langinfo.h], [dnl |
| AC_CHECK_FUNCS([nl_langinfo]) |
| ]) |
| |
| icu_includes="" |
| icu_libs="" |
| BRLTTY_ARG_DISABLE( |
| [icu], |
| [support for Unicode-based internationalization], |
| [], |
| [dnl |
| BRLTTY_HAVE_PACKAGE([icu], [icu-uc], [dnl |
| AC_CHECK_HEADERS([unicode/unorm2.h]) |
| AC_DEFINE_UNQUOTED([HAVE_ICU], [1], |
| [Define this if Unicode-based internationalization support is to be included.]) |
| |
| if test "${brltty_standalone_programs}" = "yes" |
| then |
| icu_libs="`echo ${icu_libs} | sed -e 's/\(-l\)\(icu\)/\1s\2/g'`" |
| fi |
| ]) |
| ]) |
| AC_SUBST([icu_includes]) |
| AC_SUBST([icu_libs]) |
| |
| BRLTTY_ARG_DISABLE( |
| [iconv], |
| [support for character encoding conversion], |
| [], |
| [dnl |
| AC_CHECK_HEADERS([iconv.h], [ |
| BRLTTY_HAVE_LIBRARY([iconv]) |
| ]) |
| ]) |
| |
| BRLTTY_ARG_DISABLE( |
| [polkit], |
| [support for the Polkit authorization manager], |
| [], |
| [dnl |
| BRLTTY_HAVE_PACKAGE([polkit], [polkit-gobject-1], [dnl |
| AC_DEFINE(HAVE_POLKIT, 1, [if the Polkit authorization manager should be used]) |
| ]) |
| ]) |
| |
| BRLTTY_ARG_DISABLE( |
| [api], |
| [the application programming interface], |
| [], |
| [dnl |
| BRLTTY_IF_PTHREADS([dnl |
| AC_DEFINE([ENABLE_API], [1], |
| [Define this if the application programming interface is to be included.]) |
| BRLTTY_ARG_PARAMETERS([api], [application programming interface]) |
| |
| api_server_objects='brlapi_server.$O brlapi_keyranges.$O auth.$O' |
| api_libraries="${LIBS}" |
| |
| all_api="all-api" |
| build_api="api" |
| install_api="install-api" |
| api_ref='$(API_LIBS)' |
| |
| api_dynamic_library="api-dynamic-library" |
| install_api_libraries="install-api-libraries" |
| uninstall_api_libraries="uninstall-api-libraries" |
| default_api_socket_path="${localstatedir}/lib/BrlAPI" |
| |
| case "${host_os}" |
| in |
| cygwin*|mingw*) |
| AC_DEFINE([BRLAPI_WIN32], [1], |
| [Define this if the Win32 programming interface is available.]) |
| default_api_socket_path='\\\\.\\pipe\\BrlAPI' |
| api_dynamic_library="api-dynamic-library-windows" |
| install_api_libraries="install-api-libraries-windows" |
| uninstall_api_libraries="uninstall-api-libraries-windows" |
| ;; |
| esac |
| |
| BRLTTY_ARG_WITH( |
| [api-socket-path], [PATH], |
| [where local sockets for teh api are stored], |
| [api_socket_path], ["${default_api_socket_path}"] |
| ) |
| |
| BRLTTY_BINDINGS([Emacs]) |
| BRLTTY_BINDINGS([Java]) |
| BRLTTY_BINDINGS([Lisp]) |
| BRLTTY_BINDINGS([Lua]) |
| BRLTTY_BINDINGS([OCaml]) |
| BRLTTY_BINDINGS([Python]) |
| BRLTTY_BINDINGS([Tcl]) |
| |
| test -n "${api_bindings}" && { |
| for brltty_bindings_directory in ${api_bindings} |
| do |
| brltty_build_directories="${brltty_build_directories} Bindings/${brltty_bindings_directory}" |
| done |
| |
| all_api_bindings="all-api-bindings" |
| install_api_bindings="install-api-bindings" |
| } |
| ]) |
| ]) |
| AC_SUBST([api_server_objects]) |
| AC_SUBST([api_libraries]) |
| AC_SUBST([api_bindings]) |
| AC_SUBST([all_api_bindings]) |
| AC_SUBST([install_api_bindings]) |
| AC_SUBST([all_api]) |
| AC_SUBST([build_api]) |
| AC_SUBST([install_api]) |
| AC_SUBST([api_ref]) |
| AC_SUBST([api_dynamic_library]) |
| AC_SUBST([install_api_libraries]) |
| AC_SUBST([uninstall_api_libraries]) |
| AC_SUBST([api_authkeyfile], [brlapi.key]) |
| AC_SUBST([api_socket_path]) |
| BRLTTY_SUMMARY_ITEM([api-socket-path], [api_socket_path]) |
| BRLTTY_DEFINE_EXPANDED([BRLAPI_AUTHKEYFILE], ["${api_authkeyfile}"], |
| [Define this to be a string containing the name of BrlAPI's authorization key file.]) |
| |
| BRLTTY_ARG_ENABLE( |
| [api-fuzzing], |
| [fuzzing the application programming interface], |
| [], |
| [dnl |
| AC_CACHE_CHECK([for LLVM fuzzer], [brltty_cv_llvm_fuzzer], [dnl |
| HOST_CPU="`$CC -print-multiarch | sed -e 's/-.*//'`" |
| fuzzer_libs="`$CC -print-runtime-dir`/libclang_rt.fuzzer_no_main-$HOST_CPU.a -lstdc++ -lm" |
| CFLAGS="$CFLAGS -fsanitize=fuzzer-no-link -fsanitize=address,undefined -fstack-protector-strong" |
| LIBS="$LIBS -fsanitize=address,undefined -lubsan" |
| OLD_LIBS="$LIBS" |
| LIBS="$LIBS $fuzzer_libs" |
| AC_COMPILE_IFELSE( |
| [AC_LANG_PROGRAM([[]], [[]])], |
| [], [AC_MSG_ERROR([Compiler does not support fuzzing, did you set CC=clang?])]) |
| LIBS="$OLD_LIBS" |
| ]) |
| AC_DEFINE([ENABLE_API_FUZZING], [1], |
| [Define this if the application programming interface is to be fuzzed.]) |
| ]) |
| AC_SUBST(fuzzer_libs) |
| |
| brltty_curses_libs_save="${LIBS}" |
| BRLTTY_PACKAGE_CHOOSE([curses], |
| [ncursesw ncursesw/ncurses.h], |
| [pdcursesw curses.h], |
| [ncurses ncurses.h], |
| [pdcursesu curses.h], |
| [curses curses.h], |
| [pdcurses curses.h]) |
| if test -n "${curses_package}" |
| then |
| AC_CHECK_LIB([tinfo], [intrflush]) |
| fi |
| curses_libs="${LIBS%${brltty_curses_libs_save}}" |
| LIBS="${brltty_curses_libs_save}" |
| AC_SUBST([curses_libs]) |
| |
| xkb_libs="" |
| xtk_libs="" |
| all_xbrlapi="" |
| install_xbrlapi="" |
| xsel_object="" |
| BRLTTY_ARG_DISABLE( |
| [x], |
| [support for X11], |
| [], |
| [dnl |
| BRLTTY_HAVE_PACKAGE([x11], [x11], [dnl |
| all_xbrlapi="all-xbrlapi" |
| install_xbrlapi="install-xbrlapi" |
| xsel_object='xsel.$O' |
| |
| AC_CHECK_HEADERS([X11/keysym.h]) |
| |
| BRLTTY_HAVE_PACKAGE([xext], [xext], [dnl |
| xkb_libs="${xext_libs} ${xkb_libs}" |
| |
| BRLTTY_HAVE_PACKAGE([xtst], [xtst], [dnl |
| xkb_libs="${xtst_libs} ${xkb_libs}" |
| |
| AC_CHECK_HEADERS([X11/extensions/XTest.h]) |
| AC_CHECK_HEADERS([X11/extensions/XKB.h]) |
| ]) |
| |
| BRLTTY_HAVE_PACKAGE([xfixes], [xfixes], [dnl |
| AC_CHECK_HEADERS([X11/extensions/Xfixes.h]) |
| ]) |
| ]) |
| |
| brltty_cppflags_save="${CPPFLAGS}" |
| CPPFLAGS="${CPPFLAGS} ${x11_includes}" |
| brltty_libs_save="${LIBS}" |
| LIBS="${x11_libs} ${LIBS}" |
| |
| AC_CHECK_FUNCS([XSetIOErrorExitHandler]) |
| |
| CPPFLAGS="${brltty_cppflags_save}" |
| LIBS="${brltty_libs_save}" |
| |
| BRLTTY_HAVE_PACKAGE([xt], [xt], [dnl |
| xtk_libs="${xt_libs} ${xtk_libs}" |
| |
| brltty_cppflags_save="${CPPFLAGS}" |
| CPPFLAGS="${CPPFLAGS} ${x11_includes}" |
| |
| brltty_libs_save="${LIBS}" |
| LIBS="${xtk_libs} ${x11_libs} ${LIBS}" |
| |
| BRLTTY_PACKAGE_CHOOSE([gui_toolkit], |
| [Xaw X11/Xaw/Form.h X11/Xaw/Paned.h X11/Xaw/Label.h X11/Xaw/Command.h X11/Xaw/Repeater.h], |
| [Xaw3d X11/Xaw3d/Form.h X11/Xaw3d/Paned.h X11/Xaw3d/Label.h X11/Xaw3d/Command.h X11/Xaw3d/Repeater.h], |
| [neXtaw X11/neXtaw/Form.h X11/neXtaw/Paned.h X11/neXtaw/Label.h X11/neXtaw/Command.h X11/neXtaw/Repeater.h], |
| [XawPlus X11/XawPlus/Form.h X11/XawPlus/Paned.h X11/XawPlus/Label.h X11/XawPlus/Command.h X11/XawPlus/Repeater.h], |
| [Xm Xm/Xm.h Xm/Form.h Xm/PanedW.h Xm/Label.h Xm/PushB.h]) |
| |
| xtk_libs="${LIBS%${x11_libs} ${brltty_libs_save}}" |
| |
| CPPFLAGS="${brltty_cppflags_save}" |
| LIBS="${brltty_libs_save}" |
| ]) |
| ]) |
| ]) |
| AC_SUBST([xkb_libs]) |
| AC_SUBST([xtk_libs]) |
| AC_SUBST([all_xbrlapi]) |
| AC_SUBST([install_xbrlapi]) |
| AC_SUBST([xsel_object]) |
| |
| test -z "$gui_toolkit_package" && { |
| case "${host_os}" |
| in |
| cygwin*|mingw*) |
| gui_toolkit_package="windows" |
| ;; |
| esac |
| } |
| |
| AC_CHECK_FUNCS([time stime gettimeofday settimeofday nanosleep]) |
| BRLTTY_CHECK_FUNCTION([clock_gettime], [time.h], [rt]) |
| BRLTTY_CHECK_FUNCTION([clock_settime], [time.h], [rt]) |
| |
| BRLTTY_CHECK_FUNCTION([pthread_getname_np], [pthread.h], [pthread]) |
| BRLTTY_CHECK_FUNCTION([pthread_atfork], [pthread.h], [pthread]) |
| |
| AC_CHECK_DECLS([localtime_r], [], [], [dnl |
| #include <time.h> |
| ]) |
| |
| AC_CHECK_HEADERS([sys/poll.h sys/select.h sys/wait.h]) |
| AC_CHECK_FUNCS([select]) |
| AC_CHECK_FUNCS([poll]) |
| |
| AC_CHECK_HEADERS([sys/capability.h sys/prctl.h sched.h]) |
| AC_CHECK_HEADERS([linux/seccomp.h linux/filter.h linux/audit.h]) |
| |
| AC_CHECK_HEADERS([signal.h sys/signalfd.h]) |
| AC_CHECK_FUNCS([sigaction]) |
| |
| AC_CHECK_HEADERS([alloca.h getopt.h regex.h]) |
| AC_CHECK_HEADERS([syslog.h]) |
| AC_CHECK_HEADERS([sys/file.h sys/socket.h]) |
| AC_CHECK_HEADERS([pwd.h grp.h]) |
| AC_CHECK_HEADERS([sys/io.h sys/modem.h machine/speaker.h dev/speaker/speaker.h linux/vt.h]) |
| AC_CHECK_HEADERS([sdkddkver.h]) |
| |
| AC_CHECK_HEADERS([execinfo.h], [BRLTTY_HAVE_LIBRARY([execinfo])]) |
| |
| AC_CHECK_HEADERS([linux/input.h], [ |
| AC_CHECK_HEADERS([linux/uinput.h], [], [], [ |
| #include <linux/input.h> |
| ])]) |
| |
| AC_CHECK_FUNCS([getopt_long hstrerror vsyslog]) |
| AC_CHECK_FUNCS([realpath readlink]) |
| AC_CHECK_FUNCS([pause]) |
| AC_CHECK_FUNCS([fchdir fchmod]) |
| AC_CHECK_FUNCS([shmget shm_open]) |
| AC_CHECK_FUNCS([getpeereid getpeerucred getzoneid]) |
| AC_CHECK_FUNCS([mempcpy wmempcpy]) |
| |
| case "${host_os}" |
| in |
| cygwin*|mingw*) |
| if test "${brltty_cv_dll_ws2_32}" = "yes" |
| then |
| BRLTTY_HAVE_WINDOWS_FUNCTION([getaddrinfo], [ws2_32]) |
| BRLTTY_HAVE_WINDOWS_FUNCTION([getnameinfo], [ws2_32]) |
| AC_CHECK_FUNCS([gai_strerror]) |
| fi |
| AC_CHECK_TYPES([PROCESS_INFORMATION_CLASS], [], [], [ |
| #include <windows.h> |
| ]) |
| AC_CHECK_DECLS([ProcessUserModeIOPL], [], [], [ |
| #include <windows.h> |
| ]) |
| ;; |
| *) |
| AC_CHECK_FUNCS([gai_strerror getaddrinfo getnameinfo]) |
| ;; |
| esac |
| |
| AC_CHECK_SIZEOF([wchar_t], [], [ |
| #include <wchar.h> |
| ]) |
| AC_DEFINE_UNQUOTED([SIZEOF_WCHAR_T_STR], ["${ac_cv_sizeof_wchar_t}"], |
| [Define this to be a string containing the size of the wchar_t type.]) |
| |
| BRLTTY_IF_PTHREADS([dnl |
| AC_DEFINE([HAVE_POSIX_THREADS], [1], |
| [Define this if posix threads are supported.]) |
| ]) |
| |
| AC_C_BIGENDIAN |
| AC_C_CONST |
| AC_C_INLINE |
| AC_OBJEXT |
| AC_EXEEXT |
| |
| AC_CACHE_CHECK( |
| [if the compiler understands the __alignof__ operator], |
| [brltty_cv_c_operator_alignof], |
| [ |
| AC_COMPILE_IFELSE( |
| [ |
| AC_LANG_PROGRAM( |
| [[ |
| int a; |
| int b = __alignof__(a); |
| ]], [[ |
| ]] |
| ) |
| ], [ |
| brltty_cv_c_operator_alignof=yes |
| ], [ |
| brltty_cv_c_operator_alignof=no |
| ] |
| ) |
| ] |
| ) |
| if test "${brltty_cv_c_operator_alignof}" = "yes" |
| then |
| AC_DEFINE([HAVE_OPERATOR_ALIGNOF], [1], |
| [Define this if the __alignof__ operator is supported.]) |
| fi |
| |
| AC_CACHE_CHECK( |
| [if the compiler supports thread-local variables], |
| [brltty_cv_c_thread_local], |
| [ |
| brltty_cv_c_thread_local="" |
| for thread_local_qualifier in "_Thread_local" "__thread" "__declspec(thread)" |
| do |
| AC_COMPILE_IFELSE( |
| [ |
| AC_LANG_PROGRAM( |
| [[ |
| static ${thread_local_qualifier} int i; |
| ]], [[ |
| ]] |
| ) |
| ], [ |
| brltty_cv_c_thread_local="${thread_local_qualifier}" |
| break |
| ] |
| ) |
| done |
| ] |
| ) |
| if test -n "${brltty_cv_c_thread_local}" |
| then |
| AC_DEFINE_UNQUOTED([THREAD_LOCAL], [${brltty_cv_c_thread_local}], |
| [Define this if thread-local variables are supported.]) |
| fi |
| |
| AC_SUBST([archive_prefix], [lib]) |
| AC_SUBST([archive_extension], [a]) |
| |
| case "${host_os}" |
| in |
| cygwin*) |
| library_prefix="cyg" |
| ;; |
| mingw*) |
| library_prefix="" |
| ;; |
| *) |
| library_prefix="${archive_prefix}" |
| ;; |
| esac |
| AC_SUBST([library_prefix]) |
| |
| case "${host_os}" |
| in |
| hpux*) |
| library_extension="sl" |
| ;; |
| cygwin*|mingw*) |
| library_extension="dll" |
| ;; |
| darwin*) |
| library_extension="dylib" |
| ;; |
| *) |
| library_extension="so" |
| ;; |
| esac |
| AC_SUBST([library_extension]) |
| AC_DEFINE_UNQUOTED([LIBRARY_EXTENSION], ["${library_extension}"], |
| [Define this to be a string containing the library extension.]) |
| |
| AC_SUBST([module_name], ["${library_prefix}${PACKAGE_TARNAME}"]) |
| AC_DEFINE_UNQUOTED([MODULE_NAME], ["${module_name}"], |
| [Define this to be a string containing the base module name.]) |
| |
| case "${host_os}" |
| in |
| darwin*) |
| module_extension="bundle" |
| ;; |
| *) |
| module_extension="${library_extension}" |
| ;; |
| esac |
| AC_SUBST([module_extension]) |
| AC_DEFINE_UNQUOTED([MODULE_EXTENSION], ["${module_extension}"], |
| [Define this to be a string containing the module extension.]) |
| |
| AC_CACHE_CHECK([for static archive extension], [brltty_cv_ext_arc], [dnl |
| case "${host_os}" |
| in |
| *) |
| brltty_cv_ext_arc="a" |
| ;; |
| esac]) |
| archive_extension="${brltty_cv_ext_arc}" |
| AC_SUBST([archive_extension]) |
| |
| AC_CACHE_CHECK([for shared object run-time search path environment variable], [brltty_cv_env_libsearch], [dnl |
| case "${host_os}" |
| in |
| hpux*) |
| brltty_cv_env_libsearch="SHLIB_PATH" |
| ;; |
| darwin*) |
| brltty_cv_env_libsearch="DYLD_LIBRARY_PATH" |
| ;; |
| *) |
| brltty_cv_env_libsearch="LD_LIBRARY_PATH" |
| ;; |
| esac]) |
| libsearch_variable="${brltty_cv_env_libsearch}" |
| AC_SUBST([libsearch_variable]) |
| |
| BRLTTY_PKGCONFIG_VARIABLE([POLKIT_POLICY_DIR], [polkit-gobject-1], [policydir], [/usr/share/polkit-1/actions]) |
| BRLTTY_PKGCONFIG_VARIABLE([POLKIT_RULE_DIR], [polkit-gobject-1], [ruledir], [/usr/share/polkit-1/rules.d]) |
| BRLTTY_PKGCONFIG_VARIABLE([SYSTEMD_SYSUSERS_DIR], [systemd], [sysusersdir], [/usr/lib/sysusers.d]) |
| BRLTTY_PKGCONFIG_VARIABLE([SYSTEMD_TMPFILES_DIR], [systemd], [tmpfilesdir], [/usr/lib/tmpfiles.d]) |
| BRLTTY_PKGCONFIG_VARIABLE([SYSTEMD_UNIT_DIR], [systemd], [systemdsystemunitdir], [/usr/lib/systemd/system]) |
| BRLTTY_PKGCONFIG_VARIABLE([SYSTEMD_CONF_DIR], [systemd], [systemdsystemconfdir], [/usr/lib/systemd/system]) |
| |
| BRLTTY_ARG_PACKAGE([system], [base system], [], [dnl |
| *android*) |
| system_package="java" |
| system_libs="-llog" |
| ;; |
| *qnx*) |
| AC_CHECK_LIB([asound], [snd_pcm_open]) |
| ;; |
| cygwin*) |
| system_package="windows" |
| ;; |
| darwin*) |
| system_package="darwin" |
| system_includes="-x objective-c" |
| system_libs="-framework IOKit -framework Foundation -framework CoreFoundation -lobjc" |
| ;; |
| hpux*) |
| if test -d /opt/audio/include |
| then |
| CPPFLAGS="${CPPFLAGS} -I/opt/audio/include" |
| system_libs="-L/opt/audio/lib -lAlib" |
| AC_DEFINE([HAVE_HPUX_AUDIO], [1], |
| [Define this if HP-UX audio support is available.]) |
| fi |
| ;; |
| linux*) |
| system_package="linux" |
| ;; |
| mingw*) |
| system_package="windows" |
| ;; |
| msdos*) |
| system_package="msdos" |
| system_libs="-ldbg" |
| ;; |
| ]) |
| |
| expat_includes="" |
| expat_libs="" |
| BRLTTY_ARG_DISABLE( |
| [expat], |
| [support for XML parsing (CLDR)], |
| [], |
| [dnl |
| BRLTTY_HAVE_PACKAGE([expat], [expat], [dnl |
| AC_DEFINE_UNQUOTED([HAVE_EXPAT], [1], |
| [Define this if XML parsing support is to be included.]) |
| ]) |
| ]) |
| AC_SUBST([expat_includes]) |
| AC_SUBST([expat_libs]) |
| |
| contracted_braille_objects='ctb_compile.$O cldr.$O ctb_translate.$O ctb_native.$O ctb_external.$O' |
| louis_includes="" |
| louis_libs="" |
| BRLTTY_ARG_DISABLE( |
| [liblouis], |
| [support for LibLouis-based contracted braille], |
| [], |
| [dnl |
| BRLTTY_HAVE_PACKAGE([louis], [liblouis], [dnl |
| louisTablesDirectory=`${PKG_CONFIG} --variable=tablesdir ${louis_package}` |
| if test -n "${louisTablesDirectory}" |
| then |
| AC_SUBST([louis_tables_directory], ["${louisTablesDirectory}"]) |
| AC_DEFINE_UNQUOTED([LOUIS_TABLES_DIRECTORY], ["${louisTablesDirectory}"], |
| [Define this to be a string containing the path to the LibLouis tables directory.]) |
| contracted_braille_objects="${contracted_braille_objects} ctb_louis.\$O" |
| fi |
| ]) |
| ]) |
| AC_SUBST([louis_includes]) |
| AC_SUBST([louis_libs]) |
| AC_SUBST([contracted_braille_objects]) |
| |
| BRLTTY_ARG_DISABLE( |
| [gpm], |
| [mouse tracking via GPM], |
| [], |
| [dnl |
| AC_CHECK_LIB([gpm], [Gpm_Open]) |
| ]) |
| |
| case "${host_os}" |
| in |
| hpux*) |
| BRLTTY_SEARCH_LIBS([shl_load], [dld]) |
| ;; |
| *) |
| ;; |
| esac |
| |
| BRLTTY_ARG_PACKAGE([pgmpath], [program path], [], [dnl |
| cygwin*) |
| pgmpath_package="windows" |
| ;; |
| freebsd*) |
| pgmpath_package="freebsd" |
| ;; |
| linux*) |
| pgmpath_package="linux" |
| ;; |
| gnu*) |
| pgmpath_package="hurd" |
| ;; |
| mingw*) |
| pgmpath_package="windows" |
| ;; |
| solaris*) |
| pgmpath_package="solaris" |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([pgmprivs], [program privileges], [], [dnl |
| linux*) |
| pgmprivs_package="linux" |
| BRLTTY_HAVE_LIBRARY([cap]) |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([service], [system service], [libsystemd], [dnl |
| mingw*) |
| service_package="windows" |
| ;; |
| ]) |
| |
| AC_SUBST([SYSTEMD_SERVICE_TYPE], ["forking"]) |
| AC_SUBST([SYSTEMD_SERVICE_ARGUMENTS], [""]) |
| |
| case "${service_package}" |
| in |
| libsystemd) |
| SYSTEMD_SERVICE_TYPE="notify" |
| SYSTEMD_SERVICE_ARGUMENTS="-n" |
| ;; |
| esac |
| |
| BRLTTY_HAVE_PACKAGE([systemd], [libsystemd], [ |
| brltty_libs_save="${LIBS}" |
| LIBS="${LIBS} ${systemd_libs}" |
| AC_CHECK_FUNC([sd_session_get_vt], [dnl |
| AC_DEFINE([HAVE_SD_SESSION_GET_VT], [1], |
| [Define this if the function sd_session_get_vt is available in libsystemd.]) |
| api_libraries="${api_libraries} ${systemd_libs}" |
| ], [dnl |
| AC_MSG_WARN([function not available: systemd:sd_session_get_vt()]) |
| ]) |
| LIBS="${brltty_libs_save}" |
| ], [:]) |
| |
| BRLTTY_ARG_PACKAGE([params], [boot parameters], [], [dnl |
| linux*) |
| params_package="linux" |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([dynld], [dynamic loading], [dlfcn dyld], [dnl |
| elf*) |
| dynld_package="grub" |
| ;; |
| hpux*) |
| dynld_package="shl" |
| ;; |
| mingw*) |
| dynld_package="windows" |
| ;; |
| ], [dnl |
| dlfcn) |
| AC_CHECK_HEADERS([dlfcn.h], [ |
| AC_SEARCH_LIBS([dlopen], [dl], [dnl |
| dynld_package="dlfcn" |
| ]) |
| ]) |
| ;; |
| dyld) |
| AC_CHECK_HEADERS([mach-o/dyld.h], [ |
| dynld_package="dyld" |
| ]) |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([rgx], [regular expression], [libpcre2-32 libpcre32], [dnl |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([charset], [character set], [iconv], [dnl |
| elf*) |
| charset_package=grub |
| ;; |
| mingw*) |
| charset_package=windows |
| ;; |
| msdos*) |
| charset_package=msdos |
| ;; |
| ], [dnl |
| iconv) |
| if test "${brltty_enabled_iconv}" = "yes" |
| then |
| AC_CHECK_HEADER([iconv.h], [dnl |
| charset_package=iconv |
| ]) |
| fi |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([hostcmd], [host command], [unix], [dnl |
| mingw*) |
| hostcmd_package=windows |
| ;; |
| ], [dnl |
| unix) |
| AC_CHECK_DECL([fork], [dnl |
| AC_CHECK_HEADER([signal.h], [dnl |
| AC_CHECK_DECL([SIGCHLD], [dnl |
| hostcmd_package=unix |
| ], [], [dnl |
| #include <signal.h> |
| ]) |
| ]) |
| ]) |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([mntpt], [mount point], [mntent mnttab], [dnl |
| ], [dnl |
| mntent) |
| AC_CHECK_HEADER([mntent.h], [dnl |
| AC_CHECK_FUNC([setmntent], [dnl |
| mntpt_package=mntent |
| AC_CHECK_FUNCS([addmntent]) |
| ]) |
| ]) |
| ;; |
| mnttab) |
| AC_CHECK_HEADER([sys/mnttab.h], [dnl |
| mntpt_package=mnttab |
| ]) |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([mntfs], [mount file system], [], [dnl |
| linux*) |
| mntfs_package="linux" |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([kbd], [keyboard], [], [dnl |
| *android*) kbd_package="android";; |
| linux*) kbd_package="linux";; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([bell], [console bell], [], [dnl |
| linux*) |
| bell_package="linux" |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([leds], [keyboard LEDs], [], [dnl |
| linux*) |
| leds_package="linux" |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([beep], [beeper], [], [dnl |
| *android*) |
| beep_package="none" |
| ;; |
| cygwin*) |
| beep_package="windows" |
| ;; |
| freebsd*) |
| beep_package="spkr" |
| ;; |
| kfreebsd*) |
| beep_package="spkr" |
| ;; |
| linux*) |
| beep_package="linux" |
| ;; |
| mingw*) |
| beep_package="windows" |
| ;; |
| msdos*) |
| beep_package="msdos" |
| ;; |
| netbsd*) |
| beep_package="wskbd" |
| ;; |
| openbsd*) |
| beep_package="wskbd" |
| ;; |
| solaris*) |
| beep_package="solaris" |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([pcm], [PCm], [alsa oss], [dnl |
| *android*) |
| pcm_package="android" |
| ;; |
| *qnx*) |
| pcm_package="qsa" |
| ;; |
| hpux*) |
| pcm_package="hpux" |
| ;; |
| mingw*) |
| pcm_package="windows" |
| ;; |
| msdos*) |
| pcm_package="none" |
| ;; |
| netbsd*) |
| pcm_package="audio" |
| ;; |
| openbsd*) |
| pcm_package="audio" |
| ;; |
| solaris*) |
| pcm_package="audio" |
| ;; |
| ], [dnl |
| oss) |
| AC_CHECK_HEADER([sys/soundcard.h], [dnl |
| pcm_package="oss" |
| ]) |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([midi], [MIDI], [alsa oss], [dnl |
| darwin*) |
| midi_package="darwin" |
| midi_libs="-framework AudioUnit -framework AudioToolbox" |
| ;; |
| mingw*) |
| midi_package="windows" |
| ;; |
| msdos*) |
| midi_package="none" |
| ;; |
| ], [dnl |
| oss) |
| AC_CHECK_HEADER([sys/soundcard.h], [dnl |
| midi_package="oss" |
| ]) |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([fm], [FM], [adlib], [dnl |
| ], [dnl |
| adlib) |
| fm_package="adlib" |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([serial], [serial I/O], [termios], [dnl |
| elf*) |
| serial_package="grub" |
| ;; |
| mingw*) |
| serial_package="windows" |
| ;; |
| msdos*) |
| serial_package="msdos" |
| ;; |
| ], [dnl |
| termios) |
| AC_CHECK_HEADER([termios.h], [dnl |
| serial_package="termios" |
| AC_CHECK_FUNCS([tcdrain]) |
| ]) |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([usb], [USB I/O], [winusb libusb-1.0 libusb], [dnl |
| *android*) |
| usb_package="android" |
| ;; |
| darwin*) |
| usb_package="darwin" |
| usb_includes="-x objective-c" |
| ;; |
| elf*) |
| usb_package="grub" |
| ;; |
| freebsd*) |
| usb_package="freebsd" |
| ;; |
| kfreebsd*) |
| usb_package="kfreebsd" |
| AC_CHECK_HEADERS([legacy/dev/usb/usb.h]) |
| ;; |
| linux*) |
| usb_package="linux" |
| ;; |
| netbsd*) |
| usb_package="netbsd" |
| ;; |
| openbsd*) |
| usb_package="openbsd" |
| ;; |
| solaris*) |
| usb_package="solaris" |
| BRLTTY_HAVE_LIBRARY([aio]) |
| BRLTTY_HAVE_LIBRARY([rt]) |
| ;; |
| ], [dnl |
| winusb) |
| BRLTTY_HAVE_HEADER([winusb.h], [dnl |
| usb_package="winusb" |
| usb_libs="-lwinusb" |
| ]) |
| ;; |
| libusb) |
| BRLTTY_HAVE_HEADER([usb.h], [dnl |
| usb_package="libusb" |
| usb_libs="-lusb" |
| ]) |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([bluetooth], [Bluetooth I/O], [], [dnl |
| *android*) |
| bluetooth_package="android" |
| ;; |
| darwin*) |
| bluetooth_package="darwin" |
| bluetooth_includes="-x objective-c" |
| bluetooth_libs="-framework IOBluetooth" |
| ;; |
| cygwin*|mingw*) |
| AC_CHECK_HEADER([ws2bth.h], [dnl |
| bluetooth_package="windows" |
| bluetooth_libs="-lbthprops -lws2_32" |
| ], , [[#include <windows.h>]]) |
| ;; |
| linux*) |
| AC_CHECK_HEADER([bluetooth/bluetooth.h], [dnl |
| bluetooth_package="linux" |
| BRLTTY_HAVE_LIBRARY([bluetooth]) |
| |
| BRLTTY_IF_DBUS([dnl |
| bluetooth_includes="${dbus_includes}" |
| bluetooth_libs="${dbus_libs}" |
| ]) |
| ]) |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([hid], [Human Interface Device I/O], [], [dnl |
| linux*) |
| AC_CHECK_HEADER([linux/hidraw.h], [dnl |
| BRLTTY_HAVE_PACKAGE([libudev], [libudev], [dnl |
| hid_package="linux" |
| hid_includes="${libudev_includes}" |
| hid_libs="${libudev_libs}" |
| ]) |
| BRLTTY_HAVE_LIBRARY([bluetooth]) |
| ]) |
| ;; |
| ]) |
| |
| BRLTTY_ARG_PACKAGE([ports], [I/O ports], [], [dnl |
| cygwin*) |
| ports_package="windows" |
| ;; |
| elf*) |
| ports_package="grub" |
| ;; |
| gnu*) |
| ports_package="glibc" |
| ;; |
| kfreebsd*) |
| ports_package="kfreebsd" |
| ;; |
| linux*) |
| AC_CHECK_FUNC([ioperm], [ |
| ports_package="glibc" |
| ]) |
| ;; |
| mingw*) |
| ports_package="windows" |
| ;; |
| msdos*) |
| ports_package="msdos" |
| ;; |
| ]) |
| |
| BRLTTY_BRAILLE_DRIVER([al], [Alva]) |
| BRLTTY_BRAILLE_DRIVER([at], [Albatross]) |
| test -n "${api_server_objects}" && { |
| BRLTTY_BRAILLE_DRIVER([ba], [BrlAPI], [$(API_LIBS)]) |
| } |
| BRLTTY_BRAILLE_DRIVER([bc], [BrailComm]) |
| BRLTTY_BRAILLE_DRIVER([bd], [Braudi]) |
| BRLTTY_BRAILLE_DRIVER([bl], [BrailleLite]) |
| BRLTTY_BRAILLE_DRIVER([bm], [Baum]) |
| BRLTTY_BRAILLE_DRIVER([bn], [BrailleNote]) |
| BRLTTY_BRAILLE_DRIVER([cb], [CombiBraille]) |
| BRLTTY_BRAILLE_DRIVER([ce], [Cebra]) |
| BRLTTY_BRAILLE_DRIVER([cn], [Canute]) |
| BRLTTY_BRAILLE_DRIVER([dp], [DotPad]) |
| BRLTTY_BRAILLE_DRIVER([ec], [EcoBraille]) |
| BRLTTY_BRAILLE_DRIVER([eu], [EuroBraille]) |
| BRLTTY_BRAILLE_DRIVER([fa], [FrankAudiodata]) |
| BRLTTY_BRAILLE_DRIVER([fs], [FreedomScientific]) |
| BRLTTY_BRAILLE_DRIVER([hd], [Hedo]) |
| BRLTTY_BRAILLE_DRIVER([hm], [HIMS]) |
| BRLTTY_BRAILLE_DRIVER([ht], [HandyTech]) |
| BRLTTY_BRAILLE_DRIVER([hw], [HumanWare]) |
| BRLTTY_BRAILLE_DRIVER([ir], [Iris]) |
| BRLTTY_BRAILLE_DRIVER([ic], [Inceptor]) |
| BRLTTY_IF_PACKAGE([Libbraille], [libbraille], [include/braille.h], [dnl |
| BRLTTY_BRAILLE_DRIVER([lb], [Libbraille], [-L$(LIBBRAILLE_ROOT)/lib -lbraille]) |
| ]) |
| BRLTTY_BRAILLE_DRIVER([lt], [LogText]) |
| BRLTTY_BRAILLE_DRIVER([mb], [MultiBraille]) |
| BRLTTY_BRAILLE_DRIVER([md], [MDV]) |
| BRLTTY_BRAILLE_DRIVER([mm], [BrailleMemo]) |
| BRLTTY_BRAILLE_DRIVER([mn], [MiniBraille]) |
| BRLTTY_BRAILLE_DRIVER([mt], [Metec]) |
| BRLTTY_BRAILLE_DRIVER([np], [NinePoint]) |
| BRLTTY_BRAILLE_DRIVER([pg], [Pegasus]) |
| BRLTTY_BRAILLE_DRIVER([pm], [Papenmeier]) |
| BRLTTY_BRAILLE_DRIVER([sk], [Seika]) |
| BRLTTY_BRAILLE_DRIVER([tn], [TechniBraille]) |
| BRLTTY_BRAILLE_DRIVER([ts], [TSI]) |
| BRLTTY_BRAILLE_DRIVER([tt], [TTY], [$(CURSES_LIBS)]) |
| BRLTTY_BRAILLE_DRIVER([vd], [VideoBraille]) |
| BRLTTY_BRAILLE_DRIVER([vo], [Voyager]) |
| BRLTTY_BRAILLE_DRIVER([vr], [Virtual]) |
| BRLTTY_BRAILLE_DRIVER([vs], [VisioBraille]) |
| test -n "${gui_toolkit_package}" && { |
| BRLTTY_BRAILLE_DRIVER([xw], [XWindow], [$(XTK_LIBS) $(X11_LIBS)]) |
| } |
| case "${host_os}" |
| in |
| linux*) |
| BRLTTY_BRAILLE_DRIVER([bg], [B2G]) |
| ;; |
| *) ;; |
| esac |
| BRLTTY_ARG_DRIVER([braille], [Braille]) |
| |
| AC_CACHE_CHECK([for device directory], [brltty_cv_device_directory], [dnl |
| case "${host_os}" |
| in |
| mingw*) |
| brltty_cv_device_directory="//." |
| ;; |
| elf*|msdos*) |
| brltty_cv_device_directory="" |
| ;; |
| *) |
| brltty_cv_device_directory="/dev" |
| ;; |
| esac]) |
| AC_DEFINE_UNQUOTED([DEVICE_DIRECTORY], ["${brltty_cv_device_directory}"], |
| [Define this to be a string containing the path to the directory containing the devices.]) |
| |
| AC_CACHE_CHECK([for first serial device], [brltty_cv_device_serial_first], [dnl |
| case "${host_os}" |
| in |
| linux*) |
| brltty_cv_device_serial_first="ttyS0" |
| ;; |
| gnu*) |
| brltty_cv_device_serial_first="com0" |
| ;; |
| solaris*) |
| brltty_cv_device_serial_first="ttya" |
| ;; |
| haiku*) |
| brltty_cv_device_serial_first="ports/pc_serial0" |
| ;; |
| hpux*) |
| brltty_cv_device_serial_first="tty0p0" |
| ;; |
| openbsd*) |
| brltty_cv_device_serial_first="cua00" |
| ;; |
| freebsd*) |
| brltty_cv_device_serial_first="cuaa0" |
| ;; |
| kfreebsd*) |
| brltty_cv_device_serial_first="cuaa0" |
| ;; |
| netbsd*) |
| brltty_cv_device_serial_first="dty00" |
| ;; |
| osf*) |
| brltty_cv_device_serial_first="tty00" |
| ;; |
| *qnx*) |
| brltty_cv_device_serial_first="ser1" |
| ;; |
| cygwin*) |
| brltty_cv_device_serial_first="ttyS0" |
| ;; |
| mingw*|msdos*) |
| brltty_cv_device_serial_first="COM1" |
| ;; |
| elf*) |
| brltty_cv_device_serial_first="com0" |
| ;; |
| *) |
| brltty_cv_device_serial_first="" |
| AC_MSG_WARN([primary serial device not configured for ${host_os}]) |
| ;; |
| esac]) |
| AC_SUBST([serial_first_device], [${brltty_cv_device_serial_first}]) |
| AC_DEFINE_UNQUOTED([SERIAL_FIRST_DEVICE], ["${serial_first_device}"], |
| [Define this to be a string containing the path to the first serial device.]) |
| |
| BRLTTY_ARG_WITH( |
| [braille-device], [DEVICE], |
| [default braille device], |
| [braille_device], ["yes"] |
| ) |
| if test "${braille_device}" = "no" |
| then |
| braille_device="" |
| elif test "${braille_device}" = "yes" |
| then |
| braille_device="" |
| test "${usb_package}" != "none" && braille_device="${braille_device},usb:" |
| test "${bluetooth_package}" != "none" && braille_device="${braille_device},bluetooth:" |
| |
| if test -n "${braille_device}" |
| then |
| braille_device="${braille_device#,}" |
| else |
| braille_device="serial:${serial_first_device}" |
| fi |
| fi |
| AC_SUBST([braille_device]) |
| AC_DEFINE_UNQUOTED([BRAILLE_DEVICE], ["${braille_device}"], |
| [Define this to be a string containing the path to the default braille device.]) |
| BRLTTY_SUMMARY_ITEM([braille-device], [braille_device]) |
| |
| BRLTTY_ARG_TABLE([text], [en-nabcc], [ttb]) |
| BRLTTY_ARG_TABLE([contraction], [none], [ctb]) |
| BRLTTY_ARG_TABLE([attributes], [left_right], [atb]) |
| |
| BRLTTY_ARG_DISABLE( |
| [speech-support], |
| [support for speech synthesizers and text-to-speech engines], |
| [], |
| [dnl |
| AC_DEFINE([ENABLE_SPEECH_SUPPORT], [1], |
| [Define this to include speech synthesizer and text-to-speech engine support.]) |
| speech_support_object='spk.$O' |
| |
| BRLTTY_SPEECH_DRIVER([al], [Alva]) |
| BRLTTY_SPEECH_DRIVER([bl], [BrailleLite]) |
| BRLTTY_SPEECH_DRIVER([cb], [CombiBraille]) |
| |
| BRLTTY_IF_PACKAGE([eSpeak-NG], [espeak_ng], [include/espeak-ng/speak_lib.h], [dnl |
| BRLTTY_SPEECH_DRIVER([en], [eSpeak-NG], [-L$(ESPEAK_NG_ROOT)/lib -lespeak-ng]) |
| ]) |
| |
| BRLTTY_IF_PACKAGE([eSpeak], [espeak], [include/espeak/speak_lib.h], [dnl |
| BRLTTY_SPEECH_DRIVER([es], [eSpeak], [-L$(ESPEAK_ROOT)/lib -lespeak]) |
| ]) |
| |
| BRLTTY_IF_PACKAGE([FestivalLite], [flite], [include/flite/flite.h], [dnl |
| BRLTTY_ARG_REQUIRED( |
| [flite-language], [LANGUAGE], |
| [the FestivalLite language to use], |
| [flite_language], ["usenglish"] |
| ) |
| |
| BRLTTY_ARG_REQUIRED( |
| [flite-lexicon], [LEXICON], |
| [the FestivalLite lexicon to use], |
| [flite_lexicon], ["cmulex"] |
| ) |
| |
| BRLTTY_ARG_REQUIRED( |
| [flite-voice], [VOICE], |
| [the FestivalLite voice to use], |
| [flite_voice], ["cmu_us_kal"] |
| ) |
| |
| BRLTTY_SPEECH_DRIVER([fl], [FestivalLite], [-L$(FLITE_ROOT)/lib -lflite_$(FLITE_VOICE) -lflite_$(FLITE_LEXICON) -lflite_$(FLITE_LANGUAGE) -lflite -lm]) |
| ]) |
| |
| BRLTTY_SPEECH_DRIVER([fv], [Festival]) |
| BRLTTY_SPEECH_DRIVER([gs], [GenericSay]) |
| |
| BRLTTY_IF_PACKAGE([Mikropuhe], [mikropuhe], [mpwrfile.h], [dnl |
| BRLTTY_IF_PTHREADS([dnl |
| BRLTTY_SPEECH_DRIVER([mp], [Mikropuhe], [-L$(MPLINUX_ROOT) -lmplinux]) |
| ]) |
| ]) |
| |
| BRLTTY_IF_PACKAGE([speech-dispatcher], [speechd], [include/libspeechd.h], [dnl |
| BRLTTY_SPEECH_DRIVER([sd], [SpeechDispatcher]) |
| ], [include], [lib], [speechd]) |
| |
| BRLTTY_IF_PACKAGE([Swift], [swift], [include/swift.h], [dnl |
| BRLTTY_SPEECH_DRIVER([sw], [Swift], [-L$(SWIFT_ROOT)/lib -lswift -lm]) |
| ]) |
| |
| BRLTTY_IF_PACKAGE([Theta], [theta], [include/theta.h], [dnl |
| BRLTTY_SPEECH_DRIVER([th], [Theta], [-L$(THETA_ROOT)/lib -ltheta]) |
| ]) |
| |
| AC_CHECK_HEADER([eci.h], [dnl |
| BRLTTY_SPEECH_DRIVER([vv], [ViaVoice], [-libmeci]) |
| ]) |
| |
| BRLTTY_SPEECH_DRIVER([xs], [ExternalSpeech]) |
| |
| case "${host_os}" |
| in |
| *android*) |
| BRLTTY_SPEECH_DRIVER([an], [Android]) |
| ;; |
| *) ;; |
| esac |
| ]) |
| AC_SUBST([speech_support_object]) |
| BRLTTY_ARG_DRIVER([speech], [Speech]) |
| |
| case "${host_os}" |
| in |
| *android*) |
| BRLTTY_SCREEN_DRIVER([an], [Android]) |
| ;; |
| linux*) |
| BRLTTY_SCREEN_DRIVER([lx], [Linux]) |
| ;; |
| gnu*) |
| BRLTTY_SCREEN_DRIVER([hd], [Hurd]) |
| ;; |
| cygwin*|mingw*) |
| BRLTTY_SCREEN_DRIVER([wn], [Windows]) |
| brltty_build_directories="${brltty_build_directories} Drivers/BrlAPI/WindowEyes" |
| ;; |
| msdos*) |
| BRLTTY_SCREEN_DRIVER([pb], [PcBios]) |
| ;; |
| elf*) |
| BRLTTY_SCREEN_DRIVER([gb], [Grub]) |
| ;; |
| *) |
| AC_MSG_WARN([no native screen driver for ${host_os}]) |
| ;; |
| esac |
| |
| BRLTTY_SCREEN_DRIVER([fv], [FileViewer]) |
| |
| all_brltty_pty="" |
| install_brltty_pty="" |
| AC_CHECK_HEADER([sys/shm.h], [dnl |
| BRLTTY_SCREEN_DRIVER([sc], [Screen]) |
| |
| AC_CHECK_HEADER([sys/msg.h], [dnl |
| BRLTTY_SCREEN_DRIVER([em], [TerminalEmulator]) |
| |
| if test -n "${curses_package}" |
| then |
| all_brltty_pty="all-brltty-pty" |
| install_brltty_pty="install-brltty-pty" |
| fi |
| ]) |
| ]) |
| AC_SUBST([all_brltty_pty]) |
| AC_SUBST([install_brltty_pty]) |
| |
| if test "${brltty_enabled_x}" = "yes" |
| then |
| BRLTTY_HAVE_PACKAGE([cspi], [cspi-1.0], [dnl |
| AC_CHECK_HEADER([X11/keysym.h], [dnl |
| AC_CHECK_HEADER([X11/Xlib.h], [dnl |
| BRLTTY_SCREEN_DRIVER([as], [AtSpi], [$(X11_LIBS) $(CSPI_LIBS)]) |
| ]) |
| ]) |
| ], [:]) |
| fi |
| |
| BRLTTY_IF_DBUS([dnl |
| AC_CHECK_HEADER([X11/keysym.h], [dnl |
| BRLTTY_HAVE_PACKAGE([atspi2], [atspi-2], [dnl |
| brltty_cppflags_save="${CPPFLAGS}" |
| CPPFLAGS="${CPPFLAGS} ${atspi2_cflags}" |
| BRLTTY_SCREEN_DRIVER([a2], [AtSpi2], [$(DBUS_LIBS) $(ATSPI2_LIBS) $(GLIB2_LIBS) $(X11_LIBS) $(XFIXES_LIBS)]) |
| |
| brltty_libs_save="${LIBS}" |
| LIBS="${atspi2_libs} ${LIBS}" |
| |
| AC_CHECK_FUNCS([atspi_get_a11y_bus]) |
| |
| CPPFLAGS="${brltty_cppflags_save}" |
| LIBS="${brltty_libs_save}" |
| |
| BRLTTY_HAVE_PACKAGE([glib2], [glib-2.0]) |
| ]) |
| ]) |
| ]) |
| |
| BRLTTY_ARG_DRIVER([screen], [Screen]) |
| BRLTTY_SUMMARY_ITEM([screen-driver], [default_screen_driver]) |
| |
| BRLTTY_ARG_ENABLE( |
| [relocatable-install], |
| [installation using paths relative to the program directory]) |
| |
| case "${host_os}" |
| in |
| darwin*) |
| INSTALL_OPTION_STRIP="" |
| ;; |
| *) |
| INSTALL_OPTION_STRIP="-s" |
| ;; |
| esac |
| |
| if test "${cross_compiling}" != "no" |
| then |
| if test -n "${INSTALL_OPTION_STRIP}" |
| then |
| INSTALL_OPTION_STRIP="${INSTALL_OPTION_STRIP} --strip-program ${STRIP}" |
| fi |
| fi |
| |
| BRLTTY_ARG_DISABLE( |
| [stripping], |
| [stripping of executables and shared objects during installation], |
| [], |
| [], |
| [INSTALL_OPTION_STRIP=""] |
| ) |
| AC_SUBST([INSTALL_OPTION_STRIP]) |
| |
| original_prefix="${prefix}" |
| test "${prefix}" = "NONE" && prefix="" |
| original_exec_prefix="${exec_prefix}" |
| test "${exec_prefix}" = "NONE" && exec_prefix="${prefix}" |
| BRLTTY_VAR_EXPAND([brltty_reference_directory], [${execute_root}${program_directory}]) |
| |
| BRLTTY_DEFINE_DIRECTORY([LOCALE_DIRECTORY], [${execute_root}${localedir}], |
| [Define this to be a string containing the path to the locale directory.]) |
| |
| BRLTTY_DEFINE_DIRECTORY([TABLES_DIRECTORY], [${execute_root}${tables_directory}], |
| [Define this to be a string containing the path to the data files directory.]) |
| |
| BRLTTY_DEFINE_DIRECTORY([DRIVERS_DIRECTORY], [${execute_root}${drivers_directory}], |
| [Define this to be a string containing the path to the drivers directory.]) |
| |
| BRLTTY_DEFINE_DIRECTORY([COMMANDS_DIRECTORY], [${execute_root}${commands_directory}], |
| [Define this to be a string containing the path to the helper commands directory.]) |
| |
| BRLTTY_PUBLIC_DIRECTORY([CONFIGURATION_DIRECTORY], [${sysconfdir}], |
| [Define this to be a string containing the path to the configuration directory.]) |
| |
| if test -n "${updatable_directory}" |
| then |
| BRLTTY_PUBLIC_DIRECTORY([UPDATABLE_DIRECTORY], [${updatable_directory}], |
| [Define this to be a string containing the path to a directory which contains files that can be updated.]) |
| fi |
| |
| if test -n "${writable_directory}" |
| then |
| BRLTTY_PUBLIC_DIRECTORY([WRITABLE_DIRECTORY], [${writable_directory}], |
| [Define this to be a string containing the path to a writable directory.]) |
| fi |
| |
| BRLTTY_PUBLIC_DIRECTORY([BRLAPI_ETCDIR], [${CONFIGURATION_DIRECTORY}], |
| [Define this to be a string containing the path to BrlAPI's data files directory.]) |
| |
| BRLTTY_PUBLIC_DIRECTORY([BRLAPI_SOCKETPATH], [${api_socket_path}], |
| [Define this to be a string containing the path to BrlAPI's local sockets directory.]) |
| |
| prefix="${original_prefix}" |
| exec_prefix="${original_exec_prefix}" |
| |
| AC_SUBST([install_drivers]) |
| BRLTTY_SUMMARY_END |
| |
| [brltty_make_files="`echo "${brltty_build_directories}" | sed -e ' |
| s%\([^ ][^ ]*\)%\1/Makefile:prologue.mk:\1/Makefile.in%g |
| '`"] |
| |
| AC_CONFIG_FILES([ |
| config.mk |
| brltty.spec |
| brltty-config.sh |
| brltty.pc |
| Documents/brltty.conf |
| Documents/brltty.1 |
| Documents/xbrlapi.1 |
| Documents/BrlAPIref.doxy |
| Bindings/Emacs/add_directory.el |
| Bindings/Lisp/brlapi.asd |
| Bindings/Lisp/brlapi_config.lisp |
| Bindings/Python/setup.py |
| Autostart/Systemd/brltty@.service |
| Autostart/Systemd/tmpfiles |
| Autostart/Udev/usb-template.rules |
| Autostart/X11/90xbrlapi |
| Android/Gradle/config.properties |
| ${brltty_make_files} |
| ]) |
| |
| AC_CONFIG_COMMANDS([build-configure], [dnl |
| "${srcdir}/mk4build" |
| ]) |
| |
| AC_OUTPUT |