~elementary-os/elementaryos/os-patch-gnome-bluetooth-bionic

« back to all changes in this revision

Viewing changes to meson.build

  • Committer: RabbitBot
  • Date: 2018-02-05 12:57:34 UTC
  • Revision ID: rabbitbot@elementary.io-20180205125734-a49s78k7asb5pokc
Initial import, version 3.26.1-3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
project(
 
2
  'gnome-bluetooth', 'c',
 
3
  version: '3.26.1',
 
4
  license: 'GPL2+',
 
5
  default_options: [
 
6
    'buildtype=debugoptimized',
 
7
    'warning_level=1'
 
8
  ],
 
9
  meson_version: '>= 0.41.0'
 
10
)
 
11
 
 
12
gnomebt_version = meson.project_version()
 
13
version_array = gnomebt_version.split('.')
 
14
gnomebt_major_version = version_array[0].to_int()
 
15
gnomebt_minor_version = version_array[1].to_int()
 
16
gnomebt_micro_version = version_array[2].to_int()
 
17
 
 
18
gnomebt_api_version = '1.0'
 
19
gnomebt_api_name = '@0@-@1@'.format(meson.project_name(), gnomebt_api_version)
 
20
 
 
21
gnomebt_gir_ns = 'GnomeBluetooth'
 
22
gnomebt_gir_version = '1.0'
 
23
 
 
24
gnomebt_gettext_package = meson.project_name() + '2'
 
25
 
 
26
gnomebt_prefix = get_option('prefix')
 
27
gnomebt_bindir = join_paths(gnomebt_prefix, get_option('bindir'))
 
28
gnomebt_datadir = join_paths(gnomebt_prefix, get_option('datadir'))
 
29
gnomebt_includedir = join_paths(gnomebt_prefix, get_option('includedir'))
 
30
gnomebt_libdir = join_paths(gnomebt_prefix, get_option('libdir'))
 
31
gnomebt_libexecdir = join_paths(gnomebt_prefix, get_option('libexecdir'))
 
32
gnomebt_localedir = join_paths(gnomebt_prefix, get_option('localedir'))
 
33
gnomebt_mandir = join_paths(gnomebt_prefix, get_option('mandir'))
 
34
 
 
35
gnomebt_pkgdatadir = join_paths(gnomebt_datadir, meson.project_name())
 
36
gnomebt_pkglibdir = join_paths(gnomebt_libdir, meson.project_name())
 
37
 
 
38
gnomebt_icondir = join_paths(gnomebt_datadir, 'icons')
 
39
 
 
40
gnomebt_buildtype = get_option('buildtype')
 
41
gnomebt_debug = gnomebt_buildtype.contains('debug')
 
42
 
 
43
# options
 
44
enable_gtk_doc = get_option('enable-gtk-doc')
 
45
enable_gir = get_option('enable-introspection')
 
46
 
 
47
# Before making a release, the GNOMEBT_LT_VERSION string should be modified.
 
48
# The string is of the form C:R:A.
 
49
# - If interfaces have been changed or added, but binary compatibility has
 
50
#   been preserved, change to C+1:0:A+1
 
51
# - If binary compatibility has been broken (eg removed or changed interfaces)
 
52
#   change to C+1:0:0
 
53
# - If the interface is the same as the previous version, change to C:R+1:A
 
54
current = 13
 
55
revision = 1
 
56
age = 0
 
57
 
 
58
libversion = '@0@.@1@.@2@'.format(current, age, revision)
 
59
 
 
60
cc = meson.get_compiler('c')
 
61
 
 
62
config_h = configuration_data()
 
63
 
 
64
# defines
 
65
set_defines = [
 
66
  # package
 
67
  ['PACKAGE', meson.project_name()],
 
68
  ['PACKAGE_BUGREPORT', 'http://bugzilla.gnome.org/enter_bug.cgi?product=' + meson.project_name()],
 
69
  ['PACKAGE_NAME', meson.project_name()],
 
70
  ['PACKAGE_STRING', '@0@ @1@'.format(meson.project_name(), gnomebt_version)],
 
71
  ['PACKAGE_TARNAME', meson.project_name()],
 
72
  ['PACKAGE_URL', ''],
 
73
  ['PACKAGE_VERSION', gnomebt_version],
 
74
  ['VERSION', gnomebt_version],
 
75
  # i18n
 
76
  ['GETTEXT_PACKAGE', gnomebt_gettext_package],
 
77
  ['LOCALEDIR', gnomebt_localedir]
 
78
]
 
79
 
 
80
foreach define: set_defines
 
81
  config_h.set_quoted(define[0], define[1])
 
82
endforeach
 
83
 
 
84
# debug
 
85
config_h.set('NDEBUG', not gnomebt_debug)
 
86
config_h.set('GNOME_ENABLE_DEBUG', gnomebt_debug)
 
87
 
 
88
# headers
 
89
check_headers = [
 
90
  ['HAVE_DLFCN_H', 'dlfcn.h'],
 
91
  ['HAVE_INTTYPES_H', 'inttypes.h'],
 
92
  ['HAVE_MEMORY_H', 'memory.h'],
 
93
  ['HAVE_STDINT_H', 'stdint.h'],
 
94
  ['HAVE_STDLIB_H', 'stdlib.h'],
 
95
  ['HAVE_STRINGS_H', 'strings.h'],
 
96
  ['HAVE_STRING_H', 'string.h'],
 
97
  ['HAVE_SYS_STAT_H', 'sys/stat.h'],
 
98
  ['HAVE_SYS_TYPES_H', 'sys/types.h'],
 
99
  ['HAVE_UNISTD_H', 'unistd.h']
 
100
]
 
101
 
 
102
foreach header: check_headers
 
103
  config_h.set(header[0], cc.has_header(header[1]))
 
104
endforeach
 
105
 
 
106
# compiler flags
 
107
common_flags = [
 
108
  '-DHAVE_CONFIG_H',
 
109
  '-DBONOBO_DISABLE_DEPRECATED',
 
110
  '-DBONOBO_DISABLE_SINGLE_INCLUDES',
 
111
  '-DBONOBO_UI_DISABLE_DEPRECATED',
 
112
  '-DBONOBO_UI_DISABLE_SINGLE_INCLUDES',
 
113
  '-DGCONF_DISABLE_DEPRECATED',
 
114
  '-DGCONF_DISABLE_SINGLE_INCLUDES',
 
115
  '-DGNOME_DISABLE_DEPRECATED',
 
116
  '-DGNOME_DISABLE_SINGLE_INCLUDES',
 
117
  '-DGNOME_VFS_DISABLE_DEPRECATED',
 
118
  '-DGNOME_VFS_DISABLE_SINGLE_INCLUDES',
 
119
  '-DLIBGLADE_DISABLE_DEPRECATED',
 
120
  '-DLIBGLADE_DISABLE_SINGLE_INCLUDES',
 
121
  '-DLIBSOUP_DISABLE_DEPRECATED',
 
122
  '-DLIBSOUP_DISABLE_SINGLE_INCLUDES',
 
123
  '-DWNCK_DISABLE_DEPRECATED',
 
124
  '-DWNCK_DISABLE_SINGLE_INCLUDES'
 
125
]
 
126
 
 
127
compiler_flags = []
 
128
if gnomebt_debug
 
129
  test_flags = [
 
130
    '-Werror=format=2',
 
131
    '-Werror=implicit-function-declaration',
 
132
    '-Werror=init-self',
 
133
    '-Werror=missing-prototypes',
 
134
    '-Werror=missing-include-dirs',
 
135
    '-Werror=pointer-arith',
 
136
    '-Werror=return-type',
 
137
    '-Wnested-externs',
 
138
    '-Wstrict-prototypes'
 
139
  ]
 
140
 
 
141
  foreach flag: test_flags
 
142
    if cc.has_argument(flag)
 
143
      compiler_flags += [flag]
 
144
    endif
 
145
  endforeach
 
146
endif
 
147
 
 
148
add_project_arguments(common_flags + compiler_flags, language: 'c')
 
149
 
 
150
gtk_dep = dependency('gtk+-3.0', version: '>= 3.12.0')
 
151
 
 
152
m_dep = cc.find_library('m')
 
153
config_h.set('HAVE_LIBM', m_dep.found() and cc.has_function('sin', dependencies: m_dep))
 
154
 
 
155
configure_file(
 
156
  output: 'config.h',
 
157
  configuration: config_h
 
158
)
 
159
 
 
160
gnome = import('gnome')
 
161
i18n = import('i18n')
 
162
pkg = import('pkgconfig')
 
163
 
 
164
po_dir = join_paths(meson.source_root(), 'po')
 
165
 
 
166
top_inc = include_directories('.')
 
167
 
 
168
subdir('icons')
 
169
subdir('lib')
 
170
subdir('sendto')
 
171
 
 
172
if enable_gtk_doc
 
173
  subdir('docs/reference/libgnome-bluetooth')
 
174
endif
 
175
 
 
176
subdir('po')
 
177
 
 
178
meson.add_install_script('meson_post_install.py', get_option('enable-icon-update') ? 'icon-update' : '')
 
179
 
 
180
output = '\nConfigure summary:\n\n'
 
181
output += '        Compiler....................:  ' + cc.get_id() + '\n\n'
 
182
output += '        Compiler Flags..............:  ' + ' '.join(compiler_flags) + '\n'
 
183
output += '        Prefix......................:  ' + gnomebt_prefix + '\n'
 
184
output += '        Documentation...............:  ' + enable_gtk_doc.to_string() + '\n'
 
185
output += '        GObject-Introspection.......:  ' + enable_gir.to_string()
 
186
message(output)