forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig.m4
65 lines (55 loc) · 2.34 KB
/
config.m4
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
PHP_ARG_WITH([gettext],
[for GNU gettext support],
[AS_HELP_STRING([[--with-gettext[=DIR]]],
[Include GNU gettext support])])
if test "$PHP_GETTEXT" != "no"; then
for i in $PHP_GETTEXT /usr/local /usr; do
AS_IF([test -r $i/include/libintl.h], [GETTEXT_DIR=$i; break;])
done
AS_VAR_IF([GETTEXT_DIR],,
[AC_MSG_ERROR([Cannot locate header file libintl.h])])
GETTEXT_LIBDIR=$GETTEXT_DIR/$PHP_LIBDIR
GETTEXT_INCDIR=$GETTEXT_DIR/include
O_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -L$GETTEXT_LIBDIR"
AC_CHECK_LIB([intl], [bindtextdomain], [
GETTEXT_LIBS=intl
GETTEXT_CHECK_IN_LIB=intl
],
[AC_CHECK_LIB([c], [bindtextdomain], [
GETTEXT_LIBS=
GETTEXT_CHECK_IN_LIB=c
dnl If libintl.h is provided by libc, it's possible that libc is musl.
dnl The gettext family of functions under musl ignores the codeset
dnl suffix on directories like "en_US.UTF-8"; instead they look only
dnl in "en_US". To accomodate that, we symlink some test data from one
dnl to the other.
AC_MSG_NOTICE([symlinking en_US.UTF-8 messages to en_US in case you are on musl])
_linkdest="${srcdir%/}"/ext/gettext/tests/locale/en_US
AS_IF([test ! -e "${_linkdest}"],[
ln -s en_US.UTF-8 "${_linkdest}"
])
],
[AC_MSG_FAILURE([Unable to find required intl library for gettext.])])])
AC_DEFINE([HAVE_LIBINTL], [1], [Define to 1 if you have the 'intl' library.])
PHP_NEW_EXTENSION([gettext], [gettext.c], [$ext_shared])
PHP_SUBST([GETTEXT_SHARED_LIBADD])
PHP_ADD_INCLUDE([$GETTEXT_INCDIR])
AC_CHECK_LIB([$GETTEXT_CHECK_IN_LIB], [ngettext],
[AC_DEFINE([HAVE_NGETTEXT], [1],
[Define to 1 if you have the 'ngettext' function.])])
AC_CHECK_LIB([$GETTEXT_CHECK_IN_LIB], [dngettext],
[AC_DEFINE([HAVE_DNGETTEXT], [1],
[Define to 1 if you have the 'dngettext' function.])])
AC_CHECK_LIB([$GETTEXT_CHECK_IN_LIB], [dcngettext],
[AC_DEFINE([HAVE_DCNGETTEXT], [1],
[Define to 1 if you have the 'dcngettext' function.])])
AC_CHECK_LIB([$GETTEXT_CHECK_IN_LIB], [bind_textdomain_codeset],
[AC_DEFINE([HAVE_BIND_TEXTDOMAIN_CODESET], [1],
[Define to 1 if you have the 'bind_textdomain_codeset' function.])])
LDFLAGS=$O_LDFLAGS
AS_VAR_IF([GETTEXT_LIBS],,,
[PHP_ADD_LIBRARY_WITH_PATH([$GETTEXT_LIBS],
[$GETTEXT_LIBDIR],
[GETTEXT_SHARED_LIBADD])])
fi