mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-06-15 10:33:06 +03:00
add Raqm build configuration info to build summary
This commit is contained in:
parent
70fb148fc4
commit
e4cc42265d
34
setup.py
34
setup.py
|
@ -304,8 +304,8 @@ class pil_build_ext(build_ext):
|
||||||
def want(self, feat):
|
def want(self, feat):
|
||||||
return getattr(self, feat) is None
|
return getattr(self, feat) is None
|
||||||
|
|
||||||
def want_system(self, feat):
|
def want_vendor(self, feat):
|
||||||
return feat not in self.vendor
|
return feat in self.vendor
|
||||||
|
|
||||||
def __iter__(self):
|
def __iter__(self):
|
||||||
yield from self.features
|
yield from self.features
|
||||||
|
@ -710,14 +710,14 @@ class pil_build_ext(build_ext):
|
||||||
_add_directory(self.compiler.include_dirs, subdir, 0)
|
_add_directory(self.compiler.include_dirs, subdir, 0)
|
||||||
|
|
||||||
if feature.freetype and feature.want("raqm"):
|
if feature.freetype and feature.want("raqm"):
|
||||||
if feature.want_system("raqm"): # want system Raqm
|
if not feature.want_vendor("raqm"): # want system Raqm
|
||||||
_dbg("Looking for Raqm")
|
_dbg("Looking for Raqm")
|
||||||
if _find_include_file(self, "raqm.h"):
|
if _find_include_file(self, "raqm.h"):
|
||||||
if _find_library_file(self, "raqm"):
|
if _find_library_file(self, "raqm"):
|
||||||
feature.raqm = "raqm"
|
feature.raqm = "raqm"
|
||||||
elif _find_library_file(self, "libraqm"):
|
elif _find_library_file(self, "libraqm"):
|
||||||
feature.raqm = "libraqm"
|
feature.raqm = "libraqm"
|
||||||
else: # want to build Raqm
|
else: # want to build Raqm from src/thirdparty
|
||||||
_dbg("Looking for HarfBuzz")
|
_dbg("Looking for HarfBuzz")
|
||||||
feature.harfbuzz = None
|
feature.harfbuzz = None
|
||||||
hb_dir = _find_include_dir(self, "harfbuzz", "hb.h")
|
hb_dir = _find_include_dir(self, "harfbuzz", "hb.h")
|
||||||
|
@ -727,7 +727,7 @@ class pil_build_ext(build_ext):
|
||||||
if _find_library_file(self, "harfbuzz"):
|
if _find_library_file(self, "harfbuzz"):
|
||||||
feature.harfbuzz = "harfbuzz"
|
feature.harfbuzz = "harfbuzz"
|
||||||
if feature.harfbuzz:
|
if feature.harfbuzz:
|
||||||
if feature.want_system("fribidi"): # want system FriBiDi
|
if not feature.want_vendor("fribidi"): # want system FriBiDi
|
||||||
_dbg("Looking for FriBiDi")
|
_dbg("Looking for FriBiDi")
|
||||||
feature.fribidi = None
|
feature.fribidi = None
|
||||||
fribidi_dir = _find_include_dir(self, "fribidi", "fribidi.h")
|
fribidi_dir = _find_include_dir(self, "fribidi", "fribidi.h")
|
||||||
|
@ -739,7 +739,7 @@ class pil_build_ext(build_ext):
|
||||||
if _find_library_file(self, "fribidi"):
|
if _find_library_file(self, "fribidi"):
|
||||||
feature.fribidi = "fribidi"
|
feature.fribidi = "fribidi"
|
||||||
feature.raqm = True
|
feature.raqm = True
|
||||||
else: # want to build FriBiDi shim
|
else: # want to build FriBiDi shim from src/thirdparty
|
||||||
feature.raqm = True
|
feature.raqm = True
|
||||||
|
|
||||||
if feature.want("lcms"):
|
if feature.want("lcms"):
|
||||||
|
@ -841,18 +841,18 @@ class pil_build_ext(build_ext):
|
||||||
libs = ["freetype"]
|
libs = ["freetype"]
|
||||||
defs = []
|
defs = []
|
||||||
if feature.raqm:
|
if feature.raqm:
|
||||||
if feature.want_system("raqm"): # using system Raqm
|
if not feature.want_vendor("raqm"): # using system Raqm
|
||||||
defs.append(("HAVE_RAQM", None))
|
defs.append(("HAVE_RAQM", None))
|
||||||
defs.append(("HAVE_RAQM_SYSTEM", None))
|
defs.append(("HAVE_RAQM_SYSTEM", None))
|
||||||
libs.append(feature.raqm)
|
libs.append(feature.raqm)
|
||||||
else: # building Raqm
|
else: # building Raqm from src/thirdparty
|
||||||
defs.append(("HAVE_RAQM", None))
|
defs.append(("HAVE_RAQM", None))
|
||||||
srcs.append("src/thirdparty/raqm/raqm.c")
|
srcs.append("src/thirdparty/raqm/raqm.c")
|
||||||
libs.append(feature.harfbuzz)
|
libs.append(feature.harfbuzz)
|
||||||
if feature.want_system("fribidi"): # using system FriBiDi
|
if not feature.want_vendor("fribidi"): # using system FriBiDi
|
||||||
defs.append(("HAVE_FRIBIDI_SYSTEM", None))
|
defs.append(("HAVE_FRIBIDI_SYSTEM", None))
|
||||||
libs.append(feature.fribidi)
|
libs.append(feature.fribidi)
|
||||||
else: # building our FriBiDi shim
|
else: # building FriBiDi shim from src/thirdparty
|
||||||
srcs.append("src/thirdparty/fribidi-shim/fribidi.c")
|
srcs.append("src/thirdparty/fribidi-shim/fribidi.c")
|
||||||
self._update_extension("PIL._imagingft", libs, defs, srcs)
|
self._update_extension("PIL._imagingft", libs, defs, srcs)
|
||||||
|
|
||||||
|
@ -902,6 +902,12 @@ class pil_build_ext(build_ext):
|
||||||
print(f" [{v.strip()}")
|
print(f" [{v.strip()}")
|
||||||
print("-" * 68)
|
print("-" * 68)
|
||||||
|
|
||||||
|
raqm_extra_info = ""
|
||||||
|
if feature.want_vendor("raqm"):
|
||||||
|
raqm_extra_info += "bundled"
|
||||||
|
if feature.want_vendor("fribidi"):
|
||||||
|
raqm_extra_info += ", FriBiDi shim"
|
||||||
|
|
||||||
options = [
|
options = [
|
||||||
(feature.jpeg, "JPEG"),
|
(feature.jpeg, "JPEG"),
|
||||||
(feature.jpeg2000, "OPENJPEG (JPEG2000)", feature.openjpeg_version),
|
(feature.jpeg2000, "OPENJPEG (JPEG2000)", feature.openjpeg_version),
|
||||||
|
@ -909,7 +915,7 @@ class pil_build_ext(build_ext):
|
||||||
(feature.imagequant, "LIBIMAGEQUANT"),
|
(feature.imagequant, "LIBIMAGEQUANT"),
|
||||||
(feature.tiff, "LIBTIFF"),
|
(feature.tiff, "LIBTIFF"),
|
||||||
(feature.freetype, "FREETYPE2"),
|
(feature.freetype, "FREETYPE2"),
|
||||||
(feature.raqm, "RAQM (Text shaping)"), # TODO!!!
|
(feature.raqm, "RAQM (Text shaping)", raqm_extra_info),
|
||||||
(feature.lcms, "LITTLECMS2"),
|
(feature.lcms, "LITTLECMS2"),
|
||||||
(feature.webp, "WEBP"),
|
(feature.webp, "WEBP"),
|
||||||
(feature.webpmux, "WEBPMUX"),
|
(feature.webpmux, "WEBPMUX"),
|
||||||
|
@ -919,10 +925,10 @@ class pil_build_ext(build_ext):
|
||||||
all = 1
|
all = 1
|
||||||
for option in options:
|
for option in options:
|
||||||
if option[0]:
|
if option[0]:
|
||||||
version = ""
|
extra_info = ""
|
||||||
if len(option) >= 3 and option[2]:
|
if len(option) >= 3 and option[2]:
|
||||||
version = f" ({option[2]})"
|
extra_info = f" ({option[2]})"
|
||||||
print(f"--- {option[1]} support available{version}")
|
print(f"--- {option[1]} support available{extra_info}")
|
||||||
else:
|
else:
|
||||||
print(f"*** {option[1]} support not available")
|
print(f"*** {option[1]} support not available")
|
||||||
all = 0
|
all = 0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user