taviso / 123elf

A native port of Lotus 1-2-3 to Linux.
1.18k stars 59 forks source link

Build the essential binutils componenents rather than everything #63

Closed jserv closed 2 years ago

jserv commented 2 years ago

Although we have to enable all targets for i386-coff, there is still room for the improvements of binutils build. We can disable the components which are not associated with the essential one.

Test on AMD Ryzen Threadripper 2990WX 32-Core Processor: (command: time ./binutils.sh >/dev/null )

[orig] real 1m15.484s user 17m12.006s sys 5m15.846s

[new] real 1m5.867s user 15m43.655s sys 4m55.558s

taviso commented 2 years ago

Hmm, you make a good point! I think it is also possible to only enable coff/elf like --enable-targets=i386-pc-elf32, I didn't try it though because all seemed simpler.

Now that you point out it slows down your first build, maybe we should do that!

taviso commented 2 years ago

I tested it, seems to work okay, nice!

I think if we just disable the compressed sections we don't need zlib though, so maybe that's even better as you don't need libz-dev. I'll make those changes and merge.

jserv commented 2 years ago

Now, it is faster to build binutils. Glad to know about target selection.

real    0m49.132s
user    2m45.063s
sys 0m27.730s