meson: Support GDI integration
...and supersede the configuration option uniscribe with gdi, as Uniscribe is tightly tied to GDI. This means that enabling GDI would also mean enabling Uniscribe.
This commit is contained in:
parent
9d0e6aef8a
commit
838346c54a
|
@ -212,16 +212,17 @@ if fontconfig_dep.found()
|
||||||
deps += [fontconfig_dep]
|
deps += [fontconfig_dep]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# uniscribe (windows)
|
# GDI (uniscribe) (windows)
|
||||||
if host_machine.system() == 'windows' and not get_option('uniscribe').disabled()
|
if host_machine.system() == 'windows' and not get_option('gdi').disabled()
|
||||||
# TODO: make nicer once we have https://github.com/mesonbuild/meson/issues/3940
|
# TODO: make nicer once we have https://github.com/mesonbuild/meson/issues/3940
|
||||||
if cpp.has_header('usp10.h') and cpp.has_header('windows.h')
|
if cpp.has_header('usp10.h') and cpp.has_header('windows.h')
|
||||||
foreach usplib : ['usp10', 'gdi32', 'rpcrt4']
|
foreach usplib : ['usp10', 'gdi32', 'rpcrt4']
|
||||||
deps += [cpp.find_library(usplib, required: true)]
|
deps += [cpp.find_library(usplib, required: true)]
|
||||||
endforeach
|
endforeach
|
||||||
conf.set('HAVE_UNISCRIBE', 1)
|
conf.set('HAVE_UNISCRIBE', 1)
|
||||||
elif get_option('uniscribe').enabled()
|
conf.set('HAVE_GDI', 1)
|
||||||
error('uniscribe was enabled explicitly, but some required headers are missing.')
|
elif get_option('gdi').enabled()
|
||||||
|
error('gdi was enabled explicitly, but some required headers are missing.')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,8 @@ option('graphite', type: 'feature', value: 'disabled',
|
||||||
description: 'Enable Graphite2 complementary shaper')
|
description: 'Enable Graphite2 complementary shaper')
|
||||||
option('freetype', type: 'feature', value: 'auto',
|
option('freetype', type: 'feature', value: 'auto',
|
||||||
description: 'Enable freetype interop helpers')
|
description: 'Enable freetype interop helpers')
|
||||||
option('uniscribe', type: 'feature', value: 'disabled',
|
option('gdi', type: 'feature', value: 'disabled',
|
||||||
description: 'Enable Uniscribe shaper backend (Windows only)')
|
description: 'Enable GDI helpers and Uniscribe shaper backend (Windows only)')
|
||||||
option('directwrite', type: 'feature', value: 'disabled',
|
option('directwrite', type: 'feature', value: 'disabled',
|
||||||
description: 'Enable DirectWrite shaper backend on Windows (experimental)')
|
description: 'Enable DirectWrite shaper backend on Windows (experimental)')
|
||||||
option('coretext', type: 'feature', value: 'disabled',
|
option('coretext', type: 'feature', value: 'disabled',
|
||||||
|
|
|
@ -170,6 +170,11 @@ if conf.get('HAVE_FREETYPE', 0) == 1
|
||||||
hb_headers += hb_ft_headers
|
hb_headers += hb_ft_headers
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if conf.get('HAVE_GDI', 0) == 1
|
||||||
|
hb_sources += ['hb-gdi.cc']
|
||||||
|
hb_headers += ['hb-gdi.h']
|
||||||
|
endif
|
||||||
|
|
||||||
if conf.get('HAVE_GRAPHITE2', 0) == 1
|
if conf.get('HAVE_GRAPHITE2', 0) == 1
|
||||||
hb_sources += hb_graphite2_sources
|
hb_sources += hb_graphite2_sources
|
||||||
hb_headers += hb_graphite2_headers
|
hb_headers += hb_graphite2_headers
|
||||||
|
|
Loading…
Reference in New Issue