File indexing completed on 2024-05-12 04:22:35
0001 # FindSIP.py 0002 # 0003 # SPDX-FileCopyrightText: 2007 Simon Edwards <simon@simonzone.com> 0004 # SPDX-FileCopyrightText: 2021 L. E. Segovia <amy@amyspark.me> 0005 # 0006 # SPDX-License-Identifier: BSD-3-Clause 0007 # 0008 0009 import os 0010 0011 def osAwareExecutable(filename): 0012 return filename if os.name != 'nt' else filename + ".exe" 0013 0014 def osAwareSuffix(): 0015 return os.path.join("lib", "python3.8", "site-packages","sipconfig.py") if os.name != 'nt' else os.path.join("lib","krita-python-libs","sipconfig.py") 0016 0017 try: 0018 import sipbuild 0019 0020 print("sip_version:%06.0x" % sipbuild.version.SIP_VERSION) 0021 print("sip_version_str:%s" % sipbuild.version.SIP_VERSION_STR) 0022 0023 import shutil 0024 0025 # sip v5 and higher need to invoke sip-build 0026 print("sip_bin:%s" % shutil.which("sip-build")) 0027 except ImportError: # Code for SIP <5 0028 import sipconfig 0029 0030 sipcfg = sipconfig.Configuration() 0031 sip_version = sipcfg.sip_version 0032 sip_version_str = sipcfg.sip_version_str 0033 sip_bin = sipcfg.sip_bin 0034 default_sip_dir = sipcfg.default_sip_dir 0035 sip_inc_dir = sipcfg.sip_inc_dir 0036 if not os.path.isfile(osAwareExecutable(sip_bin)): 0037 # Relocated deps, attempt to fix the paths... 0038 sipconfig_path = os.path.abspath(sipconfig.__file__) 0039 sipconfig_expected_suffix = osAwareSuffix() 0040 if sipconfig_path.endswith(sipconfig_expected_suffix): 0041 deps_prefix = sipconfig_path[:-len(sipconfig_expected_suffix)] 0042 sip_bin_expected_suffix = os.path.join("bin","sip") 0043 if sip_bin.endswith(sip_bin_expected_suffix): 0044 orig_prefix = sip_bin[:-len(sip_bin_expected_suffix)] 0045 if os.path.isfile(osAwareExecutable(sip_bin.replace(orig_prefix, deps_prefix, 1))): 0046 sip_bin = sip_bin.replace(orig_prefix, deps_prefix, 1) 0047 default_sip_dir = default_sip_dir.replace(orig_prefix, deps_prefix, 1) 0048 sip_inc_dir = sip_inc_dir.replace(orig_prefix, deps_prefix, 1) 0049 print("sip_version:%06.0x" % sip_version) 0050 print("sip_version_str:%s" % sip_version_str) 0051 print("sip_bin:%s" % sip_bin) 0052 print("default_sip_dir:%s" % default_sip_dir) 0053 print("sip_inc_dir:%s" % sip_inc_dir) 0054