xref: /aosp_15_r20/external/webp/swig/setup.py (revision b2055c353e87c8814eb2b6b1b11112a1562253bd)
1*b2055c35SXin Li#!/usr/bin/python
2*b2055c35SXin Li
3*b2055c35SXin Li"""distutils script for libwebp python module."""
4*b2055c35SXin Li
5*b2055c35SXin Lifrom distutils.core import setup
6*b2055c35SXin Lifrom distutils.extension import Extension
7*b2055c35SXin Liimport os
8*b2055c35SXin Liimport shutil
9*b2055c35SXin Liimport tempfile
10*b2055c35SXin Li
11*b2055c35SXin Litmpdir = tempfile.mkdtemp()
12*b2055c35SXin Lipackage = "com.google.webp"
13*b2055c35SXin Lipackage_path = os.path.join(tmpdir, *package.split("."))
14*b2055c35SXin Lios.makedirs(package_path)
15*b2055c35SXin Li
16*b2055c35SXin Li# Create __init_.py files along the package path.
17*b2055c35SXin Liinitpy_path = tmpdir
18*b2055c35SXin Lifor d in package.split("."):
19*b2055c35SXin Li  initpy_path = os.path.join(initpy_path, d)
20*b2055c35SXin Li  open(os.path.join(initpy_path, "__init__.py"), "w").close()
21*b2055c35SXin Li
22*b2055c35SXin Lishutil.copy2("libwebp.py", package_path)
23*b2055c35SXin Lisetup(name="libwebp",
24*b2055c35SXin Li      version="0.0",
25*b2055c35SXin Li      description="libwebp python wrapper",
26*b2055c35SXin Li      long_description="Provides access to 'simple' libwebp decode interface",
27*b2055c35SXin Li      license="BSD",
28*b2055c35SXin Li      url="http://developers.google.com/speed/webp",
29*b2055c35SXin Li      ext_package=package,
30*b2055c35SXin Li      ext_modules=[Extension("_libwebp",
31*b2055c35SXin Li                             ["libwebp_python_wrap.c"],
32*b2055c35SXin Li                             libraries=["webp"],
33*b2055c35SXin Li                            ),
34*b2055c35SXin Li                  ],
35*b2055c35SXin Li      package_dir={"": tmpdir},
36*b2055c35SXin Li      packages=["com", "com.google", "com.google.webp"],
37*b2055c35SXin Li      py_modules=[package + ".libwebp"],
38*b2055c35SXin Li     )
39*b2055c35SXin Li
40*b2055c35SXin Lishutil.rmtree(tmpdir)
41