Code::Blocks Forums

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: stahta01 on November 01, 2006, 02:47:07 am

Title: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 01, 2006, 02:47:07 am
I am going to try to get codeblocks to compile and link using wxWidgets 2.7.1. If I am able to get it to compile and link, will you accept patches to do this? Or will you just reject them as not needed because 2.7.x in just a development branch? Note, I understand that my patches has to be well written and follow the guidelines. And, that the patches will have a very low priority of being applied. I just wish to make sure that it is worth my time to create the patches; if you plan to reject all patches for 2.7.x branches then it is not worth the effort to create them.

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: Ceniza on November 01, 2006, 03:07:52 am
Well, if your patches don't break compatibility with 2.6.x, and don't cause any side effect in C::B, they could be considered and should ease the future transition to the next stable version of wx, but I cannot assure you anything.

Have in mind some problems compiling C::B with 2.7.x are in 3rd party libraries, so every time we get an updated version of those libraries the patches would need to be applied again till those libraries become compilable with 2.7.x. I think it's the biggest problem.

I don't know what the other devs think, but I would like to give it a try :)
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: mandrav on November 01, 2006, 08:36:36 am
Like Ceniza said, it depends on what the patches do. The top requirement is that it doesn't break 2.6 compatibility.
Another thing is the patch complexity. If it takes a complex patch to add 2.7 support, we might as well wait for the official 2.8. Because the 2.7 API *will* change until it becomes 2.8 and we 'd have to keep up with these changes all the time, with no good reason to.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 09:52:09 am
One reason might be that wxExecute hangs on Mac OS X Intel
using wx 2.6.3, while it works just fine when using wx 2.7.1...
(this is the showstopper bug that makes wxMac useless on x86)
So I would very much welcome such a patch, at least to try it.

But you better hurry up, since wx 2.7.2 is just around the corner! :-)
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: killerbot on November 01, 2006, 09:52:36 am
I would wait, on the new wxWidgets blog, I could understand that wx 2.8 is very close !!
Maybe one or two more weeks. I would focus on that and hopefully it fixes a bunch of bugs and not introduce new ones.
That's what I don't like about wxWidgets, they don't fix the bugs easily (unicode wxString::<<  problems, the misaligned menus when a menu entry has an icon and so on :-( :-(  )
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: David Perfors on November 01, 2006, 10:04:43 am
I would wait, on the new wxWidgets blog, I could understand that wx 2.8 is very close !!
Maybe one or two more weeks.
Where did yuo find that information? I didn't read anything about that...
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 10:17:52 am
Where did yuo find that information? I didn't read anything about that...

http://sourceforge.net/forum/forum.php?forum_id=622756
Quote
12th October 2006: wxWidgets 2.7.1 (a development release) is now available for download via http://www.wxwidgets.org/downloads.
 
The main changes since 2.7.0 are detailed below. We would be grateful for testing as we work towards 2.8.0 release within the next few weeks. However please be aware that 2.7.1 is not production quality.

Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: sethjackson on November 01, 2006, 06:28:08 pm
BTW wxBlog. ;)

http://wxwidgets.blogspot.com/
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 01, 2006, 06:55:34 pm
I have started work on the code changes to make C::B compile against wxWidgets 2.7.1 only under windows.
I have reached a point where I can't proceed without more research or waiting till bugs in wxWidgets 2.7.1 are fixed. (They may not have bugs in the code, but the help/documentation file does not agree with the code.)

For now I am going to work on getting the code changes, I have done, up to standard to make patches for me to submit; this is while I wait for 2.7.2 to fix the wxDialog bugs/documentation (cut and patch changes in header to header; code was removed from wx/msw/dialog.h that needed to be moved to wx/dialog.h; or a least a poster to a thread implied that was the cause) that were created in 2.7.1.

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 07:03:32 pm
Quote
One reason might be that wxExecute hangs on Mac OS X Intel
using wx 2.6.3, while it works just fine when using wx 2.7.1...

On second thought this is a lame reason. Might as well work
around the bug on wx 2.6.3, or wait until the 2.6.4 release...
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 01, 2006, 07:55:15 pm
Quote
One reason might be that wxExecute hangs on Mac OS X Intel
using wx 2.6.3, while it works just fine when using wx 2.7.1...

On second thought this is a lame reason. Might as well work
around the bug on wx 2.6.3, or wait until the 2.6.4 release...

Has this bug been confirmed that is a bug on wx 2.6.x ? I'm asking because I don't seem to have problems with wxExecute(), neither DialogBlocks which is compiled with wx 2.6.3 also I think, but it might be coincidence.

If it's a bug on wx 2.6 and you can confirm it has been solved on 2.7, a diff between those revisions should reveal the changes, and you could backport the changes to 2.6.3, as I don't think a 2.6.4 is planned anytime soon.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 08:10:27 pm
Has this bug been confirmed that is a bug on wx 2.6.x ? I'm asking because I don't seem to have problems with wxExecute(), neither DialogBlocks which is compiled with wx 2.6.3 also I think, but it might be coincidence.

As I noted in the bug (http://developer.berlios.de/bugs/?func=detailbug&bug_id=8881&group_id=5358), I was able to reproduce it in the wx 2.6.3 sample, but in the wx 2.7.1 sample the bug was gone. Do you have such a wxExecute demo I could try ?

And it seem to coincide with this entry from the changelog:
Code
- Fixed non-detection of process termination on Intel Macs by
polling for process termination in a separate thread.

BTW:
Why are there no more releases of the stable wxWidgets ?
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: killerbot on November 01, 2006, 08:12:55 pm
because the next stable one will be 2.8.0, let's hope it's this week or next week
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 08:21:35 pm
because the next stable one will be 2.8.0, let's hope it's this week or next week

OK, so why are there no more releases of the legacy wxWidgets then ? ;-)
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 01, 2006, 08:27:27 pm
Do you have such a wxExecute demo I could try ?
Not at hand unfortunately,

And it seem to coincide with this entry from the changelog:
That's really great! Could you back-port the changes? I would be happy to have for the first time a C::B that can run programs on Carbon/Intel :D

BTW:
Why are there no more releases of the stable wxWidgets ?
AFAIK 2.7.2 is due to be released officially probably tomorrow (all wxAui classes will be renamed),
and 2.8 RC will be around november, 13,

OK, so why are there no more releases of the legacy wxWidgets then ? ;-)
There might be a 2.6.4, but I don't think anytime soon, if ever.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 08:29:08 pm
Found the code in src/mac/corefoundation/utilsexc_cf.cpp.
They set up a background thread to poll for process termination.

Doesn't look impossible to backport, maybe we can even add it
as an add-on outside of patching the main wxWidgets library ?
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 08:37:16 pm
Yup, that was it! I guess it could at least make it into a wx 2.6.3pl3,
if there shouldn't be any more "real" 2.6 releases for some reason ?

Here it is, anyway:
http://www.algonet.se/~afb/wx/wxWidgets-killpoll.patch
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 01, 2006, 08:40:24 pm
Found the code in src/mac/corefoundation/utilsexc_cf.cpp.
They set up a background thread to poll for process termination.

Doesn't look impossible to backport, maybe we can even add it
as an add-on outside of patching the main wxWidgets library ?
Yes it would be possible (cbExecute() or something like), however I prefer instead not wait for that and have a working C::B now, and at a later time, due to Tim patches use the 2.8 branch which contains lots and lots of improvements for Mac
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 01, 2006, 08:43:46 pm
Yup, that was it! I guess it could at least make it into a wx 2.6.3pl3,
if there shouldn't be any more "real" 2.6 releases for some reason ?

Here it is, anyway:
http://www.algonet.se/~afb/wx/wxWidgets-killpoll.patch
That's really great,
one last thing, can you upload a dmg to berlios? I can't wait to use it finally :D
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: thomas on November 01, 2006, 08:45:53 pm
Quote
One reason might be that wxExecute hangs on Mac OS X Intel
using wx 2.6.3, while it works just fine when using wx 2.7.1...
On second thought this is a lame reason. Might as well work
around the bug on wx 2.6.3, or wait until the 2.6.4 release...
On a third thought, we might not use wxExecute at all any more... :)
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 08:46:56 pm
Working on a new nightly build, will upload when finished.
(finally getting around to scripting the sucker build process)

I will probably continue to use ZIP instead of DMG, though.
Something about open source and closed formats, I guess.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 08:49:01 pm
Code
------------- Build: Debug in HelloWorld ---------------
Compiling: main.c

Linking console executable: ./HelloWorld

Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings

No changes to Code::Blocks were needed...
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 10:04:31 pm
Patch submitted to the wx crew for consideration for wx 2.6.3pl3 / 2.6.4...

https://sourceforge.net/tracker/?func=detail&atid=309863&aid=1588883&group_id=9863
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 01, 2006, 10:15:30 pm
I have patched C::B SVN 3163 with my own patches enough to get it to compile, link and boot against wxWidgets 2.7.0 ( with changes to code [treebase.h] in wxWidgets in addition to code in C::B ).

I used it to compile itself as my test of if it works enough to be slightly useful.

Note: I am using wx/setup.h with
#define WXWIN_COMPATIBILITY_2_4 1
#define WXWIN_COMPATIBILITY_2_6 1

I am now going to try using wx/setup.h with
#define WXWIN_COMPATIBILITY_2_4 0         Edit: This setting is beyond my knowledge level at this time.

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 01, 2006, 10:18:40 pm
Working on a new nightly build, will upload when finished.
(finally getting around to scripting the sucker build process)

I will probably continue to use ZIP instead of DMG, though.
Something about open source and closed formats, I guess.
or .tar.bz2 / .dmg.bz2 as it compresses better, and .dmg would be for stable releases

No changes to Code::Blocks were needed...
:D

Patch submitted to the wx crew for consideration for wx 2.6.3pl3 / 2.6.4...

https://sourceforge.net/tracker/?func=detail&atid=309863&aid=1588883&group_id=9863
So as you might have read, there are chances of a 2.6.4, but I'm waiting more for 2.8  :)

I have patched C::B SVN 3163 with my own patches enough to get it to compile, link and boot against wxWidgets 2.7.0
:)
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 10:30:02 pm
or .tar.bz2 / .dmg.bz2 as it compresses better, and .dmg would be for stable releases

Hardly worth the enormous processing time / memory usage difference, though.

Code
 13M    CB_20061101_rev3164_macx86.tbz
 14M    CB_20061101_rev3164_macx86.zip

Especially not when considering that 50% of that is a redundant arch, and 60% is wx ?

Quote
So as you might have read, there are chances of a 2.6.4, but I'm waiting more for 2.8  :)

I'm not holding my breath... Waited a month for the MacPorts guys to drop a single --with-mac line from the wxWidgets port (which isn't happening), so I'm on a build-it-myself streak.

Will fix the DarwinPorts version so that you can have both wxMac and wxGTK installed at the same time, which basically is just about doing up a Port for wxBase for them to share...
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 01, 2006, 10:46:24 pm
Hardly worth the enormous processing time / memory usage difference, though.

 13M    CB_20061101_rev3164_macx86.tbz
 14M    CB_20061101_rev3164_macx86.zip
Strange, it usually gives a noticeable improvement; make sure you compress with "solid mode" ON or whatever is called,

Especially not when considering that 50% of that is a redundant arch, and 60% is wx ?
I think that's ok with stable releases, but for nightly builds and to save space I think that separating archs is better,
about wx, only if it can be separated from C::B like windows' nightly builds (although it might confuse new users)

Quote
So as you might have read, there are chances of a 2.6.4, but I'm waiting more for 2.8  :)

I'm not holding my breath... Waited a month for the MacPorts guys to drop a single --with-mac line from the wxWidgets port (which isn't happening), so I'm on a build-it-myself streak.

Will fix the DarwinPorts version so that you can have both wxMac and wxGTK installed at the same time, which basically is just about doing up a Port for wxBase for them to share...
that's a bit sad, but this happens with most 'distros'
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 10:49:30 pm
one last thing, can you upload a dmg to berlios? I can't wait to use it finally :D

The 3164 build is uploaded to BerliOS now, think it should match the previous ?
(it does have some build patches and icons in addition to all the rest of them...)
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 11:03:50 pm
Strange, it usually gives a noticeable improvement; make sure you compress with "solid mode" ON or whatever is called,

I don't think bzip2 has a "solid mode", at least I couldn't find one in 1.0.2 ?

Here are the file sizes, for your amusement:
Code
 42M    CB_20061101_rev3164_macx86.tar
 18M    CB_20061101_rev3164_macx86.tzo

 14M    CB_20061101_rev3164_macx86.tgz
 13M    CB_20061101_rev3164_macx86.tbz

 14M    CB_20061101_rev3164_macx86.zip
8.9M    CB_20061101_rev3164_macx86.7z

We could do a .dmg for the final release, it's the same as tgz + the all HFS+ overhead.

Quote
I think that's ok with stable releases, but for nightly builds and to save space I think that separating archs is better,
about wx, only if it can be separated from C::B like windows' nightly builds (although it might confuse new users)

"Better" maybe, but it's not the Mac way... :-)

The way that it is going to be is:
Mac OS X -> Universal and Bundled
MacPorts -> split up by arch and lib

Not sure if I mentioned it, but besides wxWidgets the Mac OS X version also bundles a static version of libpng, libjpeg, libtiff, and expat...

the "macppc" builds on BerliOS are all for Panther, by the way.
the "macx86" are all Universal, but BerliOS doesn't have that arch.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 11:14:53 pm
Hmm, the Xcode 2.4.1 (http://developer.apple.com/tools/xcode/) security update weighs in at.... 932.2MB.
So I don't think 13M or 14M will make a difference to Mac users.  :-D
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 01, 2006, 11:30:54 pm
Here are the file sizes, for your amusement:

 42M    CB_20061101_rev3164_macx86.tar
 18M    CB_20061101_rev3164_macx86.tzo

 14M    CB_20061101_rev3164_macx86.tgz
 13M    CB_20061101_rev3164_macx86.tbz

 14M    CB_20061101_rev3164_macx86.zip
8.9M    CB_20061101_rev3164_macx86.7z
:lol:

"Better" maybe, but it's not the Mac way... :-)
There are apps out there that are bundle but separated by archs,

Hmm, the Xcode 2.4.1 (http://developer.apple.com/tools/xcode/) security update weighs in at.... 932.2MB.
So I don't think 13M or 14M will make a difference to Mac users.  :-D
I think it's totally ok for stable releases but,
it's a bit too much for nightly builds, I don't know if you, but maybe other will be setting up nightly builds, this means everyday downloads,
and also accounting that berlios still doesn't support resume, there are people that still cares about the size, which are probably still on dial up or at a univ/work capped connection

Thanks for the upload! I'm going to test as soon as I can :)
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 01, 2006, 11:50:00 pm
There are apps out there that are bundle but separated by archs,

Actually it was a bit of fuss to "lipo" it together, so taking it apart would be easy...

Quote
I think it's totally ok for stable releases but,
it's a bit too much for nightly builds, I don't know if you, but maybe other will be setting up nightly builds, this means everyday downloads,
and also accounting that berlios still doesn't support resume, there are people that still cares about the size, which are probably still on dial up or at a univ/work capped connection

The zip is 8M when "thin". But then I need a second one for PPC, and educate people which is which and so on. The "fat" (now: Universal) binary is at least very simple to use...

I think the MacPorts option would be better if you are bandwidth challenged.
Code
6.3M    codeblocks-1.0_0+macosx.i386.tgz
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 02, 2006, 12:01:54 am
One thing that we could do, is link it to a /Library/Frameworks/wxWidgets.framework
The plus side of that is that it also provides the developer files and not just the libs ?

The down side is that we would have to make such a wx framework,
and make sure that it is the right version and has the right patches...
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 02, 2006, 12:19:07 am
The down side is that we would have to make such a wx framework,
and make sure that it is the right version and has the right patches...
Actual versions come with 2.5.x I think, and Leopard will come with 2.8 out of the box if nothing goes wrong,
however users of previous Mac OS X will be not benefited; and this will also mean to have different packages for pre 10.5 and post 10.5
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 02, 2006, 12:32:49 am
There is no wxWidgets.framework. Tiger ships with wxPython 2.5 - as libraries.
I think that Leopard would be better off with wxPython 2.7 as libraries too, but...

If they want to rename wx 2.7.3 as 2.8.0 to include it with that OS that's OK,
but it probably just means that we have to provide 2.8.1 as a package instead ?

I have built such a framework though, it just hasn't been officially included.
For details you can see some scribblings at http://www.algonet.se/~afb/wx/

Haven't decided if it's going to be the "pretty" wxWidgets.framework or the
more "usable" wx.framework. But I guess the wx crew will ultimately decide.

SDL has the same problems when running on Mac OS X.
"To framework, or not to framework, that is the question..."
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 02, 2006, 12:46:28 am
There is no wxWidgets.framework. Tiger ships with wxPython 2.5 - as libraries.
I think that Leopard would be better off with wxPython 2.7 as libraries too, but...

I see, also probably it's not worth using what the system haves, as you have more control on which wx version to use;
about the other thing, it probably depends if you are more on the BSD side or the Apple side of Mac :P
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 02, 2006, 06:22:52 pm
Hi,
The 3164 build is uploaded to BerliOS now

I've tried the build and it worked, I could compile for the first time from CB :D
Of course there are a lot of little/medium issues still, but it at least serves as a build system,

The first thing I found is that I couldn't run C::B because some previous setting in default.conf was bad,
and here comes the problem: the file is located in ~/.codeblocks, so I didn't have any way to access it (not from Finder nor terminal). I know that some programs let's you enable "see hidden files" but it's not the point and I didn't have one at hand,

I propose to use APPDATA as ~/Library/Application Support/CodeBlocks/ which is what most crossplatform/opensource programs are using (non-crossplatform programs tend to use ~/Library/Preferences because they don't have problems in using the plist format),

The other problem is when compiling, I get occasionally this error Message box (it gets compiled nonetheless):
can't flush file descriptor 16 (error 45: Operation not supported)
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 02, 2006, 06:33:13 pm
I prefer to use the cross-platform locations like /usr/local/lib/libwx_mac-2.6.dylib and ~/.codeblocks, but I can probably be talked into changing those to /Library/Frameworks/wxWidgets.framework and ~/Library/Application\ Support/CodeBlocks to work with the venerable Finder...

I still suggest /Developer/Applications/CodeBlocks.app as the location for the program. (that is, what use to be /usr/local/bin/codeblocks) Some of the wizards also needs to be redone to understand frameworks, such as the ones for OpenGL/GLUT and wxWidgets...
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 02, 2006, 06:49:33 pm
I prefer to use the cross-platform locations like /usr/local/lib/libwx_mac-2.6.dylib and ~/.codeblocks,
Those are "unix" locations, in Windows you have them in C:\Program Files\CodeBlocks\wxmsw26u_gcc_cb.dll (usually) and %APPDATA%\codeblocks,
in Mac I also like to have libraries in /usr/local/lib/ (because I use MacPorts), but for bundles (.app) it would be ugly to have them in /usr/local/bin and similar places.

but I can probably be talked into changing those to /Library/Frameworks/wxWidgets.framework
It's also fine as currently, if the mac dylib is inside the bundle,

I still suggest /Developer/Applications/CodeBlocks.app as the location for the program.
Yeah, it's more standard than /Applications in this case and /Developer/Applications is more well suited (Xcode is there),
however since C::B is distributed as a bundle, that's a users choice,

(that is, what used to be /usr/local/bin/codeblocks)
I think that location can be fine if you build it from MacPorts, but /Developer/Applications is fine too,

Some of the wizards also needs to be redone to understand frameworks, such as the ones for OpenGL/GLUT and wxWidgets...
Yes, there's a lot of work to be done
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 02, 2006, 06:57:31 pm
Those are "unix" locations, in Windows you have them in C:\Program Files\CodeBlocks\wxmsw26u_gcc_cb.dll (usually) and %APPDATA%\codeblocks,
in Mac I also like to have libraries in /usr/local/lib/ (because I use MacPorts), but for bundles (.app) it would be ugly to have them in /usr/local/bin and similar places.

Fair enough, let's move them to the Mac locations (I think wx has some helpers)
MacPorts normally installs in /opt/local, though - but let's not mix that in here...

Quote
but I can probably be talked into changing those to /Library/Frameworks/wxWidgets.framework
It's also fine as currently, if the mac dylib is inside the bundle,

I had planned to separate it, in order to cut down the size of the nightly and also in order for the user to be able to develop new program for wxWidgets with it ?

Quote
I still suggest /Developer/Applications/CodeBlocks.app as the location for the program.
Yeah, it's more standard than /Applications in this case and /Developer/Applications is more well suited (Xcode is there),
however since C::B is distributed as a bundle, that's a users choice,

It definitely is, and they can also put it in ~/Library/Frameworks and ~/Applications if they do not have admin priviledges on the machine ?

Quote
(that is, what used to be /usr/local/bin/codeblocks)
I think that location can be fine if you build it from MacPorts, but /Developer/Applications is fine too,

MacPorts will install in /Applications/DarwinPorts and /opt/local, all according to their guidelines. The stuff in /Applications/WhateverPorts will be symlinks or scripts that use the regular installation (it just allows for easier access).
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 02, 2006, 07:23:04 pm
Fair enough, let's move them to the Mac locations (I think wx has some helpers)
MacPorts normally installs in /opt/local, though - but let's not mix that in here...
Yes I know sorry for the copy-paste

I had planned to separate it, in order to cut down the size of the nightly and also in order for the user to be able to develop new program for wxWidgets with it ?
separated for nightly builds, joined for stable releases,

It definitely is, and they can also put it in ~/Library/Frameworks and ~/Applications if they do not have admin priviledges on the machine ?
of course,


MacPorts will install in /Applications/DarwinPorts and /opt/local, all according to their guidelines.
I know, sorry for the copy-paste again; I wonder if the guidelines will change to MacPorts, I think /Applications/*Ports it's good nonetheless for the sake of symlinks, just when using MacPorts.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 02, 2006, 07:42:56 pm
I had planned to separate it, in order to cut down the size of the nightly and also in order for the user to be able to develop new program for wxWidgets with it ?
separated for nightly builds, joined for stable releases,

Yes. But that should be as simple as moving it inside the bundle, thankfully...

i.e. include wx as CodeBlocks.app/Contents/Frameworks/wxWidgets.framework
(I think will be using wxWidgets.framework, rather than wx.framework)

Code
#include <wxWidgets/wxWidgets.h>

The usual <wx/wx.h> will work too, with a little wx -> .  symbolic link
inside and a -I/Library/Framework/wxWidgets.framework/Headers flag...

Quote
It definitely is, and they can also put it in ~/Library/Frameworks and ~/Applications if they do not have admin priviledges on the machine ?
of course,

Mac OS X users normally run as admin, but I converted my own user account...

Will continue with the simple ZIP for a while, maybe convert to DMG for stable ?
And the user can just move the framework and application to where they want it.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 02, 2006, 08:31:08 pm
Yes. But that should be as simple as moving it inside the bundle, thankfully...
Great


Will continue with the simple ZIP for a while, maybe convert to DMG for stable ?
Or both, I have seen lots of .dmg.gz and .dmg.zip;
besides, the dmg format supports being compressed in zip from 10.1 or so, and bz2 from 10.4
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 02, 2006, 10:49:27 pm
They are talking about releasing wxWidgets 2.7.2 on Friday, tomorrow, at 0900 GMT; I think this is 0400 EST. Edit: Person asked them to hold off till Monday so he/she could finish some task.

Note: I have given up on 2.7.1 because the docs have not been updated enough on wxDialog for me to figure out the changes in the wx27 code and how to patch C::B.
Edit: Found suggestion that pointed me in the correct direction to get 2.7.1 to compile & link.

Note: I am working on getting the patches ready for C::B for wxWidgets 2.7.0; I still testing changes for problems with 2.63p2, having issues with the SVN changing for the files I am patching. I have decided to break my patch into 4 (plus 1 for 2.7.1) small patches. ( 5 total files involved in all patches for 2.7.0 and 2 files for 2.7.1 for now.)

Patch 1 for 2.7.0 uploaded to BerliOS see https://developer.berlios.de/patch/index.php?func=detailpatch&patch_id=1617&group_id=5358

Patch 2 for 2.7.0 uploaded to BerliOS see
https://developer.berlios.de/patch/index.php?func=detailpatch&patch_id=1618&group_id=5358

Patch 3 for 2.7.0 uploaded to BerliOS see
https://developer.berlios.de/patch/index.php?func=detailpatch&patch_id=1619&group_id=5358

Patch 4 for 2.7.0 uploaded to BerliOS see
https://developer.berlios.de/patch/index.php?func=detailpatch&patch_id=1620&group_id=5358

Patch 1 for 2.7.1 uploaded to BerliOS see https://developer.berlios.de/patch/index.php?func=detailpatch&patch_id=1621&group_id=5358

Tim S 

Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 04, 2006, 02:34:56 am
NOTE: You must be building codeblocks from SVN for these directions to work.
NOTE: You have to know how to use "patch -u" with unified patches.
NOTE: This build is NOT SUPPORTED by the CodeBlocks Team!
NOTE: This ONLY makes it compile & Link against wxWidgets!
NOTE: There is NO warranty that it will run let alone work right!

Extract wxWidgets-2.7.0-1 to folder.

in file include\wx\msw\setup.h
enable WXWIN_COMPATIBILITY_2_4 like below.
#define WXWIN_COMPATIBILITY_2_4 1

[IMHO, this is a work around that should NEVER be done for production code
 because it breaks the ABI, so use the DLL created for private use only.
 The wxWidgets-2.7.0-1 folder with modified wx/treebase.h should only be
 included for private use only projects.]
in file wx/treebase.h add "0 // " to line 73 like below
#if 0 // WXWIN_COMPATIBILITY_2_4

Below is the command I used to build; SEE files in docs\msw for windows building help
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1

Remember to copy the DLL to your C::B folder.

Apply the Patches for 2.7.0; you can also apply the Patch for 2.7.1.

Build C::B

NOTE: You must be building codeblocks from SVN for these directions to work.
NOTE: You have to know how to use "patch -u" with unified patches.
NOTE: This build is NOT SUPPORTED by the CodeBlocks Team!
NOTE: This ONLY makes it compile & Link against wxWidgets!
NOTE: There is NO warranty that it will run let alone work right!

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 04, 2006, 02:47:45 am
Note: I am working on getting the patches ready for C::B for wxWidgets 2.7.0; I still testing changes for problems with 2.63p2, having issues with the SVN changing for the files I am patching. I have decided to break my patch into 4 (plus 1 for 2.7.1) small patches. ( 5 total files involved in all patches for 2.7.0 and 2 files for 2.7.1 for now.)

This doesn't look bad at all, actually! Rather small patches (good work!) Some of the patches could probably be made smaller by typedefs too, such as the int/uint confusion for instance ?
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 04, 2006, 03:01:05 am
This doesn't look bad at all, actually! Rather small patches (good work!) Some of the patches could probably be made smaller by typedefs too, such as the int/uint confusion for instance ?

I thought about using typedefs but was not sure if one was enough and if not one how many I should use.
Also, I would have to pick names and I had no idea what the C::B guidelines are on typedefs names.

PS: The wx2.7.1 compiles and links already (with my patches) but C::B has trouble with the "Setting" menu options "Enviroment", "Editor" and "Compiler and Debugger".

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 04, 2006, 07:49:27 am
I have compiled C::B against wxWidgets 2.7.2 (CVS as of 1 hour ago.)

Tool bars icons and many others icons are NOT displayed; did not try the spots on the tool bars because I don't know which is where.

The only additional patch needed to compile current CVS is below:

plugins\compilergcc\compilergcc
Change
  wxFileName::CreateTempFileName(_T("cbmk"), 0L);
to
  wxFileName::CreateTempFileName(_T("cbmk"));


contrib plugins with compile issues against wxWidgets 2.7.2 (CVS-HEAD)
  C::B KeyBinder [This should be a minor patch.]

  Exporter see major method signature changes for class wxGIFDecoder in wx/gifdecod.h and src/common/gifdecod.cpp

  wxSmith [I have no plans to try to fix this, since a new version is under development.]

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 04, 2006, 02:02:00 am
The first thing I found is that I couldn't run C::B because some previous setting in default.conf was bad,
and here comes the problem: the file is located in ~/.codeblocks, so I didn't have any way to access it (not from Finder nor terminal). I know that some programs let's you enable "see hidden files" but it's not the point and I didn't have one at hand,

I propose to use APPDATA as ~/Library/Application Support/CodeBlocks/ which is what most crossplatform/opensource programs are using (non-crossplatform programs tend to use ~/Library/Preferences because they don't have problems in using the plist format),

Fixed, it was simple when using stdpath and wxStandardPathsBase:
http://www.algonet.se/~afb/wx/codeblocks-macconfpath.patch
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: Game_Ender on November 04, 2006, 02:54:00 am
The first thing I found is that I couldn't run C::B because some previous setting in default.conf was bad,
and here comes the problem: the file is locted in ~/.codeblocks, so I didn't have any way to access it (not from Finder nor terminal). I know that some programs let's you enable "see hidden files" but it's not the point and I didn't have one at hand,

While your point about the config location is correct I can't let you be this wrong.  I develop on the mac platform and terminal is perfectly capable of accessing "hidden" files.  Terminal.app is just a terminal emulator and it runs bash, tcsh, etc shells.  These access standard UNIX tools which have no problems manipulating "." files.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 04, 2006, 03:03:50 am
While your point about the config location is correct I can't let you be this wrong.  I develop on the mac platform and terminal is perfectly capable of accessing "hidden" files.  Terminal.app is just a terminal emulator and it runs bash, tcsh, etc shells.  These access standard UNIX tools which have no problems manipulating "." files.
I know that, that's what I was referring with "some programs": you need bash/sh, you need to know which commands to issue like ls -a (which I didn't recall atm), and overall you're correct, those are standard UNIX tools, which I don't think a Mac user needs to know how to use, Finder should be enough in this case;
it was not the point anyways, and will now be fixed by the above patch.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: thomas on November 04, 2006, 12:19:58 pm
Anders, are you sure those are the correct locations?

GetUserDataDir() and GetDataDir() both look like the top level folder, not the one owned by Code::Blocks. I think you may  have to add /codeblocks to both (unless wxMAC already adds the application name secretly).
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 04, 2006, 12:32:26 pm
Anders, are you sure those are the correct locations?

Looked OK when I tried it (only tried the User one, but...)

the wx/stdpaths.h header said:
Code
    // return the directory for the user-dependent application data files
    //
    // $HOME/.appname under Unix,
    // c:\Documents and Settings\username\Application Data\appname under Windows
    // and ~/Library/Application Support/appname under Mac
    virtual wxString GetUserDataDir() const = 0;
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 04, 2006, 12:57:36 pm
I know that, that's what I was referring with "some programs": you need bash/sh, you need to know which commands to issue like ls -a (which I didn't recall atm), and overall you're correct, those are standard UNIX tools, which I don't think a Mac user needs to know how to use, Finder should be enough in this case;

The wxWidgets libraries, like libwx_mac-2.6.dylib are not vieweable in the Finder or in Open either...
They usually install in "hidden" directories like /usr/local/{lib,include,bin} instead of "Mac" directories.

So for wxWidgets, we similarly need to change over to using a wxWidgets.framework bundle instead.
For now I am bundling the UNIX-style library with the C::B application, but that will move to external.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: thomas on November 04, 2006, 02:00:35 pm
Anders, are you sure those are the correct locations?
Looked OK when I tried it (only tried the User one, but...)
Sorry, I pulled a Takeshi there. You're perfectly right, those two already append the application name.

Actually, after having read the documentation... you are not only right, you happened to find a much better implementation than the one we're using now, on all platforms.  8)
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: Pecan on November 04, 2006, 03:23:15 pm
While your point about the config location is correct I can't let you be this wrong.  I develop on the mac platform and terminal is perfectly capable of accessing "hidden" files.  Terminal.app is just a terminal emulator and it runs bash, tcsh, etc shells.  These access standard UNIX tools which have no problems manipulating "." files.
I know that, that's what I was referring with "some programs": you need bash/sh, you need to know which commands to issue like ls -a (which I didn't recall atm), and overall you're correct, those are standard UNIX tools, which I don't think a Mac user needs to know how to use, Finder should be enough in this case;
it was not the point anyways, and will now be fixed by the above patch.

I'm really surprised that a Mac programmer/developer is not expected to know how to use terminal and the minimum *nix commands.

I don't think I'd care to hire one of those.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: takeshimiya on November 04, 2006, 03:57:53 pm
I'm really surprised that a Mac programmer/developer is not expected to know how to use terminal and the minimum *nix commands.
I don't know how you can ask this, since there are users in this forum that doesn't know even what a project is, or how to debug let alone where the problem was.
This is way off-topic too :P
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 04, 2006, 04:36:00 pm
I'm really surprised that a Mac programmer/developer is not expected to know how to use terminal and the minimum *nix commands.

Not that surprising really, many Win programmers don't know this either (using Console and the minimum DOS commands).
And since the default Mac OS X file manager or the default file dialogs won't help them find the files, many users won't do so.

I would be surprised if the average UNIX/Linux developer didn't know it, but for Mac/Win I don't find it all that surprising ?
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: thomas on November 04, 2006, 04:36:55 pm
I've taken the opportunity to rewrite the directory stuff, using wxStandardPathsBase where possible and putting everything into a class that is kept as static instance in ConfigManager. That way, file paths are determined once per application, not once for every namespace (as it is now), and all the checks whether special paths exists are also only done once, instead of once for every namespace.

The only problem so far is that wxStandardPathsBase::GetUserDateDir() crashes on my machine... it seems to hit a null pointer inside AppendAppName(), humm....
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: Der Meister on November 04, 2006, 06:21:34 pm
Why are you using wxStandardPathsBase? The "standard" way should be like this:
Code
wxStandardPaths::Get().GetUserDataDir()
Anyway, I don't know if this fixes your crash, but I never had any problems with this line of code (not on Windows and not on Linux).
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: Game_Ender on November 04, 2006, 06:28:24 pm
And since the default Mac OS X file manager or the default file dialogs won't help them find the files, many users won't do so.

Just a helpful tip: You can get directories like /usr/local by just using Command+Shift+G in finder.  A box pops up and you can type in any path you want, if I remember correctly it even has tab completion.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: Pecan on November 04, 2006, 06:35:48 pm
I'm really surprised that a Mac programmer/developer is not expected to know how to use terminal and the minimum *nix commands.
I don't know how you can ask this, since there are users in this forum that doesn't know even what a project is, or how to debug let alone where the problem was.
This is way off-topic too :P


It is not off-topic.

My point is: you are going to a lot of trouble to code and implement changes to CodeBlocks for which a programmer/developer should reasonable be expected to know.

N00bies are different. They're expected to read books and ask questions in order to become a knowledgeable programmer/developer who, on learning how to use an OS, can then find ./codeblocks and become proficient in CB.

Is this an IDE for kindergarten or developers?
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: thomas on November 04, 2006, 06:57:30 pm
Why are you using wxStandardPathsBase? The "standard" way should be like this:
Code
wxStandardPaths::Get().GetUserDataDir()
Anyway, I don't know if this fixes your crash, but I never had any problems with this line of code (not on Windows and not on Linux).
I sure was doing what you call the standard way :)

The problem was that I had put all the path names along with initialising code into a static object, so initialisation is done implicitely, and we can avoid calling if(someVariable.IsEmpty()) a hundred times.

Unluckily, wxStandardPaths does not like being called from global constructors... although the documentation speaks of "initialised to reasonable values", the meaning of "reasonable" is apparently NULL.
I've reduced all the checks to testing one boolean now, and initialisation is done the first time any directory function is used... that works, but I am not 100% happy with it.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: Der Meister on November 04, 2006, 07:05:23 pm
Ah, OK, that explains matters...
I guess the problem with your first approach is that you can't say anything about the order in which static and global objects were intialized - maybe your static variable was initialized before the wxStandardPaths structures?
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: thomas on November 04, 2006, 07:25:13 pm
Yeah well.... a common problem :(

I had expected, though, that since you instantiate the wxStandardPaths singleton before using it, its data would be valid. But unluckily, that doesn't hold. It still only works after wxApp::OnInit().

The way it is now is probably as good as it can get, oh well... I'll keep it around for a day or two to see if anything works differently from what you would expect, and will commit then.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 06, 2006, 09:56:02 am
They are talking about releasing wxWidgets 2.7.2 on Friday, tomorrow, at 0900 GMT; I think this is 0400 EST. Edit: Person asked them to hold off till Monday so he/she could finish some task.

Note: I have given up on 2.7.1 because the docs have not been updated enough on wxDialog for me to figure out the changes in the wx27 code and how to patch C::B.
Edit: Found suggestion that pointed me in the correct direction to get 2.7.1 to compile & link.

Note: I am working on getting the patches ready for C::B for wxWidgets 2.7.0; I still testing changes for problems with 2.63p2, having issues with the SVN changing for the files I am patching. I have decided to break my patch into 4 (plus 1 for 2.7.1) small patches. ( 5 total files involved in all patches for 2.7.0 and 2 files for 2.7.1 for now.)

Eventually launched with wxWidgets 2.7.2 on wxMac, after patching a couple of files. The wxAUI palettes are all blank, and some of the dialogs crash, but it did succceed to compile a link. We should get your wx 2.7 patches integrated with Code::Blocks as soon as possible to get ready for wxWidgets 2.8.0, I think.

Will upload the patches to BerliOS.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 06, 2006, 05:35:22 pm
Eventually launched with wxWidgets 2.7.2 on wxMac, after patching a couple of files. The wxAUI palettes are all blank, and some of the dialogs crash, but it did succceed to compile a link. We should get your wx 2.7 patches integrated with Code::Blocks as soon as possible to get ready for wxWidgets 2.8.0, I think.

Will upload the patches to BerliOS.


Many of the icons or bitmaps are missing under 2.72/CVS under windows also.

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 07, 2006, 10:42:22 pm
Release of wxWidgets 2.7.2 has been started.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 07, 2006, 10:50:44 pm
The first couple of tarballs were broken (had to be respun), and it looks like it still has issues with XRC when I tried the CVS earlier. All the images in the toolbars were missing, and the xrcdemo sample seemed to be crashing as well ? (posted some wxAUI and other patches to BerliOS)

So I guess that wx 2.7 will continue to be bleeding edge long after wx 2.8.0 arrives... Then again that's just in a week or so.  :shock:
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: sethjackson on November 08, 2006, 12:33:52 am
wxAUI is now part of wx so we shouldn't need it (in the C::B sources) anymore if (and presumeably when) C::B switches to either 2.7 or 2.8.

EDIT:

Shoulda read more carefully. :P
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: David Perfors on November 08, 2006, 07:43:58 am
Beside that, we have to wait for the thirdparty libs (wxScintilla amd wxPropGrid) to support the new version. That is nicer than patching those libs ourself.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 08, 2006, 08:53:58 am
The only thing I can find that requires WXWIN_COMPATIBILITY_2_4 to be 1 seems to be the use of wxHIDE_READONLY. So, when we are ready to move to support for wxWidgets 2.8 we need to decide how to handle wxHIDE_READONLY. I see two ways remove them or place then in #if wxCHECK_VERSION blocks.

Note: A third way I used as testing work around was to -DwxHIDE_READONLY=0 with WXWIN_COMPATIBILITY_2_4 set to 0 in setup.h.

I also looked up the deprecated methods messages on compiling C::B (did not look at contrib messages yet.)

2.4 deprecated methods with Good Methods under 2.6 per chm and headers
  ::wxStartTimer                       // This is deprecated use wxStopWatch::Start instead
  ::wxGetElapsedTime                // This is deprecated use wxStopWatch::Time instead
  wxDC::BeginDrawing                // This is deprecated and does nothing. Don't use.
  wxDC::EndDrawing                  // This is deprecated and does nothing. Don't use.
  ::wxGetWorkingDirectory          // See ::wxGetCwd as a replacement

2.6 deprecated methods with New Methods under 2.7 per chm and headers
  wxWindow::SetBestFittingSize    // See SetInitialSize(size) as a replacement
  wxWindow::GetBestFittingSize    // See GetEffectiveMinSize() as a replacement
  wxRect::Inside                        // See wxRect::Contains as a replacement
  wxAuiManager::SetFrame          // See wxAuiManager::SetManagedWindow as a replacement

deprecated methods with questions about how to fix or if they need fixing
  wxPathList::Member                 // May or may NOT be deprecated; conflicting code and docs
  __comp_ctor wxFontDialog::wxFontDialog see include/wx/msw/fontdlg.h:42


Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 08, 2006, 08:58:09 am
Note: A third way I used as testing work around was to -DwxHIDE_READONLY=0 with WXWIN_COMPATIBILITY_2_4 set to 0 in setup.h.

I did this too, but stuck it in the header.

Code
#if !WXWIN_COMPATIBILITY_2_4
#define wxHIDE_READONLY 0
#endif
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: afb on November 08, 2006, 09:00:47 am
wxAUI is now part of wx so we shouldn't need it (in the C::B sources) anymore if (and presumeably when) C::B switches to either 2.7 or 2.8.

Please see the AUI patch, there is no currently need to choose -
you can have same CB code link with both wx 2.6 and wx 2.8 ?

http://developer.berlios.de/patch/?func=detailpatch&patch_id=1630&group_id=5358
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: rjmyst3 on November 08, 2006, 01:10:42 pm
Beside that, we have to wait for the thirdparty libs (wxScintilla amd wxPropGrid) to support the new version. That is nicer than patching those libs ourself.

wxPropGrid and wxScintilla already support wxWidgets2.7 - we use them in wxFormBuilder, which is built with wxWidgets2.7.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 08, 2006, 06:18:00 pm
Beside that, we have to wait for the thirdparty libs (wxScintilla amd wxPropGrid) to support the new version. That is nicer than patching those libs ourself.

wxPropGrid and wxScintilla already support wxWidgets2.7 - we use them in wxFormBuilder, which is built with wxWidgets2.7.

FYI: mispunt commented on my patch that a newer wxPropGrid did work with wxWidgets2.7, but it does look like wxScintilla also works with wxWidgets2.7, which it looks like mispunt and I did NOT know. ( I also did not know about wxPropGrid.)

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 08, 2006, 06:20:53 pm
Links that shows open C::B patches for wxWidgets 2.7

http://developer.berlios.de/patch/index.php?group_id=5358&set=custom&_assigned_to=100&_status=1&_category=100&_summary_keyword=wxWidgets+2.7&SUBMIT=Browse

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: David Perfors on November 08, 2006, 06:48:01 pm
I didn't actually tested it, but I saw a message on the forum of wxPropGrid...
about the wxScintilla, where is the newest version (for download, I don't have CVS)?

Because the first RC of wx2.8 will come next week (they say...), I want to test those libs, so when they work without problems they could be added in the SVN. That way it would be easier to switch to wx2.8.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 08, 2006, 06:56:26 pm
I just downloaded wxscintilla_1.69.2.tar.gz from wxcode on sf.net.

That's the one shown on http://wxcode.sourceforge.net/components/wxscintilla/index.php

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: MortenMacFly on November 08, 2006, 07:00:21 pm
I just downloaded wxscintilla_1.69.2.tar.gz from wxcode on sf.net.
Working with that one for a long time now under linux and windows... no problems.
Anyway: A change of such a critical component as  wxScintilla might have serious side-effects we don't know yet. That may be worse that the issues we are experiencing now. Please keep that in mind. Anyway - if more people just "testing" wxScintilla"++"  - this would be helpful.
With regards, Morten.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: Ceniza on November 08, 2006, 07:28:36 pm
I just updated wxPdfDocument to version 0.7.6, which is 2.7.x aware without breaking 2.6.x. The Source Exporter plugin compiled without problems, even though it generated a few warnings (type conversion and not-handled enums).

Please check if the new version compiles without problems with 2.7 so the patch 1626 can be closed.

Committing...
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 08, 2006, 08:37:12 pm
I just updated wxPdfDocument to version 0.7.6, which is 2.7.x aware without breaking 2.6.x. The Source Exporter plugin compiled without problems, even though it generated a few warnings (type conversion and not-handled enums).

Please check if the new version compiles without problems with 2.7 so the patch 1626 can be closed.

Committing...

I just compiled C:B SVN 3195 and contribs with wx2.7 patches except for patch on wxPdfDocument against wxWidgets 2.7.2 this morning release (msw/windows XP) and it compiled OK with #define WXWIN_COMPATIBILITY_2_4 1.
now doing it with 2.4 set to 0.

Edit: It compiled OK with 2.4 set to 0.

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: David Perfors on November 09, 2006, 08:05:02 am
I just downloaded wxscintilla_1.69.2.tar.gz from wxcode on sf.net.
Working with that one for a long time now under linux and windows... no problems.
Anyway: A change of such a critical component as  wxScintilla might have serious side-effects we don't know yet. That may be worse that the issues we are experiencing now. Please keep that in mind. Anyway - if more people just "testing" wxScintilla"++"  - this would be helpful.
With regards, Morten.
I think it is a good idea to make a packages that is available for people to test it. The more people test, the sooner we know if there to much trouble or not.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: MortenMacFly on November 09, 2006, 08:43:33 am
I think it is a good idea to make a packages that is available for people to test it. The more people test, the sooner we know if there to much trouble or not.
Mmmmmh... I cannot provide a package but maybe a patch against SVN trunk that has the new wxScintilla sources implemented. These are not only the new wxScintilla sources but also all patches we have applied to wxScintilla for compatibility... So I should provide 2 patches maybe: One for the new wxScintilla itself and one for C::B. I'll think about this...
With regards, Morten.
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: David Perfors on November 09, 2006, 08:56:37 am
I can create the package ;) But I can't compile :S There are some linker error with wxPropGrid... (I didn't try scintilla yet...)
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 09, 2006, 07:35:19 pm
I can create the package ;) But I can't compile :S There are some linker error with wxPropGrid... (I didn't try scintilla yet...)

I have gotten wxPropGrid to compile against wx2.7.2; I will upload my patches to the wxPropGrid Site.
Will post link to them here.

Link to get it compile: https://sourceforge.net/tracker/?func=detail&atid=727083&aid=1593682&group_id=133406
Note: You must define WXMAKINGLIB_PROPGRID in the project

Link to fix wx2.7.2 issue:
https://sourceforge.net/tracker/?func=detail&atid=727083&aid=1593244&group_id=133406

Note: What is a good way to test wxPropGrid? I am not sure what it does in C::B.

Tim S
Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 16, 2006, 11:19:36 pm
They are looking at the icon/bitmap issue.

Tim S

http://article.gmane.org/gmane.comp.lib.wxwidgets.devel/80932

Added link to bug [ 1598839 ] Loading images from binary XML resource files is not possibl
https://sourceforge.net/tracker/?func=detail&atid=109863&aid=1598839&group_id=9863

Someone appears to have found the problem, but they are still working on how to fix it.

Title: Re: Will patches to compile and link C::B against wxWidgets 2.7.1 be accepted?
Post by: stahta01 on November 19, 2006, 10:15:53 am
Please use this thread for Patches to compile and link C::B against wxWidgets 2.8.0
http://forums.codeblocks.org/index.php?topic=4495.0

Tim S