GCC version for MS Windows packages

General questions regarding the usage of CodeLite
marfi
CodeLite Expert
Posts: 159
Joined: Mon Nov 03, 2008 9:17 pm
Contact:

GCC version for MS Windows packages

Post by marfi »

Hi Eran,
you have told me some time ago that you intend to use MinGW/GCC 4.4.0 in next CL packages/installers for Windows. Which MinGW/GCC distribution version do you plan to use? Will it include OpenMP support? I suggest to use one of GCC compilers provided by TDM (see http://www.tdragon.net/recentgcc/ ) at least because of included support for OpenMP and pthreads. The best choice is probably GCC with SJLJ Unwinding. I use it together with wxPack on Windows for a long time without any problem.

Best regards
Michal
frank_frl
CodeLite Expert
Posts: 176
Joined: Sun Aug 17, 2008 2:45 pm
Contact:

Re: GCC version for MS Windows packages

Post by frank_frl »

User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: GCC version for MS Windows packages

Post by eranif »

I am NOT going to use TDM version, I am only using the official releases of MinGW project.
The current codelite (from trunk) is built with GCC4.4.0 - SJLJ, the version which is in the MinGW official

Eran
Make sure you have read the HOW TO POST thread
frank_frl
CodeLite Expert
Posts: 176
Joined: Sun Aug 17, 2008 2:45 pm
Contact:

Re: GCC version for MS Windows packages

Post by frank_frl »

Hi Eran,
The current codelite (from trunk) is built with GCC4.4.0 - SJLJ, the version which is in the MinGW official
are you sure that you using SJLJ, since this is from the official readme for GCC4.4.0 from MinGW.org

Code: Select all

- Zero cost exceptions: New exception model Dwarf only has performance
  penalty when being thrown.  The old model, SJLJ, is no longer
  available.
And also the libgcc_s_dw2-1.dll dependency for the CodeliteIndexer insinuates that you are using Dwarf.

BTW if one don't needs exceptions across DLL boundaries, one can get rid of this dependency by using the '-static-libgcc' linker flag.

Frank
marfi
CodeLite Expert
Posts: 159
Joined: Mon Nov 03, 2008 9:17 pm
Contact:

Re: GCC version for MS Windows packages

Post by marfi »

And what about the OpenMP support? Is it included in your build? It is a great GCC's addon and the only free way how to create fully parallelized applications using OpenMP stardard language extension (Intel C++ and MS VC++ support OpenMP in paid versions only).
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: GCC version for MS Windows packages

Post by eranif »

marfi wrote:Is it included in your build?
I am NOT building GCC myself, I am using the *official* release. The only thing that I am doing, is packaging it
marfi wrote:And what about the OpenMP support?
I am not familiar with this (I dont even know if it is a DLL, standard or whatever ;)) . However, if OpenMP is available for download from MinGW download page, and its size is relatively small, I dont mind to including it.

If it requires different build for the GCC - I am not going to build GCC myself, this is not my intention.
frank_frl wrote:are you sure that you using SJLJ
You are correct, its DW2

I forgot to mention: my current package also includes pthreads
Eran
Make sure you have read the HOW TO POST thread
marfi
CodeLite Expert
Posts: 159
Joined: Mon Nov 03, 2008 9:17 pm
Contact:

Re: GCC version for MS Windows packages

Post by marfi »

marfi wrote:
And what about the OpenMP support?

I am not familiar with this (I dont even know if it is a DLL, standard or whatever ) . However, if OpenMP is available for download from MinGW download page, and its size is relatively small, I dont mind to including it.
OpenMP is a standard for creation of parallelized applications on SMP machines (it meas on all multi-core/multi-cpu PCs, etc.). It allows you to parallelize your code using special preprocessor commands and library functions (you can parallelize even for-loop iterations!). It is part of GCC from 4.2.x (see http://gcc.gnu.org/projects/gomp/ ) and it internally uses pthreads. If you provide pthreads than it is possible you provide also OpenMP :)
User avatar
eranif
CodeLite Plugin
Posts: 6375
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: GCC version for MS Windows packages

Post by eranif »

Well, according to the gcc4.4.0 release notes, it is already there (along with pthread), but for pthread I knew what to look for ;)

Eran
Make sure you have read the HOW TO POST thread
frank_frl
CodeLite Expert
Posts: 176
Joined: Sun Aug 17, 2008 2:45 pm
Contact:

Re: GCC version for MS Windows packages

Post by frank_frl »

Here is a document how to use OpenMP with GCC
http://www.ipd.uni-karlsruhe.de/multico ... OpenMP.pdf

Frank
Post Reply