Inside3D!
     

mingw environment finally complete
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> General Discussion
View previous topic :: View next topic  
Author Message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Sat Feb 13, 2010 10:44 am    Post subject: mingw environment finally complete Reply with quote

as some might know i been working like a madman on a general purpose mingw environment for creating stuff on win32 - win64

for people with short arms and deep pockets Smile

its finally done just regression testing left atm and its quite a bitch Twisted Evil

ill post a link soon for those interrested.

so what is it.

mingw recompiled with the secure api from mingw64 (if i ever have to put out the patches nessesary to accomplish this ill be 80 before im done) Laughing

includes rpm tools now for cross builds.
java finally works (even the mingw folks couldnt get that one up to speed yes shared libgcj and all).
removed ada for now cause of no bootstrapping compiler availiable.

msys remade with a ton of new tools like nano python newer perl and the full build environment for making new posix tools also includes latest stable bash.

ive rewrote a large part of the startup scripts for the msys shell
to simulate cygwin more closely.

codeblocks ide for windows development includes all features.

splint cppcheck (and gui) and cccc for code checking.

cmake and dmake utilities cmake includes the gui version.

Qt opensource libraries (MFC equivalent).

wxwidgets (another gui tool like the above).

gtk(and another) if you like it posixsy.

gstreamer(multimedia streaming library with plugins).

cegui(game gui library used in stuff like crystalspace and ogre).

libxml2 and libxslt xml tools and libraries.

xerces (as above but c++).

does not include this worn out developer unless your female and good looking Razz
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Sat Feb 13, 2010 10:07 pm    Post subject: Reply with quote

still working on installer size but heres a teaser

ftp://90.184.233.166:21/MSys.exe

i might add the rest of the stuff as modules to this cause the size is rather scary Smile

includes basic mingw compiler binutils and most libraries to get you going.

small list expat libunicows (unicode library) libxml2 libxslt librpm and tools liblzma zlib becrypt libgc (garbage collector library) libiconv (both win and gnu versions) libintl (same) cloog ppl mpfr gmp libdl (posix dlopen support) libpopt bz2.

also includes gdb zip unzip autotools libtool and a c port of libtool for those nasties that refuse to link Twisted Evil

file magic (the file exe has been renamed cause of problems linking to shared libraries if libtool finds it) some programs rely on the library though (gcj).

for java we have the antlr parser generator and the eclipse compiler. we also include the swt libraries (java gui libraries).

eclipse has an ide for c/c++ development in the folder eclipse need to add path to mingw's bin.

extra modules can be downloaded directly from the program for java development php etc.

the msys shell has had numerous additions like tcl python pcre (posix comatible regex libraries) recent bash nano berkeley database curl expat readline popt gmp and mpfr.

rxvt terminal is off by default cause it hides usefull warnings/errors if you really want it just type rxvt.

etc/profile.d holds some scripts for tools not included yet dont worry it doesnt break anything Wink

give it a shot Very Happy

disclaimer: do NOT use the libraries in the included mingw for normal mingw it wont work as they are totally different. the ming included i built myself and believe me when i say it took quite a lot of patching to get this working Laughing
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Sun Feb 21, 2010 9:19 am    Post subject: Reply with quote

anyone good at installer's ?

need someone who can make it do a couple of scripted things to set mountpoints for msys shell.

adding nessesary paths are taken care of by a small program i dug up on the net so should be easy to tell the installer to execute it with the right parameters.

if anyone want to help me build the installer ill send the folder since its pretty much done.

codeblocks is back as the default ide.
QT is back now with no dependency on the mingw runtime and with exception support this is a full build.

added crypt libraries (a few programs need them).
added zip and unzip support.
added antlr parser generator for java builds.
added getopt (needed by some xml proggies this is a windows port built with codeblocks).
added cppcheck and gui.
added cccc.
added gnu linear programming kit.
added wxwidgets.

the directx headers can be flaky at times especially ddraw.h replace it with the one from ms dx sdk if you get errors.

added sdl and sdl_image.
added freeglut.
added tcl/tk 8.3 to 8.5 default uses 8.5
added itcl/itk.

QT was build with this compiler.
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Tue Feb 23, 2010 7:33 pm    Post subject: Reply with quote



mingw now has built in sql Very Happy

this is a port of pgadmin from postgresql normally its built with msvc and gnuwin32 libraries i took a step further to show what my environment can do and ported the msvc project files to codeblocks which i then built this with and yes it works Cool

only caveat is you actually need the msys shell for starting it the first time (need the posix superuser command) after creating the database you can install it as an NT service.

i included a handy script for initial setup Wink just issue pg_control start in the msys shell and viola.

to connect to it the first time with pgadmin you log in as postgres password postgres and role postgres simple ey ? Smile.

dont worry the initial database is localhost only so you wont get hacked Twisted Evil

more libraries added btw libsound and portsound for unix to windows hackery and back.

libogg and vorbis.

libflac.

#security stuff.
openldap. (linux ldap authentication gone wild)
openssl.
opengpg.

#gui stuff
gtk and friends now with the c++ versions included.

#corba stuff
bonobo orbit and idl.

# tcl stuff
source navigator (small ide with a load of power).
tix.

# python
python 2.6 mingwport (does not have everything the package from python site has but it suffices for most).

# unicode tools.
ICU and libunicows.

# c++ gui stuff
wxWidgets shared unicode build (the sql interface was actually built against this).

# ide now has some extra tools like svn and wget.

zipping it up untill i can find someone who can help me build an installer for it Smile

can get it on my ftp in the root named MDev.exe (self extracting archive).
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Wed Feb 24, 2010 9:56 am    Post subject: Reply with quote

noticed the full shebang is about 10 gigs think ima going to have to poilsh up that upx :S

msys development libraries and headers are in msys lib\devlibs and msys include\devheaders cause some programs tend to pull them in even if mingw's includes are the first includes found(old bug).

if you need to make a new program for msys copy them out. then issue msysdvlpr in the msys shell to bring up the msys environment.
Back to top
View user's profile Send private message
c0burn



Joined: 05 Nov 2004
Posts: 158
Location: Liverpool, England

PostPosted: Wed Feb 24, 2010 1:02 pm    Post subject: Reply with quote

I wish I knew what any of this meant, but it's obvious you've worked your balls off on it. Smile
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Wed Feb 24, 2010 3:02 pm    Post subject: Reply with quote

development environment i made based on mingw Smile

the goal was to create something that comparably was as close to a msvc compiler as i could get with free tools.

all of the tools included are free as beer the license does allow for some commercial uses though but that wasnt my goal Wink

its pretty much done so far everything i built on it has been a succes Smile especially after ditching the standard mingw runtime and headers for the mingw64 based ones (more completly resemples msvc's).

its still a 32 bit compiler but if you need 64 bit executables you can get a 64 bit compiler from mingw64 site Smile dont install it on top of mine though Laughing there compilers are ment for crossbuilds so need there own directory.

things i built with it includes stuff like mozilla quake postgresql crystalspace etc.

a small amount of hacking is still nessesary with some sources but nothing adverse Smile
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Fri Feb 26, 2010 2:07 pm    Post subject: Reply with quote

something to try out i left version of my realm quake engine compiled with this on my ftp under the name realm mingw.7z

quite scary but my new compiler can actually halve the size with little to no speed loss Very Happy
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Fri Feb 26, 2010 11:06 pm    Post subject: Reply with quote

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

for the lazy Razz

i actually discovered a bug which msvc couldnt even point me at lol

i use the mss garbage collector for memory debugging it turns out its buggy as hell itself Laughing

removed from next realm release since its the cause of a load of crashes.

tbh i newer found out why this was used in tomaz quake i newer had any memory pointer errors but loads of kernel errors which turns out to be from this library Evil or Very Mad

edited:

turns out i cannot link a file with spaces in it should be ok now.
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Mon Mar 01, 2010 9:15 pm    Post subject: Reply with quote

well actually got around to fix mss Shocked

damn thing is from linux land anyway so had a good hard look at the code (pretty outdated since its no longer maintained) and after some looking into how things work i compiled a new version with mingw "which now supports gnu's pretty print functions on windows"

it uses a configuration file that must be in the same directory as the libmss dll.

the config file passes options as print style debugging options etc to libmss (you can actually have it keel over even on warnings) saves nasty surprices like where the quake window just hangs and locks the mouse so you cant end the process without turning of your computer (ya i had that quite a few times :S).

so far it seems to work i even tried the torture test by loading up marcher fortress and it just keeps going.

one thing i noticed though bastion of the underworld does some pretty fuck.. up stuff with my engine hence the crashes i had earlier
i suspect i had a bad vis on the map need to try it out with my engine its pretty hard to explain what i see Laughing

compiler side i made a port of rarian (the successor to scrollkeeper)
to mingw and it works! now i just need a working internal python and im ready to go to town with cygwin Razz

tested it by compiling glade with scrollkeeper support on and it did make the help files yay Smile.

gtk-doc is a bitch though Sad hangs on xsltproc so only the fake version in atm.

hopefully i will get around to fixing the gtk-doc thingy someday gtk works as is but would be nice if you could create the documentation on the fly.

python is fairly close to working i can make the interpreter dll+exe but it fails flat on the face when trying to make the modules erf.
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Wed Mar 03, 2010 5:52 am    Post subject: Reply with quote

made some import libraries for msvc for the newest libpng zlib and the mss library.

may ask why not just compile them yourself well they had some patches so was easier for me to compile them right of the bat with mingw they work great to Very Happy

ftp://90.184.233.166:21/new_libs.7z

i can make import libraries for msvc from pretty much anything you normally cant compile easily with msvc so if you need something specific let me know Smile

to use the mss library you need to specify MSS in the preprocessor definitions else it gets turned of (library wont even get linked in).
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Thu Mar 04, 2010 9:46 am    Post subject: Reply with quote

python has been one of the largest bitches to get running on my new compiler i could actually get it compiling but the resulting executables dont work right Sad

so i resolved to crosscompiling and finally got it working it took the combined effort of cygwin + mingw to get this going since it needs a few of the msvc functions to run natively.

i used an old port of python 2.5 since newer versions seem to do some strange stuff with the site package directory :S (it ends up in user/local/yourname/site-packages) erf.

it also has a few extensions now like pil etc.
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Thu Mar 04, 2010 8:49 pm    Post subject: Reply with quote

zipping it up can get it at my ftp if you need it Wink

unless you change install directory the self extracting archive will setup paths and shortcuts for you it recommended to keep the install directory name cause msys cannot handle windows unc paths. mingw can however so unless you plan on porting stuff from linux land you could probably suffice with mingw + the included codeblocks ide.

mingw itself includes a ton of nix software that doesnt like being pushed around can ofc link to the included libraries but the programs may break pretty hard if moved to say the programs folder.

theres allmost a full pletora of gnu help compilers included except gtk-doc which doesnt work yet.

need any other format and id recommend getting miktex.

the included python works just fine but is lacking a few extensions like tkinter for tcl guis so plugins may not all work.

it includes scons PIL apsw cherrypy genshi libxmlmods pycurl easyinstall epydoc sqlalchemy and kid.

python works best from the msys shell.

one thing i noticed much to my dismay was that the included wine directx development libraries are completly broken they do link but as i noticed with my own engine they dont work try realm from the earlier post and notice the sound.

theres a ton of new libraries included some like iconv and libintl have two versions one for windows and one for gnu. reason is that many ports like gtk will go batshit crazy with runtime errors
if you link them against the gnu libraries, if you encounter this copy out the windows versions in lib\portability\win-somelibrary and include\portability\someheader and replace the ones in lib and include.

nvidias cg libraries are added so is devil (devil currently has problems being detected by autotools so if your project needs it you need to compile it in with codeblocks).

openal libs added.
openjpeg added.
curl added.
inkscape added
evince added.
abiword added
dbus added.
libpaper added.
stlport added.
libwmf added.
mozilla sdk added.
openexr added.
the complete netpbm utility package added.
also psutils.
ghostscript added.
c-ares added.

probably a few i allready mentioned this thing is huge hehe.

MSys.final.exe is the file to look for

you might notice if digging inside the thingy that i removed most of the libtool archives they are in mingw's share folder in libtool-archives if you really need em copy them back to mingw\lib but else avoid em like the proverbial plague they do more harm than good normally.

a few of them are left in cause some autotool produced libtools cannot link to them else.

if you use the codeblocks included you wont have these problems since it uses gcc or ld directly for linking.

finished from here (litterally) gonna grab some sleep Twisted Evil
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Sat Mar 06, 2010 2:32 pm    Post subject: Reply with quote

Laughing talk about bad luck was mounting my dvb-t antenna and while dragging the cables i somehow managed to kill my internet connection Shocked

so if anyone have been trying to download they might be a bit agrivated sorry for that its all up now Wink
Back to top
View user's profile Send private message
reckless



Joined: 24 Jan 2008
Posts: 390
Location: inside tha debugger

PostPosted: Wed Mar 10, 2010 1:40 am    Post subject: Reply with quote



pic of some of what you get (mah desktop aint big enough !!!)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> General Discussion All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2004 phpBB Group