Part 3 of adding two new ctk configuration macros:
- CTK_CONF_ICON_BITMAPS
- CTK_CONF_ICON_TEXTMAPS

These macros control if icon bitmaps resp. textmaps are used at all. For all platfroms only needing one or the other this saves memory as the application description files don't define the unused stuff anymore. Especially for the conio based platforms this is a significant benefit.

Note: For all platforms (apart for Apple2 and Atari) I initially defined both macros as 1 which should lead to an unchanged bevaviour. I leave it up to the platform maintainers to make use of the new macros by optionally setting one to 0.
diff --git a/contiki/apps/about-dsc.c b/contiki/apps/about-dsc.c
index 33c0345..54c496e 100644
--- a/contiki/apps/about-dsc.c
+++ b/contiki/apps/about-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: about-dsc.c,v 1.4 2003/07/31 23:19:55 adamdunkels Exp $
+ * $Id: about-dsc.c,v 1.5 2004/06/27 12:34:15 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     about_init,
     &about_icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char abouticon_bitmap[3*3*8] = {
   0x00, 0x7f, 0x43, 0x4c, 0x58, 0x53, 0x60, 0x6f,
   0x00, 0xff, 0x00, 0x7e, 0x00, 0xff, 0x00, 0xff,
@@ -56,12 +57,15 @@
   0x07, 0xe7, 0x0f, 0xef, 0x0f, 0x0f, 0xff, 0x00,
   0x8e, 0x06, 0x06, 0x06, 0x8e, 0xfe, 0xfe, 0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char abouticon_textmap[9] = {
   ' ', ' ', 'c',
   ' ', '?', ' ',
   '.', ' ', ' '
 };
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 static struct ctk_icon about_icon =
   {CTK_ICON("About Contiki", abouticon_bitmap, abouticon_textmap)};
diff --git a/contiki/apps/calc-dsc.c b/contiki/apps/calc-dsc.c
index f56fa71..de4167f 100644
--- a/contiki/apps/calc-dsc.c
+++ b/contiki/apps/calc-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: calc-dsc.c,v 1.1 2003/04/18 00:19:36 adamdunkels Exp $
+ * $Id: calc-dsc.c,v 1.2 2004/06/27 12:34:24 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     calc_init,
     &calc_icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char calcicon_bitmap[3*3*8] = {
   0x00, 0x7f, 0x43, 0x4c, 0x58, 0x53, 0x60, 0x6f,
   0x00, 0xff, 0x00, 0x7e, 0x00, 0xff, 0x00, 0xff,
@@ -56,12 +57,15 @@
   0x07, 0xe7, 0x0f, 0xef, 0x0f, 0x0f, 0xff, 0x00,
   0x8e, 0x06, 0x06, 0x06, 0x8e, 0xfe, 0xfe, 0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char calcicon_textmap[9] = {
   '+', ' ', '-',
   ' ', '*', ' ',
   '=', ' ', '/'
 };
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 static struct ctk_icon calc_icon =
   {CTK_ICON("Calculator", calcicon_bitmap, calcicon_textmap)};
diff --git a/contiki/apps/email-dsc.c b/contiki/apps/email-dsc.c
index 41e6f64..7425e70 100644
--- a/contiki/apps/email-dsc.c
+++ b/contiki/apps/email-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: email-dsc.c,v 1.1 2003/08/11 22:23:39 adamdunkels Exp $
+ * $Id: email-dsc.c,v 1.2 2004/06/27 12:34:24 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     email_init,
     &email_icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char tcpipconficon_bitmap[3*3*8] = {
   0x00, 0x79, 0x43, 0x73, 0x47, 0x77, 0x47, 0x6f,
   0x00, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xfb,
@@ -56,13 +57,15 @@
   0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xf7, 0x00,
   0x00, 0x80, 0x00, 0x00, 0x00, 0x84, 0xf0, 0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char tcpipconficon_textmap[9] = {
   '+', '-', '+',
   '|', 'v', '|',
   '+', '-', '+'
 };
-
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 static struct ctk_icon email_icon =
   {CTK_ICON("E-mail program", tcpipconficon_bitmap, tcpipconficon_textmap)};
diff --git a/contiki/apps/netconf-dsc.c b/contiki/apps/netconf-dsc.c
index 4bfc2c1..c7b7000 100644
--- a/contiki/apps/netconf-dsc.c
+++ b/contiki/apps/netconf-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: netconf-dsc.c,v 1.2 2003/06/30 20:47:02 adamdunkels Exp $
+ * $Id: netconf-dsc.c,v 1.3 2004/06/27 12:34:24 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     netconf_init,
     &netconf_icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char tcpipconficon_bitmap[3*3*8] = {
   0x00, 0x79, 0x43, 0x73, 0x47, 0x77, 0x47, 0x6f,
   0x00, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xf8, 0xfb,
@@ -56,13 +57,15 @@
   0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xf7, 0x00,
   0x00, 0x80, 0x00, 0x00, 0x00, 0x84, 0xf0, 0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char tcpipconficon_textmap[9] = {
   'T', 'C', 'P',
   '/', 'I', 'P',
   'C', 'f', 'g'
 };
-
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 static struct ctk_icon netconf_icon =
   {CTK_ICON("Network setup", tcpipconficon_bitmap, tcpipconficon_textmap)};
diff --git a/contiki/apps/processes-dsc.c b/contiki/apps/processes-dsc.c
index 831bd85..1b9ad2f 100644
--- a/contiki/apps/processes-dsc.c
+++ b/contiki/apps/processes-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: processes-dsc.c,v 1.3 2003/08/05 13:48:19 adamdunkels Exp $
+ * $Id: processes-dsc.c,v 1.4 2004/06/27 12:34:24 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     processes_init,
     &processes_icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char processesicon_bitmap[3*3*8] = {
   0x00, 0x7f, 0x43, 0x4c, 0x58, 0x53, 0x60, 0x6f,
   0x00, 0xff, 0x00, 0x7e, 0x00, 0xff, 0x00, 0xff,
@@ -56,13 +57,15 @@
   0x07, 0xe7, 0x0f, 0xef, 0x0f, 0x0f, 0xff, 0x00,
   0x8e, 0x06, 0x06, 0x06, 0x8e, 0xfe, 0xfe, 0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char processesicon_textmap[9] = {
   '0', '1', ' ',
   ' ', '0', '1',
   '1', '0', '/'
 };
-
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 /*-----------------------------------------------------------------------------------*/
 static struct ctk_icon processes_icon =
diff --git a/contiki/apps/shell-dsc.c b/contiki/apps/shell-dsc.c
index 5b0ec19..b4fb538 100644
--- a/contiki/apps/shell-dsc.c
+++ b/contiki/apps/shell-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: shell-dsc.c,v 1.1 2003/08/21 22:25:54 adamdunkels Exp $
+ * $Id: shell-dsc.c,v 1.2 2004/06/27 12:34:24 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     shell_init,
     &shell_icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char shellicon_bitmap[3*3*8] = {
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
@@ -56,12 +57,15 @@
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char shellicon_textmap[9] = {
   'C', 'o', 'n',
   't', 'i', 'k',
   'i', 'S', 'h'
 };
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 static struct ctk_icon shell_icon =
   {CTK_ICON("Command shell", shellicon_bitmap, shellicon_textmap)};
diff --git a/contiki/apps/telnet-dsc.c b/contiki/apps/telnet-dsc.c
index 37bb8e6..f25a701 100644
--- a/contiki/apps/telnet-dsc.c
+++ b/contiki/apps/telnet-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: telnet-dsc.c,v 1.4 2003/08/05 13:49:10 adamdunkels Exp $
+ * $Id: telnet-dsc.c,v 1.5 2004/06/27 12:34:24 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     simpletelnet_init,
     &telnet_icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char telneticon_bitmap[3*3*8] = {
   0x00, 0x7f, 0x43, 0x4c, 0x58, 0x53, 0x60, 0x6f,
   0x00, 0xff, 0x00, 0x7e, 0x00, 0xff, 0x00, 0xff,
@@ -56,12 +57,15 @@
   0x07, 0xe7, 0x0f, 0xef, 0x0f, 0x0f, 0xff, 0x00,
   0x8e, 0x06, 0x06, 0x06, 0x8e, 0xfe, 0xfe, 0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char telneticon_textmap[9] = {
   't', 'e', 'l',
   'n', 'e', 't',
   '-', '-', '-'
 };
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 static struct ctk_icon telnet_icon =
   {CTK_ICON("Telnet", telneticon_bitmap, telneticon_textmap)};
diff --git a/contiki/apps/telnetd-dsc.c b/contiki/apps/telnetd-dsc.c
index 0aac6bc..3ae1eb1 100644
--- a/contiki/apps/telnetd-dsc.c
+++ b/contiki/apps/telnetd-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: telnetd-dsc.c,v 1.2 2003/10/14 11:23:04 adamdunkels Exp $
+ * $Id: telnetd-dsc.c,v 1.3 2004/06/27 12:34:24 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     telnetd_init,
     &telnetd_icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char telnetdicon_bitmap[3*3*8] = {
   0x00, 0x7f, 0x43, 0x4c, 0x58, 0x53, 0x60, 0x6f,
   0x00, 0xff, 0x00, 0x7e, 0x00, 0xff, 0x00, 0xff,
@@ -56,12 +57,15 @@
   0x07, 0xe7, 0x0f, 0xef, 0x0f, 0x0f, 0xff, 0x00,
   0x8e, 0x06, 0x06, 0x06, 0x8e, 0xfe, 0xfe, 0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char telnetdicon_textmap[9] = {
   't', 'e', 'l',
   'n', 'e', 't',
   's', 'r', 'v'
 };
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 static struct ctk_icon telnetd_icon =
   {CTK_ICON("Shell server", telnetdicon_bitmap, telnetdicon_textmap)};
diff --git a/contiki/apps/vnc-dsc.c b/contiki/apps/vnc-dsc.c
index 5b32a0d..d7538aa 100644
--- a/contiki/apps/vnc-dsc.c
+++ b/contiki/apps/vnc-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: vnc-dsc.c,v 1.2 2003/08/05 13:49:27 adamdunkels Exp $
+ * $Id: vnc-dsc.c,v 1.3 2004/06/27 12:34:24 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     vnc_init,
     &icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char vncicon_bitmap[3*3*8] = {
   0x00, 0x7e, 0x40, 0x73, 0x46, 0x4c, 0x18, 0x13,
   0x00, 0x00, 0xff, 0x81, 0x34, 0xc9, 0x00, 0xb6,
@@ -56,12 +57,15 @@
   0x22, 0x91, 0x00, 0xc4, 0x81, 0xff, 0x00, 0x00,
   0x08, 0x18, 0x32, 0x62, 0xc6, 0x02, 0x3e, 0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char vncicon_textmap[9] = {
   'w', 'e', 'b',
   'p', 'r', 'g',
   'd', '6', '4'
 };
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 static struct ctk_icon icon =
   {CTK_ICON("VNC viewer", vncicon_bitmap, vncicon_textmap)};
diff --git a/contiki/apps/webserver-dsc.c b/contiki/apps/webserver-dsc.c
index 02a46d7..93f4f2a 100644
--- a/contiki/apps/webserver-dsc.c
+++ b/contiki/apps/webserver-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: webserver-dsc.c,v 1.1 2003/04/17 19:00:01 adamdunkels Exp $
+ * $Id: webserver-dsc.c,v 1.2 2004/06/27 12:34:24 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     webserver_init,
     &webserver_icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char webservericon_bitmap[3*3*8] = {
   0x00, 0x7f, 0x40, 0x41, 0x44, 0x48, 0x40, 0x50,
   0x00, 0xff, 0x5a, 0x00, 0x00, 0x00, 0x3c, 0x81,
@@ -56,12 +57,15 @@
   0xc5, 0x34, 0x3c, 0x52, 0x7a, 0x7e, 0xa1, 0xfd,
   0x0a, 0x02, 0x12, 0x22, 0x82, 0x02, 0x7e, 0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char webservericon_textmap[9] = {
   '+', '-', '+',
   '|', ')', '|',
   '+', '-', '+'
 };
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 static struct ctk_icon webserver_icon =
   {CTK_ICON("Web server", webservericon_bitmap, webservericon_textmap)};
diff --git a/contiki/apps/www-dsc.c b/contiki/apps/www-dsc.c
index b55ca3b..66cc77b 100644
--- a/contiki/apps/www-dsc.c
+++ b/contiki/apps/www-dsc.c
@@ -29,7 +29,7 @@
  *
  * This file is part of the Contiki desktop environment
  *
- * $Id: www-dsc.c,v 1.1 2003/04/17 19:00:01 adamdunkels Exp $
+ * $Id: www-dsc.c,v 1.2 2004/06/27 12:34:24 oliverschmidt Exp $
  *
  */
 
@@ -43,6 +43,7 @@
     www_init,
     &icon);
 /*-----------------------------------------------------------------------------------*/
+#if CTK_CONF_ICON_BITMAPS
 static unsigned char wwwicon_bitmap[3*3*8] = {
   0x00, 0x7e, 0x40, 0x73, 0x46, 0x4c, 0x18, 0x13,
   0x00, 0x00, 0xff, 0x81, 0x34, 0xc9, 0x00, 0xb6,
@@ -56,12 +57,15 @@
   0x22, 0x91, 0x00, 0xc4, 0x81, 0xff, 0x00, 0x00,
   0x08, 0x18, 0x32, 0x62, 0xc6, 0x02, 0x3e, 0x00
 };
+#endif /* CTK_CONF_ICON_BITMAPS */
 
+#if CTK_CONF_ICON_TEXTMAPS
 static char wwwicon_textmap[9] = {
   'w', 'w', 'w',
   '(', ')', ' ',
   ' ', '(', ')'
 };
+#endif /* CTK_CONF_ICON_TEXTMAPS */
 
 static struct ctk_icon icon =
   {CTK_ICON("Web browser", wwwicon_bitmap, wwwicon_textmap)};