|
|
@@ -106,6 +106,56 @@ MK_CFLAGS = $(OPT) -std=c11 -fPIC
|
|
|
MK_CXXFLAGS = $(OPT) -std=c++11 -fPIC
|
|
|
MK_LDFLAGS =
|
|
|
|
|
|
+# clock_gettime came in POSIX.1b (1993)
|
|
|
+# CLOCK_MONOTONIC came in POSIX.1-2001 / SUSv3 as optional
|
|
|
+# posix_memalign came in POSIX.1-2001 / SUSv3
|
|
|
+# M_PI is an XSI extension since POSIX.1-2001 / SUSv3, came in XPG1 (1985)
|
|
|
+MK_CFLAGS += -D_XOPEN_SOURCE=600
|
|
|
+MK_CXXFLAGS += -D_XOPEN_SOURCE=600
|
|
|
+
|
|
|
+# Somehow in OpenBSD whenever POSIX conformance is specified
|
|
|
+# some string functions rely on locale_t availability,
|
|
|
+# which was introduced in POSIX.1-2008, forcing us to go higher
|
|
|
+ifeq ($(UNAME_S),OpenBSD)
|
|
|
+ MK_CFLAGS += -U_XOPEN_SOURCE -D_XOPEN_SOURCE=700
|
|
|
+ MK_CXXFLAGS += -U_XOPEN_SOURCE -D_XOPEN_SOURCE=700
|
|
|
+endif
|
|
|
+
|
|
|
+# Data types, macros and functions related to controlling CPU affinity and
|
|
|
+# some memory allocation are available on Linux through GNU extensions in libc
|
|
|
+ifeq ($(UNAME_S),Linux)
|
|
|
+ MK_CFLAGS += -D_GNU_SOURCE
|
|
|
+ MK_CXXFLAGS += -D_GNU_SOURCE
|
|
|
+endif
|
|
|
+
|
|
|
+# RLIMIT_MEMLOCK came in BSD, is not specified in POSIX.1,
|
|
|
+# and on macOS its availability depends on enabling Darwin extensions
|
|
|
+# similarly on DragonFly, enabling BSD extensions is necessary
|
|
|
+ifeq ($(UNAME_S),Darwin)
|
|
|
+ MK_CFLAGS += -D_DARWIN_C_SOURCE
|
|
|
+ MK_CXXFLAGS += -D_DARWIN_C_SOURCE
|
|
|
+endif
|
|
|
+ifeq ($(UNAME_S),DragonFly)
|
|
|
+ MK_CFLAGS += -D__BSD_VISIBLE
|
|
|
+ MK_CXXFLAGS += -D__BSD_VISIBLE
|
|
|
+endif
|
|
|
+
|
|
|
+# alloca is a non-standard interface that is not visible on BSDs when
|
|
|
+# POSIX conformance is specified, but not all of them provide a clean way
|
|
|
+# to enable it in such cases
|
|
|
+ifeq ($(UNAME_S),FreeBSD)
|
|
|
+ MK_CFLAGS += -D__BSD_VISIBLE
|
|
|
+ MK_CXXFLAGS += -D__BSD_VISIBLE
|
|
|
+endif
|
|
|
+ifeq ($(UNAME_S),NetBSD)
|
|
|
+ MK_CFLAGS += -D_NETBSD_SOURCE
|
|
|
+ MK_CXXFLAGS += -D_NETBSD_SOURCE
|
|
|
+endif
|
|
|
+ifeq ($(UNAME_S),OpenBSD)
|
|
|
+ MK_CFLAGS += -D_BSD_SOURCE
|
|
|
+ MK_CXXFLAGS += -D_BSD_SOURCE
|
|
|
+endif
|
|
|
+
|
|
|
ifdef LLAMA_DEBUG
|
|
|
MK_CFLAGS += -O0 -g
|
|
|
MK_CXXFLAGS += -O0 -g
|