Hi,

I use the following Makefile to build pil21 on macOS Mojave (10.14.6) x86_64,
libreadline, libffi and OpenSSL 3 is used from MacPorts.

I have checked with picoLisp-22.3.tgz version 22.3.16
and pil21.tgz (the rolling release) version 22.5.26.

Regards,
Andras Pahi

~~~~~~ cut here ~~~~~~

# 24dec20 Software Lab. Alexander Burger

SILENT:

CC = clang
PIL = ../pil  # pil
ASM = opt -O3  # llvm-as
MAIN = -rdynamic -lc -lm -ldl -L/opt/local/lib -lreadline -lffi
# SHARED = -shared
SHARED = -dynamiclib -undefined dynamic_lookup
OS = $(shell uname)
CPU = $(shell uname -m)

BIN = ../bin
LIB = ../lib

INC = lib/llvm.l vers.l defs.l glob.l dec.l
SRC = main.l gc.l big.l sym.l io.l db.l apply.l flow.l subr.l

all: $(LIB)/sysdefs $(BIN)/picolisp $(LIB)/ext.so $(LIB)/ht.so $(BIN)/balance 
$(BIN)/ssl $(BIN)/httpGate

# System definitions
$(LIB)/sysdefs: sysdefs.c
        $(CC) -w -D_OS='"$(OS)"' -D_CPU='"$(CPU)"' sysdefs.c  &&  /a.out > 
$(LIB)/sysdefs  &&  rm ./a.out

# Base system
$(BIN)/picolisp: picolisp.bc
        mkdir -p $(BIN) $(LIB)
        llc picolisp.bc -relocation-model=pic -o picolisp.s
        $(CC) picolisp.s -o $(BIN)/picolisp $(MAIN)

picolisp.bc: base.bc lib.bc
        llvm-link -o picolisp.bc base.bc lib.bc

base.bc: base.ll
        $(ASM) -o base.bc base.ll

base.ll: $(INC) $(SRC)
        $(PIL) lib/llvm.l main.l -bye > base.ll
        mv base.map $(LIB)/map

lib.bc: pico.h lib.c
        $(CC) -O3 -w -c -D_OS='"$(OS)"' -D_CPU='"$(CPU)"' `pkg-config --cflags 
libffi` -emit-llvm lib.c

# Extension libraries
$(LIB)/ext.so: ext.bc
        llc ext.bc -relocation-model=pic -o ext.s
        $(CC) ext.s -o $(LIB)/ext.so $(SHARED)

ext.bc: ext.ll
        $(ASM) -o ext.bc ext.ll

ext.ll: $(INC) ext.l
        $(PIL) lib/llvm.l ext.l -bye > ext.ll

$(LIB)/ht.so: ht.bc
        llc ht.bc -relocation-model=pic -o ht.s
        $(CC) ht.s -o $(LIB)/ht.so $(SHARED)

ht.bc: ht.ll
        $(ASM) -o ht.bc ht.ll

ht.ll: $(INC) ht.l
        $(PIL) lib/llvm.l ht.l -bye > ht.ll

# Tools
$(BIN)/balance: balance.c
        $(CC) -O3 -w -o $(BIN)/balance balance.c

# Gate
$(BIN)/ssl: ssl.c
        $(CC) -O3 -w -o $(BIN)/ssl ssl.c -I/opt/local/include -L/opt/local/lib 
-lssl -lcrypto

$(BIN)/httpGate: httpGate.c
        $(CC) -O3 -w -o $(BIN)/httpGate httpGate.c -I/opt/local/include 
-L/opt/local/lib -lssl -lcrypto

# Clean up
clean:
        rm -f *.ll *.bc *.s

~~~~~~ cut here ~~~~~~

> On 2022. May 28., at 14:02, Jean-Christophe Helary 
> <li...@traduction-libre.org> wrote:
> 
> 
> 
>> On May 28, 2022, at 19:24, Mike <tankf33...@disroot.org> wrote:
>> 
>> 
>> 
>>> On May 28, 2022, at 13:13, Jean-Christophe Helary 
>>> <li...@traduction-libre.org> wrote:
>>> 
>>> 
>>> 
>>>> On May 25, 2022, at 18:45, Mike <tankf33...@disroot.org> wrote:
>>>> 
>>>> hi all,
>>>> 
>>>>> They used to work (I have a working build of pil21 21.9.3), but they 
>>>>> don't anymore.
>>>>> Maybe there is something wrong with my system but I have no idea what it 
>>>>> is.
>>>> 
>>>> Did you built picolisp?
>>> 
>>> How would I go about building picolisp ?
>>> 
>> I do not know were you stuck.
> 
> At the time of 21.9.3 I was able to build the system according to the 
> instructions here:
> 
> https://picolisp.com/wiki/?alternativeMacOSRepository
> 
> Now that generates the following error message:
> 
> /opt/local/libexec/llvm-10/bin/llvm-link: lib.bc: error: Unknown attribute 
> kind (68) (Producer: 'APPLE_1_1300.0.29.30_0' Reader: 'LLVM 10.0.1')
> /opt/local/libexec/llvm-10/bin/llvm-link: error:  loading file 'lib.bc'
> make: *** [picolisp.bc] Error 1
> 
> That's where I am stuck.
> 
> 
> 
> -- 
> Jean-Christophe Helary @brandelune
> https://mac4translators.blogspot.com
> https://sr.ht/~brandelune/omegat-as-a-book/
> 
> 
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to