public inbox for ecos-patches@sourceware.org
 help / color / mirror / Atom feed
* eCos Configuration Tool patch for building against wxWidgets 2.6.x
@ 2008-03-26 13:23 John Dallaway
  2008-04-02  9:41 ` Lars Poeschel
  2008-04-04 12:38 ` eCos Configuration Tool patch for building against wxWidgets 2.8.x Andy Jackson
  0 siblings, 2 replies; 4+ messages in thread
From: John Dallaway @ 2008-03-26 13:23 UTC (permalink / raw)
  To: ecos-patches; +Cc: Andy Jackson

[-- Attachment #1: Type: text/plain, Size: 300 bytes --]

The copyright documentation has now been processed by the FSF and I have
checked in Andy Jackson's patch to support building of the eCos
Configuration Tool against wxWidgets 2.6.x. I have made minor changes to
allow the patch to apply correctly to current sources.

John Dallaway
eCosCentric Limited

[-- Attachment #2: configtool-wx260.patch --]
[-- Type: text/x-patch, Size: 66667 bytes --]

Index: host/tools/configtool/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/ChangeLog,v
retrieving revision 1.66
diff -u -5 -r1.66 ChangeLog
--- host/tools/configtool/ChangeLog	11 Feb 2008 07:47:09 -0000	1.66
+++ host/tools/configtool/ChangeLog	26 Mar 2008 13:06:27 -0000
@@ -16,10 +16,38 @@
 2006-07-11  John Dallaway  <jld@ecoscentric.com>
 
 	* standalone/wxwin/configtool.cpp: Workaround an exception handling
 	issue with Cygwin 1.5.20.
 
+2006-05-01  Andy Jackson  <andy@xylanta.com>
+
+	* standalone/wxwin/admindlg.cpp,
+	standalone/wxwin/appsettings.cpp,
+	standalone/wxwin/configitem.cpp,
+	standalone/wxwin/configtool.cpp,
+	standalone/wxwin/configtooldoc.cpp,
+	standalone/wxwin/configtooldoc.h,
+	standalone/wxwin/configtoolview.cpp,
+	standalone/wxwin/configtree.cpp,
+	standalone/wxwin/conflictsdlg.cpp,
+	standalone/wxwin/docsystem.cpp,
+	standalone/wxwin/ecscrolwin.cpp,
+	standalone/wxwin/ecscrolwin.h,
+	standalone/wxwin/ecutils.cpp,
+	standalone/wxwin/ecutils.h,
+	standalone/wxwin/filename.cpp,
+	standalone/wxwin/filename.h,
+	standalone/wxwin/folderdlg.cpp,
+	standalone/wxwin/mainwin.cpp,
+	standalone/wxwin/makefile.gnu,
+	standalone/wxwin/packagesdlg.cpp,
+	standalone/wxwin/packagesdlg.h,
+	standalone/wxwin/platformsdlg.cpp,
+	standalone/wxwin/platformsdlg.h,
+	standalone/wxwin/splittree.cpp: Changes to allow building
+	against current wxWidgets version (2.6.x).
+
 2005-07-09  Bart Veer  <bartv@ecoscentric.com>
 
 	* common/common/build.cxx: add support for C++ files that use a
 	.cpp suffix
 
Index: host/tools/configtool/standalone/wxwin/admindlg.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/admindlg.cpp,v
retrieving revision 1.9
diff -u -5 -r1.9 admindlg.cpp
--- host/tools/configtool/standalone/wxwin/admindlg.cpp	14 May 2003 18:16:59 -0000	1.9
+++ host/tools/configtool/standalone/wxwin/admindlg.cpp	26 Mar 2008 13:06:28 -0000
@@ -321,11 +321,16 @@
         // remove all package version nodes
 
         wxString pstrPackage(data->m_string);
         
         bool bStatus = TRUE;
+#if wxCHECK_VERSION(2, 6, 0)
+		wxTreeItemIdValue cookie;
+#else
         long cookie;
+#endif
+
         wxTreeItemId hChildItem = treeCtrl->GetFirstChild (hTreeItem, cookie);
         while (hChildItem && bStatus)
         {
             const wxTreeItemId hNextChildItem = treeCtrl->GetNextSibling (hChildItem);			
             bStatus = RemovePackageVersion (hChildItem);
Index: host/tools/configtool/standalone/wxwin/appsettings.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/appsettings.cpp,v
retrieving revision 1.14
diff -u -5 -r1.14 appsettings.cpp
--- host/tools/configtool/standalone/wxwin/appsettings.cpp	2 May 2003 13:58:08 -0000	1.14
+++ host/tools/configtool/standalone/wxwin/appsettings.cpp	26 Mar 2008 13:06:28 -0000
@@ -68,10 +68,11 @@
 #include "appsettings.h"
 #include "configtree.h"
 #include "outputwin.h"
 #include "shortdescrwin.h"
 #include "mainwin.h"
+#include "filename.h"
 
 // For SystemInfo
 #ifdef __WXMSW__
 #include <windows.h>
 #include "wx/msw/winundef.h"
@@ -512,11 +513,15 @@
             if(str.IsDir())
             {
                 m_userToolPaths[i] = str;
             } else
             {
+#if wxCHECK_VERSION(2, 6, 0)
+                m_userToolPaths.RemoveAt(i);
+#else
                 m_userToolPaths.Remove(i);
+#endif
                 i--;
             }
         }
     }
     else
@@ -530,11 +535,15 @@
             if(str.IsDir())
             {
                 m_userToolPaths[i] = str;
             } else
             {
+#if wxCHECK_VERSION(2, 6, 0)
+                m_userToolPaths.RemoveAt(i);
+#else
                 m_userToolPaths.Remove(i);
+#endif
                 i--;
             }
         }
     }
 #endif
@@ -765,11 +774,11 @@
 const ecFileName& ecSettings::DefaultExternalBrowser()
 {
 #ifdef __WXMSW__
     static bool bFirstTime=TRUE;
     if(bFirstTime){
-        const ecFileName strFile(ecFileName::GetTempPath()+wxT("index.html"));
+        const ecFileName strFile(ecFileName::EC_GetTempPath()+wxT("index.html"));
         wxFile f;
         if(f.Create(strFile, TRUE))
         {
             f.Close();
             bool rc=((int)  ::FindExecutable(strFile,wxT("."),m_strDefaultExternalBrowser.GetWriteBuf(MAX_PATH))>32);
Index: host/tools/configtool/standalone/wxwin/configitem.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/configitem.cpp,v
retrieving revision 1.3
diff -u -5 -r1.3 configitem.cpp
--- host/tools/configtool/standalone/wxwin/configitem.cpp	11 Feb 2008 07:47:09 -0000	1.3
+++ host/tools/configtool/standalone/wxwin/configitem.cpp	26 Mar 2008 13:06:29 -0000
@@ -236,12 +236,17 @@
 // Sets the text and icon for this item
 bool ecConfigItem::UpdateTreeItem(ecConfigTreeCtrl& treeCtrl)
 {
     treeCtrl.SetItemText(m_treeItem, m_name);
 
+#if wxCHECK_VERSION(2, 6, 0)
+    static wxColour normalColour = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT);
+    static wxColour disabledColour = wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT);
+#else
     static wxColour normalColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOWTEXT);
     static wxColour disabledColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_GRAYTEXT);
+#endif
 
     treeCtrl.SetItemTextColour(m_treeItem, GetActive() ? normalColour : disabledColour);
     
 
     // Find which icon state we're in so we can get the appropriate icon id
@@ -708,10 +713,25 @@
     // Perhaps should store them in an array in the document, as per the MFC tool.
     data->SetConfigItem(NULL);
 
     wxGetApp().GetTreeCtrl()->Delete(GetTreeItem());
 
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode* node = pDoc->GetItems().GetFirst();
+    while (node)
+    {
+        ecConfigItem* item = wxDynamicCast(node->GetData(), ecConfigItem);
+        if (package == item->GetOwnerPackage())
+        {
+            item->SetTreeItem(wxTreeItemId()); // Make sure we can't attempt to paint it
+            item->SetCdlItem(NULL); // Make sure we can't access stale data
+            pDoc->GetItems().DeleteObject(this); // Delete from the item list
+            delete item; // Delete the item itself
+        }
+        node = node->GetNext();
+    }
+#else
     wxNode* node = pDoc->GetItems().First();
     while (node)
     {
         ecConfigItem* item = wxDynamicCast(node->Data(), ecConfigItem);
         if (package == item->GetOwnerPackage())
@@ -721,10 +741,11 @@
             pDoc->GetItems().DeleteObject(this); // Delete from the item list
             delete item; // Delete the item itself
         }
         node = node->Next();
     }
+#endif
 
     const wxString strMacroName(GetMacro());
     //TRACE (wxT("Unloading package %s\n"), strMacroName);
     try {
         pDoc->GetCdlConfig()->unload_package (package);
@@ -882,11 +903,15 @@
 
 ecConfigItem *ecConfigItem::FirstChild() const
 { 
     ecConfigTreeCtrl* treeCtrl = wxGetApp().GetTreeCtrl();
 
-    long cookie;
+#if wxCHECK_VERSION(2, 6, 0)
+		wxTreeItemIdValue cookie;
+#else
+        long cookie;
+#endif
     wxTreeItemId hChild=treeCtrl->GetFirstChild(GetTreeItem(), cookie);
     if (hChild)
     {
         ecTreeItemData* data = (ecTreeItemData*) wxGetApp().GetTreeCtrl()->GetItemData(hChild);
         wxASSERT(data);
Index: host/tools/configtool/standalone/wxwin/configtool.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/configtool.cpp,v
retrieving revision 1.20
diff -u -5 -r1.20 configtool.cpp
--- host/tools/configtool/standalone/wxwin/configtool.cpp	11 Jul 2006 09:56:14 -0000	1.20
+++ host/tools/configtool/standalone/wxwin/configtool.cpp	26 Mar 2008 13:06:29 -0000
@@ -300,11 +300,17 @@
         wxSize(GetSettings().m_frameSize.width, GetSettings().m_frameSize.height));
 
     m_mainFrame = frame;
     SetTopWindow(frame);
     frame->Show(TRUE);
+
+#if wxCHECK_VERSION(2, 6, 0)
+	// Don't do anything for now as the function is only for wxWidgets internal use
+#else
     SendIdleEvents(); // Otherwise UI updates aren't done, because it's busy loading the repository
+#endif
+
 #ifdef __WXMSW__
     ::UpdateWindow((HWND) frame->GetHWND());
 #endif
 
     InitializeWindowSettings(FALSE /* beforeWindowConstruction */) ;
@@ -893,11 +899,14 @@
     {
         frame->GetOutputWindow()->AppendText(msg /* + wxT("\n") */ );
         if ((msg == wxEmptyString) || (msg.Last() != wxT('\n')))
             frame->GetOutputWindow()->AppendText(wxT("\n"));
 
-//        frame->GetOutputWindow()->ShowPosition(frame->GetOutputWindow()->GetLastPosition());
+#ifdef __CYGWIN__
+		// Seem to need this under Cygwin to force the last insert point to show
+		frame->GetOutputWindow()->ShowPosition(frame->GetOutputWindow()->GetLastPosition());
+#endif
     }
 }
 
 void ecApp::SetStatusText(const wxString& text, bool clearFailingRulesPane)
 {
Index: host/tools/configtool/standalone/wxwin/configtooldoc.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/configtooldoc.cpp,v
retrieving revision 1.15
diff -u -5 -r1.15 configtooldoc.cpp
--- host/tools/configtool/standalone/wxwin/configtooldoc.cpp	14 May 2003 18:16:59 -0000	1.15
+++ host/tools/configtool/standalone/wxwin/configtooldoc.cpp	26 Mar 2008 13:06:31 -0000
@@ -119,16 +119,25 @@
     DeleteItems();
 }
 
 void ecConfigToolDoc::DeleteItems()
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    // Delete any remaining items
+    wxNode* node = m_items.GetFirst();
+    while (node)
+    {
+        ecConfigItem* item = wxDynamicCast(node->GetData(), ecConfigItem);
+        wxNode* next = node->GetNext();
+#else
     // Delete any remaining items
     wxNode* node = m_items.First();
     while (node)
     {
         ecConfigItem* item = wxDynamicCast(node->Data(), ecConfigItem);
         wxNode* next = node->Next();
+#endif
 
         // Note: automatically removes itself from this list in ~ecConfigItem
         delete item;
         node = next;
     }
@@ -295,11 +304,11 @@
             ecFileName buildFilename(m_strBuildTree);
             ecFileName installFilename(m_strInstallTree);
 
             if (!wxGetApp().GetSettings().m_editSaveFileOnly)
             {
-                if (!buildFilename.CreateDirectory(FALSE) || !installFilename.CreateDirectory(FALSE))
+                if (!buildFilename.EC_CreateDirectory(FALSE) || !installFilename.EC_CreateDirectory(FALSE))
                 {
                     wxString msg;
                     msg.Printf(_("Failed to save %s"), (const wxChar*) filename);
                     
                     wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION);
@@ -361,11 +370,11 @@
     if (CanGenerateBuildTree())
     {
         ecFileName buildFilename(m_strBuildTree);
         ecFileName installFilename(m_strInstallTree);
         
-        if (!buildFilename.CreateDirectory() || !installFilename.CreateDirectory())
+        if (!buildFilename.EC_CreateDirectory() || !installFilename.EC_CreateDirectory())
         {
             wxString msg;
             msg.Printf(_("Failed to create build tree"));
             
             wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION);
@@ -508,11 +517,16 @@
     //ecConfigToolHint hint(item, ecValueChanged);
     ecConfigToolHint hint(NULL, ecSelChanged);
 
     UpdateAllViews (NULL, & hint);
 
-    if(GetItems().Number()>0){
+#if wxCHECK_VERSION(2, 6, 0)
+    if(GetItems().GetCount() > 0)
+#else
+    if(GetItems().Number() > 0)
+#endif
+	{
         wxGetApp().GetTreeCtrl()->Expand(rootId);
     }
     wxGetApp().GetTreeCtrl()->SetFocus();
 }
 
@@ -601,11 +615,15 @@
 }
 
 void ecConfigToolDoc::CheckRadios()
 {
     int nItem;
+#if wxCHECK_VERSION(2, 6, 0)
+    for(nItem=0; nItem < GetItems().GetCount() ; nItem++)
+#else
     for(nItem=0; nItem < GetItems().Number() ; nItem++)
+#endif
     {
         ecConfigItem *pItem=(ecConfigItem*) GetItems()[nItem];
 
         if(pItem->HasRadio () && pItem==pItem->FirstRadio())
         {
@@ -646,11 +664,15 @@
 
 // Find the ecConfigItem referencing the given CdlValuable
 ecConfigItem * ecConfigToolDoc::Find (CdlValuable v)
 {
     int nItem;
+#if wxCHECK_VERSION(2, 6, 0)
+    for (nItem=0 ; nItem < m_items.GetCount() ; nItem++)
+#else
     for (nItem=0 ; nItem < m_items.Number() ; nItem++)
+#endif
     {
         ecConfigItem *pItem = (ecConfigItem*) m_items[nItem];
         if( v == pItem->GetCdlValuable() )
         {
             return pItem;
@@ -660,11 +682,15 @@
 }
 
 ecConfigItem * ecConfigToolDoc::Find(const wxString & strWhat, ecWhereType where)
 {
     int nItem;
+#if wxCHECK_VERSION(2, 6, 0)
+    for (nItem=0 ; nItem < m_items.GetCount() ; nItem++)
+#else
     for (nItem=0 ; nItem < m_items.Number() ; nItem++)
+#endif
     {
         ecConfigItem *pItem = (ecConfigItem*) m_items[nItem];
         if (pItem->StringValue(where) == strWhat)
         {
             return pItem;
@@ -1640,17 +1666,27 @@
 {
     m_ConflictsOutcome=NotDone;
     m_arConflictsOfInterest.Clear();
     if(parConflictsOfInterest)
     {
+#if wxCHECK_VERSION(2, 6, 0)
+        wxNode* node = parConflictsOfInterest->GetFirst();
+        while (node)
+        {
+            wxObject* obj = (wxObject*) node->GetData();
+            m_arConflictsOfInterest.Append(obj);
+            node = node->GetNext();
+        }
+#else
         wxNode* node = parConflictsOfInterest->First();
         while (node)
         {
             wxObject* obj = (wxObject*) node->Data();
             m_arConflictsOfInterest.Append(obj);
             node = node->Next();
         }
+#endif
     }
     CdlInferenceCallback fn=CdlTransactionBody::get_inference_callback_fn();
     CdlTransactionBody::set_inference_callback_fn(CdlGlobalInferenceHandler);
     GetCdlInterpreter()->get_toplevel()->resolve_all_conflicts();
     CdlTransactionBody::set_inference_callback_fn(fn);
@@ -1927,11 +1963,11 @@
     // Generate headers
     try {
         ecFileName strPkfConfDir(GetInstallTree());
         strPkfConfDir += ecFileName(wxT("include"));
         strPkfConfDir += ecFileName(wxT("pkgconf"));
-        if ( !strPkfConfDir.CreateDirectory())
+        if ( !strPkfConfDir.EC_CreateDirectory())
         {
             wxString msg;
             msg.Printf(_("Failed to create %s"), (const wxChar*) strPkfConfDir);
             wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION);
             return FALSE;
@@ -2009,15 +2045,15 @@
     ecFileName strMLTInstallPkgconfDir(GetInstallTree());
     strMLTInstallPkgconfDir = strMLTInstallPkgconfDir + ecFileName(wxT("include"));
     strMLTInstallPkgconfDir = strMLTInstallPkgconfDir + ecFileName(wxT("pkgconf"));
 
     bool rc=false;
-    if(strMLTInstallPkgconfDir.CreateDirectory(true)){
+    if(strMLTInstallPkgconfDir.EC_CreateDirectory(TRUE)){
         const wxString strMLTInstallBase(strMLTInstallPkgconfDir+ecFileName(strSuffix));
         const ecFileName strMLTDir (MLTDir());
 
-        if(strMLTDir.CreateDirectory (TRUE))
+        if(strMLTDir.EC_CreateDirectory (TRUE))
         {
             const wxString strMLTBase (strMLTDir + ecFileName (strSuffix));
             // TRACE(_T("Saving memory layout to %s\n"), strMLTBase + _T(".mlt"));
             if(MemoryMap.save_memory_layout (strMLTBase + _T(".mlt"))){
                 // TRACE(_T("Exporting memory layout to %s\n"), strMLTInstallPkgconfDir);
@@ -2040,11 +2076,11 @@
     // TRACE (_T("Looking for MLT files at %s\n"), PackagesDir() + m_strMemoryLayoutFolder + _T("include\\pkgconf\\mlt_*.*"));
     const ecFileName strInstallDestination(GetInstallTree () + sep + wxString(wxT("include")) + sep + wxT("pkgconf"));
     const ecFileName strMLTDestination (MLTDir ());
     // TRACE (_T("Copying .ldi and .h files to %s\n"), strInstallDestination);
     // TRACE (_T("Copying .mlt files to %s\n"), strMLTDestination);
-    bool rc=strInstallDestination.CreateDirectory ( TRUE ) && strMLTDestination.CreateDirectory ( TRUE );
+    bool rc=strInstallDestination.EC_CreateDirectory ( TRUE ) && strMLTDestination.EC_CreateDirectory ( TRUE );
     if (rc)
     {
         wxDir ffFileFind;
         wxString fileName;
         wxString path = GetPackagesDir();
@@ -2099,12 +2135,17 @@
     return str;
 }
 
 bool ecConfigToolDoc::ExportFile()
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    wxFileDialog dialog(wxGetApp().GetTopWindow(), _("Export eCos Minimal Configuration"),
+        wxT(""), wxT(""), wxT("eCos Minimal Configuration (*.ecm)|*.ecm"), wxSAVE|wxOVERWRITE_PROMPT);
+#else
     wxFileDialog dialog(wxGetApp().GetTopWindow(), _("Export eCos Minimal Configuration"),
         wxT(""), wxT(""), wxT("eCos Minimal Configuration (*.ecm)|*.ecm"), wxSAVE|wxOVERWRITE_PROMPT|wxHIDE_READONLY);
+#endif
 
     if (dialog.ShowModal() == wxID_OK)
     {
         try {
             m_CdlConfig->save (ecUtils::UnicodeToStdStr (dialog.GetPath()), /* minimal = */ true);
@@ -2128,12 +2169,17 @@
     return TRUE;
 }
 
 bool ecConfigToolDoc::ImportFile()
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    wxFileDialog dialog(wxGetApp().GetTopWindow(), _("Import eCos Minimal Configuration"),
+        wxT(""), wxT(""), wxT("eCos Minimal Configuration (*.ecm)|*.ecm"), wxOPEN|wxFILE_MUST_EXIST);
+#else
     wxFileDialog dialog(wxGetApp().GetTopWindow(), _("Import eCos Minimal Configuration"),
         wxT(""), wxT(""), wxT("eCos Minimal Configuration (*.ecm)|*.ecm"), wxOPEN|wxFILE_MUST_EXIST|wxHIDE_READONLY);
+#endif
 
     if (dialog.ShowModal() == wxID_OK)
     {
         try {
             m_CdlConfig->add (ecUtils::UnicodeToStdStr (dialog.GetPath ()), ecConfigToolDoc::CdlParseErrorHandler, ecConfigToolDoc::CdlParseWarningHandler);
Index: host/tools/configtool/standalone/wxwin/configtooldoc.h
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/configtooldoc.h,v
retrieving revision 1.4
diff -u -5 -r1.4 configtooldoc.h
--- host/tools/configtool/standalone/wxwin/configtooldoc.h	10 Aug 2001 19:27:55 -0000	1.4
+++ host/tools/configtool/standalone/wxwin/configtooldoc.h	26 Mar 2008 13:06:31 -0000
@@ -117,11 +117,15 @@
     wxList& GetItems() { return m_items; }
     ecConfigItem* GetItem(size_t i) { return (ecConfigItem*) m_items[i]; }
 
     CdlBuildInfo& GetBuildInfo() { return m_BuildInfo; }
 
+#if wxCHECK_VERSION(2, 6, 0)
+    ecConfigItem* GetFirstItem() { return (m_items.GetCount() == 0 ? (ecConfigItem*) NULL : (ecConfigItem*) m_items.GetFirst()->GetData()); }
+#else
     ecConfigItem* GetFirstItem() { return (m_items.Number() == 0 ? (ecConfigItem*) NULL : (ecConfigItem*) m_items.First()->Data()); }
+#endif
 
     const wxString GetCurrentTargetPrefix();
 
     const wxString HTMLHelpLinkFileName();
 
Index: host/tools/configtool/standalone/wxwin/configtoolview.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/configtoolview.cpp,v
retrieving revision 1.4
diff -u -5 -r1.4 configtoolview.cpp
--- host/tools/configtool/standalone/wxwin/configtoolview.cpp	14 May 2003 12:20:15 -0000	1.4
+++ host/tools/configtool/standalone/wxwin/configtoolview.cpp	26 Mar 2008 13:06:31 -0000
@@ -157,11 +157,15 @@
         break;
     case ecAllSaved:
         
         {
             int nItem;
+#if wxCHECK_VERSION(2, 6, 0)
+            for(nItem=0;nItem<pDoc->GetItems().GetCount();nItem++)
+#else
             for(nItem=0;nItem<pDoc->GetItems().Number();nItem++)
+#endif
             {
                 ecConfigItem *pItem = (ecConfigItem*) pDoc->GetItems()[nItem];
                 wxTreeItemId treeItem = pItem->GetTreeItem();
                 if(treeItem){
                     treeCtrl->SetItemText(treeItem, pItem->GetItemNameOrMacro());
@@ -193,11 +197,15 @@
         }
         break;
     case ecNameFormatChanged:
         {
             int nItem;
+#if wxCHECK_VERSION(2, 6, 0)
+            for(nItem=0;nItem<pDoc->GetItems().GetCount();nItem++)
+#else
             for(nItem=0;nItem<pDoc->GetItems().Number();nItem++)
+#endif
             {
                 ecConfigItem *pItem = (ecConfigItem*) pDoc->GetItems()[nItem];
                 wxString strName(pItem->GetItemNameOrMacro());
                 if(pItem->Modified()){
                     strName+=wxT('*');
@@ -262,11 +270,15 @@
         break;
 
     case ecExternallyChanged:
         {
             int nItem;
+#if wxCHECK_VERSION(2, 6, 0)
+            for(nItem=0;nItem<pDoc->GetItems().GetCount();nItem++)
+#else
             for(nItem=0;nItem<pDoc->GetItems().Number();nItem++)
+#endif
             {
                 ecConfigItem *pItem = (ecConfigItem*) pDoc->GetItems()[nItem];
                 pItem->UpdateTreeItem(* treeCtrl);
             }
             wxGetApp().GetMainFrame()->UpdateFrameTitle();
@@ -380,12 +392,15 @@
 ecConfigItem *ecConfigToolView::DoFind(const wxString& what, wxWindow* parent)
 {
     ecConfigToolDoc *pDoc = wxGetApp().GetConfigToolDoc();
     if (!pDoc)
         return NULL;
-
+#if wxCHECK_VERSION(2, 6, 0)
+    int nCount = pDoc->GetItems().GetCount();
+#else
     int nCount = pDoc->GetItems().Number();
+#endif
 
     // static LPCTSTR arWhereImage[]={_T("name"),_T("macro"),_T("description string"),_T("current value"),_T("default value")};
     
     wxString strFind(what);
 
@@ -456,19 +471,26 @@
             wxGetApp().GetTreeCtrl()->Collapse(m_expandedForFind);
         }
 
         wxTreeItemId h=pItem->GetTreeItem();
         // Is h visible?
+
         wxTreeItemId hv;
+
         for(hv=wxGetApp().GetTreeCtrl()->GetFirstVisibleItem();hv;hv=wxGetApp().GetTreeCtrl()->GetNextVisible(hv))
         {
             if(hv==h)
             {
                 break;
             }
         }
+
+#if wxCHECK_VERSION(2, 6, 0)
+        if (!hv.IsOk())
+#else
         if (0==hv)
+#endif
         {
             // we want to record the highest unexpanded item
             for(hv=wxGetApp().GetTreeCtrl()->GetItemParent(h);hv;hv=wxGetApp().GetTreeCtrl()->GetItemParent(hv))
             {
                 if (!wxGetApp().GetTreeCtrl()->IsExpanded( hv))
Index: host/tools/configtool/standalone/wxwin/configtree.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/configtree.cpp,v
retrieving revision 1.1
diff -u -5 -r1.1 configtree.cpp
--- host/tools/configtool/standalone/wxwin/configtree.cpp	1 Jun 2001 22:16:30 -0000	1.1
+++ host/tools/configtool/standalone/wxwin/configtree.cpp	26 Mar 2008 13:06:31 -0000
@@ -257,19 +257,23 @@
 
 // Draw the lines on top of the tree
 void ecConfigTreeCtrl::OnPaint(wxPaintEvent& event)
 {
     wxPaintDC dc(this);
-    
+
     wxTreeCtrl::OnPaint(event);
     
     // Reset the device origin since it may have been set
     dc.SetDeviceOrigin(0, 0);
     
     wxSize sz = GetClientSize();
-    
+
+#if wxCHECK_VERSION(2, 6, 0)
+    wxPen pen(wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
+#else
     wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
+#endif
     dc.SetPen(pen);
     dc.SetBrush(* wxTRANSPARENT_BRUSH);
     
     wxSize clientSize = GetClientSize();
     wxRect itemRect;
@@ -305,11 +309,15 @@
 void ecConfigTreeCtrl::OnMouseEvent(wxMouseEvent& event)
 {
     int flags = 0;
     wxTreeItemId item = HitTest(wxPoint(event.GetX(), event.GetY()), flags);
     
+#if wxCHECK_VERSION(2, 6, 0)
+    if (!item.IsOk())
+#else
     if (item == 0 || !item.IsOk())
+#endif
     {
         if (event.RightDown())
             PopupMenu(wxGetApp().GetWhatsThisMenu(), event.GetX(), event.GetY());
         return;
     }
@@ -444,20 +452,27 @@
                              const wxPoint& pos,
                              const wxSize& sz,
                              long style):
 wxTreeCompanionWindow(parent, id, pos, sz, style)
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_LISTBOX));
+#else
     SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_LISTBOX));
+#endif
 
     if (!wxGetApp().GetSettings().GetWindowSettings().GetUseDefaults() &&
          wxGetApp().GetSettings().GetWindowSettings().GetFont(wxT("Configuration")).Ok())
     {
         SetFont(wxGetApp().GetSettings().GetWindowSettings().GetFont(wxT("Configuration")));
     }
     else
+#if wxCHECK_VERSION(2, 6, 0)
+        SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
+#else
         SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
-
+#endif
     
     m_editWindow = NULL;
     m_configItem = NULL;
 }
 
@@ -465,12 +480,16 @@
 {
     wxPaintDC dc(this);
     
     if (!m_treeCtrl)
         return;
-    
+
+#if wxCHECK_VERSION(2, 6, 0)
+    wxPen pen(wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
+#else
     wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
+#endif
     dc.SetPen(pen);
     dc.SetBrush(* wxTRANSPARENT_BRUSH);
     wxFont font(GetFont());
     dc.SetFont(font);
     //dc.SetTextForeground(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOWTEXT));
@@ -547,11 +566,15 @@
     else if (event.RightDown())
     {
         // Find if this corresponds to a tree item
         int flags = 0;
         wxTreeItemId item = m_treeCtrl->HitTest(wxPoint(4, event.GetY()), flags);
+#if wxCHECK_VERSION(2, 6, 0)
+        if (item.IsOk())
+#else
         if (item != 0)
+#endif
         {
             ecConfigItem* configItem = ((ecTreeItemData*) m_treeCtrl->GetItemData(item))->GetConfigItem();
             m_treeCtrl->SelectItem(item);
             ((ecConfigTreeCtrl*) m_treeCtrl)->GetPropertiesMenu()->SetClientData((void*) TRUE);
             PopupMenu(((ecConfigTreeCtrl*) m_treeCtrl)->GetPropertiesMenu(), event.GetX(), event.GetY());
@@ -573,13 +596,18 @@
             return;
         wxString text = item->GetDisplayValue();
         
         if (text.IsEmpty())
             return;
-        
+
+#if wxCHECK_VERSION(2, 6, 0)
+        static wxColour normalColour = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT);
+        static wxColour disabledColour = wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT);
+#else
         static wxColour normalColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOWTEXT);
         static wxColour disabledColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_GRAYTEXT);
+#endif
         dc.SetTextForeground( (item->GetActive() && (item->GetConfigType() != ecPackage)) ? normalColour : disabledColour );
         
         int textW, textH;
         dc.GetTextExtent(text, & textW, & textH);
         
@@ -730,17 +758,27 @@
     return TRUE;
 }
 
 wxIconStateInfo* wxIconStateInfoDB::FindInfo(const wxString& name) const
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode* node = GetFirst();
+    while (node)
+    {
+        wxIconStateInfo* info = (wxIconStateInfo*) node->GetData();
+        if (info->GetName() == name)
+            return info;
+        node = node->GetNext();
+#else
     wxNode* node = First();
     while (node)
     {
         wxIconStateInfo* info = (wxIconStateInfo*) node->Data();
         if (info->GetName() == name)
             return info;
         node = node->Next();
+#endif
     }
     return NULL;
 }
 
 int wxIconStateInfoDB::GetIconId(const wxString& name, int state, bool enabled) const
@@ -817,11 +855,15 @@
 {
     ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL);
     wxASSERT (treeCtrl != NULL) ;
 
     wxTreeItemId id = treeCtrl->GetSelection();
+#if wxCHECK_VERSION(2, 6, 0)
+    if (id.IsOk() && ecIsMenuForItem(event))
+#else
     if (id != 0 && ecIsMenuForItem(event))
+#endif
     {
         ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
         
         wxPoint pt = wxGetMousePosition();
         wxString msg;
@@ -848,11 +890,15 @@
 
     ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL);
     wxASSERT (treeCtrl != NULL) ;
     
     wxTreeItemId id = treeCtrl->GetSelection();
+#if wxCHECK_VERSION(2, 6, 0)
+    if (id.IsOk() && ecIsMenuForItem(event))
+#else
     if (id != 0 && ecIsMenuForItem(event))
+#endif
     {
         ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
         
         ecConfigPropertiesDialog dialog(wxGetApp().GetTopWindow(), item);
         dialog.SetTitle(item->GetName());
@@ -864,11 +910,15 @@
 {
     ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL);
     wxASSERT (treeCtrl != NULL) ;
     
     wxTreeItemId id = treeCtrl->GetSelection();
+#if wxCHECK_VERSION(2, 6, 0)
+    if (id.IsOk() && ecIsMenuForItem(event))
+#else
     if (id != 0 && ecIsMenuForItem(event))
+#endif
     {
         ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
         if (item->HasModifiedChildren())
         {
             int ans = wxMessageBox(_("Restore defaults for nested items?"), wxGetApp().GetSettings().GetAppName(), wxYES_NO|wxCANCEL|wxICON_QUESTION);
@@ -930,11 +980,15 @@
         }
     }
     
     if (bRecurse)
     {
+#if wxCHECK_VERSION(2, 6, 0)
+		wxTreeItemIdValue cookie;
+#else
         long cookie;
+#endif
         for (h = treeCtrl->GetFirstChild(h, cookie); h; h = treeCtrl->GetNextSibling(h))
         {
             RestoreDefault (h, TRUE, FALSE);
         }
     }
@@ -944,11 +998,15 @@
 {
     ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL);
     wxASSERT (treeCtrl != NULL) ;
 
     wxTreeItemId id = treeCtrl->GetSelection();
+#if wxCHECK_VERSION(2, 6, 0)
+    if (id.IsOk() && ecIsMenuForItem(event))
+#else
     if (id != 0 && ecIsMenuForItem(event))
+#endif
     {
         ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
         
         item->ViewURL();
     }
@@ -960,11 +1018,15 @@
 {
     ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL);
     wxASSERT (treeCtrl != NULL) ;
 
     wxTreeItemId id = treeCtrl->GetSelection();
+#if wxCHECK_VERSION(2, 6, 0)
+    if (id.IsOk() && ecIsMenuForItem(event))
+#else
     if (id != 0 && ecIsMenuForItem(event))
+#endif
     {
         ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
         
         item->ViewHeader();
     }
@@ -976,11 +1038,15 @@
 {
     ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL);
     wxASSERT (treeCtrl != NULL) ;
 
     wxTreeItemId id = treeCtrl->GetSelection();
+#if wxCHECK_VERSION(2, 6, 0)
+    if (id.IsOk())
+#else
     if (id != 0)
+#endif
     {
         ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
         
         if (wxYES == wxMessageBox(_("Are you sure you wish to unload this package?"), wxGetApp().GetSettings().GetAppName(),
                 wxYES_NO|wxICON_QUESTION))
@@ -995,11 +1061,15 @@
 {
     ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL);
     wxASSERT (treeCtrl != NULL) ;
 
     wxTreeItemId id = treeCtrl->GetSelection();
+#if wxCHECK_VERSION(2, 6, 0)
+    if (id.IsOk())
+#else
     if (id != 0)
+#endif
     {
         ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
         
         event.Enable( IsChanged(id, TRUE ) );
     }
@@ -1020,11 +1090,15 @@
 {
     ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL);
     wxASSERT (treeCtrl != NULL) ;
 
     wxTreeItemId id = treeCtrl->GetSelection();
+#if wxCHECK_VERSION(2, 6, 0)
+    if (id.IsOk())
+#else
     if (id != 0)
+#endif
     {
         ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
         
         event.Enable( item->IsPackage() );
     }
@@ -1038,11 +1112,15 @@
     ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
     bool rc = item->Modified ();
 
     if(!rc && bRecurse)
     {
+#if wxCHECK_VERSION(2, 6, 0)
+		wxTreeItemIdValue cookie;
+#else
         long cookie;
+#endif
         for (id=treeCtrl->GetFirstChild(id, cookie);id;id=treeCtrl->GetNextSibling(id))
         {
             if (IsChanged(id,TRUE))
             {
                 rc=TRUE;
Index: host/tools/configtool/standalone/wxwin/conflictsdlg.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/conflictsdlg.cpp,v
retrieving revision 1.2
diff -u -5 -r1.2 conflictsdlg.cpp
--- host/tools/configtool/standalone/wxwin/conflictsdlg.cpp	18 Jul 2001 11:38:40 -0000	1.2
+++ host/tools/configtool/standalone/wxwin/conflictsdlg.cpp	26 Mar 2008 13:06:31 -0000
@@ -126,14 +126,21 @@
 }
 
 ecResolveConflictsDialog::~ecResolveConflictsDialog()
 {
     m_Map.BeginFind();
+#if wxCHECK_VERSION(2, 6, 0)
+    wxHashTable::Node* node = NULL;
+    while ((node = m_Map.Next()))
+    {
+        SolutionInfo *pInfo = (SolutionInfo*) node->GetData();
+#else
     wxNode* node = NULL;
     while ((node = m_Map.Next()))
     {
         SolutionInfo *pInfo = (SolutionInfo*) node->Data();
+#endif
         free(pInfo);
     }
     m_Map.Clear();
 
     // OK to change values again
@@ -213,18 +220,26 @@
 {
     wxDialog::OnInitDialog(event);
 
     // Select the first item and fill the solution set
     m_conflictsCtrl->AddConflicts(m_conflicts);
-    
+
+#if wxCHECK_VERSION(2, 6, 0)
+    if (m_parConflictsOfInterest && m_parConflictsOfInterest->GetCount()>0)
+#else
     if (m_parConflictsOfInterest && m_parConflictsOfInterest->Number()>0)
+#endif
     {
         wxList &arConflictsOfInterest = *m_parConflictsOfInterest;
         int i, j;
         for ( i = m_conflictsCtrl->GetItemCount() - 1; i >= 0; --i )
         {
+#if wxCHECK_VERSION(2, 6, 0)
+            for ( j = arConflictsOfInterest.GetCount() - 1; j>=0; --j )
+#else
             for ( j = arConflictsOfInterest.Number() - 1; j>=0; --j )
+#endif
             {
                 CdlConflict conflict = (CdlConflict)m_conflictsCtrl->GetItemData(i);
                 if ( ((CdlConflict) arConflictsOfInterest[j]) == conflict )
                 {
                     m_conflictsCtrl->SetItemState(i, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
Index: host/tools/configtool/standalone/wxwin/docsystem.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/docsystem.cpp,v
retrieving revision 1.4
diff -u -5 -r1.4 docsystem.cpp
--- host/tools/configtool/standalone/wxwin/docsystem.cpp	25 Apr 2003 09:16:33 -0000	1.4
+++ host/tools/configtool/standalone/wxwin/docsystem.cpp	26 Mar 2008 13:06:32 -0000
@@ -626,23 +626,37 @@
     if (!stream.Ok())
         return FALSE;
 
     // Pop up a progress dialog
     wxProgressDialog dialog(wxGetApp().GetSettings().GetAppName(),
+#if wxCHECK_VERSION(2, 6, 0)
+        _("Compiling documentation index..."), m_indexItems.GetCount(),
+#else
         _("Compiling documentation index..."), m_indexItems.Number(),
+#endif
         wxGetApp().GetTopWindow());
     
     CreateHHCWriteHeader(stream);
 
     int count = 1;
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode* node = m_indexItems.GetFirst();
+    while (node)
+    {
+        dialog.Update(count);
+        count ++;
+
+        ecIndexItem* item = (ecIndexItem*) node->GetData();
+#else
     wxNode* node = m_indexItems.First();
     while (node)
     {
         dialog.Update(count);
         count ++;
 
         ecIndexItem* item = (ecIndexItem*) node->Data();
+#endif
         wxString filename(item->m_urlToExamine);
         wxString urlFilename(item->m_urlToShow);
 
         if (!filename.IsEmpty())
         {
@@ -705,11 +719,15 @@
                     break;
                 }
             }
         }
 
+#if wxCHECK_VERSION(2, 6, 0)
+        node = node->GetNext();
+#else
         node = node->Next();
+#endif
     }
     
 //    CreateHHCPackagesSection(wxT("Packages"), wxEmptyString, stream, docDir);
     
     CreateHHCWriteFooter(stream);
@@ -837,16 +855,25 @@
     m_indexItems.Append(new ecIndexItem(ecIndexEndSection, wxEmptyString, wxEmptyString, wxEmptyString));
 }
 
 void ecHtmlIndexer::ClearItems()
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode* node = m_indexItems.GetFirst();
+    while (node)
+    {
+        ecIndexItem* item = (ecIndexItem*) node->GetData();
+        delete item;
+        node = node->GetNext();
+#else
     wxNode* node = m_indexItems.First();
     while (node)
     {
         ecIndexItem* item = (ecIndexItem*) node->Data();
         delete item;
         node = node->Next();
+#endif
     }
     m_indexItems.Clear();
 }
 
 // Set m_useOldDocs to TRUE if we find old-style docs
Index: host/tools/configtool/standalone/wxwin/ecscrolwin.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/ecscrolwin.cpp,v
retrieving revision 1.2
diff -u -5 -r1.2 ecscrolwin.cpp
--- host/tools/configtool/standalone/wxwin/ecscrolwin.cpp	20 May 2002 22:19:28 -0000	1.2
+++ host/tools/configtool/standalone/wxwin/ecscrolwin.cpp	26 Mar 2008 13:06:32 -0000
@@ -659,11 +659,15 @@
         cliy = 0;
         szy = -1;
     }
 
     int dsty;
+#if wxCHECK_VERSION(2, 6, 0)
+    switch ( event.GetKeyCode() )
+#else
     switch ( event.KeyCode() )
+#endif
     {
         case WXK_PAGEUP:
         case WXK_PRIOR:
             dsty = sty - (5 * cliy / 6);
             Scroll(-1, (dsty == -1) ? 0 : dsty);
Index: host/tools/configtool/standalone/wxwin/ecscrolwin.h
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/ecscrolwin.h,v
retrieving revision 1.2
diff -u -5 -r1.2 ecscrolwin.h
--- host/tools/configtool/standalone/wxwin/ecscrolwin.h	20 May 2002 22:19:28 -0000	1.2
+++ host/tools/configtool/standalone/wxwin/ecscrolwin.h	26 Mar 2008 13:06:32 -0000
@@ -161,11 +161,16 @@
     double                m_scaleX;
     double                m_scaleY;
 
 private:
     DECLARE_EVENT_TABLE()
+
+#if wxCHECK_VERSION(2, 6, 0)
+    DECLARE_DYNAMIC_CLASS(ecScrolledWindow);
+#else
     DECLARE_ABSTRACT_CLASS(ecScrolledWindow)
+#endif
 	};
 
 #else
 class ecScrolledWindow : public wxScrolledWindow
 {
Index: host/tools/configtool/standalone/wxwin/ecutils.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/ecutils.cpp,v
retrieving revision 1.6
diff -u -5 -r1.6 ecutils.cpp
--- host/tools/configtool/standalone/wxwin/ecutils.cpp	11 Apr 2003 10:22:36 -0000	1.6
+++ host/tools/configtool/standalone/wxwin/ecutils.cpp	26 Mar 2008 13:06:33 -0000
@@ -610,14 +610,21 @@
 }
 
 void wxStringToStringMap::Clear()
 {
     m_hashTable.BeginFind();
+#if wxCHECK_VERSION(2, 6, 0)
+    wxHashTable::Node* node;
+    while ((node = m_hashTable.Next()))
+    {
+        wxString* str = (wxString*) node->GetData();
+#else
     wxNode* node;
     while ((node = m_hashTable.Next()))
     {
         wxString* str = (wxString*) node->Data();
+#endif
         delete str;
     }
 }
 
 void wxStringToStringMap::BeginFind()
@@ -625,14 +632,21 @@
     m_hashTable.BeginFind();
 }
 
 bool wxStringToStringMap::Next(wxString& key, wxString& value)
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    wxHashTable::Node* node = m_hashTable.Next();
+    if (node)
+    {
+        value = * (wxString*) node->GetData();
+#else
     wxNode* node = m_hashTable.Next();
     if (node)
     {
         value = * (wxString*) node->Data();
+#endif
         return TRUE;
     }
     else
         return FALSE;
 }
@@ -802,17 +816,27 @@
 }
 
 // Utility function
 void wxRefreshControls(wxWindow* win)
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode *node = (wxNode *) win->GetChildren().GetFirst();
+    while (node)
+    {
+        wxWindow* win = (wxWindow*) node->GetData();
+        win->Refresh();
+        node = node->GetNext();
+    }
+#else
     wxNode *node = win->GetChildren().First();
     while (node)
     {
         wxWindow* win = (wxWindow*) node->Data();
         win->Refresh();
         node = node->Next();
     }
+#endif
 }
 
 wxOutputStream& operator <<(wxOutputStream& stream, const wxString& s)
 {
     stream.Write(s, s.Length());
@@ -859,24 +883,37 @@
  * Implements saving/loading of window settings - fonts only for now
  */
 
 wxWindowSettingsObject* wxWindowSettings::FindSettings(const wxString& windowName) const
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode* node = m_settings.GetFirst();
+    while (node)
+    {
+        wxWindowSettingsObject* obj = (wxWindowSettingsObject*) node->GetData();
+        if (obj->m_windowName.CmpNoCase(windowName) == 0)
+            return obj;
+        node = node->GetNext();
+    }
+#else
     wxNode* node = m_settings.First();
     while (node)
     {
         wxWindowSettingsObject* obj = (wxWindowSettingsObject*) node->Data();
         if (obj->m_windowName.CmpNoCase(windowName) == 0)
             return obj;
         node = node->Next();
     }
+#endif
+
     return NULL;
 }
 
 bool wxWindowSettings::LoadConfig(wxConfigBase& config)
 {
     unsigned int i = 0;
+
     for (i = 0; i < GetCount(); i++)
     {
         wxWindowSettingsObject* obj = GetNth(i);
 
         wxString name(obj->m_windowName);
Index: host/tools/configtool/standalone/wxwin/ecutils.h
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/ecutils.h,v
retrieving revision 1.5
diff -u -5 -r1.5 ecutils.h
--- host/tools/configtool/standalone/wxwin/ecutils.h	11 Apr 2003 10:22:36 -0000	1.5
+++ host/tools/configtool/standalone/wxwin/ecutils.h	26 Mar 2008 13:06:33 -0000
@@ -356,12 +356,18 @@
     void SetWindow(const wxString& name, wxWindow* win);
 
     wxArrayPtrVoid* GetWindows(const wxString& name) const;
     void SetWindows(const wxString& name, wxArrayPtrVoid& arr);
 
+#if wxCHECK_VERSION(2, 6, 0)
+    int GetCount() const { return m_settings.GetCount(); }
+    wxWindowSettingsObject* GetNth(int i) const { return (wxWindowSettingsObject*) m_settings.Item(i)->GetData(); }
+#else
+	// Depreciated version
     int GetCount() const { return m_settings.Number(); }
     wxWindowSettingsObject* GetNth(int i) const { return (wxWindowSettingsObject*) m_settings.Nth(i)->Data(); }
+#endif
     wxString GetName(int i) const { return GetNth(i)->m_windowName; }
 
     void SetUseDefaults(bool useDefaults) { m_useDefaults = useDefaults; }
     bool GetUseDefaults() const { return m_useDefaults; }
 
Index: host/tools/configtool/standalone/wxwin/filename.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/filename.cpp,v
retrieving revision 1.7
diff -u -5 -r1.7 filename.cpp
--- host/tools/configtool/standalone/wxwin/filename.cpp	19 Mar 2003 17:39:06 -0000	1.7
+++ host/tools/configtool/standalone/wxwin/filename.cpp	26 Mar 2008 13:06:33 -0000
@@ -369,11 +369,15 @@
     return IsFile() || IsDir() ;
 }
 
 bool ecFileName::IsDir      () const
 {
+#if wxCHECK_VERSION(2, 6, 0)
+	return (wxDirExists(* this));
+#else
     return wxPathExists(* this);
+#endif
 }
 
 bool ecFileName::IsFile     () const
 {
 #if defined(__WXMAC__)
@@ -408,21 +412,21 @@
     // On most other platforms, case is important.
     return o == (*this);
 #endif
 }
 
-ecFileName ecFileName::ExpandEnvironmentStrings(const wxChar* psz)
+ecFileName ecFileName::EC_ExpandEnvironmentStrings(const wxChar* psz)
 {
     // wxExpandEnvVars is from confbase.h
 
     ecFileName f = wxExpandEnvVars(psz);
     return f;
 }
 
-const ecFileName& ecFileName::ExpandEnvironmentStrings()
+const ecFileName& ecFileName::EC_ExpandEnvironmentStrings()
 {
-    *this=ecFileName::ExpandEnvironmentStrings(*this);
+    *this=ecFileName::EC_ExpandEnvironmentStrings(*this);
     return *this;
 }
 
 #if 0
 // Helper for Relative()  psz is in full format.
@@ -461,11 +465,11 @@
     *this=ecFileName::Relative(*this,pszRelativeTo);
     return *this;
 }
 
 
-ecFileName ecFileName::GetCurrentDirectory()
+ecFileName ecFileName::EC_GetCurrentDirectory()
 {
     ecFileName f;
     f = wxGetCwd();
     f.Normalize();
 
@@ -523,11 +527,11 @@
     ar[i]=0;
     return ar;
 }
 #endif
 
-ecFileName ecFileName::GetTempPath()
+ecFileName ecFileName::EC_GetTempPath()
 {
     ecFileName f;
 #ifdef __WXMSW__
 #ifdef _UNICODE
     ::GetTempPathW(1+MAX_PATH,f.GetWriteBuf(1+MAX_PATH));
@@ -564,11 +568,11 @@
 #endif
 
     return rc;
 }
 
-bool ecFileName::CreateDirectory(bool bParentsToo,bool bFailIfAlreadyExists) const
+bool ecFileName::EC_CreateDirectory(bool bParentsToo,bool bFailIfAlreadyExists) const
 {
     if(bParentsToo)
     {
         // Create intermediate directories
 
@@ -631,11 +635,11 @@
 const wxString ecFileName::Root() const
 {
     return wxPathOnly(*this);
 }
 
-ecFileName ecFileName::SetCurrentDirectory(const wxChar* pszDir)
+ecFileName ecFileName::EC_SetCurrentDirectory(const wxChar* pszDir)
 {
     const ecFileName strPwd=wxGetCwd();
     if (::wxSetWorkingDirectory(pszDir))
         return strPwd;
     else
Index: host/tools/configtool/standalone/wxwin/filename.h
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/filename.h,v
retrieving revision 1.2
diff -u -5 -r1.2 filename.h
--- host/tools/configtool/standalone/wxwin/filename.h	16 Jan 2003 17:19:35 -0000	1.2
+++ host/tools/configtool/standalone/wxwin/filename.h	26 Mar 2008 13:06:33 -0000
@@ -60,14 +60,14 @@
 class ecFileName : public wxString {
 public:
     void ReplaceExtension (const wxString& newExt);
     
     // previous directory is returned:
-    static ecFileName SetCurrentDirectory (const wxChar* pszDir);
+    static ecFileName EC_SetCurrentDirectory (const wxChar* pszDir);
     const wxString Root() const;
     const wxString Extension() const;
-    static ecFileName GetTempPath();
+    static ecFileName EC_GetTempPath();
     bool IsAbsolute() const;
     
     static const wxChar cSep;        // The path separator ('\' on windows)
     
     // Standard ctors
@@ -124,13 +124,13 @@
     const ecFileName ShortName() const;	// the type with ~s in it
     const ecFileName Tail() const;       // file name sans directory part
     const ecFileName Head() const;       // directory part
     const ecFileName CygPath() const;    // path mangled for CygWin
 
-    static ecFileName GetCurrentDirectory();
-    const ecFileName& ExpandEnvironmentStrings();
-    static ecFileName ExpandEnvironmentStrings(const wxChar* psz);
+    static ecFileName EC_GetCurrentDirectory();
+    const ecFileName& EC_ExpandEnvironmentStrings();
+    static ecFileName EC_ExpandEnvironmentStrings(const wxChar* psz);
 
     // Form path name relative to given parameter (if NULL, current directory)
     const ecFileName& MakeRelative(const wxChar* pszRelativeTo=0);
     static ecFileName Relative(const wxChar* psz,const wxChar* pszRelativeTo=0);
 
@@ -149,11 +149,11 @@
     
     time_t LastModificationTime() const;
     
     bool RecursivelyDelete(); 
     
-    bool CreateDirectory (bool bParentsToo=true,bool bFailIfAlreadyExists=false) const;
+    bool EC_CreateDirectory (bool bParentsToo = TRUE, bool bFailIfAlreadyExists = FALSE) const;
     
     static int FindFiles (const wxString& pszDir,wxArrayString &ar,const wxString& pszPattern=wxT("*.*"),bool bRecurse=TRUE,long dwExclude=wxDIR_DIRS|wxDIR_HIDDEN);
     
 protected:
     
@@ -172,12 +172,12 @@
 };
 
 class wxSaveExcursion {
     const ecFileName m_strPrevDir;
 public:
-    wxSaveExcursion(const wxChar* pszDir) : m_strPrevDir(ecFileName::SetCurrentDirectory(pszDir)) {}
-    ~wxSaveExcursion() { ecFileName::SetCurrentDirectory(m_strPrevDir); }
+    wxSaveExcursion(const wxChar* pszDir) : m_strPrevDir(ecFileName::EC_SetCurrentDirectory(pszDir)) {}
+    ~wxSaveExcursion() { ecFileName::EC_SetCurrentDirectory(m_strPrevDir); }
     bool Ok() const { return !m_strPrevDir.IsEmpty(); }
 };
 
 #endif
 // _ECOS_FILENAME_H_
Index: host/tools/configtool/standalone/wxwin/folderdlg.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/folderdlg.cpp,v
retrieving revision 1.1
diff -u -5 -r1.1 folderdlg.cpp
--- host/tools/configtool/standalone/wxwin/folderdlg.cpp	1 Jun 2001 22:16:30 -0000	1.1
+++ host/tools/configtool/standalone/wxwin/folderdlg.cpp	26 Mar 2008 13:06:33 -0000
@@ -98,11 +98,15 @@
             comboBox->SetSelection(i);
     }
     if (comboBox->FindString(m_defaultPath) == -1)
         comboBox->Append(m_defaultPath);
 
+#if wxCHECK_VERSION(2, 6, 0)
+    if (comboBox->GetSelection() == -1)
+#else
     if (comboBox->GetSelection() == -1 && comboBox->Number() > 0)
+#endif
         comboBox->SetSelection(0);
 
     comboBox->SetFocus();
 
     wxStaticText* staticText = (wxStaticText*) FindWindow(ecID_FOLDER_DIALOG_MSG);
Index: host/tools/configtool/standalone/wxwin/mainwin.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/mainwin.cpp,v
retrieving revision 1.19
diff -u -5 -r1.19 mainwin.cpp
--- host/tools/configtool/standalone/wxwin/mainwin.cpp	11 Feb 2008 07:47:09 -0000	1.19
+++ host/tools/configtool/standalone/wxwin/mainwin.cpp	26 Mar 2008 13:06:34 -0000
@@ -563,22 +563,33 @@
     wxRect rect = GetRect();
     if (rect != wxGetApp().GetSettings().m_frameSize)
     {
         double factorX = ((double) rect.GetWidth() / (double) wxGetApp().GetSettings().m_frameSize.GetWidth());
         double factorY = ((double) rect.GetHeight() / (double) wxGetApp().GetSettings().m_frameSize.GetHeight());
-        
+
+#if wxCHECK_VERSION(2, 6, 0)
+		wxNode* node = (wxNode *) GetChildren().GetFirst();
+        while (node)
+        {
+            wxWindow* win = (wxWindow*) node->GetData();
+#else
         wxNode* node = GetChildren().First();
         while (node)
         {
             wxWindow* win = (wxWindow*) node->Data();
+#endif
             if (win->IsKindOf(CLASSINFO(wxSashLayoutWindow)))
             {
                 wxSashLayoutWindow* sashWin = (wxSashLayoutWindow*) win;
                 wxSize sz = sashWin->GetSize();
                 sashWin->SetDefaultSize(wxSize((int) ((double) sz.x * factorX), (int) ((double) sz.y * factorY)));
             }
+#if wxCHECK_VERSION(2, 6, 0)
+            node = node->GetNext();
+#else
             node = node->Next();
+#endif
         }
     }
     
     wxLayoutAlgorithm layout;
     layout.LayoutFrame(this);
@@ -855,30 +866,45 @@
 
     wxLayoutAlgorithm layout;
     if (!layout.LayoutFrame(this))
     {
         // If layout failed, restored default sizes.
+#if wxCHECK_VERSION(2, 6, 0)
+        wxNode* node = (wxNode *) GetChildren().GetFirst();
+        while (node)
+        {
+            wxWindow* win = (wxWindow*) node->GetData();
+#else
         wxNode* node = GetChildren().First();
         while (node)
         {
             wxWindow* win = (wxWindow*) node->Data();
+#endif
             if (win->IsKindOf(CLASSINFO(wxSashLayoutWindow)))
             {
                 wxSashLayoutWindow* sashWin = (wxSashLayoutWindow*) win;
                 wxSize sz = sashWin->GetSize();
                 sashWin->SetDefaultSize(sz);
             }
+#if wxCHECK_VERSION(2, 6, 0)
+            node = node->GetNext();
+#else
             node = node->Next();
+#endif
         }
     }
     
 }
 
 void ecMainFrame::OnIdle(wxIdleEvent& event)
 {
+#if wxCHECK_VERSION(2, 6, 0)
+	// Doesn't event handlling happen anyway?
+#else
     // Normal idle processing
     wxFrame::OnIdle(event);
+#endif
 
     wxString text;
     if (GetStatusBar())
         text = GetStatusBar()->GetStatusText(0);
 
@@ -953,41 +979,67 @@
 }
 
 // Get all visible sash windows
 void ecMainFrame::GetSashWindows(wxList& list)
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode* node = (wxNode *) GetChildren().GetFirst();
+    while (node)
+    {
+        wxWindow* win = (wxWindow*) node->GetData();
+#else
     wxNode* node = GetChildren().First();
     while (node)
     {
         wxWindow* win = (wxWindow*) node->Data();
+#endif
         if (win->IsKindOf(CLASSINFO(wxSashLayoutWindow)) && win->IsShown())
         {
             list.Append(win);
         }
+#if wxCHECK_VERSION(2, 6, 0)
+        node = node->GetNext();
+#else
         node = node->Next();
+#endif
     }
 }
 
 // Divide the given space evenly amongst some windows
 void ecMainFrame::DivideSpaceEvenly(wxList& list, const wxSize& space, int orient)
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    if (list.GetCount() == 0)
+#else
     if (list.Number() == 0)
+#endif
         return;
 
     // Find total size first
     int totalSize = 0;
     double proportion = 0.0;
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode* node = list.GetFirst();
+    while (node)
+    {
+        wxWindow* win = (wxWindow*) node->GetData();
+#else
     wxNode* node = list.First();
     while (node)
     {
         wxWindow* win = (wxWindow*) node->Data();
+#endif
         wxSize sz = win->GetSize();
         if (orient == wxHORIZONTAL)
             totalSize += sz.x;
         else
             totalSize += sz.y;
+#if wxCHECK_VERSION(2, 6, 0)
+        node = node->GetNext();
+#else
         node = node->Next();
+#endif
     }
     if (orient == wxHORIZONTAL)
     {
         if (totalSize == 0)
             return;
@@ -999,34 +1051,57 @@
         if (totalSize == 0)
             return;
 
         proportion = ((double) space.y / (double) totalSize);
     }
+
+#if wxCHECK_VERSION(2, 6, 0)
+    node = list.GetFirst();
+    while (node)
+    {
+        wxWindow* win = (wxWindow*) node->GetData();
+#else
     node = list.First();
     while (node)
     {
         wxWindow* win = (wxWindow*) node->Data();
+#endif
         wxSize sz = win->GetSize();
         if (orient == wxHORIZONTAL)
             sz.x = (int) (sz.x * proportion);
         else
             sz.y = (int) (sz.y * proportion);
         win->SetSize(sz);
+#if wxCHECK_VERSION(2, 6, 0)
+        node = node->GetNext();
+#else
         node = node->Next();
+#endif
     }
 }
 
 // Restore the sash window default size from the actual window size
 void ecMainFrame::RestoreDefaultWindowSizes(wxList& list)
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode* node = list.GetFirst();
+    while (node)
+    {
+        wxSashLayoutWindow* sashWin = (wxSashLayoutWindow*) node->GetData();
+#else
     wxNode* node = list.First();
     while (node)
     {
         wxSashLayoutWindow* sashWin = (wxSashLayoutWindow*) node->Data();
+#endif
         wxSize sz = sashWin->GetSize();
         sashWin->SetDefaultSize(sz);
+#if wxCHECK_VERSION(2, 6, 0)
+        node = node->GetNext();
+#else
         node = node->Next();
+#endif
     }
 }
 
 void ecMainFrame::OnHelpEcos(wxCommandEvent& event)
 {
Index: host/tools/configtool/standalone/wxwin/makefile.gnu
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/makefile.gnu,v
retrieving revision 1.11
diff -u -5 -r1.11 makefile.gnu
--- host/tools/configtool/standalone/wxwin/makefile.gnu	14 May 2003 12:20:15 -0000	1.11
+++ host/tools/configtool/standalone/wxwin/makefile.gnu	26 Mar 2008 13:06:34 -0000
@@ -24,18 +24,20 @@
   -DecUSE_EXPERIMENTAL_CODE=$(USEEXPERIMENTALCODE)
 EXTRALDFLAGS=-L$(TCLDIR)/lib -L$(INSTALLDIR)/lib -lcdl -lcyginfra -ltcl
 
 ifneq (,$(findstring CYGWIN, $(shell uname)))
   PROGRAM=configtool.exe
-  CPPFLAGS=`$(WXDIR)/bin/wx-config --cppflags` -D_WIN32 -D__WIN32__ -DSTRICT
+  CPPFLAGS=`$(WXDIR)/bin/wx-config --cppflags` -D_WIN32 -D__WIN32__ -DSTRICT -D__USE_W32_SOCKETS
   LDFLAGS=`$(WXDIR)/bin/wx-config --libs` -lshlwapi -Wl,--subsystem,windows
   EXTRAOBJECTS=$(CTBUILDDIR)/configtoolres.o
+  RCFLAGS=`$(WXDIR)/bin/wx-config --cppflags`
 else
   PROGRAM=configtool
   CPPFLAGS=`$(WXDIR)/bin/wx-config --cppflags`
   LDFLAGS=`$(WXDIR)/bin/wx-config --libs`
   EXTRAOBJECTS=
+  RCFLAGS=`$(WXDIR)/bin/wx-config --cppflags`
 endif
 
 ifeq "$(DEBUG)" ""
   CPPDEBUGOPTIONS=-O2
 else
@@ -105,20 +107,20 @@
 
 $(CTBUILDDIR)/$(PROGRAM): $(OBJECTS) $(EXTRAOBJECTS)
 	$(CC) -o $@ $(OBJECTS) $(EXTRAOBJECTS) $(EXTRALDFLAGS) $(LDFLAGS)
 
 install: $(CTBUILDDIR)/$(PROGRAM)
-	install -s $< $(INSTALLDIR)/bin
+	install -D -s $< $(INSTALLDIR)/bin/$(PROGRAM)
 
 .cpp.o :
 	$(CC) $(CPPDEBUGOPTIONS) -c $(EXTRACPPFLAGS) $(CPPFLAGS) -o $@ $<
 
 .cxx.o :
 	$(CC) $(CPPDEBUGOPTIONS) -c $(EXTRACPPFLAGS) $(CPPFLAGS) -o $@ $<
 
 $(CTBUILDDIR)/configtoolres.o: $(CTDIR)/configtool.rc
-	$(RESCOMP) -i $< -o $@ --preprocessor "$(CC) -c -E -xc-header -DRC_INVOKED" --include-dir $(WXDIR)/include --include-dir $(CTDIR) --define __GNUWIN32__
+	$(RESCOMP) -i $< -o $@ --preprocessor "$(CC) -c -E -xc-header -DRC_INVOKED" $(RCFLAGS) --include-dir $(CTDIR) --define __GNUWIN32__
 
 clean:
 	rm -f $(CTBUILDDIR)/$(PROGRAM) $(CTBUILDDIR)/*.o
 
 ### GUI Configtool files
Index: host/tools/configtool/standalone/wxwin/packagesdlg.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/packagesdlg.cpp,v
retrieving revision 1.5
diff -u -5 -r1.5 packagesdlg.cpp
--- host/tools/configtool/standalone/wxwin/packagesdlg.cpp	14 May 2003 12:20:15 -0000	1.5
+++ host/tools/configtool/standalone/wxwin/packagesdlg.cpp	26 Mar 2008 13:06:35 -0000
@@ -496,11 +496,15 @@
             wxString str = from -> GetString(selections[i]);
             selectionsStrings.Add(str);
         }
         
         // Now delete from one list and remove from t'other
+#if wxCHECK_VERSION(2, 6, 0)
+        for (i = 0; i < selectionsStrings.GetCount(); i++)
+#else
         for (i = 0; i < selectionsStrings.Number(); i++)
+#endif
         {
             wxString str = selectionsStrings[i];
             
             // Remove
             int toDelete =  from -> FindString(str);
Index: host/tools/configtool/standalone/wxwin/packagesdlg.h
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/packagesdlg.h,v
retrieving revision 1.2
diff -u -5 -r1.2 packagesdlg.h
--- host/tools/configtool/standalone/wxwin/packagesdlg.h	15 Dec 2001 13:42:19 -0000	1.2
+++ host/tools/configtool/standalone/wxwin/packagesdlg.h	26 Mar 2008 13:06:35 -0000
@@ -121,11 +121,15 @@
     // For each word in keywords, is it contained in 'str'?
     bool MatchesKeyword(wxArrayString& keywords, const wxString& str);
 
 //// Accessors
     bool IsAdded(const wxString& str) ;
+#if wxCHECK_VERSION(2, 6, 0)
+    int GetCount() const { return m_items.GetCount(); }
+#else
     int GetCount() const { return m_items.Number(); }
+#endif
     wxString GetVersion (const wxString& item);
 
 protected:
 
 private:
Index: host/tools/configtool/standalone/wxwin/platformsdlg.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/platformsdlg.cpp,v
retrieving revision 1.1
diff -u -5 -r1.1 platformsdlg.cpp
--- host/tools/configtool/standalone/wxwin/platformsdlg.cpp	1 Jun 2001 22:16:30 -0000	1.1
+++ host/tools/configtool/standalone/wxwin/platformsdlg.cpp	26 Mar 2008 13:06:35 -0000
@@ -116,16 +116,25 @@
     Clear();
 }
 
 void ecPlatformsDialog::Clear()
 {
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode* node = m_arTargetInfo.GetFirst();
+    while (node)
+    {
+        CeCosTestPlatform* platform = (CeCosTestPlatform*) node->GetData();
+        delete platform;
+        node = node->GetNext();
+#else
     wxNode* node = m_arTargetInfo.First();
     while (node)
     {
         CeCosTestPlatform* platform = (CeCosTestPlatform*) node->Data();
         delete platform;
         node = node->Next();
+#endif
     }
     m_arTargetInfo.Clear();
 }
 
 void ecPlatformsDialog::CreateControls(wxWindow* parent)
@@ -281,11 +290,15 @@
         {
             if (wxYES == wxMessageBox(wxT("Are you sure you wish to delete this platform?"), wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxYES_NO, this))
             {
                 delete Platform(sel);
                 m_listCtrl->DeleteItem(sel);
+#if wxCHECK_VERSION(2, 6, 0)
+                delete m_arTargetInfo.Item(sel);
+#else
                 delete m_arTargetInfo.Nth(sel);
+#endif
                 whereFrom = 0;
             }
         }
     } while (sel > -1) ;
 }
Index: host/tools/configtool/standalone/wxwin/platformsdlg.h
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/platformsdlg.h,v
retrieving revision 1.1
diff -u -5 -r1.1 platformsdlg.h
--- host/tools/configtool/standalone/wxwin/platformsdlg.h	1 Jun 2001 22:16:30 -0000	1.1
+++ host/tools/configtool/standalone/wxwin/platformsdlg.h	26 Mar 2008 13:06:35 -0000
@@ -105,11 +105,16 @@
 
 //// Operations
     void CreateControls(wxWindow* parent);
 
     CeCosTestPlatform *Platform (int i) { return (CeCosTestPlatform *) m_arTargetInfo[i]; }
+
+#if wxCHECK_VERSION(2, 6, 0)
+    unsigned int PlatformCount() const { return m_arTargetInfo.GetCount(); }
+#else
     unsigned int PlatformCount() const { return m_arTargetInfo.Number(); }
+#endif
     void Add(const CeCosTestPlatform &ti);   
     void Clear();
 
 protected:
 
Index: host/tools/configtool/standalone/wxwin/splittree.cpp
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/configtool/standalone/wxwin/splittree.cpp,v
retrieving revision 1.4
diff -u -5 -r1.4 splittree.cpp
--- host/tools/configtool/standalone/wxwin/splittree.cpp	26 Mar 2003 12:08:38 -0000	1.4
+++ host/tools/configtool/standalone/wxwin/splittree.cpp	26 Mar 2008 13:06:35 -0000
@@ -203,11 +203,15 @@
 #ifdef __WXMSW__
     if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
     {
         UINT sbCode = SB_THUMBPOSITION;
         HWND vertScrollBar = 0;
+#if wxCHECK_VERSION(2, 6, 0)
+        MSWDefWindowProc((WXUINT) WM_VSCROLL, MAKELONG(sbCode, posVert), (WXLPARAM) vertScrollBar);
+#else
         MSWDefWindowProc((WXUINT) WM_VSCROLL, MAKELONG(sbCode, posVert), (WXHWND) vertScrollBar);
+#endif
     }
     else
 #endif
     {
         wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this;
@@ -336,13 +340,21 @@
     if (GetBoundingRect(id, itemSize))
     {
         rect = CombineRectangles(rect, itemSize);
     }
 
+#if wxCHECK_VERSION(2, 6, 0)
+    wxTreeItemIdValue cookie;
+    wxTreeItemId childId = GetFirstChild(id, cookie);
+
+    while (childId.IsOk())
+#else
     long cookie;
     wxTreeItemId childId = GetFirstChild(id, cookie);
+
     while (childId != 0)
+#endif
     {
         CalcTreeSize(childId, rect);
         childId = GetNextChild(childId, cookie);
     }
 }
@@ -424,15 +436,23 @@
 {
     wxPaintDC dc(this);
     
     if (!m_treeCtrl)
         return;
-    
+
+#if wxCHECK_VERSION(2, 6, 0)
+    wxPen pen(wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
+    dc.SetPen(pen);
+    dc.SetBrush(* wxTRANSPARENT_BRUSH);
+    wxFont font(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
+#else
     wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
     dc.SetPen(pen);
     dc.SetBrush(* wxTRANSPARENT_BRUSH);
     wxFont font(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
+#endif
+
     dc.SetFont(font);
     
     wxSize clientSize = GetClientSize();
     wxRect itemRect;
     int cy=0;
@@ -527,12 +547,19 @@
     int w, h;
     GetClientSize(&w, &h);
     
     if ( m_splitMode == wxSPLIT_VERTICAL )
     {
+#if wxCHECK_VERSION(2, 6, 0)
+		// The variables below don't seem to exist....
+		wxPen pen(wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
+		dc.SetPen(pen);
+		dc.SetBrush(* wxTRANSPARENT_BRUSH);
+#else
         dc.SetPen(* m_facePen);
         dc.SetBrush(* m_faceBrush);
+#endif
         int h1 = h-1;
         int y1 = 0;
         if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
             h1 += 1; // Not sure why this is necessary...
         if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
@@ -541,12 +568,19 @@
         }
         dc.DrawRectangle(m_sashPosition, y1, m_sashSize, h1);
     }
     else
     {
+#if wxCHECK_VERSION(2, 6, 0)
+		// The variables below don't seem to exist....
+		wxPen pen(wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
+		dc.SetPen(pen);
+		dc.SetBrush(* wxTRANSPARENT_BRUSH);
+#else
         dc.SetPen(* m_facePen);
         dc.SetBrush(* m_faceBrush);
+#endif
         int w1 = w-1;
         int x1 = 0;
         if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
             w1 ++;
         if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
@@ -585,13 +619,19 @@
 }
 
 void wxSplitterScrolledWindow::OnSize(wxSizeEvent& event)
 {
     wxSize sz = GetClientSize();
+#if wxCHECK_VERSION(2, 6, 0)
+    if (GetChildren().GetFirst())
+    {
+        ((wxWindow*) GetChildren().GetFirst()->GetData())->SetSize(0, 0, sz.x, sz.y);
+#else
     if (GetChildren().First())
     {
         ((wxWindow*) GetChildren().First()->Data())->SetSize(0, 0, sz.x, sz.y);
+#endif
     }
 }
 
 void wxSplitterScrolledWindow::OnScroll(wxScrollWinEvent& event)
 {
@@ -638,24 +678,36 @@
     {
         m_yScrollPosition += nScrollInc;
     }
     
     // Find targets in splitter window and send the event to them
+
+#if wxCHECK_VERSION(2, 6, 0)
+    wxNode* node = (wxNode *) GetChildren().GetFirst();
+    while (node)
+    {
+        wxWindow* child = (wxWindow*) node->GetData();
+#else
     wxNode* node = GetChildren().First();
     while (node)
     {
         wxWindow* child = (wxWindow*) node->Data();
+#endif
         if (child->IsKindOf(CLASSINFO(wxSplitterWindow)))
         {
             wxSplitterWindow* splitter = (wxSplitterWindow*) child;
             if (splitter->GetWindow1())
                 splitter->GetWindow1()->ProcessEvent(event);
             if (splitter->GetWindow2())
                 splitter->GetWindow2()->ProcessEvent(event);
             break;
         }
+#if wxCHECK_VERSION(2, 6, 0)
+        node = node->GetNext();
+#else
         node = node->Next();
+#endif
     }
     
 #ifdef __WXMAC__
     m_targetWindow->MacUpdateImmediately() ;
 #endif

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: eCos Configuration Tool patch for building against wxWidgets 2.6.x
  2008-03-26 13:23 eCos Configuration Tool patch for building against wxWidgets 2.6.x John Dallaway
@ 2008-04-02  9:41 ` Lars Poeschel
  2008-04-04 12:38 ` eCos Configuration Tool patch for building against wxWidgets 2.8.x Andy Jackson
  1 sibling, 0 replies; 4+ messages in thread
From: Lars Poeschel @ 2008-04-02  9:41 UTC (permalink / raw)
  To: ecos-patches; +Cc: John Dallaway, Andy Jackson

On Mittwoch, 26. März 2008, John Dallaway wrote:
> The copyright documentation has now been processed by the FSF and I have
> checked in Andy Jackson's patch to support building of the eCos
> Configuration Tool against wxWidgets 2.6.x. I have made minor changes to
> allow the patch to apply correctly to current sources.
>
> John Dallaway
> eCosCentric Limited

Hi John, hi Andy!

I had a look at the patch and it looks good, but I am not happy with the

#if wxCHECK_VERSION(2, 6, 0)
	"new thing"
#else
	"old thing"
#endif

macros.

These do not make the source code easy to read and they are not really 
neccessary. All these "new thing" stuff is compatible with wxWidgets 2.4 and 
maybe even below that version. wxWidgets 2.4 supports both, the "old thing" 
and the "new thing". "old thing" was already deprecated in 2.4 and only 
supported for backward compatibility. In 2.6 it got removed. So for 2.6 and 
above (we are at 2.8.7 now) the "new thing" has to be used.
That means without these macros and only using the "new thing" we are at least 
backward compatible until wxWidgets 2.4. Isn't that sufficient ? wxWidgets 
2.4 is from 2003. And if there are configtool binaries around, these are 
statically linked and so there is no problem with the wxWidgets library 
version.

Please think about that, it makes the sourcecode easier (to read and maintain)

Thanks,
Lars

^ permalink raw reply	[flat|nested] 4+ messages in thread

* eCos Configuration Tool patch for building against wxWidgets 2.8.x
  2008-03-26 13:23 eCos Configuration Tool patch for building against wxWidgets 2.6.x John Dallaway
  2008-04-02  9:41 ` Lars Poeschel
@ 2008-04-04 12:38 ` Andy Jackson
  2008-04-04 14:52   ` Andy Jackson
  1 sibling, 1 reply; 4+ messages in thread
From: Andy Jackson @ 2008-04-04 12:38 UTC (permalink / raw)
  To: ecos-patches; +Cc: John Dallaway

[-- Attachment #1: Type: text/plain, Size: 198 bytes --]

Attached is a patch that allows ConfigTool to be built using wxWidgets 
2.8.7 and GCC4 with -Wall -Wextra.

This has only been tested on cygwin as its the only system I have access 
to at present.


[-- Attachment #2: HostToolsCVS-27-03-08.diff --]
[-- Type: text/plain, Size: 85686 bytes --]

Index: ecos_dev/host/tools/Utils/common/eCosSocket.cpp
===================================================================
--- ecos_orig/host/tools/Utils/common/eCosSocket.cpp	(revision 56)
+++ ecos_dev/host/tools/Utils/common/eCosSocket.cpp	(revision 65)
@@ -231,12 +231,12 @@
         // Allow dTimeout milliseconds for connect to complete
         fd_set set;
         FD_ZERO(&set);
-#ifdef _WIN32
+#ifdef _MSC_VER
 #pragma warning( push )
 #pragma warning( disable : 4127 ) // conditional expression is constant
 #endif
         FD_SET((unsigned)m_nSock, &set);
-#ifdef _WIN32
+#ifdef _MSC_VER
 #pragma warning( pop )
 #endif
         struct timeval tv;
Index: ecos_dev/host/tools/Utils/common/eCosThreadUtils.cpp
===================================================================
--- ecos_orig/host/tools/Utils/common/eCosThreadUtils.cpp	(revision 56)
+++ ecos_dev/host/tools/Utils/common/eCosThreadUtils.cpp	(revision 65)
@@ -147,7 +147,7 @@
   THREAD_ID id=GetThreadId();
   ThreadInfo *pInfo=(ThreadInfo*)pParam;
   TRACE(_T("Thread %x [%s] created\n"),id,(LPCTSTR)pInfo->strName);
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__MINGW32__)
   __try {
     // Call what we are instructed to (e.g. LocalThreadFunc):
     pInfo->pThreadFunc(pInfo->pThreadParam);
Index: ecos_dev/host/tools/Utils/common/eCosStd.h
===================================================================
--- ecos_orig/host/tools/Utils/common/eCosStd.h	(revision 56)
+++ ecos_dev/host/tools/Utils/common/eCosStd.h	(revision 65)
@@ -66,7 +66,31 @@
   typedef long long Time;
   #define MODE_TEXT
 
-  #include <windows.h>
+  #include <windows.h>
+
+#elif defined(__MINGW32__)
+
+  #ifdef _UNICODE
+    #ifndef UNICODE
+      #define UNICODE         // UNICODE is used by Windows headers
+    #endif
+  #endif
+
+  #include <tchar.h>
+  #include <winsock2.h>
+  #include <windows.h>
+  #include <unistd.h>
+  #include <sys/stat.h>
+
+  #define cPathsep _TCHAR('\\')
+  #define _NO_OLDNAMES
+  #define _stat stat
+  #define _ttmpnam    tmpnam
+  #define _tspawnvp   spawnvp
+  #define MODE_TEXT _T("t")
+  #define WOULDBLOCK WSAEWOULDBLOCK           // "Would blocking" error
+
+  typedef long long Time;
 
 #elif defined(_WIN32)
   #ifdef _UNICODE
Index: ecos_dev/host/tools/Utils/common/Collections.cpp
===================================================================
--- ecos_orig/host/tools/Utils/common/Collections.cpp	(revision 56)
+++ ecos_dev/host/tools/Utils/common/Collections.cpp	(revision 65)
@@ -56,7 +56,7 @@
     if(-1==n){
       nLength*=2;  // NT behavior
     } else if (n<nLength){
-      string::operator=(buf);
+      stdstring::operator=(buf);
       nLength=0;   // trigger exit from loop
     } else {
       nLength=n+1; // UNIX behavior generally, or NT behavior when buffer size exactly matches required length
@@ -79,7 +79,7 @@
 {
   assert(m_pszBuf);
   m_pszBuf[m_nBufferLength]=_TCHAR('\0'); // just in case the terminating null has been forgotten
-  string::operator=(m_pszBuf);
+  stdstring::operator=(m_pszBuf);
   delete [] m_pszBuf;
   m_pszBuf=0;
 }
@@ -167,7 +167,7 @@
         strNew+=psz2;              // substitution text
         pc+=_tcslen(psz1);         // past the substituted text
         strNew+=pc;                // after the substitution
-        string::operator=(strNew);
+        stdstring::operator=(strNew);
         nOffset=(pc-psz)+_tcslen(psz2);
       }
     } else {
Index: ecos_dev/host/tools/Utils/common/Collections.h
===================================================================
--- ecos_orig/host/tools/Utils/common/Collections.h	(revision 56)
+++ ecos_dev/host/tools/Utils/common/Collections.h	(revision 65)
@@ -51,10 +51,10 @@
   #pragma warning(disable:4512) // assignment operator could not be generated
   #pragma warning(disable:4663) // C++ language change: to explicitly specialize class template...
 #endif
-
+
 #include <string>
-#include <vector>
-
+#include <vector>
+
 #include "eCosStd.h"
 
 class String;
@@ -69,18 +69,18 @@
 // The instantiation of the string class is based on TCHAR (the typedef is just below)
 // which of course will be a wide character when building UNICODE on Windows.
 
-typedef std::basic_string<TCHAR> string;
-class String : public string {
+typedef std::basic_string<TCHAR> stdstring;
+class String : public stdstring {
 public:
 	void Replace (LPCTSTR psz1,LPCTSTR psz2,bool bObserveEscapes=false);
   // Standard ctors
-  String() : string(),m_pszBuf(0){}
-  String(const String& rhs) : string(rhs),m_pszBuf(0){}
-  String(const String& rhs, size_type pos, size_type n) : string(rhs,pos,n),m_pszBuf(0){}
-  String(const TCHAR *s, size_type n) : string(s?s:_T(""),n),m_pszBuf(0){}
-  String(const TCHAR *s) : string(s?s:_T("")),m_pszBuf(0){}
-  String(size_type n, TCHAR c) : string(n,c),m_pszBuf(0){}
-  String(const_iterator first, const_iterator last) : string(first,last),m_pszBuf(0){}
+  String() : std::string(),m_pszBuf(0){}
+  String(const String& rhs) : stdstring(rhs),m_pszBuf(0){}
+  String(const String& rhs, size_type pos, size_type n) : stdstring(rhs,pos,n),m_pszBuf(0){}
+  String(const TCHAR *s, size_type n) : stdstring(s?s:_T(""),n),m_pszBuf(0){}
+  String(const TCHAR *s) : stdstring(s?s:_T("")),m_pszBuf(0){}
+  String(size_type n, TCHAR c) : stdstring(n,c),m_pszBuf(0){}
+  String(const_iterator first, const_iterator last) : stdstring(first,last),m_pszBuf(0){}
   virtual ~String() { delete [] m_pszBuf; }
 
   // Comparators
@@ -112,7 +112,7 @@
 
   TCHAR *m_pszBuf;
   int   m_nBufferLength;
-};
+};
 
 // Use this class to allocate chunks of untyped memory without needing to worry about memory leaks:
 class Buffer {
Index: ecos_dev/host/tools/Utils/common/Subprocess.cpp
===================================================================
--- ecos_orig/host/tools/Utils/common/Subprocess.cpp	(revision 56)
+++ ecos_dev/host/tools/Utils/common/Subprocess.cpp	(revision 65)
@@ -642,7 +642,7 @@
             
             if(dwPidSize/sizeof(DWORD)<dwMaxPids){
               rc=true;
-              for( DWORD dwIndex = 0 ; (signed)dwIndex < dwPidSize/sizeof(DWORD); dwIndex++ ) {
+              for( DWORD dwIndex = 0 ; dwIndex < dwPidSize/sizeof(DWORD); dwIndex++ ) {
                 // Regardless of OpenProcess success or failure, we
                 // still call the enum func with the ProcID.
                 DWORD pid=arPids[dwIndex];
Index: ecos_dev/host/tools/configtool/common/common/build.cxx
===================================================================
--- ecos_orig/host/tools/configtool/common/common/build.cxx	(revision 56)
+++ ecos_dev/host/tools/configtool/common/common/build.cxx	(revision 65)
@@ -290,7 +290,7 @@
 
 // returns the directory of the specified file
 std::string file_to_directory (const std::string file) {
-	for (unsigned int n = file.size (); n >= 0; n--) {
+	for (int n = file.size (); n >= 0; n--) {
 		if ('/' == file [n]) {
 			std::string directory = file;
 			directory.resize (n);
Index: ecos_dev/host/tools/configtool/standalone/wxwin/platformsdlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/platformsdlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/platformsdlg.cpp	(revision 65)
@@ -231,7 +231,7 @@
 #endif
 }
 
-void ecPlatformsDialog::OnModify(wxCommandEvent& event)
+void ecPlatformsDialog::OnModify(wxCommandEvent& WXUNUSED(event))
 {
     long n = m_listCtrl->GetItemCount();
     long i;
@@ -279,7 +279,7 @@
     return -1;
 }
 
-void ecPlatformsDialog::OnDelete(wxCommandEvent& event)
+void ecPlatformsDialog::OnDelete(wxCommandEvent& WXUNUSED(event))
 {
     long sel = -1;
     long whereFrom = 0;
@@ -303,7 +303,7 @@
     } while (sel > -1) ;
 }
 
-void ecPlatformsDialog::OnAdd(wxCommandEvent& event)
+void ecPlatformsDialog::OnAdd(wxCommandEvent& WXUNUSED(event))
 {
     ecPlatformEditorDialog dlg(this);
     dlg.m_strCaption = wxT("New Platform");
@@ -377,7 +377,7 @@
 {
 }
 
-void ecPlatformsListCtrl::OnDoubleLClick(wxMouseEvent& event)
+void ecPlatformsListCtrl::OnDoubleLClick(wxMouseEvent& WXUNUSED(event))
 {
     ecPlatformsDialog* parent = (ecPlatformsDialog*) GetParent();
     parent->OnDoubleLClick();
Index: ecos_dev/host/tools/configtool/standalone/wxwin/appsettings.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/appsettings.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/appsettings.cpp	(revision 65)
@@ -139,7 +139,7 @@
 }
 
 // Copy constructor
-ecSettings::ecSettings(const ecSettings& settings)
+ecSettings::ecSettings(const ecSettings& settings) : wxObject(settings)
 {
     Copy(settings);
 }
@@ -341,7 +341,7 @@
         objcopyFileSpec += wxT(".exe");
 #endif
         size_t objcopyCount = wxDir::GetAllFiles(m_buildToolsDir, &objcopyFiles, wxT("*") + objcopyFileSpec, wxDIR_FILES | wxDIR_DIRS);
-        for (int count=0; count < objcopyCount; count++)
+        for (int count=0; count < (int) objcopyCount; count++)
         {
             wxFileName file (objcopyFiles [count]);
             wxString new_prefix (file.GetFullName().Left (file.GetFullName().Find(objcopyFileSpec)));
@@ -356,7 +356,7 @@
 #ifdef __WXMSW__
         SYSTEM_INFO SystemInfo;
         GetSystemInfo(&SystemInfo);
-        m_strMakeOptions.Printf(_T("-j%d"),SystemInfo.dwNumberOfProcessors);
+        m_strMakeOptions.Printf(_T("-j%d"), (int) SystemInfo.dwNumberOfProcessors);
 #endif
     }
     
@@ -754,7 +754,7 @@
     return TRUE;
 }
 
-void ecSettings::ShowSettingsDialog(const wxString& page)
+void ecSettings::ShowSettingsDialog(const wxString& WXUNUSED(page))
 {
 #if 0
     ecSettingsDialog* dialog = new ecSettingsDialog(wxGetApp().GetTopWindow());
@@ -910,13 +910,13 @@
     m_nDownloadTimeoutType(TIMEOUT_SPECIFIED),
     m_bRemote(FALSE),
     m_bSerial(TRUE),
-    m_strPort(wxT("COM1")),
     m_nBaud(38400),
     m_nLocalTCPIPPort(1),
     m_nReset(RESET_MANUAL),
     m_nResourcePort(1),
     m_nRemotePort(1),
-    m_bFarmed(TRUE),
+    m_bFarmed(TRUE),
+    m_strPort(wxT("COM1")),
     m_strRemoteHost(wxT("")),
     m_strResourceHost(wxT("")),
     m_strLocalTCPIPHost(wxT("")),
@@ -924,7 +924,7 @@
 {
 }
 
-ecRunTestsSettings::ecRunTestsSettings(const ecRunTestsSettings& settings)
+ecRunTestsSettings::ecRunTestsSettings(const ecRunTestsSettings& settings) : wxObject(settings)
 {
     Copy(settings);
 }
Index: ecos_dev/host/tools/configtool/standalone/wxwin/folderdlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/folderdlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/folderdlg.cpp	(revision 65)
@@ -84,7 +84,7 @@
     Centre(wxBOTH);
 }
 
-void ecFolderDialog::OnInitDialog(wxInitDialogEvent& event)
+void ecFolderDialog::OnInitDialog(wxInitDialogEvent& WXUNUSED(event))
 {
     wxComboBox* comboBox = (wxComboBox*) FindWindow(ecID_FOLDER_DIALOG_PATHS);
 
@@ -129,7 +129,7 @@
     event.Skip();
 }
 
-void ecFolderDialog::OnBrowse(wxCommandEvent &event)
+void ecFolderDialog::OnBrowse(wxCommandEvent &WXUNUSED(event))
 {
     wxComboBox* comboBox = (wxComboBox*) FindWindow(ecID_FOLDER_DIALOG_PATHS);
 
Index: ecos_dev/host/tools/configtool/standalone/wxwin/buildoptionsdlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/buildoptionsdlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/buildoptionsdlg.cpp	(revision 65)
@@ -123,7 +123,7 @@
     m_treeCtrl->SetImageList(NULL);
 }
 
-void ecBuildOptionsDialog::OnInitDialog(wxInitDialogEvent& event)
+void ecBuildOptionsDialog::OnInitDialog(wxInitDialogEvent& WXUNUSED(event))
 {
     m_treeCtrl->DeleteAllItems();
     //wxTreeItemId rootId = m_treeCtrl->AddRoot(_("Configuration"), 0, -1);
@@ -321,7 +321,7 @@
     bool bRedraw=(listBox->GetCount() != ar.GetCount());
     if(!bRedraw)
     {
-        for(int i=0;i<ar.GetCount();i++){
+        for(int i = 0; i < (int) ar.GetCount(); i++){
             wxString strOld = listBox->GetString(i);
 
             if(strOld!=ar[i])
@@ -333,13 +333,13 @@
     }
     if(bRedraw){
         listBox->Clear();
-        for(int i=0;i<ar.GetCount();i++){
+        for(int i=0;i < (int) ar.GetCount(); i++){
             listBox->Append(ar[i]);
         }
     }
 }
 
-void ecBuildOptionsDialog::OnSelCategory(wxCommandEvent& event)
+void ecBuildOptionsDialog::OnSelCategory(wxCommandEvent& WXUNUSED(event))
 {
     wxTreeItemId item = m_treeCtrl->GetSelection();
     if (item.IsOk())
@@ -348,7 +348,7 @@
     }
 }
 
-void ecBuildOptionsDialog::OnSelTree(wxTreeEvent& event)
+void ecBuildOptionsDialog::OnSelTree(wxTreeEvent& WXUNUSED(event))
 {
     wxTreeItemId item = m_treeCtrl->GetSelection();
     if (item.IsOk())
Index: ecos_dev/host/tools/configtool/standalone/wxwin/configtool.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/configtool.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/configtool.cpp	(revision 65)
@@ -122,15 +122,15 @@
     { wxCMD_LINE_OPTION, "s", "size",    "output block size", wxCMD_LINE_VAL_NUMBER },
     { wxCMD_LINE_OPTION, "d", "date",    "output file date", wxCMD_LINE_VAL_DATE },
 */
-    { wxCMD_LINE_SWITCH, "h", "help",   "displays help on the command line parameters" },
-    { wxCMD_LINE_SWITCH, "e", "edit-only",    "edit save file only" },
-    { wxCMD_LINE_SWITCH, "v", "version",    "print version" },
-    { wxCMD_LINE_SWITCH, "c", "compile-help",    "compile online help only" },
+    { wxCMD_LINE_SWITCH, "h", "help",   "displays help on the command line parameters", wxCMD_LINE_VAL_NONE, 0 },
+    { wxCMD_LINE_SWITCH, "e", "edit-only",    "edit save file only", wxCMD_LINE_VAL_NONE, 0 },
+    { wxCMD_LINE_SWITCH, "v", "version",    "print version", wxCMD_LINE_VAL_NONE, 0 },
+    { wxCMD_LINE_SWITCH, "c", "compile-help",    "compile online help only", wxCMD_LINE_VAL_NONE, 0 },
 
     { wxCMD_LINE_PARAM,  NULL, NULL, "input file 1", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
     { wxCMD_LINE_PARAM,  NULL, NULL, "input file 2", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
 
-    { wxCMD_LINE_NONE }
+    { wxCMD_LINE_NONE, NULL, NULL, NULL, wxCMD_LINE_VAL_NONE, 0 }
 };
 
 ecApp::ecApp()
@@ -756,13 +756,13 @@
         return FALSE;
     }
     else
-    {
+    {
+#if 0   // No longer using relative paths
+
         // Tell the help controller where the repository documentation is.
         // For now, just keep this to myself since it uses hacks to wxWin
         ecConfigToolDoc* doc = GetConfigToolDoc();
-
-        // No longer using relative paths
-#if 0
+
         if (doc)
         {
             wxString htmlDir = wxString(doc->GetRepository()) + wxString(wxT("/doc/html"));
@@ -1084,7 +1084,9 @@
 
 bool ecApp::PrepareEnvironment(bool bWithBuildTools, wxString* cmdLine)
 {
-#ifdef __WXMSW__
+#ifdef __WXMSW__
+    cmdLine = cmdLine;      // Keep compiler quiet
+
     // Under Windows we can set variables.
     ecConfigToolDoc *pDoc = GetConfigToolDoc();
     
@@ -1508,7 +1510,7 @@
 #endif
 }
 
-void ecApp::OnProcessTerminated(wxProcess* process)
+void ecApp::OnProcessTerminated(wxProcess* WXUNUSED(process))
 {
     m_pipedProcess = NULL;
 }
@@ -1552,7 +1554,7 @@
     return hasInput;
 }
 
-void ecPipedProcess::OnTerminate(int pid, int status)
+void ecPipedProcess::OnTerminate(int WXUNUSED(pid), int WXUNUSED(status))
 {
     // show the rest of the output
     while ( HasInput() )
Index: ecos_dev/host/tools/configtool/standalone/wxwin/mltwin.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/mltwin.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/mltwin.cpp	(revision 65)
@@ -116,7 +116,7 @@
     delete m_propertiesMenu;
 }
 
-void ecMemoryLayoutWindow::OnPaint(wxPaintEvent& event)
+void ecMemoryLayoutWindow::OnPaint(wxPaintEvent& WXUNUSED(event))
 {
     wxPaintDC dc(this);
 
@@ -189,7 +189,7 @@
     }
 }
 
-void ecMemoryLayoutWindow::OnProperties(wxCommandEvent& event)
+void ecMemoryLayoutWindow::OnProperties(wxCommandEvent& WXUNUSED(event))
 {
     ecSectionDialog dialog(wxTheApp->GetTopWindow());
     dialog.ShowModal();
@@ -498,7 +498,7 @@
 }
 #endif
 
-void ecMemoryLayoutWindow::OnSize(wxSizeEvent& event)
+void ecMemoryLayoutWindow::OnSize(wxSizeEvent& WXUNUSED(event))
 {
 #if 0
     CScrollView::OnSize(nType, cx, cy);
Index: ecos_dev/host/tools/configtool/standalone/wxwin/splittree.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/splittree.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/splittree.cpp	(revision 65)
@@ -198,7 +198,7 @@
 
 // Scroll to the given line (in scroll units where each unit is
 // the height of an item)
-void wxRemotelyScrolledTreeCtrl::ScrollToLine(int posHoriz, int posVert)
+void wxRemotelyScrolledTreeCtrl::ScrollToLine(int WXUNUSED(posHoriz), int posVert)
 {
 #ifdef __WXMSW__
     if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
@@ -432,7 +432,7 @@
     }
 }
 
-void wxTreeCompanionWindow::OnPaint(wxPaintEvent& event)
+void wxTreeCompanionWindow::OnPaint(wxPaintEvent& WXUNUSED(event))
 {
     wxPaintDC dc(this);
     
@@ -493,7 +493,7 @@
     Refresh(TRUE);
 }
 
-void wxTreeCompanionWindow::OnExpand(wxTreeEvent& event)
+void wxTreeCompanionWindow::OnExpand(wxTreeEvent& WXUNUSED(event))
 {
     // TODO: something more optimized than simply refresh the whole
     // window when the tree is expanded/collapsed. Tricky.
@@ -532,7 +532,7 @@
 }
 
 // Tests for x, y over sash
-bool wxThinSplitterWindow::SashHitTest(int x, int y, int tolerance)
+bool wxThinSplitterWindow::SashHitTest(int x, int y, int WXUNUSED(tolerance))
 {
     return wxSplitterWindow::SashHitTest(x, y, 4);
 }
@@ -618,7 +618,7 @@
 {
 }
 
-void wxSplitterScrolledWindow::OnSize(wxSizeEvent& event)
+void wxSplitterScrolledWindow::OnSize(wxSizeEvent& WXUNUSED(event))
 {
     wxSize sz = GetClientSize();
 #if wxCHECK_VERSION(2, 6, 0)
Index: ecos_dev/host/tools/configtool/standalone/wxwin/runtestsdlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/runtestsdlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/runtestsdlg.cpp	(revision 65)
@@ -259,7 +259,7 @@
     }
 }
 
-void ecRunTestsDialog::OnOK(wxCommandEvent& event)
+void ecRunTestsDialog::OnOK(wxCommandEvent& WXUNUSED(event))
 {
     if (ecRunning == m_runStatus)
     {
@@ -268,7 +268,11 @@
         return;
     }
 
-    wxDialog::OnOK(event);
+#if wxCHECK_VERSION(2, 8, 0)
+    this->EndModal(wxID_OK);
+#else
+    wxDialog::OnOK(event);
+#endif
 }
 
 void ecRunTestsDialog::OnCloseWindow(wxCloseEvent& event)
@@ -285,14 +289,14 @@
     this->Destroy();
 }
 
-void ecRunTestsDialog::OnProperties(wxCommandEvent& event)
+void ecRunTestsDialog::OnProperties(wxCommandEvent& WXUNUSED(event))
 {
     ecSettingsDialog dialog(this);
     dialog.SetSelection(3);
     dialog.ShowModal();
 }
 
-void ecRunTestsDialog::OnRun(wxCommandEvent& event)
+void ecRunTestsDialog::OnRun(wxCommandEvent& WXUNUSED(event))
 {  
     if (ecRunning == m_runStatus)
     {
@@ -386,7 +390,7 @@
 
 void ecRunTestsDialog::SubmitTests()
 {
-    int iTest;
+//    int iTest;
     int nResources=wxGetApp().GetSettings().GetRunTestsSettings().m_bRemote ? wxMax(1,CTestResource::GetMatchCount (m_ep)):1;
     if(nResources>CeCosTest::InstanceCount){
         if (m_nNextToSubmit >= m_executables->SelectedTestCount()){
@@ -453,7 +457,7 @@
     String str1;
     bool bOk=false;
     CResetAttributes::ResetResult n=m_info->pSheet->m_pResource->Reset(str1);
-    str = str1;
+    str = str1.c_str();
     if(CResetAttributes::RESET_OK!=n){
         str += wxT(">>> Could not reset target\n");
     }
@@ -683,7 +687,8 @@
 {
     // Create the foreign control
     wxCheckListBox* listBox = new wxCheckListBox(parent, ecID_RUN_TESTS_TEST_LIST, wxDefaultPosition, wxSize(100, 100),
-        0, NULL, wxSUNKEN_BORDER|wxLB_EXTENDED);
+        0, NULL, wxSUNKEN_BORDER|wxLB_EXTENDED);
+    listBox = listBox;      // Keep compiler quiet
 
     wxSizer *item0 = new wxBoxSizer( wxVERTICAL );
 
@@ -730,7 +735,7 @@
     parent->SetSizer( item0 );
 }
 
-void ecRunTestsExecutablesDialog::OnCheckAll(wxCommandEvent& event)
+void ecRunTestsExecutablesDialog::OnCheckAll(wxCommandEvent& WXUNUSED(event))
 {
     wxCheckListBox* checkList = (wxCheckListBox*) FindWindow(ecID_RUN_TESTS_TEST_LIST);
     if (!checkList)
@@ -742,7 +747,7 @@
         checkList->Check(i, TRUE);
 }
 
-void ecRunTestsExecutablesDialog::OnUncheckAll(wxCommandEvent& event)
+void ecRunTestsExecutablesDialog::OnUncheckAll(wxCommandEvent& WXUNUSED(event))
 {
     wxCheckListBox* checkList = (wxCheckListBox*) FindWindow(ecID_RUN_TESTS_TEST_LIST);
     if (!checkList)
@@ -754,7 +759,7 @@
         checkList->Check(i, FALSE);
 }
 
-void ecRunTestsExecutablesDialog::OnAdd(wxCommandEvent& event)
+void ecRunTestsExecutablesDialog::OnAdd(wxCommandEvent& WXUNUSED(event))
 {
     wxCheckListBox* checkList = (wxCheckListBox*) FindWindow(ecID_RUN_TESTS_TEST_LIST);
     if (!checkList)
@@ -776,8 +781,8 @@
 
         bool err = FALSE;
 
-        unsigned int i;
-        int n = paths.Count();
+        int i;
+        int n = (int) paths.Count();
         for (i = 0; i < n; i++)
         {
             // TODO: check that it's the right kind of file
@@ -795,7 +800,7 @@
     }
 }
 
-void ecRunTestsExecutablesDialog::OnAddFromFolder(wxCommandEvent& event)
+void ecRunTestsExecutablesDialog::OnAddFromFolder(wxCommandEvent& WXUNUSED(event))
 {
     wxCheckListBox* checkList = (wxCheckListBox*) FindWindow(ecID_RUN_TESTS_TEST_LIST);
     if (!checkList)
@@ -890,7 +895,7 @@
     }
 }
 
-void ecRunTestsExecutablesDialog::OnRemove(wxCommandEvent& event)
+void ecRunTestsExecutablesDialog::OnRemove(wxCommandEvent& WXUNUSED(event))
 {
     wxCheckListBox* checkList = (wxCheckListBox*) FindWindow(ecID_RUN_TESTS_TEST_LIST);
     if (!checkList)
@@ -922,7 +927,7 @@
         return;
 
     // If there were no unchecked items, we can disable the check all button
-    event.Enable( checkList->GetCount() != SelectedTestCount() );
+    event.Enable( (int) checkList->GetCount() != SelectedTestCount() );
 }
 
 void ecRunTestsExecutablesDialog::OnUpdateUncheckAll(wxUpdateUIEvent& event)
@@ -957,7 +962,7 @@
         return str;
 
     int i;
-    for (i=0; i < checkList->GetCount(); i++)
+    for (i=0; i < (int) checkList->GetCount(); i++)
     {
         if (checkList->IsChecked(i))
         {
@@ -1065,7 +1070,7 @@
 void ecRunTestsSummaryDialog::AddResult (CeCosTest *pTest)
 {
     const wxString strResult(pTest->ResultString(FALSE));
-    int nLength=strResult.Length();
+//    int nLength=strResult.Length();
     wxString arstr[8];
     wxString strTime,strDate;
     int i;
Index: ecos_dev/host/tools/configtool/standalone/wxwin/choosereposdlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/choosereposdlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/choosereposdlg.cpp	(revision 65)
@@ -183,7 +183,7 @@
 #endif
 }
 
-void ecChooseRepositoryDialog::OnBrowse(wxCommandEvent& event)
+void ecChooseRepositoryDialog::OnBrowse(wxCommandEvent& WXUNUSED(event))
 {
     wxDirDialog dialog(this, wxT("Repository path"));
     if (wxID_OK == dialog.ShowModal())
Index: ecos_dev/host/tools/configtool/standalone/wxwin/platformeditordlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/platformeditordlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/platformeditordlg.cpp	(revision 65)
@@ -233,13 +233,13 @@
 #endif
 }
 
-void ecPlatformEditorDialog::OnChangeNewPlatformPrefix(wxCommandEvent& event)
+void ecPlatformEditorDialog::OnChangeNewPlatformPrefix(wxCommandEvent& WXUNUSED(event))
 {
     FindWindow(wxID_OK)->Enable(!((wxTextCtrl*)FindWindow(ecID_MODIFY_PLATFORM_NAME))->GetValue().IsEmpty() &&
         !((wxComboBox*)FindWindow(ecID_MODIFY_PLATFORM_PREFIX))->GetValue().IsEmpty());
 }
 
-void ecPlatformEditorDialog::OnChangeNewPlatform(wxCommandEvent& event)
+void ecPlatformEditorDialog::OnChangeNewPlatform(wxCommandEvent& WXUNUSED(event))
 {
     FindWindow(wxID_OK)->Enable(!((wxTextCtrl*)FindWindow(ecID_MODIFY_PLATFORM_NAME))->GetValue().IsEmpty() &&
         !((wxComboBox*)FindWindow(ecID_MODIFY_PLATFORM_PREFIX))->GetValue().IsEmpty());
@@ -250,7 +250,7 @@
     event.Skip();
 }
 
-void ecPlatformEditorDialog::OnOK(wxCommandEvent& event)
+void ecPlatformEditorDialog::OnOK(wxCommandEvent& WXUNUSED(event))
 {
     TransferDataFromWindow();
 
Index: ecos_dev/host/tools/configtool/standalone/wxwin/settingsdlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/settingsdlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/settingsdlg.cpp	(revision 65)
@@ -206,11 +206,15 @@
     m_notebook->SetSelection(sel);
 }
 
-void ecSettingsDialog::OnOK(wxCommandEvent& event)
+void ecSettingsDialog::OnOK(wxCommandEvent& WXUNUSED(event))
 {
     ecSettings oldSettings(wxGetApp().GetSettings());
 
+#if wxCHECK_VERSION(2, 8, 0)
+    this->EndModal(wxID_OK);
+#else
     wxDialog::OnOK(event);
+#endif
 
     if (wxGetApp().GetSettings().m_bHex != oldSettings.m_bHex)
     {
@@ -228,7 +232,7 @@
     }    
 }
 
-void ecSettingsDialog::OnHelp(wxCommandEvent& event)
+void ecSettingsDialog::OnHelp(wxCommandEvent& WXUNUSED(event))
 {
     int sel = m_notebook->GetSelection();
 
@@ -396,7 +400,7 @@
     FindWindow(ecID_DISPLAY_OPTIONS_FONT_CHOICE)->SetHelpText(_("Selects a window for which the font is to be changed."));
     FindWindow(ecID_DISPLAY_OPTIONS_CHANGE_FONT)->SetHelpText(_("Changes the font of the chosen window."));
     // Init the choice control
-    unsigned int i;
+    int i;
     for (i = 0; i < wxGetApp().GetSettings().GetWindowSettings().GetCount(); i++)
     {
         ((wxChoice*) FindWindow(ecID_DISPLAY_OPTIONS_FONT_CHOICE))->Append(wxGetApp().GetSettings().GetWindowSettings().GetName(i));
@@ -433,7 +437,7 @@
     return TRUE;
 }
 
-void ecDisplayOptionsDialog::OnChangeFont(wxCommandEvent& event)
+void ecDisplayOptionsDialog::OnChangeFont(wxCommandEvent& WXUNUSED(event))
 {
     wxChoice* choice = (wxChoice*) FindWindow(ecID_DISPLAY_OPTIONS_FONT_CHOICE);
 
@@ -443,7 +447,11 @@
         wxFontData data;
         data.SetInitialFont(wxGetApp().GetSettings().GetWindowSettings().GetFont(str));
 
+#if wxCHECK_VERSION(2, 8, 0)
+        wxFontDialog dlg(this, data);
+#else
         wxFontDialog dlg(this, & data);
+#endif
         if (dlg.ShowModal() == wxID_OK)
         {
             wxGetApp().GetSettings().GetWindowSettings().SetFont(str, dlg.GetFontData().GetChosenFont()) ;
@@ -666,7 +674,7 @@
                     ((wxRadioButton*) FindWindow(ecID_VIEWER_DIALOG_DOC_THIS))->GetValue() );
 }
 
-void ecViewerOptionsDialog::OnBrowseForViewer(wxCommandEvent& event)
+void ecViewerOptionsDialog::OnBrowseForViewer(wxCommandEvent& WXUNUSED(event))
 {
     wxString currentViewer = ((wxTextCtrl*) FindWindow(ecID_VIEWER_DIALOG_HEADER_TEXT))->GetValue();
 
@@ -679,7 +687,7 @@
     }
 }
 
-void ecViewerOptionsDialog::OnBrowseForBrowser(wxCommandEvent& event)
+void ecViewerOptionsDialog::OnBrowseForBrowser(wxCommandEvent& WXUNUSED(event))
 {
     wxString currentViewer = ((wxTextCtrl*) FindWindow(ecID_VIEWER_DIALOG_DOC_TEXT))->GetValue();
 
@@ -692,7 +700,7 @@
     }
 }
 
-void ecViewerOptionsDialog::OnShowAssociatedViewerInfo(wxCommandEvent& event)
+void ecViewerOptionsDialog::OnShowAssociatedViewerInfo(wxCommandEvent& WXUNUSED(event))
 {
     wxString msg;
     wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(wxT("html"));
Index: ecos_dev/host/tools/configtool/standalone/wxwin/configtooldoc.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/configtooldoc.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/configtooldoc.cpp	(revision 65)
@@ -349,7 +349,7 @@
     if (m_strBuildTree.IsEmpty() || m_strInstallTree.IsEmpty() )
         return FALSE;
 
-    int nCount=0;
+//    int nCount=0;
     if (GetCdlConfig ())
     {
         // calculate the number of conflicts
@@ -619,7 +619,7 @@
 {
     int nItem;
 #if wxCHECK_VERSION(2, 6, 0)
-    for(nItem=0; nItem < GetItems().GetCount() ; nItem++)
+    for(nItem=0; nItem < (int) GetItems().GetCount() ; nItem++)
 #else
     for(nItem=0; nItem < GetItems().Number() ; nItem++)
 #endif
@@ -668,7 +668,7 @@
 {
     int nItem;
 #if wxCHECK_VERSION(2, 6, 0)
-    for (nItem=0 ; nItem < m_items.GetCount() ; nItem++)
+    for (nItem=0 ; nItem < (int) m_items.GetCount() ; nItem++)
 #else
     for (nItem=0 ; nItem < m_items.Number() ; nItem++)
 #endif
@@ -686,7 +686,7 @@
 {
     int nItem;
 #if wxCHECK_VERSION(2, 6, 0)
-    for (nItem=0 ; nItem < m_items.GetCount() ; nItem++)
+    for (nItem=0 ; nItem < (int) m_items.GetCount() ; nItem++)
 #else
     for (nItem=0 ; nItem < m_items.Number() ; nItem++)
 #endif
@@ -1273,7 +1273,7 @@
 {
     CdlInferenceCallbackResult rc=CdlInferenceCallbackResult_Continue;
 
-    ecConfigToolDoc *pDoc=wxGetApp().GetConfigToolDoc();
+//    ecConfigToolDoc *pDoc=wxGetApp().GetConfigToolDoc();
     const std::list<CdlConflict>&conflicts=transaction->get_new_conflicts();
     if ((wxGetApp().GetSettings().m_nRuleChecking & ecSettings::Immediate) && conflicts.size()>0)
     {
@@ -1356,7 +1356,7 @@
     for (val_i = data.value_source_changes.begin(); val_i != data.value_source_changes.end(); val_i++)
     {
         const wxString strName((*val_i)->get_name().c_str());
-        CdlValueSource source = (*val_i)->get_source();
+//        CdlValueSource source = (*val_i)->get_source();
 /*
         TRACE(_T("%s %s : the value source has changed to %s\n"),
             CString ((*val_i)->get_class_name().c_str()), strName,
@@ -2253,7 +2253,7 @@
     return TRUE; // FIXME
 }
 
-bool ecConfigToolDoc::NewMemoryLayout (const wxString &strPrefix)
+bool ecConfigToolDoc::NewMemoryLayout (const wxString& WXUNUSED(strPrefix))
 {
     // TODO
 #if ecUSE_MLT
@@ -2345,7 +2345,7 @@
         {
             dialog.Populate(ar[i], TRUE);
         }
-        for ( i = 0 ; i < arTestsMissing.Count(); i++)
+        for ( i = 0 ; i < (int) arTestsMissing.Count(); i++)
         {
             dialog.Populate(arTestsMissing[i], FALSE);
         }
Index: ecos_dev/host/tools/configtool/standalone/wxwin/msgdlgex.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/msgdlgex.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/msgdlgex.cpp	(revision 65)
@@ -73,8 +73,13 @@
     // 1) icon
     if (style & wxICON_MASK)
     {
-         wxStaticBitmap *icon = new wxStaticBitmap(
-            this, -1, wxTheApp->GetStdIcon((int)(style & wxICON_MASK)));
+#if wxCHECK_VERSION(2, 8, 0)
+		// This doesn't seem like the best solution
+        wxStaticBitmap *icon = new wxStaticBitmap(this, -1, wxNullIcon);
+#else
+         wxStaticBitmap *icon = new wxStaticBitmap(
+            this, -1, wxTheApp->GetStdIcon((int)(style & wxICON_MASK)));
+#endif
          icon_text->Add( icon, 0, wxCENTER );
     }
 
Index: ecos_dev/host/tools/configtool/standalone/wxwin/solutionswin.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/solutionswin.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/solutionswin.cpp	(revision 65)
@@ -63,8 +63,8 @@
 
 #include "solutionswin.h"
 
-#include "bitmaps/checked.xpm"
-#include "bitmaps/unchecked.xpm"
+//#include "bitmaps/checked.xpm"
+//#include "bitmaps/unchecked.xpm"
 
 /*
  * ecSolutionListCtrl
Index: ecos_dev/host/tools/configtool/standalone/wxwin/outputwin.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/outputwin.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/outputwin.cpp	(revision 65)
@@ -116,16 +116,16 @@
     }
 }
 
-void ecOutputWindow::OnClear(wxCommandEvent& event)
+void ecOutputWindow::OnClear(wxCommandEvent& WXUNUSED(event))
 {
     Clear();
 }
 
-void ecOutputWindow::OnSelectAll(wxCommandEvent& event)
+void ecOutputWindow::OnSelectAll(wxCommandEvent& WXUNUSED(event))
 {
     SetSelection(0, GetLastPosition());
 }
 
-void ecOutputWindow::OnSave(wxCommandEvent& event)
+void ecOutputWindow::OnSave(wxCommandEvent& WXUNUSED(event))
 {
 }
Index: ecos_dev/host/tools/configtool/standalone/wxwin/htmlparser.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/htmlparser.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/htmlparser.cpp	(revision 65)
@@ -471,7 +471,7 @@
 // Safe way of getting a character
 int wxSimpleHtmlParser::GetChar(size_t i) const
 {
-    if (i >= m_length)
+    if ((int) i >= m_length)
         return -1;
     return m_text[i];
 }
Index: ecos_dev/host/tools/configtool/standalone/wxwin/templatesdlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/templatesdlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/templatesdlg.cpp	(revision 65)
@@ -328,7 +328,7 @@
     event.Skip();
 }
 
-void ecTemplatesDialog::OnDetails(wxCommandEvent& event)
+void ecTemplatesDialog::OnDetails(wxCommandEvent& WXUNUSED(event))
 {
     wxWindow* win1 = FindWindow(ecID_TEMPLATES_DIALOG_PACKAGES);
 
@@ -364,10 +364,10 @@
     GetSizer()->Fit( this );
 }
 
-void ecTemplatesDialog::OnSelHardwareTemplates(wxCommandEvent& event)
+void ecTemplatesDialog::OnSelHardwareTemplates(wxCommandEvent& WXUNUSED(event))
 {
     wxComboBox* cdlHardwareCtrl = (wxComboBox*)  FindWindow( ecID_TEMPLATES_DIALOG_HARDWARE_TEMPLATES ) ;
-    wxChoice* cdlPackageCtrl = (wxChoice*)  FindWindow( ecID_TEMPLATES_DIALOG_PACKAGE_TEMPLATES ) ;
+//    wxChoice* cdlPackageCtrl = (wxChoice*)  FindWindow( ecID_TEMPLATES_DIALOG_PACKAGE_TEMPLATES ) ;
 
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
 
@@ -385,9 +385,9 @@
     TransferDataToWindow (); // display new target description
 }
 
-void ecTemplatesDialog::OnSelPackageTemplates(wxCommandEvent& event)
+void ecTemplatesDialog::OnSelPackageTemplates(wxCommandEvent& WXUNUSED(event))
 {
-    wxComboBox* cdlHardwareCtrl = (wxComboBox*)  FindWindow( ecID_TEMPLATES_DIALOG_HARDWARE_TEMPLATES ) ;
+//    wxComboBox* cdlHardwareCtrl = (wxComboBox*)  FindWindow( ecID_TEMPLATES_DIALOG_HARDWARE_TEMPLATES ) ;
     wxChoice* cdlPackageCtrl = (wxChoice*)  FindWindow( ecID_TEMPLATES_DIALOG_PACKAGE_TEMPLATES ) ;
 
 	// the template has changed so update the version combo box
@@ -400,7 +400,7 @@
 	UpdateVersionList (wxT("")); // repopulate template versions combo box and select most recent version
 }
 
-void ecTemplatesDialog::OnSelPackageVersion(wxCommandEvent& event)
+void ecTemplatesDialog::OnSelPackageVersion(wxCommandEvent& WXUNUSED(event))
 {
 	wxString strVersion;
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
@@ -419,8 +419,8 @@
 
 void ecTemplatesDialog::UpdateVersionList(const wxString& defaultVersion)
 {
-    wxComboBox* cdlHardwareCtrl = (wxComboBox*)  FindWindow( ecID_TEMPLATES_DIALOG_HARDWARE_TEMPLATES ) ;
-    wxChoice* cdlPackageCtrl = (wxChoice*)  FindWindow( ecID_TEMPLATES_DIALOG_PACKAGE_TEMPLATES ) ;
+//    wxComboBox* cdlHardwareCtrl = (wxComboBox*)  FindWindow( ecID_TEMPLATES_DIALOG_HARDWARE_TEMPLATES ) ;
+//    wxChoice* cdlPackageCtrl = (wxChoice*)  FindWindow( ecID_TEMPLATES_DIALOG_PACKAGE_TEMPLATES ) ;
     wxChoice* cdlVersionCtrl = (wxChoice*)  FindWindow( ecID_TEMPLATES_DIALOG_VERSION ) ;
 
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
Index: ecos_dev/host/tools/configtool/standalone/wxwin/propertywin.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/propertywin.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/propertywin.cpp	(revision 65)
@@ -298,7 +298,8 @@
                         PropertyInConflictsList (prop, config->get_all_conflicts ());
 
                     // TODO: set the image for a conflict item
-                    // CListCtrl::SetItem (nIndex, 0, LVIF_IMAGE, NULL, bConflictItem ? 1 : 0, 0, 0, 0 );
+                    // CListCtrl::SetItem (nIndex, 0, LVIF_IMAGE, NULL, bConflictItem ? 1 : 0, 0, 0, 0 );
+                    bConflictItem = bConflictItem;      // Keep compiler quiet
                 }
             }
         }
@@ -358,7 +359,8 @@
             PropertyInConflictsList (property, config->get_all_conflicts ());
         
         // TODO
-        // CListCtrl::SetItem (nItem, 0, LVIF_IMAGE, NULL, bConflictItem ? 1 : 0, 0, 0, 0 );
+        // CListCtrl::SetItem (nItem, 0, LVIF_IMAGE, NULL, bConflictItem ? 1 : 0, 0, 0, 0 );
+        bConflictItem = bConflictItem;      // Keep compiler quiet
     }
     
 }
@@ -373,7 +375,8 @@
     return nIndex;
 }
 
-int ecPropertyListCtrl::SetItem(const wxString& item, const wxString& value, int nInsertAs, int nRepeat)
+int ecPropertyListCtrl::SetItem(const wxString& item, const wxString& value,
+                                                int nInsertAs, int WXUNUSED(nRepeat))
 {
     wxASSERT( nInsertAs <= GetItemCount() );
 
Index: ecos_dev/host/tools/configtool/standalone/wxwin/ecutils.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/ecutils.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/ecutils.cpp	(revision 65)
@@ -69,11 +69,17 @@
 #endif
 
 #ifdef __WXMSW__
-#include <tlhelp32.h>
+#include <tlhelp32.h>
+#include <ntdef.h>
 #endif
 
-#ifdef __CYGWIN__
-#include <sys/cygwin.h> /* for cygwin_conv_to_*_path() */
+#ifdef __CYGWIN__
+#if wxCHECK_VERSION(2, 8, 0)
+#include <sys/cygwin.h> /* for cygwin_conv_to_*_path() */
+#include <sys/param.h> // For MAXPATHLEN
+#else
+#include <sys/cygwin.h> /* for cygwin_conv_to_*_path() */
+#endif
 #endif
 
 #if 0
@@ -206,7 +212,7 @@
 const wxString ecUtils::IntToStr(long d,bool bHex)
 {
   wxString s;
-  s.Printf(bHex?wxT("0x%08x"):wxT("%d"),d);
+  s.Printf(bHex ? wxT("0x%08lx") : wxT("%ld"), d);
   return s;
 }
 
@@ -632,7 +638,7 @@
     m_hashTable.BeginFind();
 }
 
-bool wxStringToStringMap::Next(wxString& key, wxString& value)
+bool wxStringToStringMap::Next(wxString& WXUNUSED(key), wxString& value)
 {
 #if wxCHECK_VERSION(2, 6, 0)
     wxHashTable::Node* node = m_hashTable.Next();
@@ -910,7 +916,7 @@
 
 bool wxWindowSettings::LoadConfig(wxConfigBase& config)
 {
-    unsigned int i = 0;
+    int i = 0;
 
     for (i = 0; i < GetCount(); i++)
     {
@@ -927,7 +933,7 @@
 
 bool wxWindowSettings::SaveConfig(wxConfigBase& config)
 {
-    unsigned int i = 0;
+    int i = 0;
     for (i = 0; i < GetCount(); i++)
     {
         wxWindowSettingsObject* obj = GetNth(i);
@@ -1063,7 +1069,7 @@
     if (m_useDefaults)
         return FALSE;
 
-    unsigned int i = 0;
+    int i = 0;
     for (i = 0; i < GetCount(); i++)
     {
         wxWindowSettingsObject* obj = GetNth(i);
@@ -1429,7 +1435,7 @@
                         
                         if(dwPidSize/sizeof(DWORD)<dwMaxPids){
                             rc=true;
-                            for( DWORD dwIndex = 0 ; (signed)dwIndex < dwPidSize/sizeof(DWORD); dwIndex++ ) {
+                            for( DWORD dwIndex = 0 ; dwIndex < dwPidSize/sizeof(DWORD); dwIndex++ ) {
                                 // Regardless of OpenProcess success or failure, we
                                 // still call the enum func with the ProcID.
                                 DWORD pid=arPids[dwIndex];
@@ -1445,9 +1451,10 @@
                                     } pbi;
                                     memset( &pbi, 0, sizeof(pbi)); 
                                     DWORD retLen; 
-                                    __int64 ftCreation,ftExit,ftKernel,ftUser;
-                                    if(lpfNtQueryInformationProcess(hProcess, 0 /*ProcessBasicInformation*/, &pbi, sizeof(pbi), &retLen)>=0 &&
-                                        TRUE==::GetProcessTimes (hProcess,(FILETIME *)&ftCreation,(FILETIME *)&ftExit,(FILETIME *)&ftKernel,(FILETIME *)&ftUser)){
+                                    __int64 ftCreation,ftExit,ftKernel,ftUser;
+                                    NTSTATUS Status = lpfNtQueryInformationProcess(hProcess, 0 /*ProcessBasicInformation*/, &pbi, sizeof(pbi), &retLen);
+                                    if(NT_SUCCESS(Status) && TRUE==::GetProcessTimes (hProcess,(FILETIME *)&ftCreation,(FILETIME *)&ftExit,(FILETIME *)&ftKernel,(FILETIME *)&ftUser))
+                                    {
                                         // The second test is important.  It excludes orphaned processes who appear to have been adopted by virtue of a new
                                         // process having been created with the same ID as their original parent.
                                         wxPInfo p;
Index: ecos_dev/host/tools/configtool/standalone/wxwin/ecscrolwin.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/ecscrolwin.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/ecscrolwin.cpp	(revision 65)
@@ -667,14 +667,22 @@
     switch ( event.KeyCode() )
 #endif
     {
-        case WXK_PAGEUP:
-        case WXK_PRIOR:
+#if wxCHECK_VERSION(2, 8, 0)
+        case WXK_PAGEUP:
+#else
+        case WXK_PAGEUP:
+        case WXK_PRIOR:
+#endif
             dsty = sty - (5 * cliy / 6);
             Scroll(-1, (dsty == -1) ? 0 : dsty);
             break;
 
-        case WXK_PAGEDOWN:
-        case WXK_NEXT:
+#if wxCHECK_VERSION(2, 8, 0)
+        case WXK_PAGEDOWN:
+#else
+        case WXK_PAGEDOWN:
+        case WXK_NEXT:
+#endif
             Scroll(-1, sty + (5 * cliy / 6));
             break;
 
Index: ecos_dev/host/tools/configtool/standalone/wxwin/docsystem.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/docsystem.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/docsystem.cpp	(revision 65)
@@ -497,10 +497,13 @@
 index.html\n\
 \n\
 [INFOTYPES]\n" ;
+
+/*
+    // This comment generates a multi-line comment warning in GCC due to the embedded backslashes
 
     // When we have the ability to generate a hhk, replace above line with:
     // mainwin=\"eCos Documentation\",\"eCos.hhc\",\"eCos.hhk\",,\"index.html\",\"http://sources.redhat.com/ecos/\",\"Net Release\",\"http://www.redhat.com/products/ecos/\",\"eCos Product\",0x40060420,,0xc287e,[0,0,762,400],,,,,,,0\n\
-
+*/
     return TRUE;
 
 }
Index: ecos_dev/host/tools/configtool/standalone/wxwin/packagesdlg.h
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/packagesdlg.h	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/packagesdlg.h	(revision 65)
@@ -146,7 +146,10 @@
     wxString        m_keywords;
     bool            m_updateLists; // If true, the keyword changed and we need to update the lists
     long            m_updateInterval; // Interval before display is updated
-    ecPackagesTimer m_timer;
+    ecPackagesTimer m_timer;
+#if wxCHECK_VERSION(2, 8, 0)
+    wxStopWatch     m_StopWatch;
+#endif
 };
 
 #define ecID_PACKAGES_DIALOG_AVAILABLE_LIST     10066
Index: ecos_dev/host/tools/configtool/standalone/wxwin/conflictsdlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/conflictsdlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/conflictsdlg.cpp	(revision 65)
@@ -87,11 +87,11 @@
 // ----------------------------------------------------------------------------
 
 // Frame constructor
-ecResolveConflictsDialog::ecResolveConflictsDialog(wxWindow* parent, std::list<CdlConflict> conflicts, CdlTransaction transaction, wxList *parConflictsOfInterest):
+ecResolveConflictsDialog::ecResolveConflictsDialog(wxWindow* parent, std::list<CdlConflict> conflicts, CdlTransaction transaction, wxList *parConflictsOfInterest):
+    m_Map(wxKEY_INTEGER),
     m_conflicts(conflicts),
     m_Transaction(transaction),
-    m_parConflictsOfInterest(parConflictsOfInterest),
-    m_Map(wxKEY_INTEGER)
+    m_parConflictsOfInterest(parConflictsOfInterest)
 
 {
     // Stop values from being changed by other mechanisms during the
@@ -259,7 +259,7 @@
     m_conflictsCtrl->SetFocus();
 }
 
-void ecResolveConflictsDialog::OnContinue(wxCommandEvent& event)
+void ecResolveConflictsDialog::OnContinue(wxCommandEvent& WXUNUSED(event))
 {
     // Ensure we have the current conflict check array
     int i;
@@ -316,7 +316,11 @@
                     case CdlValueFlavor_Data :
                         str.Printf(_("set %s to %s\n"), (const wxChar*) strName, (const wxChar*) strValue);
                         valuable->set_value (m_Transaction, ecUtils::UnicodeToStdStr (strValue), CdlValueSource_User);
-                        break;
+                        break;
+                    case CdlValueFlavor_Invalid :
+                        str = wxT("set CdlValueFlavor_Invalid");
+                        rc = FALSE;
+                        break;
                     }
                 }
                 catch(...)
@@ -337,12 +341,12 @@
     }
 }
 
-void ecResolveConflictsDialog::OnAll(wxCommandEvent& event)
+void ecResolveConflictsDialog::OnAll(wxCommandEvent& WXUNUSED(event))
 {
     SetAll(TRUE);
 }
 
-void ecResolveConflictsDialog::OnNone(wxCommandEvent& event)
+void ecResolveConflictsDialog::OnNone(wxCommandEvent& WXUNUSED(event))
 {
     SetAll(FALSE);
 }
@@ -458,6 +462,8 @@
             break;
         case CdlValueFlavor_Data :
             strValue = value.get_value().c_str();
+            break;
+        default :
             break;
         }
         
Index: ecos_dev/host/tools/configtool/standalone/wxwin/filename.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/filename.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/filename.cpp	(revision 65)
@@ -190,7 +190,7 @@
     int nSrc1Len = src1.Len();
     int nSrc2Len = src2.Len();
     int n=1;
-    int nNewLen = nSrc1Len + nSrc2Len;
+//    int nNewLen = nSrc1Len + nSrc2Len;
     if(nSrc1Len>0)
     {
         if(1==nSrc2Len && cSep==src2[0])
@@ -397,7 +397,8 @@
 bool ecFileName::IsReadOnly () const
 {
 #ifdef __WXMSW__
-    long a=GetFileAttributes(* this); return 0xFFFFFFFF!=a && (0!=(a&FILE_ATTRIBUTE_READONLY ));
+    DWORD Attributes = GetFileAttributes(* this);
+    return (Attributes != INVALID_FILE_ATTRIBUTES && (0 != (Attributes & FILE_ATTRIBUTE_READONLY)));
 #else
     wxFAIL_MSG("ecFileName::IsReadOnly not supported on this platform.");
     return FALSE;
@@ -448,7 +449,7 @@
 #endif
 
 ecFileName ecFileName::Relative(const wxChar* compare,const wxChar* current)
-{
+{
 #ifdef __WXMSW__
     wxString rc;
     bool b=(TRUE==PathRelativePathTo(rc.GetWriteBuf(1+MAX_PATH),current,FILE_ATTRIBUTE_DIRECTORY,compare,0));
@@ -578,25 +579,38 @@
 
         // 'rest' will progressively have its separators replaced by underscores in order
         // to find the next separator
-        wxString rest = * this;
-        size_t lastPos = 0;
+        wxString rest = * this;
+#if wxCHECK_VERSION(2, 8, 0)
+        int lastPos = 0;
+#else
+        size_t lastPos = 0;
+#endif
         int len = rest.Len();
 
 #ifdef __WXMSW__
         // If the path is a network path, ignore the first part of the path
         if (len > 2 && (rest.GetChar(0) == wxT('\\') || rest.GetChar(0) == wxT('/')) && (rest.GetChar(1) == wxT('\\') || rest.GetChar(1) == wxT('/')))
         {
-            rest.SetChar(0,wxT('_')); rest.SetChar(1,wxT('_'));
-            lastPos = rest.Find(cSep);
-            if (lastPos != -1 && lastPos >= 0)
+            rest.SetChar(0,wxT('_'));
+            rest.SetChar(1,wxT('_'));
+            lastPos = rest.Find(cSep);
+#if wxCHECK_VERSION(2, 8, 0)
+            if (lastPos != wxNOT_FOUND && lastPos >= 0)
+#else
+            if (lastPos != -1 && lastPos >= 0)
+#endif
                 rest.SetChar(lastPos,wxT('_'));
         }
 #endif
         
         while (lastPos != -1)
         {
-            lastPos = rest.Find(cSep);
-            if (lastPos != -1 && lastPos >= 0)
+            lastPos = rest.Find(cSep);
+#if wxCHECK_VERSION(2, 8, 0)
+            if (lastPos != wxNOT_FOUND && lastPos >= 0)
+#else
+            if (lastPos != -1 && lastPos >= 0)
+#endif
             {
                 rest[lastPos] = wxT('_'); // So we find the NEXT separator
 
Index: ecos_dev/host/tools/configtool/standalone/wxwin/configitem.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/configitem.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/configitem.cpp	(revision 65)
@@ -342,7 +342,7 @@
 
 // Handle a left click on the icon: e.g. (un)check the option
 // In the old MFC tool, this was handled by CControlView::Bump
-void ecConfigItem::OnIconLeftDown(ecConfigTreeCtrl& treeCtrl)
+void ecConfigItem::OnIconLeftDown(ecConfigTreeCtrl& WXUNUSED(treeCtrl))
 {
     if (GetConfigType() != ecOption)
         return;
@@ -391,7 +391,7 @@
                         int nIndex = -1;
                         const wxString strCurrent = StringValue ();
                         int nEnum;
-                        for (nEnum = 0; (nEnum < arEnum.GetCount()) && (nIndex == -1); nEnum++)
+                        for (nEnum = 0; (nEnum < (int) arEnum.GetCount()) && (nIndex == -1); nEnum++)
                             if (0 == arEnum[nEnum].CompareTo (strCurrent))
                                 nIndex = nEnum; // the index of the current value
                             
@@ -531,7 +531,7 @@
             wxArrayString arEnumStrings;
             EvalEnumStrings(arEnumStrings);
             int i;
-            for (i = 0; i < arEnumStrings.GetCount(); i++)
+            for (i = 0; i < (int) arEnumStrings.GetCount(); i++)
             {
                 ((ecEnumEditorCtrl*) window)->Append(arEnumStrings[i]);
             }
@@ -1263,7 +1263,7 @@
                     int nIndex = -1;
                     const wxString strCurrent = StringValue ();
                     int nEnum;
-                    for (nEnum = 0; (nEnum < arEnum.Count()) && (nIndex == -1); nEnum++)
+                    for (nEnum = 0; (nEnum < (int) arEnum.Count()) && (nIndex == -1); nEnum++)
                         if (strCurrent == arEnum[nEnum])
                             nIndex = nEnum; // the index of the current value
                         
@@ -1350,20 +1350,20 @@
 {
 }
 
-void ecTextEditorCtrl::OnEnter(wxCommandEvent& event)
+void ecTextEditorCtrl::OnEnter(wxCommandEvent& WXUNUSED(event))
 {
     ecValueWindow* parent = (ecValueWindow*) GetParent();
     parent->EndEditing();
 }
 
-void ecTextEditorCtrl::OnKillFocus(wxFocusEvent& event)
+void ecTextEditorCtrl::OnKillFocus(wxFocusEvent& WXUNUSED(event))
 {
     ecValueWindow* parent = (ecValueWindow*) GetParent();
     parent->EndEditing();
 }
 
 // Edit the string in a separate dialog, for convenience
-void ecTextEditorCtrl::OnLeftDClick(wxMouseEvent& event)
+void ecTextEditorCtrl::OnLeftDClick(wxMouseEvent& WXUNUSED(event))
 {
     ecValueWindow* parent = (ecValueWindow*) GetParent();
     ecConfigItem* item = parent->GetCurrentConfigItem();
@@ -1400,13 +1400,13 @@
 {
 }
 
-void ecDoubleEditorCtrl::OnEnter(wxCommandEvent& event)
+void ecDoubleEditorCtrl::OnEnter(wxCommandEvent& WXUNUSED(event))
 {
     ecValueWindow* parent = (ecValueWindow*) GetParent();
     parent->EndEditing();
 }
 
-void ecDoubleEditorCtrl::OnKillFocus(wxFocusEvent& event)
+void ecDoubleEditorCtrl::OnKillFocus(wxFocusEvent& WXUNUSED(event))
 {
     ecValueWindow* parent = (ecValueWindow*) GetParent();
     parent->EndEditing();
@@ -1430,13 +1430,13 @@
 {
 }
 
-void ecIntegerEditorCtrl::OnEnter(wxCommandEvent& event)
+void ecIntegerEditorCtrl::OnEnter(wxCommandEvent& WXUNUSED(event))
 {
     ecValueWindow* parent = (ecValueWindow*) GetParent();
     parent->EndEditing();
 }
 
-void ecIntegerEditorCtrl::OnKillFocus(wxFocusEvent& event)
+void ecIntegerEditorCtrl::OnKillFocus(wxFocusEvent& WXUNUSED(event))
 {
     ecValueWindow* parent = (ecValueWindow*) GetParent();
     parent->EndEditing();
@@ -1471,7 +1471,7 @@
         event.Skip();
 }
 
-void ecEnumEditorCtrl::OnKillFocus(wxFocusEvent& event)
+void ecEnumEditorCtrl::OnKillFocus(wxFocusEvent& WXUNUSED(event))
 {
     ecValueWindow* parent = (ecValueWindow*) GetParent();
     parent->EndEditing();
@@ -1486,8 +1486,8 @@
     EVT_BUTTON(wxID_OK, ecEditStringDialog::OnOK)
 END_EVENT_TABLE()
 
-ecEditStringDialog::ecEditStringDialog(const wxString& initialValue, wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size,
-        long style)
+ecEditStringDialog::ecEditStringDialog(const wxString& initialValue, wxWindow* parent,
+    wxWindowID id, const wxPoint& WXUNUSED(pos), const wxSize& WXUNUSED(size), long WXUNUSED(style))
 {
     m_value = initialValue;
     //SetExtraStyle(wxDIALOG_EX_CONTEXTHELP);
@@ -1508,9 +1508,13 @@
 
 //// Event handlers
 
-void ecEditStringDialog::OnOK(wxCommandEvent& event)
+void ecEditStringDialog::OnOK(wxCommandEvent& WXUNUSED(event))
 {
-    wxDialog::OnOK(event);
+#if wxCHECK_VERSION(2, 8, 0)
+    EndModal(wxID_OK);
+#else
+    wxDialog::OnOK(event);
+#endif
 }
 
 //// Operations
Index: ecos_dev/host/tools/configtool/standalone/wxwin/configtree.h
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/configtree.h	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/configtree.h	(revision 65)
@@ -108,7 +108,7 @@
     // enabled/disabled
     int GetStateCount() const { return m_maxStates; };
 
-    void SetStateCount(int count) { m_maxStates; }
+    void SetStateCount(int WXUNUSED(count)) { }
     int GetIconId(int state, bool enabled = TRUE) const;
     void SetIconId(int state, bool enabled, int iconId);
 
Index: ecos_dev/host/tools/configtool/standalone/wxwin/configtoolview.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/configtoolview.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/configtoolview.cpp	(revision 65)
@@ -82,7 +82,7 @@
 
 // What to do when a view is created. Creates actual
 // windows for displaying the view.
-bool ecConfigToolView::OnCreate(wxDocument *doc, long WXUNUSED(flags) )
+bool ecConfigToolView::OnCreate(wxDocument *WXUNUSED(doc), long WXUNUSED(flags))
 {
     wxGetApp().GetDocManager()->ActivateView(this, TRUE);
 
@@ -105,7 +105,7 @@
     return TRUE;
 }
 
-void ecConfigToolView::OnDraw(wxDC *dc)
+void ecConfigToolView::OnDraw(wxDC *WXUNUSED(dc))
 {
 }
 
@@ -160,7 +160,7 @@
         {
             int nItem;
 #if wxCHECK_VERSION(2, 6, 0)
-            for(nItem=0;nItem<pDoc->GetItems().GetCount();nItem++)
+            for(nItem = 0; nItem < (int) pDoc->GetItems().GetCount(); nItem++)
 #else
             for(nItem=0;nItem<pDoc->GetItems().Number();nItem++)
 #endif
@@ -200,7 +200,7 @@
         {
             int nItem;
 #if wxCHECK_VERSION(2, 6, 0)
-            for(nItem=0;nItem<pDoc->GetItems().GetCount();nItem++)
+            for(nItem = 0; nItem < (int) pDoc->GetItems().GetCount(); nItem++)
 #else
             for(nItem=0;nItem<pDoc->GetItems().Number();nItem++)
 #endif
@@ -273,7 +273,7 @@
         {
             int nItem;
 #if wxCHECK_VERSION(2, 6, 0)
-            for(nItem=0;nItem<pDoc->GetItems().GetCount();nItem++)
+            for(nItem = 0;nItem < (int) pDoc->GetItems().GetCount(); nItem++)
 #else
             for(nItem=0;nItem<pDoc->GetItems().Number();nItem++)
 #endif
@@ -290,7 +290,7 @@
 }
 
 // Clean up windows used for displaying the view.
-bool ecConfigToolView::OnClose(bool deleteWindow)
+bool ecConfigToolView::OnClose(bool WXUNUSED(deleteWindow))
 {
     ecConfigToolHint hint(NULL, ecClear);
     GetDocument()->UpdateAllViews (NULL, & hint);
@@ -456,7 +456,7 @@
                     continue;
                 }
                 nIndex += strFind.Length();
-                if (nIndex < strName.Length() && IsWordChar(strName[(unsigned) nIndex])){
+                if (nIndex < (int) strName.Length() && IsWordChar(strName[(unsigned) nIndex])){
                     continue;
                 }
             }		
Index: ecos_dev/host/tools/configtool/standalone/wxwin/mainwin.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/mainwin.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/mainwin.cpp	(revision 65)
@@ -511,7 +511,7 @@
     Close();
 }
 
-void ecMainFrame::OnFind(wxCommandEvent& event)
+void ecMainFrame::OnFind(wxCommandEvent& WXUNUSED(event))
 {
     if (m_findDialog)
     {
@@ -527,7 +527,7 @@
     m_findDialog->FindWindow(ecID_FIND_DIALOG_WHAT)->SetFocus();
 }
 
-void ecMainFrame::OnFindNext(wxCommandEvent& event)
+void ecMainFrame::OnFindNext(wxCommandEvent& WXUNUSED(event))
 {
     if (wxGetApp().GetConfigToolDoc())
     {
@@ -767,7 +767,7 @@
     event.Enable( FALSE );
 }
 
-void ecMainFrame::OnToggleToolbar(wxCommandEvent& event)
+void ecMainFrame::OnToggleToolbar(wxCommandEvent& WXUNUSED(event))
 {
     GetToolBar()->Show( ! GetToolBar()->IsShown() );
     
@@ -1103,7 +1103,7 @@
     }
 }
 
-void ecMainFrame::OnHelpEcos(wxCommandEvent& event)
+void ecMainFrame::OnHelpEcos(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
     if (doc)
@@ -1126,7 +1126,7 @@
     }
 }
 
-void ecMainFrame::OnHelpConfigtool(wxCommandEvent& event)
+void ecMainFrame::OnHelpConfigtool(wxCommandEvent& WXUNUSED(event))
 {
     //wxString strURL(wxT("redirect/the-ecos-configuration-tool.html"));
     wxString strURL(wxGetApp().GetFullAppPath(wxT("manual/user-guides.2.html")));
@@ -1139,12 +1139,12 @@
     }
 }
 
-void ecMainFrame::OnHelpContext(wxCommandEvent& event)
+void ecMainFrame::OnHelpContext(wxCommandEvent& WXUNUSED(event))
 {
     wxContextHelp contextHelp;
 }
 
-void ecMainFrame::OnResolveConflicts(wxCommandEvent& event)
+void ecMainFrame::OnResolveConflicts(wxCommandEvent& WXUNUSED(event))
 {
 /*
     ecResolveConflictsDialog dialog(this);
@@ -1170,13 +1170,13 @@
     event.Enable(wxGetApp().GetConfigToolDoc()->GetCdlInterpreter()->get_toplevel()->get_all_conflicts().size()>0);
 }
 
-void ecMainFrame::OnSettings(wxCommandEvent& event)
+void ecMainFrame::OnSettings(wxCommandEvent& WXUNUSED(event))
 {
     ecSettingsDialog dialog(this);
     dialog.ShowModal();
 }
 
-void ecMainFrame::OnPlatforms(wxCommandEvent& event)
+void ecMainFrame::OnPlatforms(wxCommandEvent& WXUNUSED(event))
 {
     ecPlatformsDialog dialog(this);
     if (dialog.ShowModal() == wxID_OK)
@@ -1190,13 +1190,13 @@
     }
 }
 
-void ecMainFrame::OnBuildOptions(wxCommandEvent& event)
+void ecMainFrame::OnBuildOptions(wxCommandEvent& WXUNUSED(event))
 {
     ecBuildOptionsDialog dialog(this);
     dialog.ShowModal();
 }
 
-void ecMainFrame::OnTemplates(wxCommandEvent& event)
+void ecMainFrame::OnTemplates(wxCommandEvent& WXUNUSED(event))
 {
     ecTemplatesDialog dialog(this);
     if (dialog.ShowModal() == wxID_OK)
@@ -1213,7 +1213,7 @@
 	}
 }
 
-void ecMainFrame::OnAdmin(wxCommandEvent& event)
+void ecMainFrame::OnAdmin(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
 
@@ -1240,21 +1240,21 @@
     }
 }
 
-void ecMainFrame::OnPackages(wxCommandEvent& event)
+void ecMainFrame::OnPackages(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
     if (doc)
         doc->SelectPackages();
 }
 
-void ecMainFrame::OnRunTests(wxCommandEvent& event)
+void ecMainFrame::OnRunTests(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
     if (doc)
         doc->RunTests();
 }
 
-void ecMainFrame::OnChooseRepository(wxCommandEvent& event)
+void ecMainFrame::OnChooseRepository(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
     if (doc && !doc->OnSaveModified())
@@ -1290,7 +1290,7 @@
     }
 }
 
-void ecMainFrame::OnBuildToolsPath(wxCommandEvent& event)
+void ecMainFrame::OnBuildToolsPath(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
     if (!doc)
@@ -1328,7 +1328,7 @@
 #endif
         size_t objcopyCount = wxDir::GetAllFiles(path, &objcopyFiles, wxT("*") + objcopyFileSpec, wxDIR_FILES | wxDIR_DIRS);
         bool bPrefixFound = false;
-        for (int count=0; count < objcopyCount; count++)
+        for (int count=0; count < (int) objcopyCount; count++)
         {
             wxFileName file (objcopyFiles [count]);
             wxString new_prefix (file.GetFullName().Left (file.GetFullName().Find(objcopyFileSpec)));
@@ -1344,7 +1344,7 @@
         if(bPrefixFound ||
             (wxYES == wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_QUESTION|wxYES_NO)))
         {
-            for (int count=0; count < objcopyCount; count++)
+            for (int count=0; count < (int) objcopyCount; count++)
             {
                 wxFileName file (objcopyFiles [count]);
                 wxString new_prefix (file.GetFullName().Left (file.GetFullName().Find(objcopyFileSpec)));
@@ -1357,7 +1357,7 @@
     }
 }
 
-void ecMainFrame::OnUserToolsPath(wxCommandEvent& event)
+void ecMainFrame::OnUserToolsPath(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
     if (!doc)
@@ -1513,7 +1513,7 @@
     wxGetApp().OnWhatsThis(event);
 }
 
-void ecMainFrame::OnSaveOutput(wxCommandEvent& event)
+void ecMainFrame::OnSaveOutput(wxCommandEvent& WXUNUSED(event))
 {
     ecOutputWindow* win = GetOutputWindow();
     if (!win)
@@ -1543,7 +1543,7 @@
     event.Enable (win && win->IsKindOf(CLASSINFO(wxTextCtrl)) );
 }
 
-void ecMainFrame::OnImport(wxCommandEvent& event)
+void ecMainFrame::OnImport(wxCommandEvent& WXUNUSED(event))
 {
     if (wxGetApp().GetConfigToolDoc())
     {
@@ -1551,7 +1551,7 @@
     }
 }
 
-void ecMainFrame::OnExport(wxCommandEvent& event)
+void ecMainFrame::OnExport(wxCommandEvent& WXUNUSED(event))
 {
     if (wxGetApp().GetConfigToolDoc())
     {
@@ -1569,35 +1569,35 @@
     event.Enable ( wxGetApp().GetConfigToolDoc() != NULL );
 }
 
-void ecMainFrame::OnWebRedHatHome(wxCommandEvent& event)
+void ecMainFrame::OnWebRedHatHome(wxCommandEvent& WXUNUSED(event))
 {
     wxString strURL(wxT("http://www.redhat.com"));
     if (wxGetApp().GetConfigToolDoc())
         wxGetApp().GetConfigToolDoc()->ShowURL(strURL);
 }
 
-void ecMainFrame::OnWebEcos(wxCommandEvent& event)
+void ecMainFrame::OnWebEcos(wxCommandEvent& WXUNUSED(event))
 {
     wxString strURL(wxT("http://www.redhat.com/products/ecos"));
     if (wxGetApp().GetConfigToolDoc())
         wxGetApp().GetConfigToolDoc()->ShowURL(strURL);
 }
 
-void ecMainFrame::OnWebNetRelease(wxCommandEvent& event)
+void ecMainFrame::OnWebNetRelease(wxCommandEvent& WXUNUSED(event))
 {
     wxString strURL(wxT("http://sources.redhat.com/ecos"));
     if (wxGetApp().GetConfigToolDoc())
         wxGetApp().GetConfigToolDoc()->ShowURL(strURL);
 }
 
-void ecMainFrame::OnWebUitron(wxCommandEvent& event)
+void ecMainFrame::OnWebUitron(wxCommandEvent& WXUNUSED(event))
 {
     wxString strURL(wxT("http://www.itron.gr.jp/"));
     if (wxGetApp().GetConfigToolDoc())
         wxGetApp().GetConfigToolDoc()->ShowURL(strURL);
 }
 
-void ecMainFrame::OnBuildLibrary(wxCommandEvent& event)
+void ecMainFrame::OnBuildLibrary(wxCommandEvent& WXUNUSED(event))
 {
     // TODO: possibly add wxT("clean build") to ensure library is
     // cleanly built. No, can't do that because it would clean
@@ -1630,7 +1630,7 @@
     wxGetApp().Build();
 }
 
-void ecMainFrame::OnBuildTests(wxCommandEvent& event)
+void ecMainFrame::OnBuildTests(wxCommandEvent& WXUNUSED(event))
 {
     bool regenerateBuildTree = FALSE;
 
@@ -1659,7 +1659,7 @@
     wxGetApp().Build(wxT("tests"));
 }
 
-void ecMainFrame::OnStopBuild(wxCommandEvent& event)
+void ecMainFrame::OnStopBuild(wxCommandEvent& WXUNUSED(event))
 {
     if (wxGetApp().m_pipedProcess)
     {
@@ -1671,12 +1671,12 @@
     }
 }
 
-void ecMainFrame::OnClean(wxCommandEvent& event)
+void ecMainFrame::OnClean(wxCommandEvent& WXUNUSED(event))
 {
     wxGetApp().Build(wxT("clean"));
 }
 
-void ecMainFrame::OnShell(wxCommandEvent& event)
+void ecMainFrame::OnShell(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigToolDoc *pDoc=wxGetApp().GetConfigToolDoc();
     if (!pDoc)
@@ -1724,7 +1724,7 @@
     event.Enable( (wxGetApp().GetConfigToolDoc() != NULL) && (wxGetApp().m_pipedProcess == NULL ));
 }
 
-void ecMainFrame::OnRepositoryInfo(wxCommandEvent& event)
+void ecMainFrame::OnRepositoryInfo(wxCommandEvent& WXUNUSED(event))
 {
     ecRepositoryInfoDialog dialog(this, ecID_REPOSITORY_INFO, _("Repository Information"));
     dialog.ShowModal();
@@ -1740,25 +1740,25 @@
     event.Enable( (wxGetApp().GetConfigToolDoc() != NULL) );
 }
 
-void ecMainFrame::OnNewRegion(wxCommandEvent& event)
+void ecMainFrame::OnNewRegion(wxCommandEvent& WXUNUSED(event))
 {
 #if ecUSE_MLT
 #endif
 }
 
-void ecMainFrame::OnNewSection(wxCommandEvent& event)
+void ecMainFrame::OnNewSection(wxCommandEvent& WXUNUSED(event))
 {
 #if ecUSE_MLT
 #endif
 }
 
-void ecMainFrame::OnDeleteRegionOrSection(wxCommandEvent& event)
+void ecMainFrame::OnDeleteRegionOrSection(wxCommandEvent& WXUNUSED(event))
 {
 #if ecUSE_MLT
 #endif
 }
 
-void ecMainFrame::OnRegionOrSectionProperties(wxCommandEvent& event)
+void ecMainFrame::OnRegionOrSectionProperties(wxCommandEvent& WXUNUSED(event))
 {
 #if ecUSE_MLT
 #endif
@@ -1796,7 +1796,7 @@
 #endif
 }
 
-void ecMainFrame::OnIndexDocs(wxCommandEvent& event)
+void ecMainFrame::OnIndexDocs(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
     if (doc)
@@ -1810,7 +1810,7 @@
     event.Enable( wxGetApp().GetConfigToolDoc() != NULL );
 }
 
-void ecMainFrame::OnGenerateBuildTree(wxCommandEvent& event)
+void ecMainFrame::OnGenerateBuildTree(wxCommandEvent& WXUNUSED(event))
 {
     if (wxGetApp().GetConfigToolDoc() && wxGetApp().GetConfigToolDoc()->CanGenerateBuildTree())
     {
Index: ecos_dev/host/tools/configtool/standalone/wxwin/packagesdlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/packagesdlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/packagesdlg.cpp	(revision 65)
@@ -101,7 +101,11 @@
     m_keywords = wxEmptyString;
     m_updateLists = FALSE;
     m_updateInterval = 600; // Milliseconds
-    wxStartTimer();
+#if wxCHECK_VERSION(2, 8, 0)
+    m_StopWatch.Start();
+#else
+    wxStartTimer();
+#endif
     
     SetExtraStyle(wxDIALOG_EX_CONTEXTHELP);
     
@@ -320,7 +324,7 @@
     parent->FindWindow( ecID_PACKAGES_DIALOG_EXACT_MATCH )->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_matchPackageNamesExactly));
 }
 
-void ecPackagesDialog::OnInitDialog(wxInitDialogEvent& event)
+void ecPackagesDialog::OnInitDialog(wxInitDialogEvent& WXUNUSED(event))
 {
     // Note: InitControls must be here, because data will be added
     // between construction of the dialog, and OnInitDialog.
@@ -365,11 +369,11 @@
 
     // wxGTK doesn't deselect items properly when clearing, I think
     int i;
-    for (i = 0; i < availableList->GetCount(); i++)
-        if (availableList->Selected(i))
+    for (i = 0; i < (int) availableList->GetCount(); i++)
+        if (availableList->IsSelected(i))
             availableList->Deselect(i);
-    for (i = 0; i < useList->GetCount(); i++)
-        if (useList->Selected(i))
+    for (i = 0; i < (int) useList->GetCount(); i++)
+        if (useList->IsSelected(i))
             useList->Deselect(i);
     
     availableList->Clear();
@@ -491,7 +495,7 @@
     if (n > 0)
     {
         int i;
-        for (i = 0; i < selections.GetCount(); i++)
+        for (i = 0; i < (int) selections.GetCount(); i++)
         {
             wxString str = from -> GetString(selections[i]);
             selectionsStrings.Add(str);
@@ -499,7 +503,7 @@
         
         // Now delete from one list and remove from t'other
 #if wxCHECK_VERSION(2, 6, 0)
-        for (i = 0; i < selectionsStrings.GetCount(); i++)
+        for (i = 0; i < (int) selectionsStrings.GetCount(); i++)
 #else
         for (i = 0; i < selectionsStrings.Number(); i++)
 #endif
@@ -542,7 +546,7 @@
     }
 }
 
-void ecPackagesDialog::OnAdd(wxCommandEvent& event)
+void ecPackagesDialog::OnAdd(wxCommandEvent& WXUNUSED(event))
 {
     if (m_bHardwarePackageSelected)
     {
@@ -557,7 +561,7 @@
     UpdateAddRemoveButtons();
 }
 
-void ecPackagesDialog::OnRemove(wxCommandEvent& event)
+void ecPackagesDialog::OnRemove(wxCommandEvent& WXUNUSED(event))
 {
     if (m_bHardwarePackageSelected)
     {
@@ -573,7 +577,7 @@
     UpdateAddRemoveButtons();
 }
 
-void ecPackagesDialog::OnDblClickListBox1(wxCommandEvent& event)
+void ecPackagesDialog::OnDblClickListBox1(wxCommandEvent& WXUNUSED(event))
 {
     if (m_bHardwarePackageSelected)
     {
@@ -589,7 +593,7 @@
     UpdateAddRemoveButtons();
 }
 
-void ecPackagesDialog::OnDblClickListBox2(wxCommandEvent& event)
+void ecPackagesDialog::OnDblClickListBox2(wxCommandEvent& WXUNUSED(event))
 {
     if (m_bHardwarePackageSelected)
     {
@@ -605,9 +609,9 @@
     UpdateAddRemoveButtons();
 }
 
-void ecPackagesDialog::OnClickListBox1(wxCommandEvent& event)
+void ecPackagesDialog::OnClickListBox1(wxCommandEvent& WXUNUSED(event))
 {
-    wxListBox* availableList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_AVAILABLE_LIST );
+//    wxListBox* availableList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_AVAILABLE_LIST );
     wxListBox* useList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_USE_LIST );
     
 #if 0    
@@ -626,10 +630,10 @@
     UpdateAddRemoveButtons();
 }
 
-void ecPackagesDialog::OnClickListBox2(wxCommandEvent& event)
+void ecPackagesDialog::OnClickListBox2(wxCommandEvent& WXUNUSED(event))
 {
     wxListBox* availableList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_AVAILABLE_LIST );
-    wxListBox* useList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_USE_LIST );
+//    wxListBox* useList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_USE_LIST );
     
 #if 0    
     int sel = event.GetSelection();
@@ -647,7 +651,7 @@
     UpdateAddRemoveButtons();
 }
 
-void ecPackagesDialog::OnSelectVersion(wxCommandEvent& event)
+void ecPackagesDialog::OnSelectVersion(wxCommandEvent& WXUNUSED(event))
 {
     wxListBox* availableList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_AVAILABLE_LIST );
     wxListBox* useList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_USE_LIST );
@@ -695,18 +699,22 @@
     }
 }
 
-void ecPackagesDialog::OnClearKeywords(wxCommandEvent& event)
+void ecPackagesDialog::OnClearKeywords(wxCommandEvent& WXUNUSED(event))
 {
     wxTextCtrl* textCtrl = (wxTextCtrl*) FindWindow( ecID_PACKAGES_DIALOG_KEYWORDS );
     textCtrl->SetValue(wxT(""));
     TransferDataFromWindow();
     Fill();
-    m_updateLists = FALSE;
-    wxStartTimer();
+    m_updateLists = FALSE;
+#if wxCHECK_VERSION(2, 8, 0)
+    m_StopWatch.Start();
+#else
+    wxStartTimer();
+#endif
     FindWindow( ecID_PACKAGES_DIALOG_KEYWORDS )->SetFocus();
 }
 
-void ecPackagesDialog::OnUpdateKeywordText(wxCommandEvent& event)
+void ecPackagesDialog::OnUpdateKeywordText(wxCommandEvent& WXUNUSED(event))
 {
     // Work around a bug in GTK+ that sends a text update command when
     // clicking on one of the listboxes.
@@ -717,36 +725,50 @@
     
     TransferDataFromWindow();
     m_updateLists = TRUE;
-    wxStartTimer();
+#if wxCHECK_VERSION(2, 8, 0)
+    m_StopWatch.Start();
+#else
+    wxStartTimer();
+#endif
 }
 
-void ecPackagesDialog::OnClickOmitHardwarePackages(wxCommandEvent& event)
+void ecPackagesDialog::OnClickOmitHardwarePackages(wxCommandEvent& WXUNUSED(event))
 {
     TransferDataFromWindow();
     Fill();
 }
 
-void ecPackagesDialog::OnClickExactMatch(wxCommandEvent& event)
+void ecPackagesDialog::OnClickExactMatch(wxCommandEvent& WXUNUSED(event))
 {
     TransferDataFromWindow();
     Fill();
 }
 
-void ecPackagesDialog::OnIdle(wxIdleEvent& event)
+void ecPackagesDialog::OnIdle(wxIdleEvent& WXUNUSED(event))
 {
-    long elapsed = wxGetElapsedTime(FALSE);
+#if wxCHECK_VERSION(2, 8, 0)
+    long elapsed = m_StopWatch.Time();
+#else
+    long elapsed = wxGetElapsedTime(FALSE);
+#endif
+
     if (m_updateLists && (elapsed > m_updateInterval))
     {
         m_updateLists = FALSE;
         Fill();
-        wxStartTimer();
+#if wxCHECK_VERSION(2, 8, 0)
+        m_StopWatch.Start();
+#else
+        wxStartTimer();
+#endif
     }
 }
 
-void ecPackagesDialog::Insert(const wxString& str, bool added, const wxString& descr, const wxString& version)
+void ecPackagesDialog::Insert(const wxString& str, bool added,
+                                    const wxString& WXUNUSED(descr), const wxString& version)
 {
-    wxListBox* availableList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_AVAILABLE_LIST );
-    wxListBox* useList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_USE_LIST );
+//    wxListBox* availableList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_AVAILABLE_LIST );
+//    wxListBox* useList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_USE_LIST );
     
     m_items.Add(str);
     m_descriptions.Add(str);
@@ -765,17 +787,19 @@
     
     //	return (((wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_USE_LIST ))->FindString(str) > -1) ;
 }
-
+
+#ifdef NOT_USED
 static int ecPositionInStringList(const wxStringList& list, const wxString& item)
 {
     int i;
-    for (i = 0 ; i < list.GetCount(); i++)
+    for (i = 0 ; i < (int) list.GetCount(); i++)
         if (list[i] == item)
             return i;
         else
             i ++;
         return -1;
 }
+#endif  // NOT_USED
 
 void ecPackagesDialog::DisplayDescription(const wxString& item)
 {
@@ -904,7 +928,7 @@
 
 void ecPackagesDialog::UpdatePackageDescription ()
 {
-    ecConfigToolDoc * pDoc = wxGetApp().GetConfigToolDoc ();
+//    ecConfigToolDoc * pDoc = wxGetApp().GetConfigToolDoc ();
     
     wxListBox* availableList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_AVAILABLE_LIST );
     wxListBox* useList = (wxListBox*) FindWindow( ecID_PACKAGES_DIALOG_USE_LIST );
@@ -1074,7 +1098,7 @@
 void ecPackagesDialog::ClearSelections(wxListBox& lbox)
 {
     int i;
-    for (i = 0; i < lbox.GetCount(); i++)
+    for (i = 0; i < (int) lbox.GetCount(); i++)
     {
         lbox.Deselect(i);
     }
Index: ecos_dev/host/tools/configtool/standalone/wxwin/finddlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/finddlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/finddlg.cpp	(revision 65)
@@ -214,7 +214,7 @@
     return TRUE;
 }
 
-void ecFindDialog::OnFindNext(wxCommandEvent& event)
+void ecFindDialog::OnFindNext(wxCommandEvent& WXUNUSED(event))
 {
     if (!TransferDataFromWindow())
         return;
@@ -240,7 +240,7 @@
 
             rect2 = GetRect(); // screen coords
 
-            if (rect2.Inside(topLeft) || rect2.Inside(bottomRight))
+            if (rect2.Contains(topLeft) || rect2.Contains(bottomRight))
             {
                 Move(wxPoint(topLeft.x + rect1.width, rect2.y));
             }
Index: ecos_dev/host/tools/configtool/standalone/wxwin/configtool.h
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/configtool.h	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/configtool.h	(revision 65)
@@ -100,8 +100,12 @@
 #define ecUSE_EXPERIMENTAL_CODE 1
 #endif
 
-class WXDLLEXPORT wxZipFSHandler;
-class WXDLLEXPORT wxFileSystem;
+#if wxCHECK_VERSION(2, 8, 0)
+#include "wx/fs_zip.h"
+#else
+class WXDLLEXPORT wxZipFSHandler;
+class WXDLLEXPORT wxFileSystem;
+#endif
 
 // Define a new application type, each program should derive a class from wxApp
 class ecApp : public wxApp
Index: ecos_dev/host/tools/configtool/standalone/wxwin/ecscrolwin.h
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/ecscrolwin.h	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/ecscrolwin.h	(revision 65)
@@ -37,7 +37,11 @@
 #include "wx/scrolwin.h"
 #endif
 
-WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr;
+#if wxCHECK_VERSION(2, 8, 0)
+WXDLLEXPORT_DATA(extern const wxChar) wxPanelNameStr[];
+#else
+WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr[];
+#endif
 
 // default scrolled window style
 #ifndef wxScrolledWindowStyle
Index: ecos_dev/host/tools/configtool/standalone/wxwin/conflictwin.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/conflictwin.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/conflictwin.cpp	(revision 65)
@@ -151,7 +151,7 @@
     }    
 }
 
-void ecConflictListCtrl::OnLocate(wxCommandEvent& event)
+void ecConflictListCtrl::OnLocate(wxCommandEvent& WXUNUSED(event))
 {
     if (m_contextItem > -1)
     {
@@ -163,7 +163,7 @@
     }
 }
 
-void ecConflictListCtrl::OnResolve(wxCommandEvent& event)
+void ecConflictListCtrl::OnResolve(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigToolDoc *pDoc = wxGetApp().GetConfigToolDoc();
 
Index: ecos_dev/host/tools/configtool/standalone/wxwin/admindlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/admindlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/admindlg.cpp	(revision 65)
@@ -130,7 +130,7 @@
     m_treeCtrl->SetImageList(NULL);
 }
 
-void ecAdminDialog::OnInitDialog(wxInitDialogEvent& event)
+void ecAdminDialog::OnInitDialog(wxInitDialogEvent& WXUNUSED(event))
 {
     // setup the path to the user tools (tar and gunzip)
     
@@ -212,7 +212,7 @@
 
 }
 
-void ecAdminDialog::OnAdd(wxCommandEvent& event)
+void ecAdminDialog::OnAdd(wxCommandEvent& WXUNUSED(event))
 {
     wxString defaultDir; // TODO
     wxString defaultFile;
@@ -302,7 +302,7 @@
     }
 }
 
-void ecAdminDialog::OnRemove(wxCommandEvent& event)
+void ecAdminDialog::OnRemove(wxCommandEvent& WXUNUSED(event))
 {
     wxTreeCtrl* treeCtrl = (wxTreeCtrl*) FindWindow( ecID_ADMIN_DIALOG_TREE) ;
 
@@ -431,11 +431,11 @@
 }
 
 // Trivial handlers; otherwise CdlPackagesDatabaseBody::make asserts.
-static void CdlErrorHandler (std::string message)
+static void CdlErrorHandler (std::string WXUNUSED(message))
 {
 };
 
-static void CdlWarningHandler (std::string message)
+static void CdlWarningHandler (std::string WXUNUSED(message))
 {
 };
 
Index: ecos_dev/host/tools/configtool/standalone/wxwin/configtree.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/configtree.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/configtree.cpp	(revision 65)
@@ -297,7 +297,7 @@
     }
 }
 
-void ecConfigTreeCtrl::OnSelChanged(wxTreeEvent& event)
+void ecConfigTreeCtrl::OnSelChanged(wxTreeEvent& WXUNUSED(event))
 {
     ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc();
     if (doc)
@@ -408,7 +408,7 @@
     }
 }
 
-void ecConfigTreeCtrl::OnCollapseExpand(wxTreeEvent& event)
+void ecConfigTreeCtrl::OnCollapseExpand(wxTreeEvent& WXUNUSED(event))
 {
     if (GetCompanionWindow())
         GetCompanionWindow()->Refresh();
@@ -477,7 +477,7 @@
     m_configItem = NULL;
 }
 
-void ecValueWindow::OnPaint(wxPaintEvent& event)
+void ecValueWindow::OnPaint(wxPaintEvent& WXUNUSED(event))
 {
     wxPaintDC dc(this);
     
@@ -575,7 +575,7 @@
         if (item != 0)
 #endif
         {
-            ecConfigItem* configItem = ((ecTreeItemData*) m_treeCtrl->GetItemData(item))->GetConfigItem();
+//            ecConfigItem* configItem = ((ecTreeItemData*) m_treeCtrl->GetItemData(item))->GetConfigItem();
             m_treeCtrl->SelectItem(item);
             ((ecConfigTreeCtrl*) m_treeCtrl)->GetPropertiesMenu()->SetClientData((void*) TRUE);
             PopupMenu(((ecConfigTreeCtrl*) m_treeCtrl)->GetPropertiesMenu(), event.GetX(), event.GetY());
@@ -1035,7 +1035,7 @@
         event.Skip();
 }
 
-void ecSplitterScrolledWindow::OnUnloadPackage(wxCommandEvent& event)
+void ecSplitterScrolledWindow::OnUnloadPackage(wxCommandEvent& WXUNUSED(event))
 {
     ecConfigTreeCtrl* treeCtrl = (ecConfigTreeCtrl*) FindWindow(ecID_TREE_CTRL);
     wxASSERT (treeCtrl != NULL) ;
@@ -1071,7 +1071,7 @@
     if (id != 0)
 #endif
     {
-        ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
+//        ecConfigItem* item = ((ecTreeItemData*) treeCtrl->GetItemData(id))->GetConfigItem();
         
         event.Enable( IsChanged(id, TRUE ) );
     }
Index: ecos_dev/host/tools/configtool/standalone/wxwin/sectiondlg.cpp
===================================================================
--- ecos_orig/host/tools/configtool/standalone/wxwin/sectiondlg.cpp	(revision 56)
+++ ecos_dev/host/tools/configtool/standalone/wxwin/sectiondlg.cpp	(revision 65)
@@ -168,21 +168,29 @@
     Centre(wxBOTH);
 }
 
-void ecSectionDialog::OnOK(wxCommandEvent& event)
+void ecSectionDialog::OnOK(wxCommandEvent& WXUNUSED(event))
 {
-    wxDialog::OnOK(event);
+#if wxCHECK_VERSION(2, 8, 0)
+    this->EndModal(wxID_OK);
+#else
+    wxDialog::OnOK(event);
+#endif
 }
 
-void ecSectionDialog::OnCancel(wxCommandEvent& event)
+void ecSectionDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
 {
-    wxDialog::OnCancel(event);
+#if wxCHECK_VERSION(2, 8, 0)
+    this->EndModal(wxID_CANCEL);
+#else
+    wxDialog::OnCancel(event);
+#endif
 }
 
-void ecSectionDialog::OnApply(wxCommandEvent& event)
+void ecSectionDialog::OnApply(wxCommandEvent& WXUNUSED(event))
 {
 }
 
-void ecSectionDialog::OnHelp(wxCommandEvent& event)
+void ecSectionDialog::OnHelp(wxCommandEvent& WXUNUSED(event))
 {
     int sel = m_notebook->GetSelection();
 
Index: ecos_dev/host/tools/ecostest/common/eCosTest.cpp
===================================================================
--- ecos_orig/host/tools/ecostest/common/eCosTest.cpp	(revision 56)
+++ ecos_dev/host/tools/ecostest/common/eCosTest.cpp	(revision 65)
@@ -1236,7 +1236,7 @@
                            DWORD dwCtrlType   //  control signal type
                            )
 {
-  dwCtrlType; // eliminate compiler warning
+  dwCtrlType = dwCtrlType; // eliminate compiler warning
   return TRUE;
 }
 #endif
Index: ecos_dev/host/libcdl/cdlcore.hxx
===================================================================
--- ecos_orig/host/libcdl/cdlcore.hxx	(revision 56)
+++ ecos_dev/host/libcdl/cdlcore.hxx	(revision 65)
@@ -1723,7 +1723,8 @@
     bool                get_bool_value() const;
     
     // This class is too simple to warrant even a cookie validation.
-    bool check_this(cyg_assert_class_zeal zeal = cyg_quick) const {
+    bool check_this(cyg_assert_class_zeal zeal = cyg_quick) const {
+        zeal = zeal;    // Keep compiler quiet
         return true;
     }
     
@@ -4023,7 +4024,8 @@
     
     CdlValueFlavor      get_flavor() const;
     CdlValueFlavor      get_flavor(CdlTransaction transaction) const
-    {   // The transaction is irrelevant, it cannot change the flavor
+    {   // The transaction is irrelevant, it cannot change the flavor
+        transaction = transaction;      // Keep compiler quiet
         return this->get_flavor();
     }
 
Index: ecos_dev/host/libcdl/dialog.cxx
===================================================================
--- ecos_orig/host/libcdl/dialog.cxx	(revision 56)
+++ ecos_dev/host/libcdl/dialog.cxx	(revision 65)
@@ -105,9 +105,9 @@
 //
 // There is no data associated with a custom dialog object.
 CdlDialogBody::CdlDialogBody(std::string name_arg)
-    : CdlNodeBody(name_arg),
-      CdlParentableBody(),
-      CdlUserVisibleBody()
+    : CdlNodeBody(name_arg),
+      CdlUserVisibleBody(),
+      CdlParentableBody()
 {
     CYG_REPORT_FUNCNAME("CdlDialogBody:: constructor");
     CYG_REPORT_FUNCARG1XV(this);
Index: ecos_dev/host/libcdl/wizard.cxx
===================================================================
--- ecos_orig/host/libcdl/wizard.cxx	(revision 56)
+++ ecos_dev/host/libcdl/wizard.cxx	(revision 65)
@@ -72,9 +72,9 @@
 // ----------------------------------------------------------------------------
 // Constructor. The real work is actually done in the parse routine.
 CdlWizardBody::CdlWizardBody(std::string name_arg)
-    : CdlNodeBody(name_arg),
-      CdlParentableBody(),
-      CdlUserVisibleBody()
+    : CdlNodeBody(name_arg),
+      CdlUserVisibleBody(),
+      CdlParentableBody()
 {
     CYG_REPORT_FUNCNAME("CdlWizardBody:: constructor");
     CYG_REPORT_FUNCARG1XV(this);

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: eCos Configuration Tool patch for building against wxWidgets  2.8.x
  2008-04-04 12:38 ` eCos Configuration Tool patch for building against wxWidgets 2.8.x Andy Jackson
@ 2008-04-04 14:52   ` Andy Jackson
  0 siblings, 0 replies; 4+ messages in thread
From: Andy Jackson @ 2008-04-04 14:52 UTC (permalink / raw)
  To: ecos-patches; +Cc: John Dallaway

[-- Attachment #1: Type: text/plain, Size: 361 bytes --]

My apologies, but it looks like I made a mess of the last patch. 
Hopefully this one has everything in the proper format.

    Andy

Andy Jackson wrote:
> Attached is a patch that allows ConfigTool to be built using wxWidgets 
> 2.8.7 and GCC4 with -Wall -Wextra.
>
> This has only been tested on cygwin as its the only system I have 
> access to at present.
>

[-- Attachment #2: ct_wx287_GCC4.patch.bz2 --]
[-- Type: application/octet-stream, Size: 24421 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-04-04 14:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-26 13:23 eCos Configuration Tool patch for building against wxWidgets 2.6.x John Dallaway
2008-04-02  9:41 ` Lars Poeschel
2008-04-04 12:38 ` eCos Configuration Tool patch for building against wxWidgets 2.8.x Andy Jackson
2008-04-04 14:52   ` Andy Jackson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).