Code::Blocks Forums

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: stahta01 on January 24, 2014, 04:21:41 pm

Title: Proposed CB header file of wxscintilla_cb.h
Post by: stahta01 on January 24, 2014, 04:21:41 pm
Propose: Is to include the real header of "sdk/wxscintilla/include/wx/wxscintilla.h"
Reason: The use of  "wx/wxscintilla.h" inside "include/sdk_common.h" requires all Plugins
 that use sdk.h to have the search folder of "sdk/wxscintilla/include" even if they do NOT need "wx/wxscintilla.h".

Problem A: This results in extra search folder being needed.
Problem B: If the search does NOT exist and the PCH of sdk.h does NOT exist it results in error if sdh.h is included in plugin.

I have attached a patch that seems to fix these problem; but, I wish feedback on the idea.

Is this a good fix?
Is there a better fix?

Deleted patch file.

Tim S.
Title: Re: Proposed CB header file of wxscintilla_cb.h
Post by: stahta01 on January 24, 2014, 06:25:36 pm
I am testing my fix with these two patches to the Devpak plugin.

The cb_cbp adds the search folder for the PCH without this patch the other one fails with the error can't find wx/wxscintilla.h.

I have NOT yet tested the working of the Devpak plugin.

Tim S.

Added to github https://github.com/stahta01/codeblocks/tree/master/Patches (https://github.com/stahta01/codeblocks/tree/master/Patches)

Title: Re: Proposed CB header file of wxscintilla_cb.h
Post by: ollydbg on January 25, 2014, 03:33:14 pm
Propose: Is to include the real header of "sdk/wxscintilla/include/wx/wxscintilla.h"
Reason: The use of  "wx/wxscintilla.h" inside "include/sdk_common.h" requires all Plugins
 that use sdk.h to have the search folder of "sdk/wxscintilla/include" even if they do NOT need "wx/wxscintilla.h".

Problem A: This results in extra search folder being needed.
Problem B: If the search does NOT exist and the PCH of sdk.h does NOT exist it results in error if sdh.h is included in plugin.

I have attached a patch that seems to fix these problem; but, I wish feedback on the idea.

Is this a good fix?
Is there a better fix?

Tim S.

Hi, Tim, thanks.
I'm generally Ok with your change.

Another method could be:

Do not create a new header file named "wxscintilla_cb.h", but replace all the text
Code
#include "wx/wxscintilla.h"
with
Code
#include "../sdk/wxscintilla/include/wx/wxscintilla.h"
Title: Re: Proposed CB header file of wxscintilla_cb.h
Post by: stahta01 on January 25, 2014, 07:59:34 pm
Decided to do your suggestion because it is simpler than my way.

Uploaded patch file to my github.com location.

Edit: Deleted old patch because it would NOT work on Linux

Tim S.
Title: Re: Proposed CB header file of wxscintilla_cb.h
Post by: oBFusCATed on January 25, 2014, 08:20:38 pm
Hm, I don't think this will work - there is no sdk folder when the headers get installed in the /usr/include on Linux.
Title: Re: Proposed CB header file of wxscintilla_cb.h
Post by: stahta01 on January 25, 2014, 09:27:49 pm
Hm, I don't think this will work - there is no sdk folder when the headers get installed in the /usr/include on Linux.

What is the path it is installed into on Linux?

Is it the same folder as sdk.h?

Tim S.
Title: Re: Proposed CB header file of wxscintilla_cb.h
Post by: oBFusCATed on January 25, 2014, 09:32:49 pm
On my machine:
Code
/usr/include/codeblocks/wxscintilla/include/wx/wxscintilla.h
/usr/include/codeblocks/sdk.h
Title: Re: Proposed CB header file of wxscintilla_cb.h
Post by: stahta01 on January 26, 2014, 05:22:32 pm
Hm, I don't think this will work - there is no sdk folder when the headers get installed in the /usr/include on Linux.

Saved a much larger patch; that will likely need fixes to makefile and cbp files to work.

https://github.com/stahta01/codeblocks/blob/master/Patches/cb_all_include_wxscintilla_cb_h.patch (https://github.com/stahta01/codeblocks/blob/master/Patches/cb_all_include_wxscintilla_cb_h.patch)

Edit: Plan to change patch to much smaller patch instead of the above patch.

Tim S.