-
-
Notifications
You must be signed in to change notification settings - Fork 418
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
Create a standalone libponyc on Linux #3716
Conversation
Hi @SeanTAllen, The changelog - added label was added to this pull request; all PRs with a changelog label need to have release notes included as part of the PR. If you haven't added release notes already, please do. Release notes are added by creating a uniquely named file in the The basic format of the release notes (using markdown) should be:
Thanks. |
9f69cbc
to
0ee3e36
Compare
@kulibali this creates the library but it ends up with linker errors. |
If I use an ar script to include the same libraries, it seems to work. |
There's a definite difference in the size of the libraries created:
So standalone has some linker errors for things missing, and full doesn't seem like standalone is missing something. |
Ok so it isnt finding the .a correctly for stdlibc++. |
190fb6f
to
a78b682
Compare
27825dd
to
f0680cf
Compare
Should we have a CI run that tests this new CMake target? |
Eventually, in some form, yes |
It's possible to use libponyc from projects other than ponyc. Using the library gives you access to all the various compiler functionality. However, it is hard to use the library because, you need to link in the correct libstdc++, libblake, and LLVM. Figuring out what is the correct version of each is very difficult. With this change, a new library `libponyc-standalone.a` will be created as part of the build process. Applications like the "in pony documentation generator" that I am on will be able to link to libponyc-standalone and pick up all it's required dependencies. Windows, BSD, and macOS libraries are not created at this time but can be added as needed in the future.
f0680cf
to
b333641
Compare
@kulibali I'm going to merge this later as I have other ponydoc related work to bring over the top of this. Feel free to comment and things can be fixed after the merge. @jemc at the moment, ponydoc is the only user of this and will pick up breakage with nightly CI. When we get further along, I'll work out what is best for testing this. |
It's possible to use libponyc from projects other than ponyc. Using the
library gives you access to all the various compiler functionality. However,
it is hard to use the library because, you need to link in the correct libstdc++,
libblake, and LLVM. Figuring out what is the correct version of each is very
difficult.
With this change, a new library
libponyc-standalone.a
will be created aspart of the build process.
Applications like the "in pony documentation generator" that I am on will
be able to link to libponyc-standalone and pick up all it's required dependencies.
Windows, BSD, and macOS libraries are not created at this time but can be added
as needed in the future.