Author Topic: a mingw to tryout  (Read 14323 times)

Offline reckless

  • Regular
  • ***
  • Posts: 333
a mingw to tryout
« on: March 17, 2010, 07:29:21 am »
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


Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #1 on: March 17, 2010, 02:43:41 pm »
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).

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #2 on: March 17, 2010, 03:02:58 pm »
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.



Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #3 on: April 03, 2010, 09:47:15 pm »
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.

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #4 on: April 08, 2010, 12:44:23 am »
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.


Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #5 on: April 08, 2010, 07:22:19 pm »
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.


Offline dwmcqueen

  • Multiple posting newcomer
  • *
  • Posts: 56
Re: a mingw to tryout
« Reply #6 on: April 13, 2010, 02:35:58 pm »
This is interesting.  Has anyone tested it out on building CodeBlocks?

Offline dwmcqueen

  • Multiple posting newcomer
  • *
  • Posts: 56
Re: a mingw to tryout
« Reply #7 on: April 13, 2010, 02:45:05 pm »
I get this error:

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

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

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #8 on: April 13, 2010, 03:21:22 pm »
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.

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #9 on: April 13, 2010, 03:39:30 pm »
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.

« Last Edit: April 13, 2010, 11:43:19 pm by reckless »

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5226
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: a mingw to tryout
« Reply #10 on: April 13, 2010, 05:37:34 pm »
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.

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #11 on: April 13, 2010, 07:44:52 pm »
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.

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #12 on: April 13, 2010, 08:03:00 pm »
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:


Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #13 on: April 13, 2010, 11:40:44 pm »
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
« Last Edit: April 13, 2010, 11:43:53 pm by reckless »

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #14 on: April 14, 2010, 07:09:51 pm »
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).


Offline dwmcqueen

  • Multiple posting newcomer
  • *
  • Posts: 56
Re: a mingw to tryout
« Reply #15 on: April 15, 2010, 05:23:54 am »
Can you put that up on the google site?  The server seems down.

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #16 on: April 15, 2010, 04:35:11 pm »
should be up now its from my home pc had to turn it off for some updates.

will be up on google if i can get a larger upload quota ;)

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #17 on: April 17, 2010, 06:51:21 pm »
about to pack a new build this time with standard mingw paths for compatibility.

changed triple to mingw32 from i686-pc-mingw32 codeblocks wont pick it up with the i686 triple ouch.

extra check for missing dependencies (i forgot zlib sheesh) :(


Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #18 on: April 17, 2010, 09:04:11 pm »
ok new build done.

besides the included binutils you can now use standard mingw tools with this like gettext etc.

binutils need to be the one provided as mingws dont support sysroots (unfortunatly required with this runtime).

i took great care including all needed dependencies this time ;)

ftp://90.184.233.166:21/codeblocks-mingw-svn-build-6204.msi

can also be downloaded from site as two 7zip files

« Last Edit: April 17, 2010, 09:47:18 pm by reckless »

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #19 on: April 17, 2010, 09:37:48 pm »
erf well so much for being creative and splitting my build up in two zips now i get an error from google code about malformed requests  :lol:

will have to get it from my ftp it seems for now  :?

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #20 on: April 19, 2010, 07:59:28 am »
might notice i included svn in my last build (mostly to have a complete solution for those who wants to try compiling codeblocks with it) but also nice to have incase you make dailey svn updates.

one question the devs could maybe answer me is some trouble picking up include and library paths from some libraries installed under mingw with msys ? one trend i noticed was the libraries get installed as a subfolder to the real include path when built with mingw/msys so feks freetype's include dir is actually mingw/include/freetype2/freetype instead of mingw/include/freetype so each time i need that library i need to include the subfolder freetype2 to pick it up. and theres a lot of other cases.

i guess the reason not to follow msys/mingw's way of installing libraries is because codeblocks uses a devpak system much like dev-cpp where the relevant libraries are installed like on msvc ?

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #21 on: April 25, 2010, 03:10:18 pm »
gcc-4.5.0 release is now up on google code :)

didnt notice any big changes besides libgcj was using a hack for cygwin dll's (which funny enough built as a cygwin dll on mingw) Oo had to make a few changes to use the standard name instead of cyggcj.

about to pack a new crt build also (has had quite a lot of fixes especially to sockets).

btw in case you get errors from winsock.h make sure you include winsock2.h before windows.h since windows.h will link with winsock.h unless winsock2.h is included first.

Offline JGM

  • Lives here!
  • ****
  • Posts: 518
  • Got to practice :)
Re: a mingw to tryout
« Reply #22 on: April 27, 2010, 01:53:56 am »
great! an up to date mingw  :D

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #23 on: April 27, 2010, 03:49:11 am »
ty :) the mingw folks have there own version so cant really say they havent been trying this time :)
the difference from mine is theres rely on the mingw runtime dll mine doesnt.

that and they skipped libgcj (maybe wise enough since its not really stable on win32 yet).

also theres a minor bugger with this version of gcc (same for the mingw one),

its unable to compile a monolithic wxwidgets because the object files grow to big for ld to handle.

it does build fine with wxwidgets if you create the library with a former version of gcc (one on my page)

but is a bit akward and i hope to fix it sometimes soon.

also the runtime this one uses is from mingw64 (fork of the wine crt headers)

so you need to use the binutils from my site (mingw's wont work since it relies on sysroots).

else pretty much anything from the standard mingw that doesnt rely on the mingw dll will work with this compiler.

Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #24 on: May 13, 2010, 05:24:28 am »
well heres something completly new (or rather old depends how you look at it) ;)

i succeded in porting Mico::CORBA to mingw ftp://90.184.233.166:21/mico-gcc-4.5.0.lha so if you're in need of a proven freeware idl compiler here you go :)

normally this was only buildable with cross cygwin/mingw and only the main mico dll was build. rest was linked static, not anymore this is a full shared build.

i also ported the old snacc asn1 compiler to mingw ftp://90.184.233.166:21/snacc.7z (can be used with mico).


Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #25 on: June 05, 2010, 08:38:51 pm »
ftp has been down for some time due to hardware failure.

should be up and running again tonight (i hope).

meanwhile i hammered the build to get it more inline with standard mingw and it seems i succeded.

mingw's binutils now work fine with this gcc.

removed java support for now (its pretty unusable in current state).

still uses sjlj so i still need to supply the gmp mpfr ppl mpc and cloog libraries as mingw's uses dwarf.

upcomming dwarf2 build to alleviate the above.

also in the works a 64 bit version.

i carefully built a complete dev environment which also handles .NET (mono) and includes a ton of more or less frequently used libraries. but the size is pretty scary and im having one hell of a time finding an installer that can handle its size (6 gigs).

more or less any gnome tool i could port has been ported (some might have luck on what i left out) ;).
gtk lots of gtk!

media libs galore
image libs galore
sound libs same

abiword evince gimp inkscape python swig perl ruby docbook rarian just a few of the tools.

postgresql
openldap

its massive so only download this if you really need it.


Offline reckless

  • Regular
  • ***
  • Posts: 333
Re: a mingw to tryout
« Reply #26 on: June 06, 2010, 09:30:46 am »
new gcc is up on google code :)