File: bindings.m4

package info (click to toggle)
brltty 6.9-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 44,984 kB
  • sloc: ansic: 154,183; java: 13,514; sh: 9,934; xml: 5,672; tcl: 2,679; makefile: 2,346; awk: 713; lisp: 366; python: 321; ml: 301
file content (132 lines) | stat: -rw-r--r-- 3,750 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2005-2025 by
#   Alexis Robert <alexissoft@free.fr>
#   Samuel Thibault <Samuel.Thibault@ens-lyon.org>
#
# libbrlapi 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_DEFUN([BRLTTY_PYTHON_BINDINGS], [dnl
PYTHON_OK=true

# Suppress a new warning introduced in Python 3.6:
#
#    Python runtime initialized with LC_CTYPE=C
#    (a locale with default ASCII encoding),
#    which may cause Unicode compatibility problems.
#    Using C.UTF-8, C.utf8, or UTF-8 (if available)
#    as alternative Unicode-compatible locales is recommended.
#
export PYTHONCOERCECLOCALE=0

AC_PATH_PROGS([PYTHON], [python python3], [python])
if test -n "${PYTHON}"
then
   test -n "${PYTHON_VERSION}" || {
      BRLTTY_PYTHON_QUERY([PYTHON_VERSION], [version])

      if test -n "${PYTHON_VERSION}"
      then
         test "${PYTHON_VERSION}" = "3" || {
            AC_MSG_WARN([Python version ${PYTHON_VERSION} is not supported])
            PYTHON_OK=false
         }
      else
         AC_MSG_WARN([Python version not defined])
         PYTHON_OK=false
      fi
   }
   AC_SUBST([PYTHON_VERSION])

   test -n "${PYTHON_CPPFLAGS}" || {
      BRLTTY_PYTHON_QUERY([python_include_directory], [incdir])

      if test -n "${python_include_directory}"
      then
         PYTHON_CPPFLAGS="-I${python_include_directory}"

         test -f "${python_include_directory}/Python.h" || {
            AC_MSG_WARN([Python developer environment not installed])
            PYTHON_OK=false
         }
      else
         AC_MSG_WARN([Python include directory not found])
         PYTHON_OK=false
      fi
   }
   AC_SUBST([PYTHON_CPPFLAGS])

   test -n "${PYTHON_LIBS}" || {
      PYTHON_LIBS="-lpython${PYTHON_VERSION}"
      BRLTTY_PYTHON_QUERY([python_library_directory], [libdir])

      if test -n "${python_library_directory}"
      then
         PYTHON_LIBS="-L${python_library_directory}/config ${PYTHON_LIBS}"
      else
         AC_MSG_WARN([Python library directory not found])
         PYTHON_OK=false
      fi
   }
   AC_SUBST([PYTHON_LIBS])

   test -n "${PYTHON_EXTRA_LIBS}" || {
      BRLTTY_PYTHON_QUERY([PYTHON_EXTRA_LIBS], [libopts])
   }
   AC_SUBST([PYTHON_EXTRA_LIBS])

   test -n "${PYTHON_EXTRA_LDFLAGS}" || {
      BRLTTY_PYTHON_QUERY([PYTHON_EXTRA_LDFLAGS], [linkopts])
   }
   AC_SUBST([PYTHON_EXTRA_LDFLAGS])

   test -n "${PYTHON_SITE_PKG}" || {
      BRLTTY_PYTHON_QUERY([PYTHON_SITE_PKG], [pkgdir])

      test -n "${PYTHON_SITE_PKG}" || {
         AC_MSG_WARN([Python packages directory not found])
         PYTHON_OK=false
      }
   }
   AC_SUBST([PYTHON_SITE_PKG])
else
   AC_MSG_WARN([Python interpreter not found])
   PYTHON_OK=false
fi

AC_PATH_PROGS([CYTHON], [cython3 cython])
test -n "${CYTHON}" || {
   AC_MSG_WARN([Cython compiler not found])
   PYTHON_OK=false
}

if test "${GCC}" = "yes"
then
   CYTHON_CFLAGS="-Wno-parentheses -Wno-unused -fno-strict-aliasing -U_POSIX_C_SOURCE -U_XOPEN_SOURCE"
else
   case "${host_os}"
   in
      *)
         CYTHON_CFLAGS=""
         ;;
   esac
fi
AC_SUBST([CYTHON_CFLAGS])

AC_SUBST([PYTHON_OK])
])

AC_DEFUN([BRLTTY_PYTHON_QUERY], [dnl
   $1=`"${PYTHON}" "${srcdir}/Tools/pythoncmd" $2`
])