Re: On the nature of backward comparability

Bart Van Assche <[email protected]>
Newsgroups gmane.network.net-snmp.devel
Message-ID <[email protected]>
On 05/15/18 17:41, Magnus Fromreide wrote:
> One other issue with --enable-minimalist is that it is kind of broken
> since it requires that you pass information back from the agent building
> pass to the lib building pass and from the mib pass to the agent pass
> but that happens to late. I have been toying with a partial cpp
> implementation in awk in order to handle this but not gotten it clean
> enough to use (and the windows people would probably hate me forever if
> I made awk a requirement (awk is faster than C when you have to compile
> the C code first but C is more portable - choose your poison))

Although I admire your efforts to make the current system for computing 
dependencies work, I'm not sure that's what we should do. Personally I 
think we should take all dependency computation mechanisms (features + 
config_require()) out of the .c and .h source files such that the 
compiler is not needed to compute dependencies. Here is an example how 
dependency calculation works in another open source project (Valgrind) 
that supports multiple operating systems:
* The configure script determines whether or not pthread_barrier_init()
   is supported. If that function is supported, the automake variable
   HAVE_PTHREAD_BARRIER is set.
* The following construct decides whether or not regression tests that
   need pthread_barrier_init() are built (from drd/tests/Makefile.am):

if HAVE_PTHREAD_BARRIER
check_PROGRAMS +=		\
	bug322621		\
	matinv			\
	pth_barrier		\
	pth_barrier_race	\
	pth_barrier_reinit	\
	pth_barrier_thr_cr	\
	thread_name
endif

The Linux kernel uses a similar but more complex approach. Net-SNMP is 
the only software project I know of that has information about which 
files should be built embedded in source code files instead of in (the 
equivalent of) makefiles.

Bart.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.