Just a quick note, it seems that the expression below (PTLIB_MINOR <= 10) will always yield a least PTLIB_VER for the most part.

for instance, if PTLIB_MAJOR =2, PTLIB_MINOR=10, it goes to the first #if, resulting in PTLIB_VER = 300 instead of 2100. Just curious to know if this is intentional.

#if PTLIB_MAJOR == 2 && PTLIB_MINOR <= 10
   #define PTLIB_VER ( PTLIB_MAJOR*100 + PTLIB_MINOR*10 + PTLIB_BUILD )
#else
   #define PTLIB_VER ( PTLIB_MAJOR*1000 + PTLIB_MINOR*10 + PTLIB_BUILD )
#endif

Thanks

Josh