blob: b79c2fe121c733e20387ebd7de6e3bbc68698e5c (
plain)
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
|
#!/usr/bin/env python3
# External command, intended to be called with meson.add_install_script() in meson.build
# argv[1]
# extra-install-cmd.py <aclocal_macrodir>
import os
import sys
import subprocess
if not (os.getenv('DESTDIR') or os.getenv('MESON_INSTALL_QUIET')):
# Inform the installer that M4 macro files installed in a directory
# not known to aclocal will not be picked up automatically.
# (Starting with Python 3.7 text=True is a more understandable equivalent to
# universal_newlines=True. Let's use only features in Python 3.5.)
try:
result = subprocess.run(['aclocal', '--print-ac-dir'],
stdout=subprocess.PIPE, stderr=subprocess.DEVNULL,
universal_newlines=True)
acdir = result.stdout
aclocal_path = os.getenv('ACLOCAL_PATH')
# acdir and aclocal_path can be sequences of os.pathsep-separated paths.
# Merge them to one sequence with leading and trailing os.pathsep.
# os.pathsep is ':' for Linux, ';' for Windows.
acdirs = os.pathsep
if aclocal_path:
acdirs += aclocal_path + os.pathsep
if acdir:
acdirs += acdir.rstrip('\n') + os.pathsep
if (os.pathsep + sys.argv[1] + os.pathsep) not in acdirs:
# f'''.....''' would require Python 3.6. Avoid it.
print('''\
NOTE
----
(If you don't intend to use Autotools, you can ignore this note.)
The mm-common Autoconf macro files have been installed in a different
directory than the system aclocal directory. In order for the installed
macros to be found, it may be necessary to add the mm-common include
path to the ACLOCAL_PATH environment variable:
ACLOCAL_PATH="$ACLOCAL_PATH:{}"
export ACLOCAL_PATH'''.format(sys.argv[1])
)
except FileNotFoundError:
# https://mail.gnome.org/archives/gtkmm-list/2021-April/msg00005.html
# On Windows, subprocess.run() may fail to find aclocal even if
# the calling meson.build file has found it. Ignore this case.
pass
sys.exit(0)
|