I just tried building therion 0.5.1. The build fails against wx 2.8.0 The wx issue is that wx_SAVE, etc have been renamed to wx_FD_SAVE. I patched this as I did for Aven by using the new names, but defining these in terms of the old ones for wx < 2.7. There are obviously other approaches, but this way means that when you stop supporting wx 2.6 you can just drop the compatibility defines.
Also, there are some warnings for passing size_t when the printf specifier expects an int (size_t is 64 bits on x86-64). That's undefined behaviour I believe. Patch attached to fix both of these (and also a typo in a comment). Cheers, Olly -------------- next part -------------- diff -ru therion-orig/loch/lxRender.cxx therion-0.5.1/loch/lxRender.cxx --- therion-orig/loch/lxRender.cxx 2006-12-12 14:35:40.000000000 +0000 +++ therion-0.5.1/loch/lxRender.cxx 2007-09-20 20:41:01.000000000 +0100 @@ -28,7 +28,7 @@ #endif -//LXDEPCHECK - standart libraries +//LXDEPCHECK - standard libraries #include "lxRender.h" @@ -439,7 +439,7 @@ #else _("PDF files (*.pdf)|*.pdf|PNG files (*.png)|*.png|BMP files (*.bmp)|*.bmp"), #endif - wxSAVE | wxOVERWRITE_PROMPT); + wxFD_SAVE | wxFD_OVERWRITE_PROMPT); fileDlg.CentreOnParent(); fileDlg.SetFilterIndex(m_pData->m_imgFileType); if (fileDlg.ShowModal() == wxID_OK) { @@ -852,7 +852,7 @@ pdf_obj[4] = ftell(this->m_file); sprintf(tmp_buff, "q\n%.4f 0 0 %.4f 0 0 cm\n/Im1 Do\nQ\n", imw, imh); - fprintf(this->m_file,"4 0 obj <<\n/Length %u\n>>\nstream\n%sendstream\nendobj\n", strlen(tmp_buff), tmp_buff); + fprintf(this->m_file,"4 0 obj <<\n/Length %u\n>>\nstream\n%sendstream\nendobj\n", (unsigned)strlen(tmp_buff), tmp_buff); pdf_obj[3] = ftell(this->m_file); fprintf(this->m_file,"3 0 obj <<\n/Type /Page\n/Contents 4 0 R\n/Resources 2 0 R\n/MediaBox [0 0 %.4f %.4f]\n/Parent 5 0 R\n>> endobj\n", imw, imh); @@ -926,7 +926,7 @@ } while (contpng); fseek(this->m_file, pdf_png_start_length, SEEK_SET); - fprintf(this->m_file,"/Length %u\n/Filter /FlateDecode\n/DecodeParms << /Colors 3 /Columns %u /BitsPerComponent 8 /Predictor 10 >>\n>>\nstream\n", png_len, this->m_imgWidth); + fprintf(this->m_file,"/Length %u\n/Filter /FlateDecode\n/DecodeParms << /Colors 3 /Columns %u /BitsPerComponent 8 /Predictor 10 >>\n>>\nstream\n", (unsigned)png_len, this->m_imgWidth); #define buffsize 256000 unsigned char * buff = new unsigned char [buffsize]; @@ -979,8 +979,8 @@ pdf_obj[9] = ftell(this->m_file); fprintf(this->m_file,"xref\n0 8\n%010u 65535 f\n%010u 00000 n\n%010u 00000 n\n%010u 00000 n\n%010u 00000 n\n%010u 00000 n\n%010u 00000 n\n%010u 00000 n\n", - 0,pdf_obj[1],pdf_obj[2],pdf_obj[3],pdf_obj[4],pdf_obj[5],pdf_obj[6],pdf_obj[7]); - fprintf(this->m_file,"trailer\n<< /Size 8\n /Root 6 0 R\n/Info 7 0 R >>\nstartxref\n%u\n%%%%EOF\n",pdf_obj[9]); + 0,(unsigned)pdf_obj[1],(unsigned)pdf_obj[2],(unsigned)pdf_obj[3],(unsigned)pdf_obj[4],(unsigned)pdf_obj[5],(unsigned)pdf_obj[6],(unsigned)pdf_obj[7]); + fprintf(this->m_file,"trailer\n<< /Size 8\n /Root 6 0 R\n/Info 7 0 R >>\nstartxref\n%u\n%%%%EOF\n",(unsigned)pdf_obj[9]); png_destroy_write_struct(&this->png_ptr, &this->png_info_ptr); diff -ru therion-orig/loch/lxWX.h therion-0.5.1/loch/lxWX.h --- therion-orig/loch/lxWX.h 2006-12-12 14:35:40.000000000 +0000 +++ therion-0.5.1/loch/lxWX.h 2007-09-20 20:36:11.000000000 +0100 @@ -10,6 +10,11 @@ #endif //LXDEPCHECK - standart libraries +#if !wxCHECK_VERSION(2,7,0) +# define wxFD_OVERWRITE_PROMPT wxOVERWRITE_PROMPT +# define wxFD_SAVE wxSAVE +#endif + #ifdef __WXGTK__ #define lxBORDER 3 #else