News:

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

Main Menu

a mingw to tryout

Started by reckless, March 17, 2010, 07:29:21 AM

Previous topic - Next topic

reckless

one of my projects using the mingw64 runtime but mangled about so it uses the normal mingw paths.

it has the benefit that it doesnt rely on the mingw dll (means you can avoid the mingwm10.dll in codeblocks completly)
and the win32api is quite a bit closer to msvc's.

includes the secure api headers also.

http://code.google.com/p/mingw-wine/

not the most inspiring name i know  :lol: but it is partially based on the wine api  :)

theres 4 downloads there atm one is a full development environment using codeblocks and includes pretty much every library under the sun.

the 3 others are for those who just need the compiler gcc/binutils/crt+headers


reckless

just uploaded the sdk (directx + ddk) to site.

if you wonder why im using the i686-pc-mingw32 triple its because that is what broke shared libgcj.

somehow it messes up the internal paths libgcj looks in if using the standard mingw32 triple.

the compiler also had most of tdm's patches + all the official mingw ones.

the ehstatic one is skipped atm cause it breaks shared builds of libstdc++ (working on it).

reckless

small oupsie i forgot to add the dependent libraries to site. this gcc uses graphite.

its up now.

mingw-depend.7z

is the file to look for.



reckless

new download up on http://code.google.com/p/mingw-wine/downloads/list

im happy to announce the

bleeding edge gcc-4.5.0 compiler.

while still beta its so far the only one that was able to build allmost the full package with mingw itself (libjava included).

theres a few differences noticable from normal gcc 4 series for one libgomp is now linked as standard and not an option (can be turned of).

libgcj's libraries are now split into several smaller dll's cause the original monolithic version broke dll sizes somewhat on windows.

nat seed generation works allbeit a hack and not secure (uses standard srand and rand) should be modified at some point to use cryptopp.

the sources had pretty much every accepted patch and regenerating the configure scripts now supports modern autotools (autoconf 2.64 etc).

libgcj now uses JAVA_HOME variable like sun's sdk.

libstdc++ now has a python interface much like libgcj.

it uses sjlj exceptions cause it still has the best win32 compatibility (nothing against dwarf2 but id rather stick to the proven methods).

succesfully built codeblocks and wxwidgets with it.

hope it proves usefull and if anyone encounter a bug feel free to mail me. address is at the site or file a bugreport.

reckless

ada finally in and working. no download yet as i need to request more space to upload it (exceeds limit by about 12 mb :().

had to use the old mingw compiler to build a bootstrap compiler for gnat which took some hacking about in stddef.h since the definition of offsetof from gcc 3 is completly incompatible with gcc 4.

tons of warnings about pragma's  :lol: but it worked fine enough to get the compiler going and the final bootstrap had no adverse warnings.

doing my best on the java compiler but still a few broken tools most notably gorbd (missing corba functions) and gcjh allthough i suspect gcjh is just bitching because of missing classpaths.


reckless

uploaded svn codeblocks built with the above gcc-4.5.0

no mingwm.dll dependency allthough it does depend on the libgcc dll so far seems to work just fine.

this should probably be in the nightlies ?.

let me know if anything adverse is discovered.

and a small whoops seems i left out a dependent dll in my mingw dependencies package will repack it tonight.


dwmcqueen

This is interesting.  Has anyone tested it out on building CodeBlocks?

dwmcqueen

I get this error:

CreateProcess(): The system cannot find the file specified.

when running any of the compile chain executables. (like g++.exe)

reckless

thanks for reporting.

i may need to repack the compiler it seems as here it works.

can you check the executables with a dependency runner and see if anything is reported as missing ?

also be sure to get binutils/dependencies/crt and the sdk from my site as none of this will work with standard mingw tools.

libraries compiled with standard mingw works fine with it though.

reckless

#9
i reuploaded the dependencies package on my site as it was missing the mpc libraries.

newest version also includes the ada compiler now.

ftp://90.184.233.166:21/gcc-4.5.0-experimental-full.7z

ftp://90.184.233.166:21/mingw-depend.7z

ftp://90.184.233.166:21/binutils-2.20.1.7z

ftp://90.184.233.166:21/mingw32-crt.7z

ftp://90.184.233.166:21/mingw-sdks.7z

all the above are needed.


ollydbg

Hi, reckless, thanks for your hard work.

My question is: Does the new experimental MinGW 4.5 package contains the patches from Official MinGW 4.4.0 and TDM GCC 4.4.1?

You can see the Loaden's GCC 4.4.3 has both patches include.  see [OT updated 2010 03 12] Loaden's MinGW GCC 4.4.3 released!

Thanks.
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.

reckless

it does implement the official mingw patches and a few others like dave korns patch to split up libgcj (java) in two dll's.
as far as i know tdm's patches werent nessesary due to the libraries allready support casting exceptions when they are shared (all of them includes the shared version).

a few words of warning to save people some trouble as i suspect some would probably try to use my gcc with there existing mingw to upgrade it (it wont work)

besides the name this has not much to do with the official mingw so you pretty much need the tools i provide everything after is perfectly compatible with standard mingw (mind dw2 builds normally require the libgcc from a dw2 compiler) but else anything pretty much goes.

reckless

if theres interrest i could pack it up with the codeblocks compiler integrated (would save some trouble for people if there not sure where to put the package content) ?

im not so good with building installers but if someone is and wants to take up the job that might be another option
(would also help immensly if they could get the compiler to setup paths as an option for commandline compilation).
needs to be an option because if you have other compilers in path things tend to get pretty hairy to say the least  :lol:


reckless

#13
seems the links somehow pickup a http extension just skip that its just the "ftp part you need"

edit: fixed

another dependency i missed  ftp://90.184.233.166:21/iconv.7z

the iconv included in the dependency package is just a wrapper around the win32 iconv calls

reckless

packed up everything in a simple installer (god i suck at this)  :lol:

ftp://90.184.233.166:21/svn build rev 6201 (2010-04-04 082127) gcc 4.5.0 Windowsunicode - 32 bit.7z

it will set paths automatically (might not be what you want but can be removed from environment variables).