From: SourceForge.net <no...@so...> - 2004-08-18 14:25:53
|
Patches item #1011471, was opened at 2004-08-18 07:23 Message generated for change (Settings changed) made by sjfriedl You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312694&aid=1011471&group_id=12694 Category: None Group: None Status: Open Resolution: None >Priority: 3 Submitted By: Stephen J. Friedl (sjfriedl) Assigned to: Nobody/Anonymous (nobody) Summary: More SCO Unixware 7 patches Initial Comment: This is yet another patch for SCO Unixware 7.1.4 with the stock SCO compiler that gets us a little farther down the road: the library and mini-agent now build more or less properly. Discussion: It seems that though "inline" works, "nested static inline" does not, so I have added a test for this and a "NETSNMP_BROKEN_INLINE" macro that allows configure to disable its use (the user can still do the same thing by hand with NETSNMP_NO_INLINE). While digging into the inline stuff, I found that the current code in include/net-snmp/net-snmp-config.h.in has a bug: it contains: #if NETSNMP_ENABLE_INLINE && !defined(NETSNMP_NO_INLINE) # define NETSNMP_USE_INLINE #else -> # undef NETSNMP_INLINE # define NETSNMP_INLINE -> # undef NETSNMP_STATIC_INLINE # define NETSNMP_STATIC_INLINE static #endif This code looks right until you consider that this is processed by configure (or autoheader, or whatever), and the #undefs are commented out automatically if inlines are disabled. Oops. So we have to protect them with comments: # undef /*protect from autohdr */ NETSNMP_INLINE It turns out that disabling inlines had an effect on several bits in the library, and some decl/defn mismatches became apparent. If there are build tests, I'd suggest adding "try it with NETSNMP_NO_INLINE" to the list. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=312694&aid=1011471&group_id=12694 |