Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gnat/gcc-ada #2

Open
ghost opened this issue Feb 5, 2021 · 11 comments
Open

gnat/gcc-ada #2

ghost opened this issue Feb 5, 2021 · 11 comments
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed p:medium Priority medium

Comments

@ghost
Copy link

ghost commented Feb 5, 2021

https://archlinux.org/packages/core/x86_64/gcc-ada/

i'm pretty sure you just build gcc with some special flags and install the right files.

@mmatongo
Copy link
Owner

mmatongo commented Feb 5, 2021

The repo ships a multilib version of gcc under the extras as gcc-multilib.

I'll push a commit to include Ada support.

@mmatongo mmatongo self-assigned this Feb 5, 2021
@mmatongo mmatongo added the enhancement New feature or request label Feb 5, 2021
@mmatongo
Copy link
Owner

mmatongo commented Feb 5, 2021

I've put it on my list of things TODO.

@acheam0
Copy link

acheam0 commented Feb 22, 2021

I second, this would be a great addition! I have a few Ada programs I've been wanting to try on KISS.

@ghost
Copy link
Author

ghost commented Feb 25, 2021

i tried working on this myself and hit a roadblock, ada is a circular dependency and requires an ada compiler in order to compile ada. the standard most distros use is from adacore.com but its dynamic binaries and libs that are all built for glibc, i fixed one of the issues with a simple patch:

--- a/include/c++/6.3.1/x86_64-pc-linux-gnu/bits/os_defines.h
+++ b/include/c++/6.3.1/x86_64-pc-linux-gnu/bits/os_defines.h
@@ -38,6 +38,14 @@

 #include <features.h>

+/*
+ * Handle non-gnu libc versions with nothing in features.h
+ * We have no idea what they're compatible with, so always fail.
+ */
+#ifndef __GLIBC_PREREQ
+# define __GLIBC_PREREQ(x,y) 0
+#endif
+
 // Provide a declaration for the possibly deprecated gets function, as
 // glibc 2.15 and later does not declare gets for ISO C11 when
 // __GNU_SOURCE is defined.

and also by installing gcompat but there are still other issues such as __strdup and other things missing that i've yet to resolve. fortunately there are a bunch of patches from alpine/void for gcc itself once we've got a working ada compiler.

edit: seems void linux reqiures cross-building it from glibc void-linux/void-packages#4312

@mmatongo mmatongo added good first issue Good for newcomers help wanted Extra attention is needed p:medium Priority medium labels Mar 3, 2021
@mmatongo
Copy link
Owner

mmatongo commented Mar 3, 2021

I've been looking at this for a while now and I've increased it's priority level, after all ada lives on.

I'll do more research and see how Alpine and Void overcame this.

@acheam0
Copy link

acheam0 commented Mar 3, 2021 via email

@mmatongo
Copy link
Owner

mmatongo commented Mar 3, 2021

Thanks for all your work on this!

It’s my pleasure.

@mmatongo
Copy link
Owner

Kinda figured this out.

@acheam0
Copy link

acheam0 commented Jan 24, 2022 via email

@mmatongo
Copy link
Owner

Not using kiss, I am using NOIR.

@mmatongo
Copy link
Owner

I should have it up in a few weeks, I just have some IRL things to take care of.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed p:medium Priority medium
Projects
None yet
Development

No branches or pull requests

2 participants