summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/.gitignore2
-rw-r--r--server/makefile12
-rw-r--r--server/server.c25
3 files changed, 39 insertions, 0 deletions
diff --git a/server/.gitignore b/server/.gitignore
new file mode 100644
index 0000000..75e973c
--- /dev/null
+++ b/server/.gitignore
@@ -0,0 +1,2 @@
+wayland-*
+server \ No newline at end of file
diff --git a/server/makefile b/server/makefile
new file mode 100644
index 0000000..520636c
--- /dev/null
+++ b/server/makefile
@@ -0,0 +1,12 @@
+CC = clang
+CFLAGS = -std=c17 -pedantic -Wall -Werror $(shell pkg-config --libs --cflags wayland-server)
+
+.PHONY: all clean
+
+all: server
+
+clean:
+ rm -f server
+
+server: server.c
+ $(CC) $(CFLAGS) -o $@ $<
diff --git a/server/server.c b/server/server.c
new file mode 100644
index 0000000..3687865
--- /dev/null
+++ b/server/server.c
@@ -0,0 +1,25 @@
+#include <wayland-server.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+static void die(char const* s)
+{
+ perror(s);
+ exit(EXIT_FAILURE);
+}
+
+int main(int argc, char** argv)
+{
+ struct wl_display* disp = wl_display_create();
+ if (!disp) { die("wl_display_create"); }
+
+ char const* sock = wl_display_add_socket_auto(disp);
+ if (!sock) { die("wl_display_add_socket_auto"); }
+
+ printf("Compositor running on %s\n", sock);
+
+ wl_display_run(disp);
+
+ wl_display_destroy(disp);
+ return EXIT_SUCCESS;
+}