// Licence:     wxWindows Licence
 /////////////////////////////////////////////////////////////////////////////
 
+#error This file should not be compiled! Update your build system! \
+(configure users, rerun configure to get a new Makefile) \
+Instead of htmlhelp[_io], use helpdata, helpfrm and helpctrl. This \
+file is only left to point out the problem and will be removed r.s.n.
 
 #ifdef __GNUG__
 #pragma implementation "htmlhelp.h"
 #endif
 
 #ifndef WXPRECOMP
-#include <wx/wx.h>
 #endif
 
-
 #include <wx/notebook.h>
 #include <wx/imaglist.h>
 #include <wx/treectrl.h>
 // Bitmaps:
 
 #ifndef __WXMSW__
-#include "bitmaps/panel.xpm"
-#include "bitmaps/back.xpm"
-#include "bitmaps/forward.xpm"
-#include "bitmaps/book.xpm"
-#include "bitmaps/folder.xpm"
-#include "bitmaps/page.xpm"
+    // XPM hack: make the arrays const
+    #define static static const
+
+    #include "bitmaps/panel.xpm"
+    #include "bitmaps/back.xpm"
+    #include "bitmaps/forward.xpm"
+    #include "bitmaps/book.xpm"
+    #include "bitmaps/folder.xpm"
+    #include "bitmaps/page.xpm"
+
+    #undef static
 #endif
 
 #include "search.h"
 static wxString SafeFileName(const wxString& s)
 {
     wxString res = s;
-    res.Replace(":", "_", TRUE);
-    res.Replace(" ", "_", TRUE);
-    res.Replace("/", "_", TRUE);
-    res.Replace("\\", "_", TRUE);
-    res.Replace("#", "_", TRUE);
-    res.Replace(".", "_", TRUE);
+    res.Replace(_T(":"), _T("_"), TRUE);
+    res.Replace(_T(" "), _T("_"), TRUE);
+    res.Replace(_T("/"), _T("_"), TRUE);
+    res.Replace(_T("\\"), _T("_"), TRUE);
+    res.Replace(_T("#"), _T("_"), TRUE);
+    res.Replace(_T("."), _T("_"), TRUE);
     return res;
 }
 
     int sz;
     char *buff, *lineptr;
     char linebuf[300];
-     
+
     wxString title = _("noname"),
              safetitle,
              start = wxEmptyString,
              contents = wxEmptyString, index = wxEmptyString;
-    
+
     if (wxIsAbsolutePath(book)) bookFull = book;
     else bookFull = wxGetCwd() + "/" + book;
 
     m_BookRecords.Add(bookr);
     if (m_IndexCnt > 0)
         qsort(m_Index, m_IndexCnt, sizeof(HtmlContentsItem), IndexCompareFunc);
-    
+
     return TRUE;
 }
 
     public:
         bool m_Canceled;
 
-        MyProgressDlg(wxWindow *parent) : wxDialog(parent, -1, 
-                     _("Searching..."), 
-                     wxPoint(0, 0), 
+        MyProgressDlg(wxWindow *parent) : wxDialog(parent, -1,
+                     _("Searching..."),
+                     wxPoint(0, 0),
 #ifdef __WXGTK__
-                     wxSize(300, 110)) 
+                     wxSize(300, 110)
 #else
-                     wxSize(300, 130)) 
+                     wxSize(300, 130)
 #endif
+              )
                      {m_Canceled = FALSE;}
         void OnCancel(wxCommandEvent& event) {m_Canceled = TRUE;}
         DECLARE_EVENT_TABLE()
 
 #endif
 
-       
+
 bool wxHtmlHelpController::KeywordSearch(const wxString& keyword)
 {
     int foundcnt = 0;