makedeb


cmucl 21d-1


CMU Common Lisp

Viewing /82bf2c727ba1d3c461fa360aaae176608eb9349b.patch.

View raw.

Click here to go back to the Git tree for cmucl.

From 82bf2c727ba1d3c461fa360aaae176608eb9349b Mon Sep 17 00:00:00 2001
From: Raymond Toy <toy.raymond@gmail.com>
Date: Sat, 25 Aug 2018 16:51:35 -0700
Subject: [PATCH] Add support for compiling with clang on x86/linux

Add `Config.x86_linux_clang` to use clang instead of gcc to build
cmucl.  update `create-target.sh` so that it sets the motif variant
correctly when using `Config.x86_linux_clang`

See issue #68.

With this config, Fedora 28 successfully builds cmucl and passes all
the tests.
---
 bin/create-target.sh            |  2 +-
 src/lisp/Config.x86_linux_clang | 15 +++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)
 create mode 100644 src/lisp/Config.x86_linux_clang

diff --git a/bin/create-target.sh b/bin/create-target.sh
index 400a2e52b..c1b763056 100755
--- a/bin/create-target.sh
+++ b/bin/create-target.sh
@@ -83,7 +83,7 @@ case $uname_s in
 		hp700*) motif_variant=hpux_cc ;;
 		pmax_mach) motif_variant=pmax_mach ;;
 		sgi*) motif_variant=irix ;;
-		x86_linux|linux*) motif_variant=x86 ;;
+		x86_linux*|linux*) motif_variant=x86 ;;
 	    esac
 	}
 	[ -f src/motif/server/Config.$motif_variant ] || quit "No such motif-variant could be found: Config.$motif_variant"
diff --git a/src/lisp/Config.x86_linux_clang b/src/lisp/Config.x86_linux_clang
new file mode 100644
index 000000000..cbfb4306a
--- /dev/null
+++ b/src/lisp/Config.x86_linux_clang
@@ -0,0 +1,15 @@
+# -*- Mode: makefile -*-
+include Config.x86_common
+
+CC = clang
+CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE
+CFLAGS += -march=pentium4 -mfpmath=sse -mtune=generic
+
+UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
+ASSEM_SRC +=  linux-stubs.S
+OS_SRC += Linux-os.c elf.c
+OS_LIBS = -ldl
+OS_LINK_FLAGS = -m32 -rdynamic -Xlinker --export-dynamic -Xlinker -Map -Xlinker foo
+OS_LINK_FLAGS += -Wl,-z,noexecstack
+
+EXEC_FINAL_OBJ = exec-final.o
-- 
2.18.1