Code::Blocks Forums

User forums => Help => Topic started by: MP2E on December 16, 2007, 03:15:44 am

Title: A way to make an All-in-one install package for linux?
Post by: MP2E on December 16, 2007, 03:15:44 am
Is there a way to include a wxWidgets Library into a linux installer to be able to run Code::Blocks without installing wxWidgets on the user's machine?
Title: Re: A way to make an All-in-one install package for linux?
Post by: JGM on December 16, 2007, 02:39:50 pm
Is there a way to include a wxWidgets Library into a linux installer to be able to run Code::Blocks without installing wxWidgets on the user's machine?

Maybe compiling codeblocks statically to wxWidgets, but the binary would be huge. Also you can check http://autopackage.org/ and share your experience if you have any success installing in multiple linux distros.
Title: Re: A way to make an All-in-one install package for linux?
Post by: stahta01 on December 16, 2007, 03:25:36 pm
Is there a way to include a wxWidgets Library into a linux installer to be able to run Code::Blocks without installing wxWidgets on the user's machine?

Maybe compiling codeblocks statically to wxWidgets, but the binary would be huge. Also you can check http://autopackage.org/ and share your experience if you have any success installing in multiple linux distros.

FYI: The design of Code::Blocks requires wxWidgets to be Shared. The Code::Blocks plugins need to use the same Shared wxWidgets. So, you would have to do the plugins in a static method also to do wxWidgets static

Tim S
Title: Re: A way to make an All-in-one install package for linux?
Post by: thomas on December 16, 2007, 07:32:35 pm
FYI: The design of Code::Blocks requires wxWidgets to be Shared. The Code::Blocks plugins need to use the same Shared wxWidgets. So, you would have to do the plugins in a static method also to do wxWidgets static
Can you explain what exactly requires wxWidgets to be a shared library?
It just so happens that we use it as shared library because it's the easiest thing to manage, and results in much less total executable size. Also, wxWidgets can be a real pain to use as shared library.
However, I don't see why it should be impossible by design to build with static libs if someone absolutely wants to do that (for whatever reason).
Title: Re: A way to make an All-in-one install package for linux?
Post by: stahta01 on December 16, 2007, 09:53:48 pm
FYI: The design of Code::Blocks requires wxWidgets to be Shared. The Code::Blocks plugins need to use the same Shared wxWidgets. So, you would have to do the plugins in a static method also to do wxWidgets static
Can you explain what exactly requires wxWidgets to be a shared library?
It just so happens that we use it as shared library because it's the easiest thing to manage, and results in much less total executable size. Also, wxWidgets can be a real pain to use as shared library.
However, I don't see why it should be impossible by design to build with static libs if someone absolutely wants to do that (for whatever reason).

I was assuming that the Plugins and the SDK needs to link to the same wxWidgets for the plugins to work right. Are you saying that this is not required?

They could use multiple static wxWidgets and things would work right?

Tim S

PS: I am going to try it under windows, but it won't mean much for Linux if it fails under windows because Linux has slightly better linking and other OS support.

I gave up wxScintilla, as DLL build, has linking issues against static wxWidgets.