build: Split up features into separate libraries

This makes it much more obvious when a feature is missing for a user.

Change-Id: Ibb17d7ab1f185a1976a32f48933c01a252450dd1
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/meson.build b/src/meson.build
index 1492655..3f1021e 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -79,3 +79,36 @@
   description: 'C++ helper utilities',
   version: meson.project_version(),
   requires: stdplus_reqs)
+
+if has_dl
+  stdplus_dl_dep = stdplus_dep
+
+  import('pkgconfig').generate(
+    stdplus_lib,
+    name: 'stdplus-dl',
+    description: 'C++ helper utilities',
+    version: meson.project_version(),
+    requires: stdplus_reqs)
+endif
+
+if has_fd
+  stdplus_fd_dep = stdplus_dep
+
+  import('pkgconfig').generate(
+    stdplus_lib,
+    name: 'stdplus-fd',
+    description: 'C++ helper utilities',
+    version: meson.project_version(),
+    requires: stdplus_reqs)
+endif
+
+if has_io_uring
+  stdplus_io_uring_dep = stdplus_dep
+
+  import('pkgconfig').generate(
+    stdplus_lib,
+    name: 'stdplus-io_uring',
+    description: 'C++ helper utilities',
+    version: meson.project_version(),
+    requires: stdplus_reqs)
+endif