[reSIProcate] HAVE_CONFIG_H in public header

Jay Hogg jay at 2imagineit.net
Sat Jan 8 15:47:02 CST 2005


Group,

I ran into some issues attempting to utilize the resip library within an 
autotools project because some of the headers make references to 
HAVE_CONFIG_H (HAVE_CONFIG_HXX) and the os/compat.hxx header file which 
tries to standardize missing defines across multiple platforms.

I coded around it for now by #undef HAVE_CONFIG_H before including resip 
headers and moving all the resip handling into a few separate files but 
there are some things that compat.h wants to define that aren't "A Good 
Thing" for included headers to arbitrarily define.

resiprocate
- clean - HAVE_CONFIG_* and compat.h are only in .cxx files BUT they 
haul in a lot of os/*.hxx
files that in turn pull in compat.h and HAVE_CONFIG_HXX issues

resiprocate/dum
- UInt64Hash.hxx includes os/compat.hxx but may not be an issue since it 
appears to be internal only

resiprocate/dum/test
- clean

resiprocate/os
- Data.hxx - HAVE_CONFIG_HXX is used
- compat,hxx - conflicts with a lot other local compatibility handling 
and uses HAVE_CONFIG_H
- Inserter.hxx, Mutex.hxx, RecursiveMutex.hxx, Socket.hxx, Tuple.hxx, 
vmd5,hxx all are included
from resiprocate headers and include compat.hxx.  The layering gets deep 
between SipMessage and SipStack
they all get pulled in including Data.hxx.

resiprocate/test
- clean

I've tap-danced around it for now but I think consideration needs to be 
given to pulling this out of
public headers for general autotools compatibility.

Jay




More information about the resiprocate-devel mailing list