|
@@ -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')
|