Browse Source

WIP: meson.build

Alexandre Janniaux 6 years ago
parent
commit
ea7f00210a
1 changed files with 69 additions and 0 deletions
  1. 69 0
      meson.build

+ 69 - 0
meson.build

@@ -0,0 +1,69 @@
+project('bdsm', ['c'],
+    version: '0.3.0',
+    license: ['LGPL2'],
+    default_options: ['c_std=c99',
+                      'warning_level=2',
+                      'buildtype=release',
+                      'b_ndebug=if-release'],
+    meson_version: '>= 0.47.0')
+
+conf_data = configuration_data()
+conf_data.set('version', meson.project_version())
+config_header = configure_file(
+  input: 'config.h.in',
+  output: 'config.h',
+  configuration: conf_data)
+
+cc = meson.get_compiler('c')
+
+if cc.has_argument('-fvisibility=hidden')
+    add_project_arguments('-fvisibility=hidden', language: 'c')
+else
+    warning('Compiler does not support -fvisibility=hidden, all symbols will be public!')
+endif
+
+spnego_asn1_target = custom_target('spnego_asn1.c',
+  output: 'spnego_asn1.c',
+  input: 'contrib/spnego/spnego.asn1',
+  command: ['asn1Parser', '-o', '@INPUT@', '-n', 'spnego_asn1_conf',
+            '@OUTPUT@'])
+
+libdsm_sources = [
+  'contrib/mdx/md4.c',
+  'contrib/mdx/md5.c',
+  'contrib/rc4/rc4.c',
+  spnego_asn1_target,
+  'src/hmac_md5.c',
+  'src/netbios_ns.c',
+  'src/netbios_query.c',
+  'src/netbios_session.c',
+  'src/netbios_utils.c',
+  'src/smb_buffer.c',
+  'src/smb_dir.c',
+  'src/smb_fd.c',
+  'src/smb_file.c',
+  'src/smb_spnego.c',
+  'src/smb_message.c',
+  'src/smb_ntlm.c',
+  'src/smb_session.c',
+  'src/smb_session_msg.c',
+  'src/smb_share.c',
+  'src/smb_stat.c',
+  'src/smb_trans2.c',
+  'src/smb_transport.c',
+  'src/smb_utils.c' ]
+
+includes = include_directories('.', 'contrib', 'include', 'compat')
+
+libdsm = library('libdsm',
+  libdsm_sources,
+  version: meson.project_version(),
+  include_directories: includes)
+
+pkg_mod = import('pkgconfig')
+pkg_mod.generate(
+  libraries: libdsm,
+  version: meson.project_version(),
+  name: 'libdsm',
+  filebase: 'libdsm',
+  description: 'Minimalist and read-only smb client library')