Added more info for pj_dump_config

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@75 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjlib/build/Makefile b/pjlib/build/Makefile
index c815b42..0977754 100644
--- a/pjlib/build/Makefile
+++ b/pjlib/build/Makefile
@@ -21,7 +21,7 @@
 #
 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 \
 	rbtree.o string.o timer.o \
diff --git a/pjlib/build/pjlib.dsp b/pjlib/build/pjlib.dsp
index 02d3d8d..0e86f1e 100644
--- a/pjlib/build/pjlib.dsp
+++ b/pjlib/build/pjlib.dsp
@@ -364,6 +364,10 @@
 # End Source File

 # 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

 # Begin Source File

diff --git a/pjlib/include/pj/compat/cc_gcc.h b/pjlib/include/pj/compat/cc_gcc.h
index eeca7e4..f49c8b0 100644
--- a/pjlib/include/pj/compat/cc_gcc.h
+++ b/pjlib/include/pj/compat/cc_gcc.h
@@ -28,6 +28,12 @@
 #  error "This file is only for gcc!"
 #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	
 #define PJ_NORETURN		
diff --git a/pjlib/include/pj/compat/cc_msvc.h b/pjlib/include/pj/compat/cc_msvc.h
index 9a1c2a2..57f97a3 100644
--- a/pjlib/include/pj/compat/cc_msvc.h
+++ b/pjlib/include/pj/compat/cc_msvc.h
@@ -28,6 +28,11 @@
 #  error "This header file is only for Visual C compiler!"
 #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++
 #pragma warning(disable: 4514) // unref. inline function has been removed
diff --git a/pjlib/include/pj/compat/m_alpha.h b/pjlib/include/pj/compat/m_alpha.h
index 89423e9..e2a6086 100644
--- a/pjlib/include/pj/compat/m_alpha.h
+++ b/pjlib/include/pj/compat/m_alpha.h
@@ -24,6 +24,8 @@
  * @brief Describes Alpha processor family specifics.
  */
 
+#define PJ_M_NAME		"alpha"
+
 #define PJ_HAS_PENTIUM		0
 #define PJ_IS_LITTLE_ENDIAN	1
 #define PJ_IS_BIG_ENDIAN	0
diff --git a/pjlib/include/pj/compat/m_i386.h b/pjlib/include/pj/compat/m_i386.h
index 5128806..ee7e7b7 100644
--- a/pjlib/include/pj/compat/m_i386.h
+++ b/pjlib/include/pj/compat/m_i386.h
@@ -24,7 +24,7 @@
  * @brief Describes Intel i386 family processor specifics.
  */
 
-#define PJ_M_I386		1
+#define PJ_M_NAME		"i386"
 
 #define PJ_HAS_PENTIUM		1
 #define PJ_IS_LITTLE_ENDIAN	1
diff --git a/pjlib/include/pj/compat/m_m68k.h b/pjlib/include/pj/compat/m_m68k.h
index f3e83ee..25cd84b 100644
--- a/pjlib/include/pj/compat/m_m68k.h
+++ b/pjlib/include/pj/compat/m_m68k.h
@@ -24,6 +24,8 @@
  * @brief Describes Motorola m68k family processor specifics.
  */
 
+#define PJ_M_NAME		"m68k"
+
 #define PJ_HAS_PENTIUM		0
 #define PJ_IS_LITTLE_ENDIAN	1
 #define PJ_IS_BIG_ENDIAN	0
diff --git a/pjlib/include/pj/compat/m_sparc.h b/pjlib/include/pj/compat/m_sparc.h
index b2a230e..ec27eca 100644
--- a/pjlib/include/pj/compat/m_sparc.h
+++ b/pjlib/include/pj/compat/m_sparc.h
@@ -24,7 +24,7 @@
  * @brief Describes SPARC family processor specifics.
  */
 
-#define PJ_SPARC		1
+#define PJ_M_NAME		"sparc"
 
 #define PJ_HAS_PENTIUM		0
 #define PJ_IS_LITTLE_ENDIAN	0
diff --git a/pjlib/include/pj/compat/os_linux.h b/pjlib/include/pj/compat/os_linux.h
index 21d6a30..7f90164 100644
--- a/pjlib/include/pj/compat/os_linux.h
+++ b/pjlib/include/pj/compat/os_linux.h
@@ -24,6 +24,8 @@
  * @brief Describes Linux operating system specifics.
  */
 
+#define PJ_OS_NAME		    "linux"
+
 #define PJ_HAS_ARPA_INET_H	    1
 #define PJ_HAS_ASSERT_H		    1
 #define PJ_HAS_CTYPE_H		    1
diff --git a/pjlib/include/pj/compat/os_linux_kernel.h b/pjlib/include/pj/compat/os_linux_kernel.h
index 06cd6bd..164cde5 100644
--- a/pjlib/include/pj/compat/os_linux_kernel.h
+++ b/pjlib/include/pj/compat/os_linux_kernel.h
@@ -24,6 +24,8 @@
  * @brief Describes Linux operating system specifics.
  */
 
+#define PJ_OS_NAME		    "linux-module"
+
 #define PJ_HAS_ARPA_INET_H	    0
 #define PJ_HAS_ASSERT_H		    0
 #define PJ_HAS_CTYPE_H		    0
diff --git a/pjlib/include/pj/compat/os_palmos.h b/pjlib/include/pj/compat/os_palmos.h
index 54dea22..9f62fe2 100644
--- a/pjlib/include/pj/compat/os_palmos.h
+++ b/pjlib/include/pj/compat/os_palmos.h
@@ -24,6 +24,8 @@
  * @brief Describes PalmOS operating system specifics.
  */
 
+#define PJ_OS_NAME		    "palmos"
+
 #define PJ_HAS_ARPA_INET_H	    0
 #define PJ_HAS_ASSERT_H		    1
 #define PJ_HAS_CTYPE_H		    1
diff --git a/pjlib/include/pj/compat/os_sunos.h b/pjlib/include/pj/compat/os_sunos.h
index 68827ec..9a3ff33 100644
--- a/pjlib/include/pj/compat/os_sunos.h
+++ b/pjlib/include/pj/compat/os_sunos.h
@@ -24,6 +24,8 @@
  * @brief Describes SunOS/Solaris operating system specifics.
  */
 
+#define PJ_OS_NAME		    "sunos"
+
 #define PJ_HAS_ARPA_INET_H	    1
 #define PJ_HAS_ASSERT_H		    1
 #define PJ_HAS_CTYPE_H		    1
diff --git a/pjlib/include/pj/compat/os_win32.h b/pjlib/include/pj/compat/os_win32.h
index ac6eaff..03c4f54 100644
--- a/pjlib/include/pj/compat/os_win32.h
+++ b/pjlib/include/pj/compat/os_win32.h
@@ -24,6 +24,8 @@
  * @brief Describes Win32 operating system family specifics.
  */
 
+#define PJ_OS_NAME		    "win32"
+
 #define WIN32_LEAN_AND_MEAN
 #define PJ_WIN32_WINNT		    0x0400
 #define _WIN32_WINNT		    PJ_WIN32_WINNT
diff --git a/pjlib/src/pj/config.c b/pjlib/src/pj/config.c
index 8c7ed52..13e3604 100644
--- a/pjlib/src/pj/config.c
+++ b/pjlib/src/pj/config.c
@@ -27,22 +27,36 @@
 {
     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));
 }
 
diff --git a/pjlib/src/pj/os_timestamp_win32.c b/pjlib/src/pj/os_timestamp_win32.c
index 757a300..5b63529 100644
--- a/pjlib/src/pj/os_timestamp_win32.c
+++ b/pjlib/src/pj/os_timestamp_win32.c
@@ -22,6 +22,7 @@
 
 #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)
 /*
  * Use rdtsc to get the OS timestamp.