Spaces:
Sleeping
Sleeping
# relocate-preamble.py.in | |
# | |
# This file is part of LilyPond, the GNU music typesetter. | |
# | |
# Copyright (C) 2007--2020 Han-Wen Nienhuys <[email protected]> | |
# | |
# LilyPond is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU General Public License as published by | |
# the Free Software Foundation, either version 3 of the License, or | |
# (at your option) any later version. | |
# | |
# LilyPond is distributed in the hope that it will be useful, | |
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
# GNU General Public License for more details. | |
# | |
# You should have received a copy of the GNU General Public License | |
# along with LilyPond. If not, see <http://www.gnu.org/licenses/>. | |
# | |
This is generic code, used for all python scripts. | |
The quotes are to ensure that the source .py file can still be | |
run as a python script, but does not include any sys.path handling. | |
Otherwise, the lilypond-book calls inside the build | |
might modify installed .pyc files. | |
""" | |
# This is needed for installations with a non-default layout, ie where share/ | |
# is not next to bin/. | |
sys.path.insert (0, os.path.join ('@lilypond_datadir@', 'python')) | |
# Dynamic relocation, for installations with a default layout including GUB, | |
# but also for execution from the build directory. | |
bindir = os.path.abspath (os.path.dirname (sys.argv[0])) | |
topdir = os.path.dirname (bindir) | |
if bindir.endswith (r'/scripts/out'): | |
topdir = os.path.join (os.path.dirname (topdir), 'out') | |
datadir = os.path.abspath (os.path.join (topdir, 'share', 'lilypond')) | |
for v in [ 'current', '@TOPLEVEL_VERSION@' ]: | |
sys.path.insert (0, os.path.join (datadir, v, 'python')) | |
""" | |