A separate repo is our interpretation of the comments generated by this RFC. It’s easier to combine repositories later than it is to take them apart. The take away of this library is the ABI; that it will presently link against the C++ library is an implementation detail. We consider these separate projects and that they should be organized as such.
> On Mar 31, 2020, at 12:25 PM, Blake Bender <bben...@pivotal.io> wrote: > > Just want to make sure I understand what you're after here. We should have > a "ccache" directory or similar in the geode-native repo, where we build C > bindings for the client, then we should compile them into a shared library > containing all of the code, and export/make visible only the C interface? > So the geode native installer will contain shared libraries representing 3 > copies of all the code, with the static library in the build tree making a > total of 4? > > I'm starting to be concerned with the overall inefficiency of this plan. > Is this the best we can do? > > Thanks, > > Blake > > > On Tue, Mar 31, 2020 at 12:05 PM Jacob Barrett <jbarr...@pivotal.io> wrote: > >> Given that the C-binding will be tightly coupled with the C++ layer and >> written in C++ I don’t think it make sense to have its own repository. In >> order for the C-binding need to access internal, non-exported methods, for >> things like serialization it will need to be statically linked to the C++ >> library. If we use separate repositories and builds then we need to build a >> static library for the dependency in the C-binding library. This seems >> overly complicated to me for little to no gain. Can you please elaborate on >> the the pros of having a separate repository for the C-binding? >> >> For sure agree on the .net core repo. Tough depending on the mixed mode >> binary support we still might run into the dependency issues on static >> library. >> >> -Jake >> >> >>> On Mar 31, 2020, at 11:23 AM, Matthew Reddington <mredding...@pivotal.io> >> wrote: >>> >>> I would like to request the addition of two new repositories under >> Apache in order to implement this RFC and to take advantage of it in >> practice. That would be Apache/geode-c-client and >> Apache/geode-dot-net-core-client. >>> >>>> On Mar 30, 2020, at 3:33 PM, Jacob Barrett <jbarr...@pivotal.io> wrote: >>>> >>>> >> https://github.com/pivotal-jbarrett/geode-native/tree/ee34cfbb5bddb55f5f890bb013c75d7780a787ae/ccache >> < >> https://github.com/pivotal-jbarrett/geode-native/tree/ee34cfbb5bddb55f5f890bb013c75d7780a787ae/ccache >>> >>>> >>>> Quick stab at a POC for thread exception handling. >>>> >>>> -Jake >>>> >>> >> >>