larcenists / larceny

Larceny Scheme implementation
Other
202 stars 32 forks source link

Support gcc versions 5 and 6 in the make templates #808

Closed lars-t-hansen closed 7 years ago

lars-t-hansen commented 7 years ago

Trying to compile Petit Larceny, I found that the build files only supported gcc3 and gcc4. The world has since moved on... Ubuntu 16 ships with gcc5, and gcc6 has been seen here and there.

(I have a patch for this, will create a PR within the next few days but filing this so as not to forget.)

WillClinger commented 7 years ago

Thank you, Lars. I'm hoping to announce a v1.3 release candidate in a couple of days, so it would be nice to get your patch.

lars-t-hansen commented 7 years ago

We should probably also add something for Clang so that it's possible to build Petit Larceny on macOS with the native compiler. For that matter, many people prefer to use Clang over GCC on Linux.

WillClinger commented 7 years ago

Fixed by changeset 406587ee44a6db0e1305e68215bc27252e3825b9

As of MacOS X 10.8, gcc is an alias for clang. That broke Larceny's FFI (ticket #700). It took two and a half years to trace that breakage to a bug in the clang compiler.

So the make files we're creating for gcc probably work for clang as well.

We aren't building or distributing Petit Larceny under macOS, having given up on that when Apple decided not to support 4-byte alignment for C function pointers. I don't know the current status of that problem, but I'd prefer to defer any such changes until after the release of v1.3. That should be a separate ticket anyway, so I'm closing this one.