Author Topic: exchndl related patch because win32/lib folder is empty in SVN  (Read 38585 times)

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #45 on: September 06, 2015, 03:09:33 am »
Ok now it's clear. I still think introducing variables for output/intermediate folders is not a good idea because of the main update script but a separate lib folder sounds good.

I am starting work on adding the lib30 folder to the wx30 CB projects.
Next, will be adding lib30_64 folder.
Last, I will work on adding lib and lib30 to the Linux CB Projects.
All of the work will be without using new CB custom vars; since at least two devs are against that for some reason I fail to follow.

Edit: Feedback wanted a single big patch or as I think best two patches one with the CB reformatting and the second with the real change?

Tim S.
Here is my point:
1, I'm OK with the 0001.patch(also, I prefer the two patches version, a single big patch is too bad), which is a obvious patch
2, about your 0002 patch. Put all the libs in a single folder is a good idea. I see two versions: one version you use CB_BIN, CB_LIB, CB_OBJ, the other one version you just use the relative paths.  I prefer the first version, because, if we use CB_XXX variable in both "codeblocks.cbp", and "codeblocks_wx30.cbp" and ""codeblocks_wx30_64.cbp", then those three cpb files looks much the same. Since in many cases, only the CB_XXX are different.
3, about the update*.bat, I think we can create a "target" in the cbp which do the job, manually run them is not quite good idea.
« Last Edit: September 06, 2015, 03:15:25 am by ollydbg »
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #46 on: September 06, 2015, 03:24:00 am »
Ok now it's clear. I still think introducing variables for output/intermediate folders is not a good idea because of the main update script but a separate lib folder sounds good.

I am starting work on adding the lib30 folder to the wx30 CB projects.
Next, will be adding lib30_64 folder.
Last, I will work on adding lib and lib30 to the Linux CB Projects.
All of the work will be without using new CB custom vars; since at least two devs are against that for some reason I fail to follow.

Edit: Feedback wanted a single big patch or as I think best two patches one with the CB reformatting and the second with the real change?

Tim S.
Here is my point:
1, I'm OK with the 0001.patch(also, I prefer the two patches version, a single big patch is too bad), which is a obvious patch
2, about your 0002 patch. Put all the libs in a single folder is a good idea. I see two versions: one version you use CB_BIN, CB_LIB, CB_OBJ, the other one version you just use the relative paths.  I prefer the first version, because, if we use CB_XXX variable in both "codeblocks.cbp", and "codeblocks_wx30.cbp" and ""codeblocks_wx30_64.cbp", then those three cpb files looks much the same. Since in many cases, only the CB_XXX are different.
3, about the update*.bat, I think we can create a "target" in the cbp which do the job, manually run them is not quite good idea.

I agree that CB_XXX variable version is better; but, others do NOT agree.
I plan to finish completely the patch without using CB_XXX variables.
And, I will then create a new patch for myself that uses CB_XXX variables.
I will post a link to it; and you can feel free to try to get it applied upstream.

I think just getting the lib,lib30, and lib30_64 patch(es) applied is all I feel up to making the effort to get applied to SVN.

Point 3. I think having a single manually called batch file per project group to copy files from devel* to output* is better than having a target in the CB project call batch files. Project group means like the Windows_32bit_wx28, Windows_32bit_wx30, and Windows_64bit_wx30.

Tim S.
« Last Edit: September 06, 2015, 03:30:21 am by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #47 on: September 07, 2015, 02:00:48 pm »
Found that my add lib patches was NOT needed to remove the warning and likely not needed to remove the build error.

I needed to move "exchndl/win32/lib" before "devel" in the linker search and deleted the src target pre-build step file deletion.
And, my warning went away.

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #48 on: September 07, 2015, 02:04:41 pm »
The lib folder structure in code tags below
I added folders for the static libs and removed lib name suffixes of 30, 64, or 30_64.

Code
lib
|-- base
|   `-- libtxml.a
|-- libcodeblocks.a
|-- libwxchartctrl.a
|-- libwxcustombutton.a
|-- libwxflatnotebook.a
|-- libwximagepanel.a
|-- libwxkwic.a
|-- libwxled.a
|-- libwxpropgrid.a
|-- libwxsmithlib.a
|-- libwxspeedbutton.a
|-- libwxtreelist.a
|-- plugins
|   |-- compilergcc
|   |   `-- libdepslib.a
|   `-- contrib
|       |-- SpellChecker
|       |   |-- libhunspell.a
|       |   `-- libwxSpellChecker.a
|       |-- devpak_plugin
|       |   `-- libbz2.a
|       |-- help_plugin
|       |   |-- libbzip2.a
|       |   `-- libz.a
|       |-- source_exporter
|       |   `-- libwxPdfDocument.a
|       `-- wxSmithPlot
|           `-- libMathPlot.a
`-- sdk
    |-- libsqplus.a
    |-- libsqstdlib.a
    |-- libsquirrel.a
    `-- libwxscintilla_cb.a

10 directories, 24 files


lib30
|-- base
|   `-- libtxml.a
|-- libcodeblocks.a
|-- libwxchartctrl.a
|-- libwxcustombutton.a
|-- libwxflatnotebook.a
|-- libwximagepanel.a
|-- libwxkwic.a
|-- libwxled.a
|-- libwxsmithlib.a
|-- libwxspeedbutton.a
|-- plugins
|   |-- compilergcc
|   |   `-- libdepslib.a
|   `-- contrib
|       |-- SpellChecker
|       |   |-- libhunspell.a
|       |   `-- libwxSpellChecker.a
|       |-- devpak_plugin
|       |   `-- libbz2.a
|       |-- help_plugin
|       |   |-- libbzip2.a
|       |   `-- libz.a
|       `-- source_exporter
|           `-- libwxPdfDocument.a
`-- sdk
    |-- libsqplus.a
    |-- libsqstdlib.a
    |-- libsquirrel.a
    `-- libwxscintilla_cb.a

9 directories, 21 files


lib30_64
|-- base
|   `-- libtxml.a
|-- libcodeblocks.a
|-- libwxchartctrl.a
|-- libwxcustombutton.a
|-- libwxflatnotebook.a
|-- libwximagepanel.a
|-- libwxkwic.a
|-- libwxled.a
|-- libwxsmithlib.a
|-- libwxspeedbutton.a
|-- plugins
|   |-- compilergcc
|   |   `-- libdepslib.a
|   `-- contrib
|       |-- SpellChecker
|       |   |-- libhunspell.a
|       |   `-- libwxSpellChecker.a
|       |-- devpak_plugin
|       |   `-- libbz2.a
|       |-- help_plugin
|       |   |-- libbzip2.a
|       |   `-- libz.a
|       `-- source_exporter
|           `-- libwxPdfDocument.a
`-- sdk
    |-- libsqplus.a
    |-- libsqstdlib.a
    |-- libsquirrel.a
    `-- libwxscintilla_cb.a

9 directories, 21 files
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #49 on: September 07, 2015, 02:12:43 pm »
Updated patches; I am still testing these patches.
My windows 64 bit computer over heated last night; so, I really need to at least test 64 bit version.

And, I plan to do a full rebuild of all three groups of patches.
(three groups: Windows 32bit wx2.8, Windows 32bit wx3.0, Windows 64bit wx3.0)

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5910
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #50 on: September 07, 2015, 03:16:19 pm »
Found that my add lib patches was NOT needed to remove the warning and likely not needed to remove the build error.

I needed to move "exchndl/win32/lib" before "devel" in the linker search and deleted the src target pre-build step file deletion.
And, my warning went away.

Tim S.
I already states this idea, see: Re: exchndl related patch because win32/lib folder is empty in SVN, but no one response to my idea.  :(
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #51 on: September 07, 2015, 03:56:02 pm »
I added folders for the static libs and removed lib name suffixes of 30, 64, or 30_64.
Why did you remove the post-fixes? They are required as wx30 cannot be mixed with wx28 libs and 32 bits cannot be mixed with 64 bits...?!
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #52 on: September 07, 2015, 03:56:59 pm »
I already states this idea, see: Re: exchndl related patch because win32/lib folder is empty in SVN, but no one response to my idea.  :(
You could have done this directly... ;-)
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #53 on: September 07, 2015, 09:04:44 pm »
Also do we need to have such complex file structure in the libs folder?
Why don't you flatten or at least group libs by purpose - sdk and plugins for example.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #54 on: September 07, 2015, 11:49:49 pm »
I added folders for the static libs and removed lib name suffixes of 30, 64, or 30_64.
Why did you remove the post-fixes? They are required as wx30 cannot be mixed with wx28 libs and 32 bits cannot be mixed with 64 bits...?!

I thought being in separate folders would be enough; if you wish I can add the suffixes back.
Do you wish me to to that?

Tim S.
 
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #55 on: September 07, 2015, 11:55:20 pm »
Also do we need to have such complex file structure in the libs folder?
Why don't you flatten or at least group libs by purpose - sdk and plugins for example.

I can flatten if you want me to; but, it seemed safer to keep them in separate folders.

Will the folders base, sdk, and plugins be OK with you?
The ones in the SDK folder should only be used to make the SDK and its supporting libs.
While base seems to be used by sdk, plugins, and tools.
So, I can tinyxml in plugins or I can have it in the base folder.

So, would you want a base folder or not?

Edit: Other option is just to keep the sdk folder and the rest in the lib folder without a sub-folder.
Too many plugins where using the SDK libs my mistake for me to remove the SDK sub-folder.

Tim S.

« Last Edit: September 07, 2015, 11:58:03 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #56 on: September 08, 2015, 12:02:57 am »
Also do we need to have such complex file structure in the libs folder?
Why don't you flatten or at least group libs by purpose - sdk and plugins for example.

I can flatten if you want me to; but, it seemed safer to keep them in separate folders.

Will the folders base, sdk, and plugins be OK with you?
The ones in the SDK folder should only be used to make the SDK and its supporting libs.
While base seems to be used by sdk, plugins, and tools.
So, I can tinyxml in plugins or I can have it in the base folder.

So, would you want a base folder or not?

Edit: Other option is just to keep the sdk folder and the rest in the lib folder without a sub-folder.
Too many plugins where using the SDK libs my mistake for me to remove the SDK sub-folder.

Tim S.

I have decided to finish testing the patches for windows one last time on Windows 64 bit.
And, then to change the lib layout to use the SDK sub-folder only. And, to start testing my patches that way.
I will also likely add back the libname suffix (of 30/64) at the same time.
Will likely take a while for me to do these changes.

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #57 on: September 08, 2015, 12:05:13 am »
If I were you I'd either do one of
1. sdk (where all libs needed by plugins are placed) and plugins (where libs needed by some plugins are placed).
2. place all libs in a single folder
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #58 on: September 08, 2015, 12:09:17 am »
If I were you I'd either do one of
1. sdk (where all libs needed by plugins are placed) and plugins (where libs needed by some plugins are placed).
2. place all libs in a single folder

How to keep the plugins from linking to libs that they should NOT link to in that layout?
There was one or more plugins linking or depending on wxscintilla_cb in my patch that was found because of the sub-folder SDK that was needed only by the SDK.

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #59 on: September 08, 2015, 12:20:42 am »
By inspecting the build log?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]