# # Copyright (C) 2026 Carl Hetherington # # This file is part of libttf. # # libttf 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 2 of the License, or # (at your option) any later version. # # libttf 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 libttf. If not, see . # import os import shutil def build_with_cpp17(target): return ( target.platform.startswith('osx') or (target.platform == 'linux' and target.distro == 'debian' and target.version == 'unstable') or (target.platform == 'linux' and target.distro == 'rocky' and target.version == '10') ) def build(target, options, for_package, version): cmd = './waf configure --prefix=%s' % target.directory if target.platform == 'linux': cmd += ' --static' elif target.platform == 'windows': cmd += f' --target-windows-{target.bits}' if ('c++17' in options and options['c++17']) or build_with_cpp17(target): cmd += ' --c++17' if for_package: cmd += ' --disable-tests' target.command(cmd) target.command('./waf build install') def test(target, options, test): target.set('LC_ALL', 'C') cmd = 'run/tests ' if test is not None: cmd += '-t %s' % test target.command(cmd)