View previous topic :: View next topic |
Author |
Message |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Sat Feb 13, 2010 10:44 am Post subject: mingw environment finally complete |
|
|
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
its finally done just regression testing left atm and its quite a bitch
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)
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  |
|
Back to top |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Sat Feb 13, 2010 10:07 pm Post subject: |
|
|
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
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
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
give it a shot
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  |
|
Back to top |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Sun Feb 21, 2010 9:19 am Post subject: |
|
|
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 |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Tue Feb 23, 2010 7:33 pm Post subject: |
|
|
mingw now has built in sql
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
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 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 ? .
dont worry the initial database is localhost only so you wont get hacked
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
can get it on my ftp in the root named MDev.exe (self extracting archive). |
|
Back to top |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Wed Feb 24, 2010 9:56 am Post subject: |
|
|
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 |
|
 |
c0burn
Joined: 05 Nov 2004 Posts: 158 Location: Liverpool, England
|
Posted: Wed Feb 24, 2010 1:02 pm Post subject: |
|
|
I wish I knew what any of this meant, but it's obvious you've worked your balls off on it.  |
|
Back to top |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Wed Feb 24, 2010 3:02 pm Post subject: |
|
|
development environment i made based on mingw
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
its pretty much done so far everything i built on it has been a succes 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 dont install it on top of mine though 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  |
|
Back to top |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Fri Feb 26, 2010 2:07 pm Post subject: |
|
|
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  |
|
Back to top |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Fri Feb 26, 2010 11:06 pm Post subject: |
|
|
ftp://90.184.233.166:21/realm-mingw.7z
for the lazy
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
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
edited:
turns out i cannot link a file with spaces in it should be ok now. |
|
Back to top |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Mon Mar 01, 2010 9:15 pm Post subject: |
|
|
well actually got around to fix mss
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
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
tested it by compiling glade with scrollkeeper support on and it did make the help files yay .
gtk-doc is a bitch though 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 |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Wed Mar 03, 2010 5:52 am Post subject: |
|
|
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
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
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 |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Thu Mar 04, 2010 9:46 am Post subject: |
|
|
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
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 |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Thu Mar 04, 2010 8:49 pm Post subject: |
|
|
zipping it up can get it at my ftp if you need it
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  |
|
Back to top |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Sat Mar 06, 2010 2:32 pm Post subject: |
|
|
talk about bad luck was mounting my dvb-t antenna and while dragging the cables i somehow managed to kill my internet connection
so if anyone have been trying to download they might be a bit agrivated sorry for that its all up now  |
|
Back to top |
|
 |
reckless
Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger
|
Posted: Wed Mar 10, 2010 1:40 am Post subject: |
|
|
pic of some of what you get (mah desktop aint big enough !!!) |
|
Back to top |
|
 |
|