aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraysan5 <raysan5@gmail.com>2017-12-28 18:14:39 +0100
committerraysan5 <raysan5@gmail.com>2017-12-28 18:14:39 +0100
commit7965f983baa91afa7ac8019574a14e4814c91cf2 (patch)
treef2f4988087fb87cde15728d6ecadec9dd86e4a41
parentb19e155b3419b50bd546632f9b77793bc95824d1 (diff)
downloadraylib-7965f983baa91afa7ac8019574a14e4814c91cf2.tar.gz
raylib-7965f983baa91afa7ac8019574a14e4814c91cf2.zip
Support Wayland display on Linux desktop
-rw-r--r--examples/Makefile18
-rw-r--r--src/Makefile16
2 files changed, 27 insertions, 7 deletions
diff --git a/examples/Makefile b/examples/Makefile
index c9081b2e..2eff1133 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -29,15 +29,19 @@ PLATFORM ?= PLATFORM_DESKTOP
RAYLIB_PATH ?= ..
PROJECT_NAME ?= raylib_example
-ifeq ($(PLATFORM),PLATFORM_RPI)
- RAYLIB_PATH ?= /home/pi/raylib
-endif
+# Library type used for raylib: STATIC (.a) or SHARED (.so/.dll)
+RAYLIB_LIBTYPE ?= STATIC
# Use external GLFW library instead of rglfw module
USE_EXTERNAL_GLFW ?= FALSE
-# Library type used for raylib: STATIC (.a) or SHARED (.so/.dll)
-RAYLIB_LIBTYPE ?= STATIC
+# Use Wayland display server protocol on Linux desktop
+# by default it uses X11 windowing system
+USE_WAYLAND_DISPLAY ?= FALSE
+
+ifeq ($(PLATFORM),PLATFORM_RPI)
+ RAYLIB_PATH ?= /home/pi/raylib
+endif
# Determine PLATFORM_OS in case PLATFORM_DESKTOP selected
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
@@ -223,7 +227,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
#LDLIBS += -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor
# On Wayland windowing system, additional libraries requires
- #LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
+ ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
+ LDLIBS += -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon
+ endif
endif
ifeq ($(PLATFORM_OS),OSX)
# Libraries for OSX 10.9 desktop compiling
diff --git a/src/Makefile b/src/Makefile
index de9a639e..2ee9f909 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -54,12 +54,16 @@ RAYLIB_LIBTYPE ?= STATIC
# NOTE: Some programs like tools could not require audio support
INCLUDE_AUDIO_MODULE ?= TRUE
-# Force OpenAL Soft backend for audio
+# Use OpenAL Soft backend for audio
USE_OPENAL_BACKEND ?= FALSE
# Use external GLFW library instead of rglfw module
USE_EXTERNAL_GLFW ?= FALSE
+# Use Wayland display server protocol on Linux desktop
+# by default it uses X11 windowing system
+USE_WAYLAND_DISPLAY ?= FALSE
+
# OpenAL Soft audio backend forced on HTML5 and OSX (see below)
ifeq ($(PLATFORM),PLATFORM_WEB)
USE_OPENAL_BACKEND = TRUE
@@ -287,10 +291,20 @@ ifeq ($(RAYLIB_LIBTYPE),SHARED)
CFLAGS += -fPIC -DBUILD_LIBTYPE_SHARED
endif
+# Use OpenAL Soft backend instead of mini_al
ifeq ($(USE_OPENAL_BACKEND),TRUE)
CFLAGS += -DUSE_OPENAL_BACKEND
endif
+# Use Wayland display on Linux desktop
+ifeq ($(PLATFORM),PLATFORM_DESKTOP)
+ ifeq ($(PLATFORM_OS), LINUX)
+ ifeq ($(USE_WAYLAND_DISPLAY),TRUE)
+ CFLAGS += -D_GLFW_WAYLAND
+ endif
+ endif
+endif
+
# Define include paths for required headers
# NOTE: Several external required libraries (stb and others)
INCLUDE_PATHS = -I. -Iexternal -Iexternal/glfw/include