[glib-networking/wip/inigomartinez/meson: 1/2] build: Port to meson build system



commit 7c3098467fdc3b98e3af038c6ca7a8acc055c6da
Author: Iñigo Martínez <inigomartinez gmail com>
Date:   Mon Aug 21 00:53:57 2017 +0200

    build: Port to meson build system

 Makefile.am                |   12 ++-
 glib-networking.map        |    8 ++
 meson.build                |  273 ++++++++++++++++++++++++++++++++++++++++++++
 meson_options.txt          |    6 +
 meson_post_install.py      |    9 ++
 po/meson.build             |    1 +
 proxy/gnome/Makefile.am    |    2 +
 proxy/gnome/meson.build    |   23 ++++
 proxy/libproxy/Makefile.am |    2 +
 proxy/libproxy/meson.build |   62 ++++++++++
 proxy/tests/Makefile.am    |    4 +-
 proxy/tests/meson.build    |   30 +++++
 template.test.in           |    4 +
 tls/gnutls/Makefile.am     |    2 +
 tls/gnutls/meson.build     |   43 +++++++
 tls/pkcs11/Makefile.am     |    2 +
 tls/pkcs11/meson.build     |   23 ++++
 tls/tests/Makefile.am      |    5 +-
 tls/tests/meson.build      |   95 +++++++++++++++
 19 files changed, 601 insertions(+), 5 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index a9826c0..d5f3ddd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -34,7 +34,13 @@ uninstall-hook:
                $(GIO_QUERYMODULES) $(GIO_MODULE_DIR) ;           \
        fi
 
-EXTRA_DIST +=          \
-       tap-driver.sh   \
-       tap-test        \
+EXTRA_DIST +=                  \
+       tap-driver.sh           \
+       tap-test                \
+       meson.build             \
+       meson_options.txt       \
+       meson_post_install.py   \
+       glib-networking.map     \
+       template.test.in        \
+       po/meson.build          \
        $(NULL)
diff --git a/glib-networking.map b/glib-networking.map
new file mode 100644
index 0000000..451e539
--- /dev/null
+++ b/glib-networking.map
@@ -0,0 +1,8 @@
+{
+global:
+  g_io_module_load;
+  g_io_module_unload;
+  g_io_module_query;
+local:
+       *;
+};
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..c6ae2ff
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,273 @@
+project(
+  'glib-networking', 'c',
+  version: '2.53.90',
+  license: 'GPL2+',
+  default_options: [
+    'buildtype=debugoptimized',
+    'warning_level=1'
+  ],
+  meson_version: '>= 0.41.0'
+)
+
+networking_version = meson.project_version()
+
+networking_prefix = get_option('prefix')
+networking_datadir = join_paths(networking_prefix, get_option('datadir'))
+networking_libdir = join_paths(networking_prefix, get_option('libdir'))
+networking_libexecdir = join_paths(networking_prefix, get_option('libexecdir'))
+networking_localedir = join_paths(networking_prefix, get_option('localedir'))
+
+networking_installed_test_metadir = join_paths(networking_datadir, 'installed-tests', meson.project_name())
+networking_installed_test_execdir = join_paths(networking_libexecdir, 'installed-tests', 
meson.project_name())
+
+cc = meson.get_compiler('c')
+
+config_h = configuration_data()
+
+# defines
+set_defines = [
+  # package
+  ['PACKAGE', meson.project_name()],
+  ['PACKAGE_BUGREPORT', 'http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=network'],
+  ['PACKAGE_NAME', meson.project_name()],
+  ['PACKAGE_STRING', '@0@ @1@'.format(meson.project_name(), networking_version)],
+  ['PACKAGE_TARNAME', meson.project_name()],
+  ['PACKAGE_URL', ''],
+  ['PACKAGE_VERSION', networking_version],
+  ['VERSION', networking_version],
+  # i18n
+  ['GETTEXT_PACKAGE', meson.project_name()]
+]
+
+foreach define: set_defines
+  config_h.set_quoted(define[0], define[1])
+endforeach
+
+# headers
+check_headers = [
+  ['HAVE_DLFCN_H', 'dlfcn.h'],
+  ['HAVE_INTTYPES_H', 'inttypes.h'],
+  ['HAVE_MEMORY_H', 'memory.h'],
+  ['HAVE_STDINT_H', 'stdint.h'],
+  ['HAVE_STDLIB_H', 'stdlib.h'],
+  ['HAVE_STRINGS_H', 'strings.h'],
+  ['HAVE_STRING_H', 'string.h'],
+  ['HAVE_SYS_STAT_H', 'sys/stat.h'],
+  ['HAVE_SYS_TYPES_H', 'sys/types.h'],
+  ['HAVE_UNISTD_H', 'unistd.h'],
+]
+
+foreach header: check_headers
+  config_h.set(header[0], cc.has_header(header[1]))
+endforeach
+
+# functions
+check_functions = [
+  # i18n
+  ['HAVE_DCGETTEXT', 'dcgettext'],
+  ['HAVE_GETTEXT', 'gettext'],
+  ['HAVE_ICONV', 'iconv']
+]
+
+if host_machine.system().contains('darwin')
+  check_functions += [
+    ['HAVE_CFLOCALECOPYCURRENT', 'CFLocaleCopyCurrent'],
+    ['HAVE_CFPREFERENCESCOPYAPPVALUE', 'CFPreferencesCopyAppValue']
+  ]
+endif
+
+foreach func: check_functions
+  config_h.set(func[0], cc.has_function(func[1]))
+endforeach
+
+# compiler flags
+common_flags = [
+  '-DHAVE_CONFIG_H',
+  '-DG_LOG_DOMAIN="GLib-Net"',
+  '-DLOCALE_DIR="@0@"'.format(networking_localedir),
+  '-DG_DISABLE_DEPRECATED',
+  '-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_46'
+]
+
+if get_option('buildtype').contains('debug')
+  test_flags = [
+    '-Werror=declaration-after-statement',
+    '-Werror=format=2',
+    '-Werror=implicit-function-declaration',
+    '-Werror=init-self',
+    '-Werror=missing-include-dirs',
+    '-Werror=missing-prototypes',
+    '-Werror=pointer-arith',
+    '-Wstrict-prototypes'
+  ]
+
+  foreach flag: test_flags
+    if cc.has_argument(flag)
+      common_flags += [flag]
+    endif
+  endforeach
+endif
+
+add_project_arguments(common_flags, language: 'c')
+
+symbol_map = join_paths(meson.current_source_dir(), meson.project_name() + '.map')
+
+test_ldflags = [
+  '-Wl,--version-script,' + symbol_map,
+  '-Wl,--no-undefined'
+]
+module_ldflags = []
+
+if host_machine.system().contains('linux')
+  foreach ldflag: test_ldflags
+    if cc.has_argument(ldflag)
+      module_ldflags += ldflag
+    endif
+  endforeach
+endif
+
+# *** Check GLib GIO        ***
+glib_dep = dependency('glib-2.0', version: '>= 2.46.0')
+gio_dep = dependency('gio-2.0')
+
+gio_module_dir = gio_dep.get_pkgconfig_variable('giomoduledir')
+assert(gio_module_dir != '', 'GIO_MODULE_DIR is missing from gio-2.0.pc')
+# FIXME: what about using ${libdir}/gio/modules?
+#gio_module_dir = join_paths(networking_libdir, 'gio', 'modules')
+
+# *** Checks for LibProxy   ***
+have_libproxy = false
+
+enable_libproxy = get_option('with-libproxy')
+if enable_libproxy != 'no'
+  libproxy_dep = dependency('libproxy-1.0', version: '>= 0.3.1', required: (enable_libproxy == 'yes'))
+  have_libproxy = libproxy_dep.found()
+  config_h.set('HAVE_LIBPROXY', have_libproxy)
+endif
+
+# *** Checks for GNOME proxy backend ***
+have_gnome_proxy = false
+
+enable_gnome_proxy = get_option('with-gnome-proxy')
+if enable_gnome_proxy != 'no'
+  gsettings_desktop_schemas_dep = dependency('gsettings-desktop-schemas', required: (enable_gnome_proxy == 
'yes'))
+  have_gnome_proxy = gsettings_desktop_schemas_dep.found()
+  config_h.set('HAVE_GNOME_PROXY', have_gnome_proxy)
+endif
+
+# *** Checks for GNUTLS     ***
+tls_support = []
+
+enable_gnutls = get_option('with-gnutls')
+if enable_gnutls
+  gnutls_dep = dependency('gnutls', version: '>= 3.0')
+  tls_support += ['gnutls']
+  pkcs_support = []
+
+  msg = 'location of system Certificate Authority list: '
+  ca_certificates = get_option('with-ca-certificates').strip()
+  if ca_certificates == 'no'
+    message(msg + 'disabled')
+  else
+    test_cmd = find_program('test')
+
+    if ca_certificates == ''
+      cert_file = '/etc/pki/tls/certs/ca-bundle.crt'
+      res = run_command(test_cmd, '-e', cert_file)
+
+      if res.returncode() != 0
+        cert_file = '/etc/ssl/certs/ca-certificates.crt'
+        res = run_command(test_cmd, '-e', cert_file)
+
+        if res.returncode() != 0
+          cert_file = '/etc/ssl/ca-bundle.pem'
+          res = run_command(test_cmd, '-e', cert_file)
+
+          assert(res.returncode() != 0, msg + 'could not find. Use -Dwith-ca-certificates=path to set, or 
-Dwith-ca-certificates=no to disable')
+          ca_certificates = cert_file
+        else
+          ca_certificates = cert_file
+        endif
+      else
+        ca_certificates = cert_file
+      endif
+    else
+      res = run_command(test_cmd, '-e', ca_certificates)
+      if res.returncode() != 0
+        ca_certificates = 'no'
+        message(msg + ca_certificates + ' does not exist')
+      endif
+    endif
+  endif
+
+  # *** Checks for pkcs11    ***
+  have_pkcs11 = false
+
+  enable_pkcs11 = get_option('with-pkcs11')
+  if enable_pkcs11 != 'no'
+    pkcs11_dep = dependency('p11-kit-1', version: '>= 0.8', required: (enable_pkcs11 == 'yes'))
+    have_pkcs11 = pkcs11_dep.found()
+    if have_pkcs11
+      tls_support += ['gnutls-pkcs11']
+      pkcs_support += ['p11-kit']
+    endif
+
+    config_h.set('HAVE_PKCS11', have_pkcs11,
+                 description: 'Building with PKCS#11 support')
+  endif
+endif
+
+config_h.set('HAVE_GNUTLS', enable_gnutls)
+
+configure_file(
+  output: 'config.h',
+  configuration: config_h
+)
+
+gnome = import('gnome')
+i18n = import('i18n')
+pkg = import('pkgconfig')
+
+po_dir = join_paths(meson.source_root(), 'po')
+
+top_inc = include_directories('.')
+
+subdir('po')
+
+enable_installed_tests = get_option('enable-installed-tests')
+test_template = files('template.test.in')
+test_programs = []
+
+if have_libproxy
+  subdir('proxy/libproxy')
+endif
+
+if have_gnome_proxy
+  subdir('proxy/gnome')
+endif
+
+if test_programs.length() > 0
+  subdir('proxy/tests')
+endif
+
+if enable_gnutls
+  if have_pkcs11
+    tls_inc = include_directories('tls')
+
+    subdir('tls/pkcs11')
+  endif
+
+  subdir('tls/gnutls')
+  subdir('tls/tests')
+endif
+
+meson.add_install_script('meson_post_install.py', gio_module_dir)
+
+output = '\n\n  Proxy support:     ' + have_libproxy.to_string() + '\n'
+output += '  TLS support:       ' + ' '.join(tls_support) + '\n'
+
+if tls_support.length() > 0
+  output += '  PKCS#11 Support:   ' + ' '.join(pkcs_support) + '\n'
+  output += '  TLS CA file:       ' + ca_certificates + '\n'
+endif
+message(output)
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..7335ba9
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,6 @@
+option('with-libproxy', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'support 
for libproxy')
+option('with-gnome-proxy', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 
'support for GNOME proxy configuration')
+option('with-gnutls', type: 'boolean', value: true, description: 'support for GNUTLS')
+option('with-ca-certificates', type: 'string', value: '', description: 'path to system Certificate Authority 
list')
+option('with-pkcs11', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'auto', description: 'support 
for pkcs11')
+option('enable-installed-tests', type: 'boolean', value: false, description: 'enable installed unit tests')
diff --git a/meson_post_install.py b/meson_post_install.py
new file mode 100644
index 0000000..3082d42
--- /dev/null
+++ b/meson_post_install.py
@@ -0,0 +1,9 @@
+#!/usr/bin/env python3
+
+import os
+import subprocess
+import sys
+
+if not os.environ.get('DESTDIR'):
+  print('GIO module cache creation...')
+  subprocess.call(['gio-querymodules', sys.argv[1]])
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 0000000..e9b77d7
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1 @@
+i18n.gettext(meson.project_name(), preset: 'glib')
diff --git a/proxy/gnome/Makefile.am b/proxy/gnome/Makefile.am
index 458a8a8..8403580 100644
--- a/proxy/gnome/Makefile.am
+++ b/proxy/gnome/Makefile.am
@@ -14,3 +14,5 @@ libgiognomeproxy_la_LDFLAGS = $(module_flags)
 libgiognomeproxy_la_LIBADD =           \
        $(GLIB_LIBS)                    \
        $(NULL)
+
+EXTRA_DIST += meson.build
diff --git a/proxy/gnome/meson.build b/proxy/gnome/meson.build
new file mode 100644
index 0000000..9c17492
--- /dev/null
+++ b/proxy/gnome/meson.build
@@ -0,0 +1,23 @@
+sources = files(
+  'gproxyresolvergnome.c',
+  'gnome-proxy-module.c'
+)
+
+deps = [
+  gio_dep,
+  glib_dep,
+  gsettings_desktop_schemas_dep
+]
+
+libgiognomeproxy = shared_module(
+  'giognomeproxy',
+  sources: sources,
+  include_directories: top_inc,
+  dependencies: deps,
+  link_args: module_ldflags,
+  link_depends: symbol_map,
+  install: true,
+  install_dir: gio_module_dir
+)
+
+test_programs += [['gnome', deps]]
diff --git a/proxy/libproxy/Makefile.am b/proxy/libproxy/Makefile.am
index a386827..4550329 100644
--- a/proxy/libproxy/Makefile.am
+++ b/proxy/libproxy/Makefile.am
@@ -50,3 +50,5 @@ CLEANFILES += $(systemd_user_DATA)
 
 glib-pacrunner.service: glib-pacrunner.service.in Makefile
        $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
+EXTRA_DIST += meson.build
diff --git a/proxy/libproxy/meson.build b/proxy/libproxy/meson.build
new file mode 100644
index 0000000..c9447ea
--- /dev/null
+++ b/proxy/libproxy/meson.build
@@ -0,0 +1,62 @@
+service_conf = configuration_data()
+service_conf.set('libexecdir', networking_libexecdir)
+
+service = 'org.gtk.GLib.PACRunner.service'
+
+configure_file(
+  input: service + '.in',
+  output: service,
+  install: true,
+  install_dir: join_paths(networking_datadir, 'dbus-1', 'services'),
+  configuration: service_conf
+)
+
+service = 'glib-pacrunner.service'
+
+configure_file(
+  input: service + '.in',
+  output: service,
+  install: true,
+  install_dir: join_paths(networking_libdir, 'systemd', 'user'),
+  configuration: service_conf
+)
+
+sources = files(
+  'glibproxyresolver.c',
+  'libproxy-module.c'
+)
+
+deps = [
+  gio_dep,
+  glib_dep,
+  libproxy_dep
+]
+
+libgiolibproxy = shared_module(
+  'giolibproxy',
+  sources: sources,
+  include_directories: top_inc,
+  dependencies: deps,
+  c_args: '-DGLIBPROXY_MODULE',
+  link_args: module_ldflags,
+  link_depends: symbol_map,
+  install: true,
+  install_dir: gio_module_dir
+)
+
+sources = files(
+  'glibproxyresolver.c',
+  'glibpacrunner.c'
+)
+
+executable(
+  'glib-pacrunner',
+  sources,
+  include_directories: top_inc,
+  dependencies: deps,
+  c_args: '-DGLIBPROXY_PACRUNNER',
+  install: true,
+  install_dir: networking_libexecdir
+)
+
+test_programs += [['libproxy', deps]]
diff --git a/proxy/tests/Makefile.am b/proxy/tests/Makefile.am
index 8155bce..db7bfff 100644
--- a/proxy/tests/Makefile.am
+++ b/proxy/tests/Makefile.am
@@ -19,4 +19,6 @@ if HAVE_LIBPROXY
 test_programs += libproxy
 endif
 
-EXTRA_DIST += common.c
+EXTRA_DIST +=          \
+       common.c        \
+       meson.build
diff --git a/proxy/tests/meson.build b/proxy/tests/meson.build
new file mode 100644
index 0000000..5f74088
--- /dev/null
+++ b/proxy/tests/meson.build
@@ -0,0 +1,30 @@
+cflags = [
+  '-DSRCDIR="@0@"'.format(meson.current_source_dir()),
+  '-DTOP_BUILDDIR="@0@"'.format(meson.build_root())
+]
+
+foreach program: test_programs
+  test_conf = configuration_data()
+  test_conf.set('installed_testdir', networking_installed_test_execdir)
+  test_conf.set('program', program[0])
+
+  configure_file(
+    input: test_template,
+    output: program[0] + '.test',
+    install: enable_installed_tests,
+    install_dir: networking_installed_test_metadir,
+    configuration: test_conf
+  )
+
+  exe = executable(
+    program[0],
+    program[0] + '.c',
+    include_directories: top_inc,
+    dependencies: program[1],
+    c_args: cflags,
+    install: enable_installed_tests,
+    install_dir: networking_installed_test_execdir
+  )
+
+  test(program[0], exe)
+endforeach
diff --git a/template.test.in b/template.test.in
new file mode 100644
index 0000000..6adf73f
--- /dev/null
+++ b/template.test.in
@@ -0,0 +1,4 @@
+[Test]
+Type=session
+Exec=@installed_tests_dir@/@program@ --tap
+Output=TAP
diff --git a/tls/gnutls/Makefile.am b/tls/gnutls/Makefile.am
index 2fb482f..8e5b542 100644
--- a/tls/gnutls/Makefile.am
+++ b/tls/gnutls/Makefile.am
@@ -58,3 +58,5 @@ libgiognutls_la_LIBADD =              \
        $(GLIB_LIBS)                    \
        $(GNUTLS_LIBS)                  \
        $(NULL)
+
+EXTRA_DIST += meson.build
diff --git a/tls/gnutls/meson.build b/tls/gnutls/meson.build
new file mode 100644
index 0000000..95733a2
--- /dev/null
+++ b/tls/gnutls/meson.build
@@ -0,0 +1,43 @@
+sources = files(
+  'gnutls-module.c',
+  'gtlsbackend-gnutls.c',
+  'gtlscertificate-gnutls.c',
+  'gtlsclientconnection-gnutls.c',
+  'gtlsconnection-gnutls.c',
+  'gtlsdatabase-gnutls.c',
+  'gtlsfiledatabase-gnutls.c',
+  'gtlsinputstream-gnutls.c',
+  'gtlsoutputstream-gnutls.c',
+  'gtlsserverconnection-gnutls.c'
+)
+
+incs = [top_inc]
+
+deps = [
+  gio_dep,
+  glib_dep,
+  gnutls_dep
+]
+
+if have_pkcs11
+  sources += files(
+    'gtlsbackend-gnutls-pkcs11.c',
+    'gtlscertificate-gnutls-pkcs11.c',
+    'gtlsdatabase-gnutls-pkcs11.c'
+  )
+
+  incs += tls_inc
+
+  deps += libgiopkcs11_dep
+endif
+
+libgiognutls = shared_module(
+  'giognutls',
+  sources: sources,
+  include_directories: incs,
+  dependencies: deps,
+  link_args: module_ldflags,
+  link_depends: symbol_map,
+  install: true,
+  install_dir: gio_module_dir
+)
diff --git a/tls/pkcs11/Makefile.am b/tls/pkcs11/Makefile.am
index 036207c..92b7825 100644
--- a/tls/pkcs11/Makefile.am
+++ b/tls/pkcs11/Makefile.am
@@ -22,3 +22,5 @@ libgiopkcs11_la_LIBADD =                      \
 AM_CPPFLAGS +=                                 \
        $(PKCS11_CFLAGS)                        \
        -DG_DISABLE_DEPRECATED
+
+EXTRA_DIST += meson.build
diff --git a/tls/pkcs11/meson.build b/tls/pkcs11/meson.build
new file mode 100644
index 0000000..76cabae
--- /dev/null
+++ b/tls/pkcs11/meson.build
@@ -0,0 +1,23 @@
+sources = files(
+  'gpkcs11array.c',
+  'gpkcs11pin.c',
+  'gpkcs11slot.c',
+  'gpkcs11util.c'
+)
+
+deps = [
+  glib_dep,
+  pkcs11_dep
+]
+
+libgiopkcs11 = static_library(
+  'giopkcs11',
+  sources: sources,
+  include_directories: top_inc,
+  dependencies: deps
+)
+
+libgiopkcs11_dep = declare_dependency(
+  link_with: libgiopkcs11,
+  include_directories: include_directories('.')
+)
diff --git a/tls/tests/Makefile.am b/tls/tests/Makefile.am
index 55e5032..ef0ab7b 100644
--- a/tls/tests/Makefile.am
+++ b/tls/tests/Makefile.am
@@ -69,4 +69,7 @@ testfilesdir = $(installed_testdir)/files
 testfiles_DATA = $(testfiles_data)
 endif
 
-EXTRA_DIST += $(testfiles_data)
+EXTRA_DIST +=                  \
+       $(testfiles_data)       \
+       meson.build             \
+       $(NULL)
diff --git a/tls/tests/meson.build b/tls/tests/meson.build
new file mode 100644
index 0000000..b0ff006
--- /dev/null
+++ b/tls/tests/meson.build
@@ -0,0 +1,95 @@
+incs = [top_inc]
+
+deps = [
+  gio_dep,
+  glib_dep,
+  gnutls_dep
+]
+
+cflags = [
+  '-DSRCDIR="@0@"'.format(meson.current_source_dir()),
+  '-DTOP_BUILDDIR="@0@"'.format(meson.build_root())
+]
+
+test_programs = [
+  ['certificate', [], deps],
+  ['file-database', [], deps],
+  ['connection', ['mock-interaction.c'], deps]
+]
+
+if have_pkcs11
+  incs += tls_inc
+
+  pkcs11_deps = deps + [
+    libgiopkcs11_dep,
+    pkcs11_dep
+  ]
+
+  test_programs += [
+    ['pkcs11-util', [], pkcs11_deps],
+    ['pkcs11-array', [], pkcs11_deps],
+    ['pkcs11-pin', [], pkcs11_deps],
+    ['pkcs11-slot', ['mock-interaction.c', 'mock-pkcs11.c'], pkcs11_deps]
+  ]
+endif
+
+foreach program: test_programs
+  test_conf = configuration_data()
+  test_conf.set('installed_testdir', networking_installed_test_execdir)
+  test_conf.set('program', program[0])
+
+  configure_file(
+    input: test_template,
+    output: program[0] + '.test',
+    install: enable_installed_tests,
+    install_dir: networking_installed_test_metadir,
+    configuration: test_conf
+  )
+
+  exe = executable(
+    program[0],
+    [program[0] + '.c'] + program[1],
+    include_directories: incs,
+    dependencies: program[2],
+    c_args: cflags,
+    install: enable_installed_tests,
+    install_dir: networking_installed_test_execdir
+  )
+
+  # FIXME: it fails to locate data files because they are copied only on install time and not in compile time
+  # ./tap-driver.sh --test-name connection --log-file connection.log --trs-file connection.trs --color-tests 
yes --enable-hard-errors yes --expect-failure no -- ./tap-test _build/tls/tests/connection
+  # ./tap-test /tmp/gn/libexec/installed-tests/glib-networking/file-database
+  #test(program[0], exe, args: ['-k', '--tap'])
+endforeach
+
+if enable_installed_tests
+  test_data = files(
+    'files/ca.pem',
+    'files/ca-alternative.pem',
+    'files/ca-key.pem',
+    'files/ca-roots.pem',
+    'files/ca-roots-bad.pem',
+    'files/ca-verisign-sha1.pem',
+    'files/chain.pem',
+    'files/chain-with-verisign-md2.pem',
+    'files/client-and-key.pem',
+    'files/client-future.pem',
+    'files/client-past.pem',
+    'files/client.pem',
+    'files/intermediate-ca.pem',
+    'files/non-ca.pem',
+    'files/server-and-key.pem',
+    'files/server.der',
+    'files/server-intermediate.pem',
+    'files/server-intermediate-key.pem',
+    'files/server-key.der',
+    'files/server-key.pem',
+    'files/server.pem',
+    'files/server-self.pem'
+  )
+
+  install_data(
+    test_data,
+    install_dir: join_paths(networking_installed_test_execdir, 'files')
+  )
+endif


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]