automake: require ABOUT-NLS only at gnits strictness.
[automake.git] / t / python-pr10995.sh
blob5ef62a5c9eb7acdcb9fb05f196a4e40f5da59a23
1 #! /bin/sh
2 # Copyright (C) 2012-2024 Free Software Foundation, Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <https://www.gnu.org/licenses/>.
17 # Test automake bug#10995: am__py_compile doesn't get correctly defined
18 # when there a 'noinst_PYTHON' declaration precedes a 'foo_PYTHON'
19 # declaration.
20 # Test also automake bug#24507: am__pep3147_tweak doesn't get correctly
21 # defined when there a 'noinst_PYTHON' declaration precedes a 'foo_PYTHON'
22 # declaration and 'make uninstall' fails functionally (just shows errors).
24 required=python
25 . test-init.sh
27 cat >> configure.ac <<'EOF'
28 AM_PATH_PYTHON
29 AC_OUTPUT
30 EOF
32 cat > Makefile.am <<'END'
33 yesinstdir = $(prefix)/py
34 noinst_PYTHON = no.py
35 yesinst_PYTHON = yes.py
36 disttest: distdir
37 test -f $(distdir)/no.py
38 test -f $(distdir)/yes.py
39 END
41 echo 'def foo(): return 1' > yes.py
42 # no.py shouldn't be byte-compiled, so lets make it syntactically invalid.
43 echo 'if' > no.py
45 $ACLOCAL
46 $AUTOCONF
47 $AUTOMAKE --add-missing
48 test -f py-compile
50 ./configure --prefix="$(pwd)/inst"
51 $MAKE install
52 test -f inst/py/yes.py
53 test ! -e inst/py/no.py
54 py_installed inst/py/yes.pyc
55 py_installed --not inst/py/no.pyc
57 $MAKE disttest
59 LC_ALL=C run_make -M uninstall
60 grep 'command substitution' output && exit 1