Code::Blocks Forums

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: killerbot on April 25, 2007, 12:40:24 pm

Title: Windows Nightlies switching to wx2.8.3
Post by: killerbot on April 25, 2007, 12:40:24 pm
We have decided to switch to wx2.8.3 on windows.
This means a few things :

1) all cbp files will be updated so they now specify :
   - to link against : wxmsw28$(WX_SUFFIX)
   - put their object files in .objs (so no longer .objs\2.6)

2) You can safely delete that .objs\2.6 directory from your source tree, when you don't want to start in a claan fresh svn checkout

3) if you build CB yourself, you will have to build wx2.8.3 and adjust the global variable value for wx in CB

4) when all goes well tonight's nightly is based upon wx2.8.3 and as such we will provide the new wx dll.

5) plug-in developers (which are not in the contributed svn) will have to rebuild


Note : in the future there will be a unified project file (valid for all platforms : windows, linux, mac, ...) where the wx version will be specified through a script.

Note 2 : currently there are a lot of warnings, there are already patches available. We will start applying them one by one, so we reduce the warnings.
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: rjmyst3 on April 25, 2007, 01:07:54 pm
this is fantastic.
good work.
 :D
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: Pecan on April 25, 2007, 02:39:31 pm
Does this mean wx2.8.3 on windows but wx2.6.3 on Linux?
Or did this mean 2.8.3 for all?
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: cstudent on April 25, 2007, 02:53:00 pm
In Ubuntu repos:

Dapper = wx 2.6.1
Edgy = wx 2.6.3
Feisty = wx 2.8.1 (wx2.6.3 also available)
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: Pecan on April 25, 2007, 03:05:06 pm
In Ubuntu repos:

Dapper = wx 2.6.1
Edgy = wx 2.6.3
Feisty = wx 2.8.1 (wx2.6.3 also available)


http://www.wxwidgets.org/downloads/

Quote
# Binaries

    * wxGTK Ubuntu packages for 2.8.3 are available. To use them please add

          deb http://apt.tt-solutions.com/ubuntu/ dapper main

      (or edgy instead of dapper if you use that release) to your /etc/apt/sources.list file and add the public key used for signing wxWidgets packages to the list of keys trusted by apt using the command

          curl http://www.tt-solutions.com/vz/key.asc | apt-key add -

      and run apt-get update. You can then use
      apt-cache search --names-only wx\*2.8 command to see the available packages.

      Please notice that Ubuntu packages are only currently available for Dapper x86 and Edgy amd64 architectures.

# De
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: killerbot on April 25, 2007, 03:16:23 pm
on linux it depends on your distribution (and wat you want to use), so that's more difficult to have people upgrade; On windows it's very easy for nightlies users, they just need a new dll.
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: kisoft on April 25, 2007, 04:03:36 pm
on linux it depends on your distribution (and wat you want to use), so that's more difficult to have people upgrade; On windows it's very easy for nightlies users, they just need a new dll.
On Windows XP SP2: CB rev.3887 was normally compiled with all contrib plugins. I do works on this version CB now.
History: I download wxWidgets 2.8.3 (in src) and build it. Change *.cbp files and rebuild CB. No errors. Great!
Good luck!
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: cstudent on April 25, 2007, 04:55:04 pm
I just tried building a .deb on Ubuntu 7.04 (Feisty) with rev3888. It failed with the following error:

Code
codesnippets.cpp: In member function 'void CodeSnippets::OnTreeCtrlEvent(wxTreeEvent&)':
codesnippets.cpp:854: error: 'GDK_WINDOW_XDISPLAY' was not declared in this scope
codesnippets.cpp:855: error: 'None' was not declared in this scope
codesnippets.cpp:856: error: 'GDK_WINDOW_XID' was not declared in this scope
codesnippets.cpp:858: error: 'XWarpPointer' was not declared in this scope
make[6]: *** [codesnippets.lo] Error 1
make[6]: Leaving directory `/tmp/buildd/codeblocks-1.0svn.rev3888/src/plugins/contrib/codesnippets'

Probably from contribs not being ready for the change to wx2.8? Or is it because of Feisty using wx2.8.1 instead of 2.8.3?

Title: Re: Windows Nightlies switching to wx2.8.3
Post by: wxLearner on April 25, 2007, 06:01:54 pm
on linux it depends on your distribution (and wat you want to use), so that's more difficult to have people upgrade; On windows it's very easy for nightlies users, they just need a new dll.
Isn't the same practice possible on linux too? What about using a shell script, that sets the environment variable LD_LIBRARY_PATH to point the dynamic linker to the shared object (in the codeblocks directory or anywhere else) and then starts codeblocks? So one could download an official Code::Blocks build of wxWidgets for linux and put it where the script points the linker to, or put it anywhere and modify the script by settting LD_LIBRARY_PATH to the chosen location.
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: kelo81 on April 25, 2007, 06:47:40 pm
And what's the impact on Codeblocks by changing this lib?, appart of bug fixes, does this mean some improvements?, better performance?, more features to be implemented on Codeblocks?.
If so, why not to apply this in Linux too?, after all, even for those users not having a precompiled package, it could be possible to just compile wx2.8 before CB and it should work  :D (In the future, the Wiki may give some help for those users who need to compile wx2.8 from sources themselves).

You're doing an exelent job here!!
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: darthdespotism on April 25, 2007, 06:54:18 pm
I'm really looking forward to see this ugly Bug with Drag'n'Drop in wxGTK no longer disturbing me :)

So hopefully there will be at least sources for wx2.8 on Linux soon
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: killerbot on April 25, 2007, 07:53:30 pm
And what's the impact on Codeblocks by changing this lib?, appart of bug fixes, does this mean some improvements?, better performance?, more features to be implemented on Codeblocks?.
If so, why not to apply this in Linux too?, after all, even for those users not having a precompiled package, it could be possible to just compile wx2.8 before CB and it should work  :D (In the future, the Wiki may give some help for those users who need to compile wx2.8 from sources themselves).

You're doing an exelent job here!!

there are some fixes, some of them we backported in our customized wx263 dll.
But now we are back on track with wx. New features of wx will not be used for the moment, first wx28 should become mainstream.
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: afb on April 26, 2007, 09:52:22 am
We have decided to switch to wx2.8.3 on windows.

Mac OS X will switch to using wxWidgets 2.8.3 too,
once the wxSmith "issues" have been sorted out...

Even less of a problem there, since it (wxWidgets) is
bundled within the CodeBlocks.app application bundle.
Will still need to fix the new wxMac bugs with wx 2.8,
such as the missing menus, but that's another story.
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: Biplab on April 26, 2007, 12:33:19 pm
And what's the impact on Codeblocks by changing this lib?, appart of bug fixes, does this mean some improvements?, better performance?, more features to be implemented on Codeblocks?.

Impact:
On Windows, killerbot has explained about menu item fixes.
On Linux, wxGTK drag & drop fix should be one of the interesting ones. There other improvements (e.g., Links pointing to Bug reporting sites will now work in Linux).

There could be more which I'm not aware of. But one improvement is wx 2.6 related bugs will get fixed. :)

@killerbot

There are a number of warnings during the build. Most of them are due to change in wx API.

There are couple of warnings related to deprecated functions in wxScintilla.

Regards,

Biplab
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: dje on April 26, 2007, 01:42:46 pm
Quote
And what's the impact on Codeblocks by changing this lib?, appart of bug fixes, does this mean some improvements?, better performance?, more features to be implemented on Codeblocks?.

The only fact of being up-to-date with wxWidgets is itself a really big improvement  :D

Great work !

Dje
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: MortenMacFly on April 26, 2007, 10:37:56 pm
Hi all,

I'd rather stick with 2.6.4 personally for mainly 2 reasons:
1.) I still only have a very slow modem thus nearly no bandwidth so no chance to d/l the wxWidgets package ATM.
2.) I'll report back if any changes related to 2.8.3 will destroy backward compatibility to 2.6.x (on Windows)... at least until all changes concerning 2.8.3 are done.

With regards, Morten.

Ps.: BTW: My German ISP sucks. I got a letter today that there will be no DSL until July... :-( Unfortunately my "contract" concerning the flatrate lasts until September which is even worse. I'm still phone-fighting with this company (repeating: that *sucks*) to quit early and stick with another (much better) ISP... wish me luck. It's not so easy one would believe. :evil:
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: Biplab on April 27, 2007, 07:57:27 am
It's bad..  :x

But if you want, I can send you the compiled wx 2.8.3 (Bare Minimum files necessary for compiling C::B). :)

BTW, wx 2.8.4 will be released soon. RC1 have been released couple of days back.
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: stahta01 on May 03, 2007, 07:05:28 am
It's bad..  :x

But if you want, I can send you the compiled wx 2.8.3 (Bare Minimum files necessary for compiling C::B). :)

BTW, wx 2.8.4 will be released soon. RC1 have been released couple of days back.

RC2 failed to compile for me a few hours back.
Tim S
Title: Re: Windows Nightlies switching to wx2.8.3
Post by: stahta01 on May 04, 2007, 06:27:51 am
FYI: @MortenMacFly

Here's my batch file I use to change the Code::Blocks projects to using wxWidgets 2.6. I manually edit the workspace file to match. Tim S

Uses GnuWin32 sed command.

sed-wxW26.bat
Code
SET PATH=C:\Program Files\GnuWin32\bin

sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\CodeBlocks.cbp                                  | sed "s/Option object_output=\".objs\\2.6\"/Option object_output=\".objs\\2.8\"/g" > src\CodeBlocks-wx26.cbp

sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\tools\cb_share_config\cb_share_config.cbp       | sed "s/Option object_output=\"..\\..\\.objs\\2.6\\tools/Option object_output=\"..\\..\\.objs\\2.8\\tools/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\tools\cb_share_config\cb_share_config-wx26.cbp

sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\byogames\byogames.cbp           | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\byogames\byogames-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\cb_koders\cb_koders.cbp         | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\cb_koders\cb_koders-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\codesnippets\codesnippets.cbp   | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\codesnippets\codesnippets-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\codestat\codestat.cbp           | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\codestat\codestat-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\copystrings\copystrings.cbp     | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\copystrings\copystrings-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\devpak_plugin\DevPakPlugin.cbp  | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\devpak_plugin\DevPakPlugin-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\dragscroll\dragscroll.cbp       | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\dragscroll\dragscroll-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\envvars\envvars.cbp             | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\envvars\envvars-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\help_plugin\help-plugin.cbp     | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\help_plugin\help-plugin-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\keybinder\keybinder.cbp         | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\keybinder\keybinder-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\lib_finder\lib_finder.cbp       | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\lib_finder\lib_finder-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\profiler\cbprofiler.cbp         | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\profiler\cbprofiler-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\source_exporter\Exporter.cbp    | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\source_exporter\Exporter-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\symtab\symtab.cbp               | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\symtab\symtab-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\regex_testbed\RegExTestbed.cbp              | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\regex_testbed\RegExTestbed-wx26.cbp
sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\wxSmith\wxSmith.cbp                         | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\wxSmith\wxSmith-wx26.cbp

sed "s/wxmsw28\$(WX_SUFFIX)/wxmsw26\$(WX_SUFFIX)/g" src\plugins\contrib\wxSmithContribItems\wxSmithContribItems.cbp | sed "s/Option object_output=\"..\\..\\..\\.objs\\2.6\\plugins/Option object_output=\"..\\..\\..\\.objs\\2.8\\plugins/g" | sed "s/Option deps_output=\"..\\..\\..\\.deps\\2.6\\plugins/Option deps_output=\"..\\..\\..\\.deps\\2.8\\plugins/g" > src\plugins\contrib\wxSmithContribItems\wxSmithContribItems-wx26.cbp

PAUSE