changeset 25: |
30fa758d74b7 |
parent 24: |
3e8310575574 |
child 26: |
319d5d0c5178 |
author: |
ellis <ellis@rwest.io> |
date: |
Sun, 24 Dec 2023 13:37:49 -0500 |
files: |
makefile readme.org scripts/build-emacs.sh scripts/check.lisp scripts/eval.sh |
description: |
fixes |
1.1--- a/makefile Mon Dec 11 22:54:50 2023 -0500
1.2+++ b/makefile Sun Dec 24 13:37:49 2023 -0500
1.3@@ -44,24 +44,20 @@
1.4 ### Emacs
1.5 EMACS_TARGET:=build/src/emacs-$(EMACS_VERSION)
1.6 EMACS_DIST:=$(D)/src/emacs
1.7-emacs:$(B) scripts/get-emacs.sh;
1.8+$(EMACS_TARGET):scripts/get-emacs.sh $(B);
1.9 $< $(EMACS_VERSION)
1.10-
1.11+emacs:$(EMACS_TARGET)
1.12 emacs-build:emacs scripts/build-emacs.sh;
1.13- cd $(EMACS_TARGET)
1.14- ./autogen.sh
1.15- mkdir -pv $(EMACS_DIST)
1.16- scripts/build-emacs.sh $(EMACS_VERSION) $(EMACS_TARGET) $(EMACS_DIST)
1.17-
1.18+ cd $(EMACS_TARGET) && ./autogen.sh
1.19+ scripts/build-emacs.sh $(EMACS_VERSION) $(EMACS_TARGET)
1.20 emacs-install:emacs-build;
1.21- cd $(EMACS_DIST)
1.22- make install
1.23+ cd $(EMACS_TARGET) && make install
1.24
1.25 ### RocksDB
1.26 ROCKSDB_TARGET:=build/src/rocksdb-$(ROCKSDB_VERSION)
1.27 rocksdb:scripts/get-rocksdb.sh;
1.28 $< $(ROCKSDB_VERSION)
1.29- cd $(ROCKSDB_TARGET)
1.30+ cd $(ROCKSDB_TARGET) && \
1.31 make shared_lib DISABLE_JEMALLOC=1
1.32
1.33 ### SBCL
2.1--- a/readme.org Mon Dec 11 22:54:50 2023 -0500
2.2+++ b/readme.org Sun Dec 24 13:37:49 2023 -0500
2.3@@ -7,15 +7,8 @@
2.4 This project contains scripts, utils, and applications used to
2.5 host and maintain The Compiler Company infrastructure.
2.6
2.7-* Quickstart
2.8-- Dependencies
2.9- - Mercurial
2.10- - Make
2.11-#+begin_src shell
2.12-sudo pacman -Sy make mercurial
2.13-# make quick
2.14-# make install
2.15-#+end_src
2.16+- [[https://compiler.company/docs/infra/quickstart.html][Quickstart]]
2.17+
2.18 * Scripts
2.19 ** [[file:scripts/eval.sh][eval.sh]]
2.20 Eval a lisp script using SBCL.
2.21@@ -24,28 +17,14 @@
2.22 #+begin_src shell :results pp replace :exports both
2.23 ./scripts/eval.sh ./scripts/check.lisp
2.24 #+end_src
2.25-
2.26 #+RESULTS:
2.27-#+begin_example
2.28-
2.29-#HOST-FEATURES{
2.30-(lisp . (SBCL 2.3.8
2.31- (CL-PPCRE NAMED-READTABLES ASDF3.3 ASDF3.2 ASDF3.1 ASDF3 ASDF2 ASDF
2.32- OS-UNIX NON-BASE-CHARS-EXIST-P ASDF-UNICODE ARENA-ALLOCATOR X86-64
2.33- GENCGC 64-BIT ANSI-CL COMMON-LISP ELF IEEE-FLOATING-POINT LINUX
2.34- LITTLE-ENDIAN PACKAGE-LOCAL-NICKNAMES SB-CORE-COMPRESSION SB-LDB
2.35- SB-PACKAGE-LOCKS SB-THREAD SB-UNICODE SBCL UNIX)))
2.36-(shell . /home/ellis/dev/comp/infra)
2.37-(rocksdb . librocksdb.so)
2.38-(uring . liburing.so)
2.39-(btrfs . libbtrfs.so)
2.40-(btrfsutil . libbtrfsutil.so)
2.41-(tree-sitter . libtree-sitter.so)
2.42-(gtk-4 . libgtk-4.so)
2.43-(blake3 . libblake3.so)
2.44-(k . libk.so)
2.45-(cbqn . libcbqn.so)}
2.46-#+end_example
2.47+: This is SBCL 2.3.12+main, an implementation of ANSI Common Lisp.
2.48+: More information about SBCL is available at <http://www.sbcl.org/>.
2.49+:
2.50+: SBCL is free software, provided as is, with absolutely no warranty.
2.51+: It is mostly in the public domain; some portions are provided under
2.52+: BSD-style licenses. See the CREDITS and COPYING files in the
2.53+: distribution for more information.
2.54 ** [[file:scripts/autogen.lisp][autogen.lisp]]
2.55 ** get-*
2.56 Pull and build dependencies.
3.1--- a/scripts/build-emacs.sh Mon Dec 11 22:54:50 2023 -0500
3.2+++ b/scripts/build-emacs.sh Sun Dec 24 13:37:49 2023 -0500
3.3@@ -1,8 +1,7 @@
3.4-#!/usr/bin/bash
3.5-CPUS=$(shell getconf _NPROCESSORS_ONLN)
3.6+#!/usr/bin/env bash
3.7+CPUS=$(getconf _NPROCESSORS_ONLN)
3.8 VER="${1:-main}"
3.9-TARGETDIR=${2:-$(realpath build/emacs-$VER)}
3.10-DISTDIR=${3:-$(realpath dist/emacs-$VER)}
3.11+TARGETDIR=${2:-$(realpath build/src/emacs-$VER)}
3.12 CONFIG=(--with-mailutils
3.13 --with-imagemagick
3.14 --with-x-toolkit=gtk
3.15@@ -14,9 +13,6 @@
3.16 --with-modules)
3.17 pushd $TARGETDIR
3.18 ./autogen.sh
3.19-mkdir -pv $DISTDIR
3.20-pushd $DISTDIR
3.21 $TARGETDIR/configure ${CONFIG[@]}
3.22 NATIVE_FULL_AOT=1 make -j$CPUS
3.23 popd
3.24-popd
4.1--- a/scripts/check.lisp Mon Dec 11 22:54:50 2023 -0500
4.2+++ b/scripts/check.lisp Sun Dec 24 13:37:49 2023 -0500
4.3@@ -4,9 +4,13 @@
4.4 ;; bootstrapping.
4.5
4.6 ;;; Code:
4.7+#+quicklisp
4.8+(mapc (lambda (x) (unless (find-package x) (ql:quickload x)))
4.9+ '(:cli :std :sb-alien :cli :log))
4.10+
4.11 (defpackage :infra/scripts/check
4.12 (:nicknames :check)
4.13- (:use :cl :std :std/fmt :sb-alien)
4.14+ (:use :cl :std :sb-alien :cli :log)
4.15 (:export :main
4.16 :*results*
4.17 :check))
5.1--- a/scripts/eval.sh Mon Dec 11 22:54:50 2023 -0500
5.2+++ b/scripts/eval.sh Sun Dec 24 13:37:49 2023 -0500
5.3@@ -4,6 +4,7 @@
5.4 LISP=sbcl
5.5 args=""
5.6 FILE="${1}"
5.7+# "#-quicklisp (load (merge-pathnames \"quicklisp/setup.lisp\" (user-homedir-pathname)))"
5.8 [[ -z "$FILE" ]] && : || args="--script $FILE "
5.9 FORM=${2}
5.10 [[ -z "$FORM" ]] && : || args="--eval $FORM "