First, repair the brain damage of including C++ header inside pure C programs. Although the final linking stage has to be done with C++ linker anyway as boinc is written in C++, the compilation could be done with C compiler. Moreover, it is supported by the boinc_api.h with clean separation of C and C++ namespaces. This fix does not seem to affect anything, both boinc-client and setiathome compile cleanly (tested when both have WITHOUN_X11).
Second, in order to actually fix the build of C programs, the changeset 25543 from the upstream is also incorporated. Now I was able to compile C boinc application.
Third, if boinc-client is compiled WITHOUT_X11, the build for setiathome is broken, even if it is also configured WITHOUT_X11. It still needs reduce.h (see client/gdata.h at line 39 in setiathome sources). So, install it unconditionally in boinc-client. With this fix setiathome compiles cleanly too (WITHOUT_X11 is set in both boinc-client and setitahome).
P.S. I am currently working with Greg Childers from NFS@home to provide native FreeBSD applications, so these fixes are from the real life.
Fix: Patch attached with submission follows:
Over to maintainer (via the GNATS Auto Assign Tool)
I'd love to see more native FreeBSD app on BOINC platform!
pav 2012-06-10 14:39:02 UTC
FreeBSD ports repository
- Fix header files integrity when X11 option is disabled
- Fix header files to allow pure C client app to be built
PR: ports/168714, ports/168756
Submitted by: Alexey Shuvaev <email@example.com>, Andrey Simonenko <firstname.lastname@example.org>
Revision Changes Path
1.55 +44 -40 ports/net/boinc-client/Makefile
1.2 +17 -10 ports/net/boinc-client/files/patch-api__boinc_api.h
email@example.com mailing list
To unsubscribe, send any mail to "firstname.lastname@example.org"