diff options
-rw-r--r-- | meson.build | 57 | ||||
-rw-r--r-- | pango.pc.in | 13 | ||||
-rw-r--r-- | pango/meson.build | 52 | ||||
-rw-r--r-- | pangocairo.pc.in | 12 | ||||
-rw-r--r-- | pangoft2.pc.in | 12 | ||||
-rw-r--r-- | pangowin32.pc.in | 12 | ||||
-rw-r--r-- | pangoxft.pc.in | 11 |
7 files changed, 57 insertions, 112 deletions
diff --git a/meson.build b/meson.build index fb666138..c877d83f 100644 --- a/meson.build +++ b/meson.build @@ -6,7 +6,7 @@ project('pango', 'c', 'cpp', 'warning_level=1', 'c_std=c99', ], - meson_version : '>= 0.43.0') + meson_version : '>= 0.46.0') add_project_arguments([ '-D_POSIX_C_SOURCE=200809L', '-D_POSIX_THREAD_SAFE_FUNCTIONS', '-D_GNU_SOURCE', ], language: 'c') @@ -26,7 +26,8 @@ pango_interface_age = pango_minor_version.is_odd() ? 0 : pango_micro_version pango_binary_age = pango_minor_version * 100 + pango_micro_version pango_api_version = '@0@.0'.format(pango_major_version) -pango_api_path = 'pango-@0@/pango'.format(pango_api_version) +pango_api_name = 'pango-@0@'.format(pango_api_version) +pango_api_path = join_paths(pango_api_name, 'pango') pango_conf = configuration_data() @@ -123,11 +124,7 @@ if get_option('default_library') != 'static' endif # Check all compiler flags -foreach cflag: test_cflags - if cc.has_argument(cflag) - common_cflags += [ cflag ] - endif -endforeach +common_cflags += cc.get_supported_arguments(test_cflags) # Isolate the C++ compiler flags foreach cflag: common_cflags @@ -138,11 +135,7 @@ endforeach # Linker flags if host_machine.system() == 'linux' - foreach ldflag: [ '-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now', ] - if cc.has_argument(ldflag) - common_ldflags += [ ldflag ] - endif - endforeach + common_ldflags += cc.get_supported_link_arguments([ '-Wl,-Bsymbolic', '-Wl,-z,relro', '-Wl,-z,now', ]) endif # Maintain compatibility with autotools on macOS @@ -463,46 +456,8 @@ if cairo_dep.found() endif endif -# Compat variables for pkgconfig -pkgconf = configuration_data() -pkgconf.set('prefix', pango_prefix) -pkgconf.set('exec_prefix', pango_prefix) -pkgconf.set('libdir', pango_libdir) -pkgconf.set('includedir', pango_includedir) -pkgconf.set('VERSION', meson.project_version()) -pkgconf.set('PANGO_API_VERSION', pango_api_version) -pkgconf.set('PKGCONFIG_CAIRO_REQUIRES', pangocairo_requires) -pkgconf.set('CAIRO_PC', cairo_pc) -pkgconf.set('CAIRO_LIB', cairo_lib) -pkgconf.set('FREETYPE2_PC', freetype2_pc) -pkgconf.set('FREETYPE2_LIB', freetype2_lib) -pkgconf.set('FONTCONFIG_PC', fontconfig_pc) -pkgconf.set('FONTCONFIG_LIB', fontconfig_lib) -pkgconf.set('HARFBUZZ_PC', harfbuzz_pc) -pkgconf.set('HARFBUZZ_LIB', harfbuzz_lib) - -pkgconf_files = [ - [ 'pango.pc' ], - [ 'pangowin32.pc', host_system == 'windows' ], - [ 'pangoft2.pc', build_pangoft2 ], - [ 'pangoxft.pc', xft_dep.found() ], - [ 'pangocairo.pc', cairo_dep.found() ], -] - -foreach pkg: pkgconf_files - pkg_name = pkg[0] - pkg_enabled = pkg.get(1, true) - - if pkg_enabled - configure_file(input: pkg_name + '.in', - output: pkg_name, - configuration: pkgconf, - install: true, - install_dir: join_paths(pango_libdir, 'pkgconfig')) - endif -endforeach - gnome = import('gnome') +pkgconfig = import('pkgconfig') # Internal configuration header configure_file(output: 'config.h', configuration: pango_conf) diff --git a/pango.pc.in b/pango.pc.in deleted file mode 100644 index 81c074b1..00000000 --- a/pango.pc.in +++ /dev/null @@ -1,13 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: Pango -Description: Internationalized text handling -Version: @VERSION@ -Requires: glib-2.0 gobject-2.0 -Requires.private: fribidi -Libs: -L${libdir} -lpango-@PANGO_API_VERSION@ -Libs.private: -lm -Cflags: -I${includedir}/pango-1.0 diff --git a/pango/meson.build b/pango/meson.build index c44853de..f8b484a5 100644 --- a/pango/meson.build +++ b/pango/meson.build @@ -107,7 +107,7 @@ pango_cflags = [ pango_inc = include_directories('.') libpango = library( - 'pango-@0@'.format(pango_api_version), + pango_api_name, sources: pango_sources + pango_enums, version: pango_libversion, soversion: pango_soversion, @@ -153,6 +153,16 @@ libpango_dep = declare_dependency( sources: pango_dep_sources, ) +pkgconfig.generate(libpango, + name: 'Pango', + description: 'Internationalized text handling', + version: meson.project_version(), + filebase: 'pango', + subdirs: pango_api_name, + requires: gobject_dep, + install_dir: join_paths(pango_libdir, 'pkgconfig'), +) + # FreeType if build_pangoft2 pangoft2_headers = [ @@ -233,6 +243,16 @@ if build_pangoft2 dependencies: pango_deps + [ libpango_dep ], sources: pangoft2_dep_sources, ) + + pkgconfig.generate(libpangoft2, + name: 'Pango FT2 and Pango Fc', + description: 'Freetype 2.0 and fontconfig font support for Pango', + version: meson.project_version(), + filebase: 'pangoft2', + subdirs: pango_api_name, + requires: [ 'pango', freetype2_pc, fontconfig_pc ], + install_dir: join_paths(pango_libdir, 'pkgconfig'), + ) else # For usage as a subproject libpangoft2_dep = dependency('', required : false) @@ -292,6 +312,16 @@ if xft_dep.found() dependencies: pango_deps + [ libpango_dep, libpangoft2_dep ], sources: pangoxft_dep_sources, ) + + pkgconfig.generate(libpangoxft, + name: 'Pango Xft', + description: 'Xft font support for Pango', + version: meson.project_version(), + filebase: 'pangoxft', + subdirs: pango_api_name, + requires: [ 'pangoft2', 'xft' ], + install_dir: join_paths(pango_libdir, 'pkgconfig'), + ) else # For usage as a subproject libpangoxft_dep = dependency('', required: false) @@ -347,6 +377,16 @@ if host_system == 'windows' include_directories: root_inc, dependencies: pango_deps + [ libpango_dep ], ) + + pkgconfig.generate(libpangowin32, + name: 'Pango Win32', + description: 'Win32 GDI font support for Pango', + version: meson.project_version(), + filebase: 'pangowin32', + subdirs: pango_api_name, + requires: 'pango', + install_dir: join_paths(pango_libdir, 'pkgconfig'), + ) else # For usage as a subproject libpangowin32_dep = dependency('', required: false) @@ -446,6 +486,16 @@ if cairo_dep.found() dependencies: pango_deps + [ libpango_dep ], sources: pangocairo_dep_sources, ) + + pkgconfig.generate(libpangocairo, + name: 'Pango Cairo', + description: 'Cairo rendering support for Pango', + version: meson.project_version(), + filebase: 'pangocairo', + subdirs: pango_api_name, + requires: [ 'pango', cairo_pc ], + install_dir: join_paths(pango_libdir, 'pkgconfig'), + ) else # For usage as a subproject libpangocairo_dep = dependency('', required: false) diff --git a/pangocairo.pc.in b/pangocairo.pc.in deleted file mode 100644 index ea5e3262..00000000 --- a/pangocairo.pc.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: Pango Cairo -Description: Cairo rendering support for Pango -Version: @VERSION@ -Requires: pango @CAIRO_PC@ -Requires.private: @PKGCONFIG_CAIRO_REQUIRES@ -Libs: -L${libdir} -lpangocairo-@PANGO_API_VERSION@ @CAIRO_LIB@ -Cflags: -I${includedir}/pango-1.0 diff --git a/pangoft2.pc.in b/pangoft2.pc.in deleted file mode 100644 index 42eea21d..00000000 --- a/pangoft2.pc.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: Pango FT2 and Pango Fc -Description: Freetype 2.0 and fontconfig font support for Pango -Version: @VERSION@ -Requires: pango @FREETYPE2_PC@ @FONTCONFIG_PC@ -Requires.private: @HARFBUZZ_PC@ -Libs: -L${libdir} -lpangoft2-@PANGO_API_VERSION@ @FREETYPE2_LIB@ @FONTCONFIG_LIB@ @HARFBUZZ_LIB@ -Cflags: -I${includedir}/pango-1.0 diff --git a/pangowin32.pc.in b/pangowin32.pc.in deleted file mode 100644 index 34ea6a3c..00000000 --- a/pangowin32.pc.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: Pango Win32 -Description: Win32 GDI font support for Pango -Version: @VERSION@ -Requires: pango -Libs: -L${libdir} -lpangowin32-@PANGO_API_VERSION@ -Libs.private: -lusp10 -lgdi32 -Cflags: -I${includedir}/pango-1.0 diff --git a/pangoxft.pc.in b/pangoxft.pc.in deleted file mode 100644 index 66202ec7..00000000 --- a/pangoxft.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: Pango Xft -Description: Xft font support for Pango -Version: @VERSION@ -Requires: pango pangoft2 xft -Libs: -L${libdir} -lpangoxft-@PANGO_API_VERSION@ -Cflags: -I${includedir}/pango-1.0 |