mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 01:47:47 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			171 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import os
 | 
						|
 | 
						|
SF_MIRROR = "http://iweb.dl.sourceforge.net"
 | 
						|
PILLOW_DEPENDS_DIR = "C:\\pillow-depends\\"
 | 
						|
 | 
						|
pythons = {
 | 
						|
    "27": {"compiler": 7, "vc": 2010},
 | 
						|
    "pypy2": {"compiler": 7, "vc": 2010},
 | 
						|
    "35": {"compiler": 7.1, "vc": 2015},
 | 
						|
    "36": {"compiler": 7.1, "vc": 2015},
 | 
						|
    "pypy3": {"compiler": 7.1, "vc": 2015},
 | 
						|
    "37": {"compiler": 7.1, "vc": 2015},
 | 
						|
    "38": {"compiler": 7.1, "vc": 2015},
 | 
						|
}
 | 
						|
 | 
						|
VIRT_BASE = "c:/vp/"
 | 
						|
X64_EXT = os.environ.get("X64_EXT", "x64")
 | 
						|
 | 
						|
libs = {
 | 
						|
    # 'openjpeg': {
 | 
						|
    #     'filename': 'openjpeg-2.0.0-win32-x86.zip',
 | 
						|
    #     'version': '2.0'
 | 
						|
    # },
 | 
						|
    "zlib": {
 | 
						|
        "url": "http://zlib.net/zlib1211.zip",
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "zlib1211.zip",
 | 
						|
        "dir": "zlib-1.2.11",
 | 
						|
    },
 | 
						|
    "jpeg": {
 | 
						|
        "url": "http://www.ijg.org/files/jpegsr9c.zip",
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "jpegsr9c.zip",
 | 
						|
        "dir": "jpeg-9c",
 | 
						|
    },
 | 
						|
    "tiff": {
 | 
						|
        "url": "ftp://download.osgeo.org/libtiff/tiff-4.0.10.tar.gz",
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "tiff-4.0.10.tar.gz",
 | 
						|
        "dir": "tiff-4.0.10",
 | 
						|
    },
 | 
						|
    "freetype": {
 | 
						|
        "url": "https://download.savannah.gnu.org/releases/freetype/freetype-2.10.1.tar.gz",  # noqa: E501
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "freetype-2.10.1.tar.gz",
 | 
						|
        "dir": "freetype-2.10.1",
 | 
						|
    },
 | 
						|
    "lcms": {
 | 
						|
        "url": SF_MIRROR + "/project/lcms/lcms/2.7/lcms2-2.7.zip",
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "lcms2-2.7.zip",
 | 
						|
        "dir": "lcms2-2.7",
 | 
						|
    },
 | 
						|
    "ghostscript": {
 | 
						|
        "url": "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs927/ghostscript-9.27.tar.gz",  # noqa: E501
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "ghostscript-9.27.tar.gz",
 | 
						|
        "dir": "ghostscript-9.27",
 | 
						|
    },
 | 
						|
    "tcl-8.5": {
 | 
						|
        "url": SF_MIRROR + "/project/tcl/Tcl/8.5.19/tcl8519-src.zip",
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "tcl8519-src.zip",
 | 
						|
        "dir": "",
 | 
						|
    },
 | 
						|
    "tk-8.5": {
 | 
						|
        "url": SF_MIRROR + "/project/tcl/Tcl/8.5.19/tk8519-src.zip",
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "tk8519-src.zip",
 | 
						|
        "dir": "",
 | 
						|
        "version": "8.5.19",
 | 
						|
    },
 | 
						|
    "tcl-8.6": {
 | 
						|
        "url": SF_MIRROR + "/project/tcl/Tcl/8.6.9/tcl869-src.zip",
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "tcl869-src.zip",
 | 
						|
        "dir": "",
 | 
						|
    },
 | 
						|
    "tk-8.6": {
 | 
						|
        "url": SF_MIRROR + "/project/tcl/Tcl/8.6.9/tk869-src.zip",
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "tk869-src.zip",
 | 
						|
        "dir": "",
 | 
						|
        "version": "8.6.9",
 | 
						|
    },
 | 
						|
    "webp": {
 | 
						|
        "url": "http://downloads.webmproject.org/releases/webp/libwebp-1.0.3.tar.gz",
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "libwebp-1.0.3.tar.gz",
 | 
						|
        "dir": "libwebp-1.0.3",
 | 
						|
    },
 | 
						|
    "openjpeg": {
 | 
						|
        "url": "https://github.com/uclouvain/openjpeg/archive/v2.3.1.tar.gz",
 | 
						|
        "filename": PILLOW_DEPENDS_DIR + "openjpeg-2.3.1.tar.gz",
 | 
						|
        "dir": "openjpeg-2.3.1",
 | 
						|
    },
 | 
						|
}
 | 
						|
 | 
						|
compilers = {
 | 
						|
    7: {
 | 
						|
        2010: {
 | 
						|
            64: {
 | 
						|
                "env_version": "v7.0",
 | 
						|
                "vc_version": "2010",
 | 
						|
                "env_flags": "/x64 /xp",
 | 
						|
                "inc_dir": "msvcr90-x64",
 | 
						|
                "platform": "x64",
 | 
						|
                "webp_platform": "x64",
 | 
						|
            },
 | 
						|
            32: {
 | 
						|
                "env_version": "v7.0",
 | 
						|
                "vc_version": "2010",
 | 
						|
                "env_flags": "/x86 /xp",
 | 
						|
                "inc_dir": "msvcr90-x32",
 | 
						|
                "platform": "Win32",
 | 
						|
                "webp_platform": "x86",
 | 
						|
            },
 | 
						|
        }
 | 
						|
    },
 | 
						|
    7.1: {
 | 
						|
        2015: {
 | 
						|
            64: {
 | 
						|
                "env_version": "v7.1",
 | 
						|
                "vc_version": "2015",
 | 
						|
                "env_flags": "/x64 /vista",
 | 
						|
                "inc_dir": "msvcr10-x64",
 | 
						|
                "platform": "x64",
 | 
						|
                "webp_platform": "x64",
 | 
						|
            },
 | 
						|
            32: {
 | 
						|
                "env_version": "v7.1",
 | 
						|
                "vc_version": "2015",
 | 
						|
                "env_flags": "/x86 /vista",
 | 
						|
                "inc_dir": "msvcr10-x32",
 | 
						|
                "platform": "Win32",
 | 
						|
                "webp_platform": "x86",
 | 
						|
            },
 | 
						|
        }
 | 
						|
    },
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
def pyversion_from_env():
 | 
						|
    py = os.environ["PYTHON"]
 | 
						|
 | 
						|
    py_version = "27"
 | 
						|
    for k in pythons:
 | 
						|
        if k in py:
 | 
						|
            py_version = k
 | 
						|
            break
 | 
						|
 | 
						|
    if "64" in py:
 | 
						|
        py_version = "%s%s" % (py_version, X64_EXT)
 | 
						|
 | 
						|
    return py_version
 | 
						|
 | 
						|
 | 
						|
def compiler_from_env():
 | 
						|
    py = os.environ["PYTHON"]
 | 
						|
 | 
						|
    for k, v in pythons.items():
 | 
						|
        if k in py:
 | 
						|
            py_info = v
 | 
						|
            break
 | 
						|
 | 
						|
    bit = bit_from_env()
 | 
						|
    return compilers[py_info["compiler"]][py_info["vc"]][bit]
 | 
						|
 | 
						|
 | 
						|
def bit_from_env():
 | 
						|
    py = os.environ["PYTHON"]
 | 
						|
 | 
						|
    return 64 if "64" in py else 32
 | 
						|
 | 
						|
 | 
						|
def all_compilers():
 | 
						|
    all = []
 | 
						|
    for vc_compilers in compilers.values():
 | 
						|
        for bit_compilers in vc_compilers.values():
 | 
						|
            all += bit_compilers.values()
 | 
						|
    return all
 |