Index: pjproject/trunk/pjsip-apps/build/Footprint.mak
===================================================================
--- pjproject/trunk/pjsip-apps/build/Footprint.mak	(revision 585)
+++ pjproject/trunk/pjsip-apps/build/Footprint.mak	(revision 586)
@@ -50,2 +50,4 @@
 	rm -f $(EXE)
 
+print_name:
+	@echo $(MACHINE_NAME) $(OS_NAME) $(CC_NAME) `$(CC_NAME) -dumpversion`
Index: pjproject/trunk/pjsip-apps/build/get-footprint.py
===================================================================
--- pjproject/trunk/pjsip-apps/build/get-footprint.py	(revision 585)
+++ pjproject/trunk/pjsip-apps/build/get-footprint.py	(revision 586)
@@ -12,5 +12,8 @@
 compile_flags1 = [
     # Base
-    ['BASE', 			'Minimum PJLIB only'],
+    ['BASE',			'Empty application size'],
+    ['',			'Subtotal: Empty application size'],
+
+    ['HAS_PJLIB', 		'Minimum PJLIB only'],
 
     # Subtotal
@@ -27,5 +30,8 @@
 compile_flags = [
     # Base
-    ['BASE', 			'PJLIB (pool, data structures, hash tables, ioqueue, timer heap)'],
+    ['BASE',			'Empty application size'],
+    ['', 			'Subtotal: empty application size on this platform'],
+
+    ['HAS_PJLIB', 		'PJLIB (pool, data structures, hash tables, ioqueue, socket, timer heap, etc.)'],
     ['', 			'Subtotal: Minimum PJLIB application size (linked with OS libraries)'],
 
@@ -33,11 +39,12 @@
     ['HAS_PJLIB_STUN',		'PJLIB-UTIL STUN client'],
     ['HAS_PJLIB_GETOPT',	'PJLIB-UTIL getopt() functionality'],
-    ['HAS_PJLIB_XML',		'PJLIB-UTIL XML parsing and API'],
+    ['HAS_PJLIB_SCANNER',	'PJLIB-UTIL text scanner (needed by SIP parser)'],
+    ['HAS_PJLIB_XML',		'PJLIB-UTIL tiny XML (parsing and API) (needs text scanner)'],
 
     # PJSIP
-    ['HAS_PJSIP_CORE',		'PJSIP Core (endpoint, transport manager, parser, message elements, etc.)'],
+    ['HAS_PJSIP_CORE',		'PJSIP Core (endpoint, transport manager, parser, message elements, module mgmt, etc.)'],
     ['HAS_PJSIP_UDP_TRANSPORT',	'PJSIP UDP transport'],
     ['',			'Subtotal: A very minimum SIP application (parsing, UDP transport+STUN, no transaction)'],
-    
+   
     ['HAS_PJSIP_TCP_TRANSPORT',	'PJSIP TCP transport'],
     ['HAS_PJSIP_INFO',		'PJSIP INFO support (RFC 2976) (no special treatment, thus the zero size)'],
@@ -153,17 +160,25 @@
     # Get Revision info.
     f = os.popen('svn info | grep Revision')
-    revision = f.readline()
-
+    revision = f.readline().split()[1]
+
+    # Get Machine, OS, and CC name
+    f = os.popen('make -f Footprint.mak print_name')
+    names = f.readline().split()
+    m = names[0]
+    o = names[1]
+    cc = names[2]
+    cc_ver = names[3]
+	
     output.write('<HTML><HEAD>\n');
-    output.write(' <TITLE>PJSIP and PJMEDIA footprint report (' + revision + ')</TITLE>\n')
+    output.write(' <TITLE>PJSIP and PJMEDIA footprint report for ' + o + '/' + m + ' (r' + revision + ')</TITLE>\n')
     output.write(' <LINK href="/style/style.css" type="text/css" rel="stylesheet">\n')
     output.write('</HEAD>\n');
     output.write('<BODY bgcolor="white">\n');
-    output.write('<!-- #include virtual="/header.html" -->')
-
-    output.write(' <H1>PJSIP and PJMEDIA footprint report (' + revision + ')</H1>\n')
+    output.write('<!--#include virtual="/header.html" -->')
+
+    output.write(' <H1>PJSIP and PJMEDIA footprint report (r' + revision + ')</H1>\n')
     output.write('Auto-generated by pjsip-apps/build/get-footprint.py\n')
     output.write('<p>Date: ' + time.asctime() + '<BR>\n')
-    output.write(revision + '</p>\n\n')
+    output.write('Revision: r' + revision + '</p>\n\n')
     output.write('<HR>\n')
     output.write('\n')
@@ -180,4 +195,5 @@
 	output.write(l + '<BR>\n')
     output.write('</tt>\n')
+    output.write('<p>Using ' + cc + ' version ' + cc_ver +'</p>\n')
 
     # user.mak
@@ -233,5 +249,5 @@
 
     output.write('</TABLE>\n')
-    output.write('<!-- #include virtual="/footer.html" -->')
+    output.write('<!--#include virtual="/footer.html" -->')
     output.write('</BODY>\n')
     output.write('</HTML>\n')
Index: pjproject/trunk/pjsip-apps/src/samples/footprint.c
===================================================================
--- pjproject/trunk/pjsip-apps/src/samples/footprint.c	(revision 585)
+++ pjproject/trunk/pjsip-apps/src/samples/footprint.c	(revision 586)
@@ -33,11 +33,14 @@
 #include <pjlib-util.h>
 #include <pjlib.h>
-
+#include <stdlib.h>
 
 /* All flags: */
 #if 0
+#define HAS_PJLIB
+
 #define HAS_PJLIB_STUN
 #define HAS_PJLIB_GETOPT
 #define HAS_PJLIB_XML
+#define HAS_PJLIB_SCANNER
 
 #define HAS_PJSIP_CORE
@@ -82,5 +85,9 @@
 {
     pj_caching_pool cp;
-
+ 
+    sprintf(NULL, "%d", 0);
+    rand();
+    
+#ifdef HAS_PJLIB
     pj_init();
     pj_caching_pool_init(&cp, NULL, 0);
@@ -94,4 +101,5 @@
     pj_pool_alloc(NULL, 0);
     pj_timer_heap_create(NULL, 0, NULL);
+#endif
 
 #ifdef HAS_PJLIB_STUN
@@ -117,4 +125,29 @@
 #endif
 
+#ifdef HAS_PJLIB_SCANNER
+    pj_cis_buf_init(NULL);
+    pj_cis_init(NULL, NULL);
+    pj_cis_dup(NULL, NULL);
+    pj_cis_add_alpha(NULL);
+    pj_cis_add_str(NULL, NULL);
+
+    pj_scan_init(NULL, NULL, 0, 0, NULL);
+    pj_scan_fini(NULL);
+    pj_scan_peek(NULL, NULL, NULL);
+    pj_scan_peek_n(NULL, 0, NULL);
+    pj_scan_peek_until(NULL, NULL, NULL);
+    pj_scan_get(NULL, NULL, NULL);
+    pj_scan_get_unescape(NULL, NULL, NULL);
+    pj_scan_get_quote(NULL, 0, 0, NULL);
+    pj_scan_get_n(NULL, 0, NULL);
+    pj_scan_get_char(NULL);
+    pj_scan_get_until(NULL, NULL, NULL);
+    pj_scan_strcmp(NULL, NULL, 0);
+    pj_scan_stricmp(NULL, NULL, 0);
+    pj_scan_stricmp_alnum(NULL, NULL, 0);
+    pj_scan_get_newline(NULL);
+    pj_scan_restore_state(NULL, NULL);
+#endif
+    
 #ifdef HAS_PJSIP_CORE
     pjsip_endpt_create(NULL, NULL, NULL);
