From bf188aeb2345c994909f5652cb3ac37f0144e8fe Mon Sep 17 00:00:00 2001 From: Alex Arslan Date: Fri, 6 Apr 2018 14:04:45 -0700 Subject: [PATCH] Build with Clang on OpenBSD This is the default compiler starting with OpenBSD 6.2, and has been installed by default on OpenBSD since 6.0. --- Make.inc | 7 +------ README.md | 14 +++++--------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/Make.inc b/Make.inc index b1d43a7..f1c177d 100644 --- a/Make.inc +++ b/Make.inc @@ -24,12 +24,7 @@ endif USEGCC = 1 USECLANG = 0 -ifeq ($(OS), Darwin) -USEGCC = 0 -USECLANG = 1 -endif - -ifeq ($(OS), FreeBSD) +ifneq (,$(findstring $(OS),Darwin FreeBSD OpenBSD)) USEGCC = 0 USECLANG = 1 endif diff --git a/README.md b/README.md index 461e41c..81d2e96 100644 --- a/README.md +++ b/README.md @@ -16,24 +16,20 @@ consistently across compilers and operating systems, and in 32-bit and OpenLibm builds on Linux, Mac OS X, Windows, FreeBSD, OpenBSD, and DragonFly BSD. It builds with both GCC and clang. Although largely tested and widely -used on x86 architectures, openlibm also supports ARM and -powerPC. +used on x86 architectures, OpenLibm also supports ARM and +PowerPC. ## Build instructions -1. Use `make` to build OpenLibm. +1. Use GNU Make to build OpenLibm. This is `make` on most systems, but `gmake` on BSDs. 2. Use `make USEGCC=1` to build with GCC. This is the default on Linux and Windows. -3. Use `make USECLANG=1` to build with clang. This is the default on OS X - and FreeBSD. +3. Use `make USECLANG=1` to build with clang. This is the default on OS X, FreeBSD, + and OpenBSD. 4. Architectures are auto-detected. Use `make ARCH=i386` to force a build for i386. Other supported architectures are i486, i586, and i686. GCC 4.8 is the minimum requirement for correct codegen on older 32-bit architectures. -5. On OpenBSD, you need to install GNU Make (port name: `gmake`) and a recent - version of `gcc` (tested: 4.9.2), as the default version provided by OpenBSD - is too old (4.2.1). If you use OpenBSD's port system for this (port name: - `gcc`), run `make CC=egcc` to force Make to use the newer `gcc`. ## Acknowledgements