gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]