qulogic/libgnt

Fix more brokenness with GNT_DISABLE_DEPRECATED.
release-2.x.y
2019-06-03, Elliott Sales de Andrade
0ed43e4e8a74
Fix more brokenness with GNT_DISABLE_DEPRECATED.

Public names may be hidden, but we may still need something to use
later, even if the later field is hidden. Use the private name instead
for these hidden fields.
# UPDATING VERSION NUMBERS FOR RELEASES
#
# The version number is:
# <major>.<minor>.<micro><suffix>
#
# If any code has changed in libgnt:
# micro += 1
#
# If any functions have been added to libgnt:
# micro = 0
# minor += 1
#
# If backwards compatibility has been broken in libgnt:
# micro = 0
# minor = 0
# major += 1
# gnt_soversion += 1
#
# suffix should be similar to one of the following:
# For beta releases: '-beta2'
# For code under development: '-devel'
# For production releases: ''
#
# the last version for Finch 2 was 2.8.10,
# the first version for Finch 3 was 3.0.0
project('libgnt', 'c',
version : '2.14.0-devel',
meson_version : '>=0.37.0')
gnt_soversion = 0
parts = meson.project_version().split('-')
if parts.length() > 1
gnt_extra_version = parts[1]
else
gnt_extra_version = ''
endif
parts = parts[0].split('.')
gnt_major_version = parts[0]
gnt_minor_version = parts[1]
gnt_micro_version = parts[2]
gnt_config = configuration_data()
gnt_config.set('GNT_MAJOR_VERSION', gnt_major_version)
gnt_config.set('GNT_MINOR_VERSION', gnt_minor_version)
gnt_config.set('GNT_MICRO_VERSION', gnt_micro_version)
gnt_config.set_quoted('GNT_EXTRA_VERSION', gnt_extra_version)
gnt_config.set_quoted('GNT_VERSION', meson.project_version())
compiler = meson.get_compiler('c')
pkgconfig = import('pkgconfig')
# #######################################################################
# # Check for GLib 2.16
# #######################################################################
glib = dependency('glib-2.0', version : '>= 2.16.0')
gobject = dependency('gobject-2.0')
gmodule = dependency('gmodule-2.0')
gnome = import('gnome')
#######################################################################
# Check for LibXML2
#######################################################################
libxml = dependency('libxml-2.0', version : '>= 2.6.0', required : false)
gnt_config.set('NO_LIBXML', not libxml.found())
#######################################################################
# Check for ncurses and other things used by it
#######################################################################
ncurses_available = true
ncurses_inc = []
ncurses_libs = [
compiler.find_library('ncursesw', required : false),
compiler.find_library('panelw', required : false)
]
if not ncurses_libs[0].found() or not ncurses_libs[1].found()
ncurses_available = false
endif
if host_machine.system() == 'windows'
# FIXME: $host ?
ncurses_sys_prefix = '/usr/$host/sys-root/mingw'
else
ncurses_sys_prefix = '/usr'
endif
ncurses_sys_dirs = [ncurses_sys_prefix + '/include/ncursesw',
ncurses_sys_prefix + '/include']
if ncurses_available
# Some distros put the headers in ncursesw/, some don't
found_ncurses_h = false
foreach location : ncurses_sys_dirs
f = location + '/ncurses.h'
if not found_ncurses_h
if compiler.has_header_symbol(f, 'get_wch',
prefix : '#define _XOPEN_SOURCE_EXTENDED')
if location != '.'
ncurses_inc += [include_directories(location)]
endif
found_ncurses_h = true
endif
endif
endforeach
if not found_ncurses_h
ncurses_inc = []
ncurses_libs = []
ncurses_available = false
endif
else
# ncursesw was not found. Look for plain old ncurses
ncurses_libs = [
compiler.find_library('ncurses', required : false),
compiler.find_library('panel', required : false)
]
ncurses_available = ncurses_libs[0].found() and ncurses_libs[1].found()
gnt_config.set('NO_WIDECHAR', true)
endif
if not ncurses_available
error('ncurses could not be found!')
endif
ncurses = declare_dependency(
include_directories : ncurses_inc,
dependencies : ncurses_libs
)
libgnt_SOURCES = [
'gntwidget.c',
'gntbindable.c',
'gntbox.c',
'gntbutton.c',
'gntcheckbox.c',
'gntclipboard.c',
'gntcolors.c',
'gntcombobox.c',
'gntentry.c',
'gntfilesel.c',
'gntkeys.c',
'gntlabel.c',
'gntline.c',
'gntmenu.c',
'gntmenuitem.c',
'gntmenuitemcheck.c',
'gntprogressbar.c',
'gntslider.c',
'gntstyle.c',
'gnttextview.c',
'gnttree.c',
'gntutils.c',
'gntwindow.c',
'gntwm.c',
'gntws.c',
'gntmain.c'
]
libgnt_headers = [
'gntwidget.h',
'gntbindable.h',
'gntbox.h',
'gntbutton.h',
'gntcheckbox.h',
'gntclipboard.h',
'gntcolors.h',
'gntcombobox.h',
'gntentry.h',
'gntfilesel.h',
'gntkeys.h',
'gntlabel.h',
'gntline.h',
'gntmenu.h',
'gntmenuitem.h',
'gntmenuitemcheck.h',
'gntprogressbar.h',
'gntslider.h',
'gntstyle.h',
'gnttextview.h',
'gnttree.h',
'gntutils.h',
'gntwindow.h',
'gntwm.h',
'gntws.h',
'gnt.h'
]
# Check for Python headers
python_dep = dependency('python2', required : false)
gnt_config.set('USE_PYTHON', python_dep.found())
configure_file(output : 'gntconfig.h',
configuration : gnt_config)
install_headers(libgnt_headers, subdir : 'gnt')
if host_machine.system() == 'windows'
libgnt_SOURCES += windows.compile_resources('libgnt_winres.rc')
endif
gntmarshal = gnome.genmarshal('gntmarshal',
sources : 'genmarshal',
prefix : 'gnt_closure_marshal',
install_header : true,
install_dir : join_paths(get_option('includedir'), 'gnt'))
libgnt_inc = include_directories('.')
libgnt = library('gnt',
libgnt_SOURCES + gntmarshal,
install : true,
version : '@0@.@1@.@2@'.format(gnt_soversion,
gnt_minor_version,
gnt_micro_version),
dependencies : [ncurses, libxml, glib, gobject, gmodule, python_dep])
libgnt_dep = declare_dependency(
include_directories : libgnt_inc,
link_with : libgnt,
dependencies : [ncurses, glib])
pkgconfig.generate(
name : 'LibGNT',
description : 'Glib Ncurses Toolkit is a collection of curses-widgets.',
version : meson.project_version(),
filebase : 'gnt',
subdirs : 'gnt',
libraries : [libgnt],
requires : ['glib-2.0'],
variables : ['plugindir = ${libdir}/gnt'],
)
subdir('wms')
subdir('test')
subdir('doc')