upgrade to 2.14.2
[platform/upstream/fontconfig.git] / src / meson.build
1 fc_sources = [
2   'fcatomic.c',
3   'fccache.c',
4   'fccfg.c',
5   'fccharset.c',
6   'fccompat.c',
7   'fcdbg.c',
8   'fcdefault.c',
9   'fcdir.c',
10   'fcformat.c',
11   'fcfreetype.c',
12   'fcfs.c',
13   'fcptrlist.c',
14   'fchash.c',
15   'fcinit.c',
16   'fclang.c',
17   'fclist.c',
18   'fcmatch.c',
19   'fcmatrix.c',
20   'fcname.c',
21   'fcobjs.c',
22   'fcpat.c',
23   'fcrange.c',
24   'fcserialize.c',
25   'fcstat.c',
26   'fcstr.c',
27   'fcweight.c',
28   'fcxml.c',
29   'ftglue.c',
30 ]
31
32 # FIXME: obviously fragile, cc.preprocess would be sweet
33 cpp = cc.cmd_array()
34 if cc.get_id() == 'gcc'
35   cpp += ['-E', '-P']
36 elif cc.get_id() == 'msvc'
37   cpp += ['/EP']
38 elif cc.get_id() == 'clang'
39   cpp += ['-E', '-P']
40 else
41   error('FIXME: implement cc.preprocess')
42 endif
43
44 cpp += ['-I', join_paths(meson.current_source_dir(), '..')]
45
46 fcobjshash_gperf = custom_target('fcobjshash.gperf',
47   input: 'fcobjshash.gperf.h',
48   output: 'fcobjshash.gperf',
49   command: [python3, files('cutout.py')[0], '@INPUT@', '@OUTPUT@', '@BUILD_ROOT@', cpp],
50   build_by_default: true,
51 )
52
53 fcobjshash_h = custom_target('fcobjshash.h',
54   input: fcobjshash_gperf,
55   output: 'fcobjshash.h',
56   command: [gperf, '--pic', '-m', '100', '@INPUT@', '--output-file', '@OUTPUT@']
57 )
58
59 # Define FcPublic appropriately for exports on windows
60 fc_extra_c_args = []
61
62 if cc.get_argument_syntax() == 'msvc'
63   fc_extra_c_args += '-DFcPublic=__declspec(dllexport)'
64 endif
65
66 libfontconfig = library('fontconfig',
67   fc_sources, alias_headers, ft_alias_headers, fclang_h, fccase_h, fcobjshash_h,
68   c_args: c_args + fc_extra_c_args,
69   include_directories: incbase,
70   dependencies: deps,
71   install: true,
72   soversion: soversion,
73   version: libversion,
74   darwin_versions: osxversion,
75 )
76
77 fontconfig_dep = declare_dependency(link_with: libfontconfig,
78   include_directories: incbase,
79   dependencies: deps,
80 )
81
82 pkgmod.generate(libfontconfig,
83   description: 'Font configuration and customization library',
84   filebase: 'fontconfig',
85   name: 'Fontconfig',
86   requires: ['freetype2 ' + freetype_req],
87   version: fc_version,
88   variables: [
89     'sysconfdir=@0@'.format(join_paths(prefix, get_option('sysconfdir'))),
90     'localstatedir=@0@'.format(join_paths(prefix, get_option('localstatedir'))),
91     'confdir=@0@'.format(fc_baseconfigdir),
92     'cachedir=@0@'.format(fc_cachedir),
93   ])