python_dep = dependency('python3')
python = find_program('python3')
-pythondetector = find_program('pythondetector')
-py_so_suffix = run_command(pythondetector, '--sosuffix').stdout().strip()
-python_abi_flags = run_command(pythondetector, '--abiflags').stdout().strip()
-pylib_loc = run_command(pythondetector, '--libloc').stdout().strip()
+pythondetector = find_program('scripts/pythondetector')
+
+cres = run_command(pythondetector, '--sosuffix')
+if cres.returncode() != 0
+ error('Could not detect python sosuffix' + cres.stdout() + cres.stderr())
+endif
+py_so_suffix = cres.stdout().strip()
+
+cres = run_command(pythondetector, '--abiflags')
+if cres.returncode() != 0
+ error('Could not detect python abiflags' + cres.stdout() + cres.stderr())
+endif
+python_abi_flags = cres.stdout().strip()
+
+cres = run_command(pythondetector, '--libloc')
+if cres.returncode() != 0
+ error('Could not detect python library location' + cres.stdout() + cres.stderr())
+endif
+pylib_loc = cres.stdout().strip()
+
assert(pylib_loc != 'None', 'Python dynamic library path could not be determined')
pygi_override_dir = get_option('pygi-overrides-dir')
if pygi_override_dir == ''
- pygi_override_dir = run_command(pythondetector, '--pygi-overridedir').stdout().strip()
+ cres = run_command(pythondetector, '--pygi-overridedir',
+ get_option('prefix'))
+ if cres.returncode() != 0
+ error('Could not detect PyGObject overrides location' + cres.stdout() + cres.stderr())
+ endif
+ pygi_override_dir = cres.stdout().strip()
+ if cres.stderr() != ''
+ message(cres.stderr())
+ endif
endif
message('pygobject overrides directory ' + pygi_override_dir)
elif host_machine.system() == 'darwin'
pylib_suffix = 'dylib'
endif
-
cdata = configuration_data()
cdata.set('PACKAGE', '"gst-python"')
cdata.set('VERSION', '"@0@"'.format(gst_version))
+++ /dev/null
-#!/usr/bin/env python3
-import os
-import platform
-import subprocess
-import sys
-
-from distutils import sysconfig
-
-
-def get_python_abiflags():
- return sysconfig.get_config_var("ABIFLAGS")
-
-def get_python_libloc():
- # OSX is a pain. Python as shipped by apple installs libpython in /usr/lib
- # so we hardcode that. Other systems can use --with-libpython-dir to
- # override this.
- if platform.system().lower() == 'darwin':
- return '/usr/lib'
-
- pylib_loc = sysconfig.get_config_var("LIBPL")
- pylib_ldlibrary = sysconfig.get_config_var("LDLIBRARY")
-
- py_sharedlib = os.path.join(pylib_loc, pylib_ldlibrary)
- if os.path.exists(py_sharedlib):
- return pylib_loc
-
- # Workaround for Fedora
- pylib_loc = sysconfig.get_config_var("LIBDIR")
- pylib_ldlibrary = sysconfig.get_config_var("LDLIBRARY")
-
- py_sharedlib = os.path.join(pylib_loc, pylib_ldlibrary)
- if os.path.exists(py_sharedlib):
- return pylib_loc
-
- return "None"
-
-
-if __name__ == "__main__":
- if len(sys.argv) > 2:
- print("Only 1 argument accepted")
- exit(1)
-
- if sys.argv[1] == '--abiflags':
- print(get_python_abiflags())
- elif sys.argv[1] == '--sosuffix':
- get = sysconfig.get_config_var
- suffix = get("EXT_SUFFIX") or get("SO") or ".so"
- print(suffix[1:])
- elif sys.argv[1] == '--pygi-overridedir':
- import gi
- print(gi._overridesdir)
- elif sys.argv[1] == '--libloc':
- print(get_python_libloc())
--- /dev/null
+#!/usr/bin/env python3
+import os
+import platform
+import subprocess
+import sys
+
+from distutils import sysconfig
+
+
+def get_python_abiflags():
+ return sysconfig.get_config_var("ABIFLAGS")
+
+def get_python_libloc():
+ # OSX is a pain. Python as shipped by apple installs libpython in /usr/lib
+ # so we hardcode that. Other systems can use --with-libpython-dir to
+ # override this.
+ if platform.system().lower() == 'darwin':
+ return '/usr/lib'
+
+ pylib_loc = sysconfig.get_config_var("LIBPL")
+ pylib_ldlibrary = sysconfig.get_config_var("LDLIBRARY")
+
+ py_sharedlib = os.path.join(pylib_loc, pylib_ldlibrary)
+ if os.path.exists(py_sharedlib):
+ return pylib_loc
+
+ # Workaround for Fedora
+ pylib_loc = sysconfig.get_config_var("LIBDIR")
+ pylib_ldlibrary = sysconfig.get_config_var("LDLIBRARY")
+
+ py_sharedlib = os.path.join(pylib_loc, pylib_ldlibrary)
+ if os.path.exists(py_sharedlib):
+ return pylib_loc
+
+ return "None"
+
+
+if __name__ == "__main__":
+ if len(sys.argv) > 3:
+ print("At most 2 arguments accepted")
+ exit(1)
+
+ if sys.argv[1] == '--abiflags':
+ print(get_python_abiflags())
+ elif sys.argv[1] == '--sosuffix':
+ get = sysconfig.get_config_var
+ suffix = get("EXT_SUFFIX") or get("SO") or ".so"
+ print(suffix[1:])
+ elif sys.argv[1] == '--pygi-overridedir':
+ prefix = sys.argv[2]
+ version = sys.version_info
+
+ # If we are installing in the same prefix as PyGobject
+ # make sure to install in the right place.
+ import gi
+ if os.path.commonprefix([gi._overridesdir, prefix]) == prefix:
+ print(gi._overridesdir)
+ exit(0)
+
+ # Otherwise follow python's way of install site packages inside
+ # the provided prefix
+ if os.name == 'posix':
+ print(os.path.join(
+ prefix, 'lib', 'python%d.%d' % (version.major, version.minor),
+ 'site-packages', 'gi', 'overrides'))
+ else:
+ print(os.path.join(
+ prefix, 'Lib', 'Python%d%d' % (version.major, version.minor),
+ 'site-packages', 'gi', 'overrides'))
+ elif sys.argv[1] == '--libloc':
+ print(get_python_libloc())