News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

exchndl related patch because win32/lib folder is empty in SVN

Started by stahta01, July 27, 2015, 03:25:24 AM

Previous topic - Next topic

stahta01

Quote from: oBFusCATed on September 08, 2015, 12:20:42 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++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

MortenMacFly

Quote from: stahta01 on September 07, 2015, 11:49:49 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...
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

MortenMacFly

Quote from: stahta01 on September 07, 2015, 11:55:20 PM
Quote from: oBFusCATed 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.
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: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

stahta01

Quote from: MortenMacFly on September 08, 2015, 08:22:29 AM
Quote from: stahta01 on September 07, 2015, 11:49:49 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++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

stahta01

Quote from: MortenMacFly on September 08, 2015, 08:25:15 AM
Quote from: stahta01 on September 07, 2015, 11:55:20 PM
Quote from: oBFusCATed 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.
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.
C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

stahta01

Still building several contrib projects; wxContribItem and wxSmith are the main ones to change output below:


$ 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++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

stahta01

C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

oBFusCATed

Quote from: MortenMacFly on September 08, 2015, 08:25:15 AM
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!]

stahta01

Quote from: oBFusCATed on September 08, 2015, 11:16:45 PM
Quote from: MortenMacFly on September 08, 2015, 08:25:15 AM
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?

$ 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++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

oBFusCATed

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!]

stahta01

Quote from: oBFusCATed 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!

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++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

oBFusCATed

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!]

MortenMacFly

Quote from: oBFusCATed 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).
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: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

MortenMacFly

Quote from: MortenMacFly on September 25, 2015, 12:07:47 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: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]