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

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #60 on: September 08, 2015, 12:38:20 am »
By inspecting the build log?

That a lot of work for very little gain.

I will let you all to continue to waste time that way if you wish.

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 MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #61 on: September 08, 2015, 08:22:29 am »
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?
Oh - maybe I misunderstood the folder structure then. If they are in separate folders it would be fine... Maybe I should apply the interim patch and see myself. I just waited because you said there would be an update...
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 #62 on: September 08, 2015, 08:25:15 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.
I don't know if complete flattening is good. Third party libs may be needed in different versions (as the bzip lib, for example). So if the folders are "too flat" you would probably overwrite a library with a wrong version which is bad. Every target (being plugin or SDK) should have an own folder to cope with such.
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 stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #63 on: September 08, 2015, 01:30:45 pm »
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?
Oh - maybe I misunderstood the folder structure then. If they are in separate folders it would be fine... Maybe I should apply the interim patch and see myself. I just waited because you said there would be an update...

OK, I will remove the 30/64 once more.

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 #64 on: September 08, 2015, 01:32:02 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.
I don't know if complete flattening is good. Third party libs may be needed in different versions (as the bzip lib, for example). So if the folders are "too flat" you would probably overwrite a library with a wrong version which is bad. Every target (being plugin or SDK) should have an own folder to cope with such.

I will add back the contrib folders; but, NOT the sdk and base folders.

Tim S.
« Last Edit: September 08, 2015, 02:04:56 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 #65 on: September 08, 2015, 02:13:40 pm »
Still building several contrib projects; wxContribItem and wxSmith are the main ones to change output below:

Code
$ tree src/lib
src/lib
|-- contrib
|   |-- SpellChecker
|   |   |-- libhunspell.a
|   |   `-- libwxSpellChecker.a
|   |-- devpak_plugin
|   |   `-- libbz2.a
|   |-- help_plugin
|   |   |-- libbzip2.a
|   |   `-- libz.a
|   |-- source_exporter
|   |   `-- libwxPdfDocument.a
|   `-- wxSmithPlot
|       `-- libMathPlot.a
|-- libcodeblocks.a
|-- libdepslib.a
|-- libsqplus.a
|-- libsqstdlib.a
|-- libsquirrel.a
|-- libtxml.a
|-- libwxchartctrl.a
|-- libwxflatnotebook.a
|-- libwxpropgrid.a
`-- libwxscintilla_cb.a

6 directories, 17 files

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 #66 on: September 08, 2015, 08:25:20 pm »
MortenMacFly: Link to updated patches. Tried PM, also.

https://github.com/stahta01/cb_misc/tree/master/Patches/Git-am

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 #67 on: September 08, 2015, 11:16:45 pm »
I don't know if complete flattening is good. Third party libs may be needed in different versions (as the bzip lib, for example). So if the folders are "too flat" you would probably overwrite a library with a wrong version which is bad. Every target (being plugin or SDK) should have an own folder to cope with such.
Keep in mind that this will lead to a disaster if it happens on linux!
There we are building with every symbol being visible. Which means that the first symbol named X to load wins and will be called, no matter if the code is expecting the other symbol. This is named symbol collision and it is pretty bad.

Why are there two different bzip implementations? As far as I can see they are named differently (bz2 and bzip2). Are they the same thing? Same API?
(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 #68 on: September 11, 2015, 05:55:19 pm »
I don't know if complete flattening is good. Third party libs may be needed in different versions (as the bzip lib, for example). So if the folders are "too flat" you would probably overwrite a library with a wrong version which is bad. Every target (being plugin or SDK) should have an own folder to cope with such.
Keep in mind that this will lead to a disaster if it happens on linux!
There we are building with every symbol being visible. Which means that the first symbol named X to load wins and will be called, no matter if the code is expecting the other symbol. This is named symbol collision and it is pretty bad.

Why are there two different bzip implementations? As far as I can see they are named differently (bz2 and bzip2). Are they the same thing? Same API?

I have no idea why there is  two different bzip implementations; will check in the furture about why.

Here's the layout I am trying to use in Linux; still have a ways to go before the patch is ready.
Any reasons why this layout is bad? Or ways to improve it?
Code
$ tree src/lib src/lib28 src/lib30
src/lib
+-- contrib
|   +-- help_plugin
|       +-- libbzip2.a
|       +-- libz.a
+-- libdepslib.a
+-- libsqplus.a
+-- libsqstdlib.a
+-- libsquirrel.a
+-- libtxml.a
src/lib28
+-- contrib
|   +-- source_exporter
|   |   +-- libwxPdfDocument.a
|   +-- SpellChecker
|       +-- libwxSpellChecker.a
+-- libwxscintilla_cb.a
src/lib30
+-- contrib
|   +-- source_exporter
|   |   +-- libwxPdfDocument.a
|   +-- SpellChecker
|       +-- libwxSpellChecker.a
+-- libwxscintilla_cb.a

8 directories, 13 files

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 #69 on: September 11, 2015, 08:50:16 pm »
One thing for sure - don't build or use libz.a. We should use the system provided version on linux!
(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 #70 on: September 11, 2015, 10:09:42 pm »
One thing for sure - don't build or use libz.a. We should use the system provided version on linux!

Thanks, that is the type of feedback I need.
FYI: I do NOT think I added building of libz.a; so, it might be that way in trunk.

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 #71 on: September 12, 2015, 01:43:46 am »
Yes, it is that way but this should be fixed. The zlib stuff should be removed from unix projects (hopefully osx has libz).
(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 MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: exchndl related patch because win32/lib folder is empty in SVN
« Reply #72 on: September 25, 2015, 12:07:47 pm »
Yes, it is that way but this should be fixed. The zlib stuff should be removed from unix projects (hopefully osx has libz).
I think it is. These libs are only for Windows, where bz2 and zlib are not guaranteed to be shipped with the compiler.

For the record: BZIP and ZLIB are used in the devpacks and help plugin.

I've updated the sources in SVN so that they use the same (up-to-date) versions of the lib.
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 #73 on: September 25, 2015, 12:14:03 pm »
For the record: BZIP and ZLIB are used in the devpacks and help plugin.
Oh well, we have another location: The wxSpellChecker uses bzlib2, too... :-/ Its now the same version, but is looks like this lib should be put into the core...
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