On Jul 22, 2013, at 17:30 , Marvin Humphrey <[email protected]> wrote:
> On Sun, Jul 21, 2013 at 12:32 PM, Nick Wellnhofer <[email protected]> wrote: >> Besides, I already introduced platform-dependent code in cfish_parcel.h. But >> we can put the platform-dependent parts in a separate header file like >> cfish_platform.h. > > OK, that works. This is now implemented in branch 'charmonizer-decoupling'. > A while back I made some changes to Charmonizer in anticipation > of supporting custom prefixes (swapping out ConfWriter_append_conf in most of > the probes for functions like ConfWriter_add_def). Yes, custom Charmonizer prefixes would work, too. > The issue is very similar to the issue of installing a config.h file generated > by Autoconf. > > http://inaugust.com/post/68 > https://issues.apache.org/jira/browse/THRIFT-705 > http://www.gnu.org/software/autoconf-archive/ax_prefix_config_h.html Exactly. > For instance, we can simply remove endianness from all public headers. > Endianness isn't needed by Clownfish, only Lucy -- in fact, the entire > Clownfish::Util::NumberUtils module shouldn't really be part of Clownfish, as > it's barely used outside of Lucy. To solve the problem, we can move the > endian macros into an optional Charmonizer probe, so that they are defined > only in a Lucy-specific charmony.h file which does not get installed. The endian helpers might be useful for other modules. I'd keep them in Clownfish. Nick
