Index: pjproject/trunk/pjlib/build/Makefile
===================================================================
--- pjproject/trunk/pjlib/build/Makefile	(revision 74)
+++ pjproject/trunk/pjlib/build/Makefile	(revision 75)
@@ -22,5 +22,5 @@
 export PJLIB_SRCDIR = ../src/pj
 export PJLIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
-	array.o config.o errno.o except.o fifobuf.o guid.o \
+	array.o config.o ctype.o errno.o except.o fifobuf.o guid.o \
 	hash.o list.o lock.o log.o \
 	pool.o pool_caching.o rand.o \
Index: pjproject/trunk/pjlib/build/pjlib.dsp
===================================================================
--- pjproject/trunk/pjlib/build/pjlib.dsp	(revision 74)
+++ pjproject/trunk/pjlib/build/pjlib.dsp	(revision 75)
@@ -365,4 +365,8 @@
 # Begin Source File
 
+SOURCE=..\include\pj\compat\m_sparc.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\include\pj\compat\malloc.h
 # End Source File
Index: pjproject/trunk/pjlib/include/pj/compat/cc_gcc.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/cc_gcc.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/cc_gcc.h	(revision 75)
@@ -29,4 +29,10 @@
 #endif
 
+#define PJ_CC_NAME		"gcc"
+#define PJ_CC_VER_1		__GNUC__
+#define PJ_CC_VER_2		__GNUC_MINOR__
+#define PJ_CC_VER_3		__GNUC_PATCHLEVEL__
+
+
 #define PJ_INLINE_SPECIFIER	static inline
 #define PJ_THREAD_FUNC	
Index: pjproject/trunk/pjlib/include/pj/compat/cc_msvc.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/cc_msvc.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/cc_msvc.h	(revision 75)
@@ -29,4 +29,9 @@
 #endif
 
+#define PJ_CC_NAME	    "msvc"
+#define PJ_CC_VER_1	    (_MSC_VER/100)
+#define PJ_CC_VER_2	    (_MSC_VER%100)
+#define PJ_CC_VER_3	    0
+
 #pragma warning(disable: 4127) // conditional expression is constant
 #pragma warning(disable: 4611) // not wise to mix setjmp with C++
Index: pjproject/trunk/pjlib/include/pj/compat/m_alpha.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/m_alpha.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/m_alpha.h	(revision 75)
@@ -25,4 +25,6 @@
  */
 
+#define PJ_M_NAME		"alpha"
+
 #define PJ_HAS_PENTIUM		0
 #define PJ_IS_LITTLE_ENDIAN	1
Index: pjproject/trunk/pjlib/include/pj/compat/m_i386.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/m_i386.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/m_i386.h	(revision 75)
@@ -25,5 +25,5 @@
  */
 
-#define PJ_M_I386		1
+#define PJ_M_NAME		"i386"
 
 #define PJ_HAS_PENTIUM		1
Index: pjproject/trunk/pjlib/include/pj/compat/m_m68k.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/m_m68k.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/m_m68k.h	(revision 75)
@@ -25,4 +25,6 @@
  */
 
+#define PJ_M_NAME		"m68k"
+
 #define PJ_HAS_PENTIUM		0
 #define PJ_IS_LITTLE_ENDIAN	1
Index: pjproject/trunk/pjlib/include/pj/compat/m_sparc.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/m_sparc.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/m_sparc.h	(revision 75)
@@ -25,5 +25,5 @@
  */
 
-#define PJ_SPARC		1
+#define PJ_M_NAME		"sparc"
 
 #define PJ_HAS_PENTIUM		0
Index: pjproject/trunk/pjlib/include/pj/compat/os_linux.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/os_linux.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/os_linux.h	(revision 75)
@@ -24,4 +24,6 @@
  * @brief Describes Linux operating system specifics.
  */
+
+#define PJ_OS_NAME		    "linux"
 
 #define PJ_HAS_ARPA_INET_H	    1
Index: pjproject/trunk/pjlib/include/pj/compat/os_linux_kernel.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/os_linux_kernel.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/os_linux_kernel.h	(revision 75)
@@ -24,4 +24,6 @@
  * @brief Describes Linux operating system specifics.
  */
+
+#define PJ_OS_NAME		    "linux-module"
 
 #define PJ_HAS_ARPA_INET_H	    0
Index: pjproject/trunk/pjlib/include/pj/compat/os_palmos.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/os_palmos.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/os_palmos.h	(revision 75)
@@ -24,4 +24,6 @@
  * @brief Describes PalmOS operating system specifics.
  */
+
+#define PJ_OS_NAME		    "palmos"
 
 #define PJ_HAS_ARPA_INET_H	    0
Index: pjproject/trunk/pjlib/include/pj/compat/os_sunos.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/os_sunos.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/os_sunos.h	(revision 75)
@@ -24,4 +24,6 @@
  * @brief Describes SunOS/Solaris operating system specifics.
  */
+
+#define PJ_OS_NAME		    "sunos"
 
 #define PJ_HAS_ARPA_INET_H	    1
Index: pjproject/trunk/pjlib/include/pj/compat/os_win32.h
===================================================================
--- pjproject/trunk/pjlib/include/pj/compat/os_win32.h	(revision 74)
+++ pjproject/trunk/pjlib/include/pj/compat/os_win32.h	(revision 75)
@@ -24,4 +24,6 @@
  * @brief Describes Win32 operating system family specifics.
  */
+
+#define PJ_OS_NAME		    "win32"
 
 #define WIN32_LEAN_AND_MEAN
Index: pjproject/trunk/pjlib/src/pj/config.c
===================================================================
--- pjproject/trunk/pjlib/src/pj/config.c	(revision 74)
+++ pjproject/trunk/pjlib/src/pj/config.c	(revision 75)
@@ -28,21 +28,35 @@
     PJ_LOG(3, (id, "PJLIB (c)2005 Benny Prijono"));
     PJ_LOG(3, (id, "Dumping configurations:"));
-    PJ_LOG(3, (id, " PJ_VERSION               : %s", PJ_VERSION));
-    PJ_LOG(3, (id, " PJ_DEBUG                 : %d", PJ_DEBUG));
-    PJ_LOG(3, (id, " PJ_FUNCTIONS_ARE_INLINED : %d", PJ_FUNCTIONS_ARE_INLINED));
-    PJ_LOG(3, (id, " PJ_POOL_DEBUG            : %d", PJ_POOL_DEBUG));
-    PJ_LOG(3, (id, " PJ_HAS_THREADS           : %d", PJ_HAS_THREADS));
-    PJ_LOG(3, (id, " PJ_LOG_MAX_LEVEL         : %d", PJ_LOG_MAX_LEVEL));
-    PJ_LOG(3, (id, " PJ_LOG_MAX_SIZE          : %d", PJ_LOG_MAX_SIZE));
-    PJ_LOG(3, (id, " PJ_LOG_USE_STACK_BUFFER  : %d", PJ_LOG_USE_STACK_BUFFER));
-    PJ_LOG(3, (id, " PJ_HAS_TCP               : %d", PJ_HAS_TCP));
-    PJ_LOG(3, (id, " PJ_MAX_HOSTNAME          : %d", PJ_MAX_HOSTNAME));
-    PJ_LOG(3, (id, " PJ_HAS_SEMAPHORE         : %d", PJ_HAS_SEMAPHORE));
-    PJ_LOG(3, (id, " PJ_HAS_EVENT_OBJ         : %d", PJ_HAS_EVENT_OBJ));
-    PJ_LOG(3, (id, " PJ_HAS_HIGH_RES_TIMER    : %d", PJ_HAS_HIGH_RES_TIMER));
-    PJ_LOG(3, (id, " PJ_(endianness)          : %s", 
+    PJ_LOG(3, (id, " PJ_VERSION                : %s", PJ_VERSION));
+    PJ_LOG(3, (id, " PJ_M_NAME                 : %s", PJ_M_NAME));
+    PJ_LOG(3, (id, " PJ_HAS_PENTIUM            : %d", PJ_HAS_PENTIUM));
+    PJ_LOG(3, (id, " PJ_OS_NAME                : %s", PJ_OS_NAME));
+    PJ_LOG(3, (id, " PJ_CC_NAME/VER_(1,2,3)    : %s-%d.%d.%d", PJ_CC_NAME,
+	       PJ_CC_VER_1, PJ_CC_VER_2, PJ_CC_VER_3));
+    PJ_LOG(3, (id, " PJ_IS_(BIG/LITTLE)_ENDIAN : %s", 
 	       (PJ_IS_BIG_ENDIAN?"big-endian":"little-endian")));
-    PJ_LOG(3, (id, " ioqueue type             : %s", pj_ioqueue_name()));
-    PJ_LOG(3, (id, " PJ_IOQUEUE_MAX_HANDLES   : %d", PJ_IOQUEUE_MAX_HANDLES));
+    PJ_LOG(3, (id, " PJ_HAS_INT64              : %d", PJ_HAS_INT64));
+    PJ_LOG(3, (id, " PJ_HAS_FLOATING_POINT     : %d", PJ_HAS_FLOATING_POINT));
+    PJ_LOG(3, (id, " PJ_DEBUG                  : %d", PJ_DEBUG));
+    PJ_LOG(3, (id, " PJ_FUNCTIONS_ARE_INLINED  : %d", PJ_FUNCTIONS_ARE_INLINED));
+    PJ_LOG(3, (id, " PJ_LOG_MAX_LEVEL          : %d", PJ_LOG_MAX_LEVEL));
+    PJ_LOG(3, (id, " PJ_LOG_MAX_SIZE           : %d", PJ_LOG_MAX_SIZE));
+    PJ_LOG(3, (id, " PJ_LOG_USE_STACK_BUFFER   : %d", PJ_LOG_USE_STACK_BUFFER));
+    PJ_LOG(3, (id, " PJ_POOL_DEBUG             : %d", PJ_POOL_DEBUG));
+    PJ_LOG(3, (id, " PJ_HAS_TCP                : %d", PJ_HAS_TCP));
+    PJ_LOG(3, (id, " PJ_MAX_HOSTNAME           : %d", PJ_MAX_HOSTNAME));
+    PJ_LOG(3, (id, " ioqueue type              : %s", pj_ioqueue_name()));
+    PJ_LOG(3, (id, " PJ_IOQUEUE_MAX_HANDLES    : %d", PJ_IOQUEUE_MAX_HANDLES));
+    PJ_LOG(3, (id, " PJ_HAS_THREADS            : %d", PJ_HAS_THREADS));
+    PJ_LOG(3, (id, " PJ_LOG_USE_STACK_BUFFER   : %d", PJ_LOG_USE_STACK_BUFFER));
+    PJ_LOG(3, (id, " PJ_HAS_SEMAPHORE          : %d", PJ_HAS_SEMAPHORE));
+    PJ_LOG(3, (id, " PJ_HAS_EVENT_OBJ          : %d", PJ_HAS_EVENT_OBJ));
+    PJ_LOG(3, (id, " PJ_ENABLE_EXTRA_CHECK     : %d", PJ_ENABLE_EXTRA_CHECK));
+    PJ_LOG(3, (id, " PJ_HAS_EXCEPTION_NAMES    : %d", PJ_HAS_EXCEPTION_NAMES));
+    PJ_LOG(3, (id, " PJ_MAX_EXCEPTION_ID       : %d", PJ_MAX_EXCEPTION_ID));
+    PJ_LOG(3, (id, " PJ_EXCEPTION_USE_WIN32_SEH: %d", PJ_EXCEPTION_USE_WIN32_SEH));
+    PJ_LOG(3, (id, " PJ_TIMESTAMP_USE_RDTSC:   : %d", PJ_TIMESTAMP_USE_RDTSC));
+    PJ_LOG(3, (id, " PJ_OS_HAS_CHECK_STACK     : %d", PJ_OS_HAS_CHECK_STACK));
+    PJ_LOG(3, (id, " PJ_HAS_HIGH_RES_TIMER     : %d", PJ_HAS_HIGH_RES_TIMER));
 }
 
Index: pjproject/trunk/pjlib/src/pj/os_timestamp_win32.c
===================================================================
--- pjproject/trunk/pjlib/src/pj/os_timestamp_win32.c	(revision 74)
+++ pjproject/trunk/pjlib/src/pj/os_timestamp_win32.c	(revision 75)
@@ -23,4 +23,5 @@
 #if defined(PJ_TIMESTAMP_USE_RDTSC) && PJ_TIMESTAMP_USE_RDTSC!=0 && \
     defined(PJ_M_I386) && PJ_M_I386 != 0 && \
+    defined(PJ_HAS_PENTIUM) && PJ_HAS_PENTIUM!=0 && \
     defined(_MSC_VER)
 /*
