genpaku has quit [Read error: Connection reset by peer]
genpaku has joined #picolisp
seninha has quit [Ping timeout: 272 seconds]
seninha has joined #picolisp
seninha has quit [Remote host closed the connection]
m_mans has joined #picolisp
seninha has joined #picolisp
clacke has joined #picolisp
clacke has quit [Quit: Gateway shutdown]
m_mans has quit [Quit: Leaving]
f8l has quit [Quit: WeeChat 3.0]
f8l has joined #picolisp
seninha has quit [Quit: Leaving]
seninha has joined #picolisp
seninha has quit [Ping timeout: 252 seconds]
seninha has joined #picolisp
seninha has quit [Remote host closed the connection]
<
abu[m]>
OH! 😇 I'm not sure, but it almost looks like I managed to rewrite @src/lib/llvm.l for opaque pointers
<
abu[m]>
Or maybe I misunderstood something?
<
abu[m]>
In any case, I thought I give it a try, and succeeded to build Pil21 without the "-opaque-pointers" option on LLVM 15
<
abu[m]>
*If* it is correct, then it was a lot simpler than I expected
<
abu[m]>
The definite test will be when LLVM 17 is out, which they say is 100% opaque-only
<
abu[m]>
I changed only src/Makefile and src/lib/llvm.l
<
abu[m]>
The main headache will be how we distribute it
<
abu[m]>
Easiest is if we simply support only LLVM >= 15 then
<
abu[m]>
(so we should not release too soon)
<
abu[m]>
I tested only on LLVM 14 (does not build any more) and on LLVM 15 (builds)
<
abu[m]>
tankf33der: Do you want to test on LLVM 16?
<
tankf33der>
i will.
<
abu[m]>
I cannot believe that this was all. But it builds on 15 without errors. Perhaps this is due to 15 being more tolerant
seninha has joined #picolisp
<
tankf33der>
works.
<
abu[m]>
Great! Thanks!
<
tankf33der>
how will you detect and handle llvm version?
<
abu[m]>
As I said above, I won't
<
abu[m]>
Support >= 15
<
abu[m]>
Otherwise we need to distribute
*two* versions of all src/*.ll files
<
abu[m]>
What amazes me, is that the resulting src/picolisp.s is
*exactly* identical!!
<
abu[m]>
'diff' shows nothing
<
abu[m]>
$ diff ~/pil21/src/picolisp.s src/picolisp.s
<
tankf33der>
you could use different llvm.l files depends on llvm version and support llvm7-17 out of box without iterations from user.
<
abu[m]>
llvm.l is not the problem
<
abu[m]>
The problem are the huge *.ll files
<
abu[m]>
*they* are different
<
tankf33der>
then only bootstraping matters.
<
abu[m]>
Do you think it is a big problem not to support old LLVMs?
<
tankf33der>
no one on modern llvms
<
abu[m]>
Not now, yes, but when Debian goes to 17
<
abu[m]>
in a few years
<
abu[m]>
Older systems can use picoLisp-22.12.tgz
<
abu[m]>
or whatever is the last version with typed poiters
<
tankf33der>
i believe modern debian will never meet llvm15+
<
abu[m]>
Otherwise we could supply two TGZs
<
abu[m]>
Why do you think so?
<
abu[m]>
Currently it is 14 on Testing
<
tankf33der>
two TGZs will break git support
<
tankf33der>
git pull
<
tankf33der>
cd src
<
tankf33der>
everywhere.
<
abu[m]>
the *.ll files are also in Git?
<
tankf33der>
yeap as they inside tgz distribution
<
abu[m]>
Git can be big, I just want to keep the TGZ small
<
tankf33der>
identical, since i use different scripts.
<
abu[m]>
Why do you think Debian will never be >15?
<
abu[m]>
I think Unstable is on 15 already now
<
abu[m]>
Termux is on 15
<
tankf33der>
Debian sid on 15
<
tankf33der>
Only rolling linux distributions is easy roll out newer llvm versions on every iterations
<
tankf33der>
rest will stay on version they choose initialy
<
abu[m]>
yes, so when Stable is on 15, I would swicht
<
abu[m]>
s/swicht/swich/
<
tankf33der>
you will split community
<
abu[m]>
We don't need to care about Ubuntu, Mint etc. as they come with an older PicoLisp anyway
<
abu[m]>
What would you recommend instead?
<
tankf33der>
now i recommend break bootstrap and prolong llvm version range out of the box.
<
abu[m]>
Bootstrap is very important imho
<
tankf33der>
You can make a survey about this stuff
<
abu[m]>
When pulling from Git, base.ll etc. are useless anyway, because the timestamps are not predictable
<
tankf33der>
removing *.ll from distr is breaking bootstrap
<
tankf33der>
so sources is important for me, git pull do all job.
<
abu[m]>
Let's see if we get more ideas ☺
seninha has quit [Remote host closed the connection]