Print

Print



  Hi Fons, Andy,

> > a) I'd like to remove some historical baggage. In the past I was unable to
> > convince anyone that platform and compiler was independent. So, the best I
> > got was -DSUNCC to tip me off that I was compiling for Solaris. This, of
> > course, is silly. Would it be possible to *consistently* define a define
> > symbol for general OS type? For instance, we have -D__linux__ and I'd like
> > to extend that to other OS's. Specifically, I'd like -D__solaris__ if we
> > are compiling for that OS. Once that happens, I'll change all occurrences
> > of SUNCC to that symbol.
> > 

>    look in the $ROOTSYS/include/RConfig.h file. This file contains the 
> machine configs for ROOT and it has been honed over many years and works 
> for all our supported platforms.

  This is what I was also going to propose for point a). We could have
  a special header file, eg src/Xrd/XrdDefs.hh, where all the relevant 
  OS and compiler version symbols are checked to define symbols identifying
  the cases relevant to xrootd.

> > b) In porting to macos, I had to redo the getxxxnyxxx() calls. Now, I will
> > use getnameinfo() and getaddrinfo() but only if they are available and
> > revert to the get methods otherwise. However, that means that
> > -DHAS_NAMEINFO must be defined for me to use the name routines. Most
> > platforms have them now except for Solaris 7, I beleive. There is some
> > kludginess for linux because getaddrinfo() primatively returns all
> > possible addresses for a host, even when they are duplicates (i.e., the
> > host has aliases). If you'd like to use a negative symbol (e.g.,
> > HASNO_NAMEINFO or MISSING_NAMEINFO) that's ok too.

  Ok, no problem, we can do it as for for -DHAS_STRLCPY .

  Gerri