[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet] 02/02: BUILD: More meson subsystems
From: |
gnunet |
Subject: |
[gnunet] 02/02: BUILD: More meson subsystems |
Date: |
Wed, 20 Sep 2023 18:12:00 +0200 |
This is an automated email from the git hooks/post-receive script.
martin-schanzenbach pushed a commit to branch master
in repository gnunet.
commit c97422c008441a884bf3f3b9f2cf40edf5fc4ccf
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Wed Sep 20 18:11:54 2023 +0200
BUILD: More meson subsystems
---
meson.build | 12 ++++++++++-
src/dns/meson.build | 32 ++++++++++++++++++++++++++++++
src/gnsrecord/meson.build | 25 +++++++++++++++++++++++
src/hostlist/meson.build | 22 +++++++++++++++++++++
src/identity/meson.build | 24 ++++++++++++++++++++++
src/meson.build | 18 ++++++++---------
src/namecache/meson.build | 41 ++++++++++++++++++++++++++++++++++++++
src/namestore/meson.build | 46 +++++++++++++++++++++++++++++++++++++++++++
src/peerinfo-tool/meson.build | 13 ++++++++++++
src/regex/meson.build | 33 +++++++++++++++++++++++++++++++
src/topology/meson.build | 27 +++++++++++++++++++++++++
11 files changed, 283 insertions(+), 10 deletions(-)
diff --git a/meson.build b/meson.build
index b31f44dcb..db6611880 100644
--- a/meson.build
+++ b/meson.build
@@ -23,6 +23,15 @@ cdata.set('enable_experimental', get_option('experimental'))
# FIXME
cdata.set('extractor', 0)
+
+# Various checks
+if compiler.has_member ('struct sockaddr_in', 'sin_len', prefix : ['#include
<sys/types.h>', '#include <sys/socket.h>', '#include <netinet/in.h>'])
+ add_project_arguments('-DHAVE_SOCKADDR_IN_SIN_LEN', language: 'c')
+endif
+if compiler.has_member ('struct sockaddr_un', 'sun_len', prefix : ['#include
<sys/types.h>', '#include <sys/socket.h>', '#include <sys/un.h>'])
+ add_project_arguments('-DHAVE_SOCKADDR_UN_SUN_LEN', language: 'c')
+endif
+
message('Building on ' + host_machine.system())
# TODO:
@@ -74,9 +83,10 @@ zlib_dep = dependency('zlib')
mhd_dep = dependency('libmicrohttpd')
json_dep = compiler.find_library('jansson', required : true)
gcrypt_dep = dependency('libgcrypt')
+sodium_dep = dependency('libsodium')
gnunetdeps = [mhd_dep,
+ sodium_dep,
gcrypt_dep,
- dependency('libsodium'),
curl_dep,
json_dep,
zlib_dep,
diff --git a/src/dns/meson.build b/src/dns/meson.build
new file mode 100644
index 000000000..056a499b6
--- /dev/null
+++ b/src/dns/meson.build
@@ -0,0 +1,32 @@
+libgnunetdns_src = ['dns_api.c']
+libgnunetpluginblockdns_src = ['plugin_block.c']
+
+gnunetservicedns_src = ['gnunet-service-dns.c']
+gnunetdnsredirector_src = ['gnunet-dns-monitor.c']
+gnunetdnsmonitor_src = ['gnunet-dns-redirector.c']
+
+
+if gnunet_monolith == false
+ libgnunetdns = library('gnunetdns',
+ libgnunetdns_src,
+ dependencies: libgnunetutil_dep,
+ include_directories: [incdir, configuration_inc])
+ libgnunetdns_dep = declare_dependency(link_with : libgnunetdns)
+ executable ('gnunet-service-dns',
+ gnunetservicedns_src,
+ dependencies: [libgnunetdns_dep, libgnunetutil_dep,
+ libgnunetstatistics_dep],
+ include_directories: [incdir, configuration_inc])
+ executable ('gnunet-dns-monitor',
+ gnunetdnsmonitor_src,
+ dependencies: [libgnunetdns_dep, libgnunetutil_dep,
libgnunetdns_dep],
+ include_directories: [incdir, configuration_inc])
+ executable ('gnunet-dns-redirector',
+ gnunetdnsredirector_src,
+ dependencies: [libgnunetdns_dep, libgnunetutil_dep,
libgnunetdns_dep],
+ include_directories: [incdir, configuration_inc])
+else
+ foreach p : libgnunetdns_src + gnunetservicedns_src + gnunetdnsmonitor_src +
gnunetdnsredirector_src + libgnunetpluginblockdns_src
+ gnunet_src += 'dns/' + p
+ endforeach
+endif
diff --git a/src/gnsrecord/meson.build b/src/gnsrecord/meson.build
new file mode 100644
index 000000000..1a6b5e6ff
--- /dev/null
+++ b/src/gnsrecord/meson.build
@@ -0,0 +1,25 @@
+libgnunetgnsrecord_src = ['gnsrecord.c',
+ 'gnsrecord_serialization.c',
+ 'gnsrecord_crypto.c',
+ 'gnsrecord_misc.c']
+libgnunetgnsrecordjson_src = ['json_gnsrecord.c']
+
+if gnunet_monolith == false
+ libgnunetgnsrecord = library('gnunetgnsrecord',
+ libgnunetgnsrecord_src,
+ dependencies: [libgnunetutil_dep,
+ sodium_dep,
+ libgnunetidentity_dep,
+ gcrypt_dep],
+ include_directories: [incdir, configuration_inc])
+ libgnunetgnsrecord_dep = declare_dependency(link_with : libgnunetgnsrecord)
+ libgnunetgnsrecordjson = library('gnunetgnsrecordjson',
+ libgnunetgnsrecordjson_src,
+ dependencies: [libgnunetutil_dep, libgnunetgnsrecord_dep, json_dep],
+ include_directories: [incdir, configuration_inc])
+ libgnunetgnsrecordjson_dep = declare_dependency(link_with :
libgnunetgnsrecord)
+else
+ foreach p : libgnunetgnsrecord_src + libgnunetgnsrecordjson_src
+ gnunet_src += 'gnsrecord/' + p
+ endforeach
+endif
diff --git a/src/hostlist/meson.build b/src/hostlist/meson.build
new file mode 100644
index 000000000..225f69359
--- /dev/null
+++ b/src/hostlist/meson.build
@@ -0,0 +1,22 @@
+gnunetdaemonhostlist_src = ['gnunet-daemon-hostlist.c',
+ 'gnunet-daemon-hostlist_server.c',
+ 'gnunet-daemon-hostlist_client.c']
+
+
+if gnunet_monolith == false
+ executable ('gnunet-daemon-hostlist',
+ gnunetdaemonhostlist_src,
+ dependencies: [libgnunetutil_dep,
+ libgnunetcore_dep,
+ libgnunethello_dep,
+ libgnunetpeerinfo_dep,
+ libgnunetstatistics_dep,
+ libgnunettransport_dep,
+ mhd_dep,
+ curl_dep],
+ include_directories: [incdir, configuration_inc])
+else
+ foreach p : gnunetdaemonhostlist_src
+ gnunet_src += 'hostlist/' + p
+ endforeach
+endif
diff --git a/src/identity/meson.build b/src/identity/meson.build
new file mode 100644
index 000000000..7153fff7f
--- /dev/null
+++ b/src/identity/meson.build
@@ -0,0 +1,24 @@
+libgnunetidentity_src = ['identity_api.c',
+ 'identity_api_lookup.c',
+ 'identity_api_suffix_lookup.c']
+
+gnunetserviceidentity_src = ['gnunet-service-identity.c']
+
+
+if gnunet_monolith == false
+ libgnunetidentity = library('gnunetidentity',
+ libgnunetidentity_src,
+ dependencies: [libgnunetutil_dep, sodium_dep],
+ include_directories: [incdir, configuration_inc])
+ libgnunetidentity_dep = declare_dependency(link_with : libgnunetidentity)
+ executable ('gnunet-service-identity',
+ gnunetserviceidentity_src,
+ dependencies: [libgnunetidentity_dep,
+ libgnunetutil_dep,
+ libgnunetstatistics_dep],
+ include_directories: [incdir, configuration_inc])
+else
+ foreach p : libgnunetidentity_src + gnunetserviceidentity_src
+ gnunet_src += 'identity/' + p
+ endforeach
+endif
diff --git a/src/meson.build b/src/meson.build
index 0e009806b..bd8464d11 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -38,15 +38,15 @@ subdir('core')
subdir('nse')
subdir('dhtu')
subdir('dht')
-#subdir('hostlist')
-#subdir('topology')
-#subdir('regex')
-#subdir('dns')
-#subdir('identity')
-#subdir('gnsrecord')
-#subdir('namecache')
-#subdir('namestore')
-#subdir('peerinfo-tool')
+subdir('hostlist')
+subdir('topology')
+subdir('regex')
+subdir('dns')
+subdir('identity')
+subdir('gnsrecord')
+subdir('namecache')
+subdir('namestore')
+subdir('peerinfo-tool')
#subdir('cadet')
#subdir('set')
#subdir('seti')
diff --git a/src/namecache/meson.build b/src/namecache/meson.build
new file mode 100644
index 000000000..87e01d531
--- /dev/null
+++ b/src/namecache/meson.build
@@ -0,0 +1,41 @@
+libgnunetnamecache_src = ['namecache_api.c']
+libgnunetpluginnamecache_sqlite_src = ['plugin_namecache_sqlite.c']
+
+gnunetnamecache_src = ['gnunet-namecache.c']
+gnunetservicenamecache_src = ['gnunet-service-namecache.c']
+
+
+if gnunet_monolith == false
+ libgnunetnamecache = library('gnunetnamecache',
+ libgnunetnamecache_src,
+ dependencies: [libgnunetutil_dep,
+ libgnunetgnsrecord_dep],
+ include_directories: [incdir, configuration_inc])
+ libgnunetnamecache_dep = declare_dependency(link_with : libgnunetnamecache)
+ libgnunetpluginnamecache_sqlite = library('gnunet_plugin_namecache_sqlite',
+ libgnunetpluginnamecache_sqlite_src,
+ dependencies: [libgnunetutil_dep,
+ libgnunetgnsrecord_dep,
+ sqlite_dep,
+ libgnunetsq_dep],
+ include_directories: [incdir, configuration_inc])
+ libgnunetpluginnamecache_sqlite_dep = declare_dependency(link_with :
libgnunetpluginnamecache_sqlite)
+ executable ('gnunet-namecache',
+ gnunetnamecache_src,
+ dependencies: [libgnunetnamecache_dep,
+ libgnunetutil_dep,
+ libgnunetgnsrecord_dep,
+ libgnunetidentity_dep],
+ include_directories: [incdir, configuration_inc])
+ executable ('gnunet-service-namecache',
+ gnunetservicenamecache_src,
+ dependencies: [libgnunetnamecache_dep,
+ libgnunetutil_dep,
+ libgnunetgnsrecord_dep,
+ libgnunetstatistics_dep],
+ include_directories: [incdir, configuration_inc])
+else
+ foreach p : libgnunetnamecache_src + libgnunetpluginnamecache_sqlite_src +
gnunetservicenamecache_src + gnunetnamecache_src
+ gnunet_src += 'namecache/' + p
+ endforeach
+endif
diff --git a/src/namestore/meson.build b/src/namestore/meson.build
new file mode 100644
index 000000000..9241737ca
--- /dev/null
+++ b/src/namestore/meson.build
@@ -0,0 +1,46 @@
+libgnunetnamestore_src = ['namestore_api.c', 'namestore_api_monitor.c']
+libgnunetpluginnamestore_sqlite_src = ['plugin_namestore_sqlite.c']
+
+gnunetnamestore_src = ['gnunet-namestore.c']
+gnunetservicenamestore_src = ['gnunet-service-namestore.c']
+
+
+if gnunet_monolith == false
+ libgnunetnamestore = library('gnunetnamestore',
+ libgnunetnamestore_src,
+ dependencies: [libgnunetutil_dep,
+ libgnunetgnsrecord_dep,
+ libgnunetidentity_dep],
+ include_directories: [incdir, configuration_inc])
+ libgnunetnamestore_dep = declare_dependency(link_with : libgnunetnamestore)
+ libgnunetpluginnamestore_sqlite = library('gnunet_plugin_namestore_sqlite',
+ libgnunetpluginnamestore_sqlite_src,
+ dependencies: [libgnunetutil_dep,
+ libgnunetgnsrecord_dep,
+ libgnunetidentity_dep,
+ libgnunetsq_dep,
+ libgnunetstatistics_dep,
+ sqlite_dep],
+ include_directories: [incdir, configuration_inc])
+ libgnunetpluginnamestore_sqlite_dep = declare_dependency(link_with :
libgnunetpluginnamestore_sqlite)
+ executable ('gnunet-namestore',
+ gnunetnamestore_src,
+ dependencies: [libgnunetnamestore_dep,
+ libgnunetutil_dep,
+ libgnunetgnsrecord_dep,
+ libgnunetidentity_dep],
+ include_directories: [incdir, configuration_inc])
+ executable ('gnunet-service-namestore',
+ gnunetservicenamestore_src,
+ dependencies: [libgnunetnamestore_dep,
+ libgnunetutil_dep,
+ libgnunetnamecache_dep,
+ libgnunetgnsrecord_dep,
+ libgnunetidentity_dep,
+ libgnunetstatistics_dep],
+ include_directories: [incdir, configuration_inc])
+else
+ foreach p : libgnunetnamestore_src + libgnunetpluginnamestore_sqlite_src +
gnunetservicenamestore_src + gnunetnamestore_src
+ gnunet_src += 'namestore/' + p
+ endforeach
+endif
diff --git a/src/peerinfo-tool/meson.build b/src/peerinfo-tool/meson.build
new file mode 100644
index 000000000..0ffcfb099
--- /dev/null
+++ b/src/peerinfo-tool/meson.build
@@ -0,0 +1,13 @@
+gnunetpeerinfotool_src = ['gnunet-peerinfo.c', 'gnunet-peerinfo_plugins.c']
+
+
+if gnunet_monolith == false
+ executable ('gnunet-peerinfo',
+ gnunetpeerinfotool_src,
+ dependencies: [libgnunetutil_dep,
+ libgnunetpeerinfo_dep,
+ libgnunettransport_dep,
+ libgnunethello_dep,
+ libgnunetstatistics_dep],
+ include_directories: [incdir, configuration_inc])
+endif
diff --git a/src/regex/meson.build b/src/regex/meson.build
new file mode 100644
index 000000000..31bb9c3e4
--- /dev/null
+++ b/src/regex/meson.build
@@ -0,0 +1,33 @@
+libgnunetregex_src = ['regex_api_announce.c',
+ 'regex_api_search.c']
+libgnunetregexblock_src = ['regex_block_lib.c']
+
+gnunetserviceregex_src = ['gnunet-service-regex.c',
+ 'regex_internal_dht.c',
+ 'regex_internal.c']
+
+
+if gnunet_monolith == false
+ libgnunetregex = library('gnunetregex',
+ libgnunetregex_src,
+ dependencies: libgnunetutil_dep,
+ include_directories: [incdir, configuration_inc])
+ libgnunetregex_dep = declare_dependency(link_with : libgnunetregex)
+ libgnunetregexblock = library('gnunetregexblock',
+ libgnunetregexblock_src,
+ dependencies: libgnunetutil_dep,
+ include_directories: [incdir, configuration_inc])
+ libgnunetregexblock_dep = declare_dependency(link_with : libgnunetregexblock)
+ executable ('gnunet-service-regex',
+ gnunetserviceregex_src,
+ dependencies: [libgnunetregex_dep, libgnunetutil_dep,
+ libgnunetdht_dep,
+ libgnunetstatistics_dep,
+ libgnunetregex_dep,
+ libgnunetregexblock_dep],
+ include_directories: [incdir, configuration_inc])
+else
+ foreach p : libgnunetregex_src + gnunetserviceregex_src
+ gnunet_src += 'regex/' + p
+ endforeach
+endif
diff --git a/src/topology/meson.build b/src/topology/meson.build
new file mode 100644
index 000000000..a4f42027c
--- /dev/null
+++ b/src/topology/meson.build
@@ -0,0 +1,27 @@
+libgnunetfriends_src = ['friends.c']
+
+gnunetdaemontopology_src = ['gnunet-daemon-topology.c']
+
+
+if gnunet_monolith == false
+ libgnunetfriends = library('gnunetfriends',
+ libgnunetfriends_src,
+ dependencies: libgnunetutil_dep,
+ include_directories: [incdir, configuration_inc])
+ libgnunetfriends_dep = declare_dependency(link_with : libgnunetfriends)
+ executable ('gnunet-daemon-topology',
+ gnunetdaemontopology_src,
+ dependencies: [libgnunetfriends_dep,
+ libgnunetutil_dep,
+ libgnunetcore_dep,
+ libgnunetpeerinfo_dep,
+ libgnunetstatistics_dep,
+ libgnunettransport_dep,
+ libgnunetats_dep,
+ libgnunethello_dep],
+ include_directories: [incdir, configuration_inc])
+else
+ foreach p : libgnunetfriends_src + gnunetdaemontopology_src
+ gnunet_src += 'topology/' + p
+ endforeach
+endif
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.