< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] HAVE_CONFIG_H in public header


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