last version of C::B Advanced

Discuss anything not covered by any of the other categories.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Ok not many updates to show for now, im in the process of looking for another place to live due to some rather noisy neighboors which my landlord wont throw out (his loss, i been paying my rent on time every time which is more than he can say for most of the other rentals here) so things will go to court.

Might take me a little to get settled when moving (internet etc.) but i expect to be back again sometimes in the near future.
Productivity is a state of mind.
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: last version of C::B Advanced

Post by frag.machine »

Ugh, annoying neighbors... Luckly I haven't passed any problems where I live nowadays, but I got some noisy and clueless ones in my former address, many moons ago. Good luck with your moving.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Thanks frag :) yeah gets a bit to much at my age i cant handle not getting my sleep anymore :/ hard enough to get a full whim as it is.

Still looking by here from time to time to see if anything interresting is happening :) ill stay in touch as long as i still have internet so if anyone needs my help
with this package feel free to ask. When its time to go offline i will notice users here that it might take a while before im back but its not permanent ;).
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Its allmost time :) clang has been doing some loops lately to improve windows compatibility and can now be used instead of gcc.
By default clang uses c++11 if using its own stdlib,
atm though it defaults to using gcc's libstdc++ unless you specifiy that it should use its own library in the compiler settings.

I have compiled several quake versions with it and most do work but some obviously has code that does not fly with clang and will result in a crash even if it compiles.
Luckily clang comes with a code analyzer so that should help with hunting down the bugs causing this.

darkplacs works beatifully when compiled with clang :) same with quakespasm.
Some older engines like the older fitzquake compiles but crashes, this also goes for the old twilight engine.

Atm toying with getting Doom3 compiling with clang++ it gets pretty far but there are a few places that still need work.
Productivity is a state of mind.
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: last version of C::B Advanced

Post by qbism »

The clang code analyzer looks interesting, looking forward to this release. I hope you're living situation is improving.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Not yet im afraid, denmark and sveden have been swamped by refugees from syria and most of the houses for rent have been bought by the state to house them,
so its pretty darn hard to find anything atm. the new package is undergoing extensive testing atm since i had to recompile every single package from msys2 quite a few bugs turned up which i will commit patches for. Gcc was changed to a static build and i removed the hack to make shared gcc use the static runtimes because it breaks a lot of packages.

Unfortunatly while clang builds with my static build of gcc it does not work since it searches for libgcc_eh.a and libgcc_s.a by default which do not exist in a static build gcc. Only way around this is to bite the bullet and get the mingw64 compiler from the msys2 site and just accept that your programs will depend on the llibgcc dll's.

I could probably patch out those dependencies but it would take forever since those dependencies are littered all over the clang sources.

also qt5 is rather broken atm since it cannot find the platform dll unless you move it into /mingw/bin im working on a patch that should take care of this bug but it might
take a while.

if you build something that depends on qt5 just keep in mind to move the platform directory in /mingw/share/qt5/plugins next to your application and it will work.
In some cases you might need other directories from the plugin directory also.

I also made a new contribution that will allow building autotool based packages with the micorsoft compiler from within the msys2 shell. This work was based on the way interix used the msvc compilers. So far i managed to build qute a few packages with msvc that way :). it still uses ar and ld so the resulting libraries will still work with gcc.

The shell script adds support for msvc 2005 through 2015 to the build environment.

A minimal package will be uploaded soon with the above.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Packing up my build as a beta without installer just unzip it to C:\Msys64

codeblocks finally seems to be somewhat stable with wxwidgets 3.2 so i included latest svn build (64 bit).
All libraries are standalone and do not rely on libgcc nor libstdc++ the included mingw compilers are static builds using the eh_shmem patch as it was intended,
namely to allow a statically build gcc to throw exceptions out of libraries, i have not used TDM's hack to brute force gcc to link to the static runtimes since its unneeded now.

QT5 i managed to get it to a usable state allthough a few of the 32 bit tools still crash qtcreator atleast works and things built with QT5 seem to work also (tested by trying an smplayer build).

The massive ammount of packages i have rebuilt will be uploaded to my site and will be availiable via pacman, updates will also be uploaded there and im modifying
pacman to download from my site instead of from the msys2 site.

Ill probably keep the standard url for msys2 packages since i havent made many changes to msys2 itself besides moving the compiler out of the standard toolchain,
to not interfere with the mingw compilers. Keep in mind though that when an update to said msys2 compilers will be avaliable it will install in /usr and not like mine in /msys so avoid updating the msys2 compiler itself if possible or things will break.

Theres a massive ammount of game related libraries in this package, pretty much all SDL and SDL2 related packages as well as the irrlicht and allegro game engines.
Also a rather hefty ammount of image and sound libraries, and some interresting glue libraries and tools to add python lua java tcl perl and other scripting libraries
to your game engines.

I have not included the arm cross compilers this time around but you can get the older package if you need those.

If theres interrest i can also provide the interface libraries to the X vcxsrv, not that X makes much sense on windows but a few tools like fontforge requires it.
Productivity is a state of mind.
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: last version of C::B Advanced

Post by qbism »

CB:A file sizes are humongous, but I'm missing some of those extras when I open CodeBlocks in Linux :smile: I noticed the Mint distro was rev 9501, so I went to the main CB code site and saw a lot of recent activity.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Indeed they are hence why im putting so much work into relocacting pacman updates to my own site :) that way you can just get the basic compiler
and just use pacman to download any library or tool you might need.

One funny thing turned up clang actually works just fine with a small change to one of the patches, it does not complain about missing gcc libraries.

I uploaded the beta here https://sourceforge.net/projects/cbadva ... 0-11-2015/

to use msvc with msys2 yank in the msvc.sh script in /etc/profile.d/disabled to /etc/profile.d and set CC=cc-msvc and AR=ar-msvc be sure to have
atleast msvc 2005 in your path. Some sources dont like msvc and will need patching before you can build with msvc and autotools.

The devs at codeblocks have indeed been busy, and i included the 64 bit version of codeblocks in the beta :) it works just fine so far.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Spoke to soon it seems, today the wxwidgets 3.2 build codeblocks started throwing assertions again sigh.

Ah well 32 bit still works fine on 64 bit os so we might just have to live with it.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

I started uploading the newly built packages to sourceforge, soon i will start making an installer with just the minimal msys2 shell from which you can download just the things you need.

The way to do that is by means of the pacman command.

After installing open an msys2 bash shell and let it run to completion, you will then be promted to restart the shell so close it and open it again.

now do pacman -Sy to synchronize pacman to my server.
after that do pacman -S mingw-w64-i686-gcc mingw-w64-x86_64-gcc and it should install the base compiler + dependencies.
now jump to my site and look in repos for things you might need and install them by issuing pacman -S <mingw-w64>-<arch you want to install it for>-<package name>
leave out the numbers and other chars behind some of those packages like mingw-w64-i686-libsomething0.2afx.tar.xz just issue the command like this mingw-w64-i686-libsomething
pacman knows what to look for and will install it even if you dont issue the whole package name.

since i modified msys2 a bit by moving its compiler out of /usr updating msys itself can lead to problems if theres a newer compiler avaliable since the packages from msys2 defaults to installing said compilers in /usr. Also the docbook libraries have been modified to use opensp and openjade and the packages from msys2 will overwrite them if a newer package is availiable leaving a
non working docbook. I admit i hope to avoid also having to host msys2 packages so instead im going to modify the pacman packages for these two so that pacman thinks theres newer any
versions newer than mine but still allow users to update other packages from msys2.

Stay tuned for more info.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

might take a little longer than anticipated cause i broke my foot :(

ill post it as soon as its ready
Productivity is a state of mind.
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: last version of C::B Advanced

Post by frag.machine »

revelator wrote:might take a little longer than anticipated cause i broke my foot :(

ill post it as soon as its ready
Ouch! :(
Sorry to hear that. Hope you get better soon.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Thanks :) well not the first time i broke something, stupid back injury from my working days is playing tricks on me and i lost connection to my leg while i was on my way down a stair, so in best ninja style i flipped my way down but the landing could have been softer :P.

still rather sore from the bruises which actually hurt more than the broken foot itself but it will heal in time.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: last version of C::B Advanced

Post by revelator »

Uploaded sjlj and dw2 builds of gcc-5.3.0 for mingw (thats old mingw not mingw64) since the ones on the mingw site have not been updated in ages.
Gave my build script + needed patches to the mingw devs so it should also surface there soon.

My builds are on my site in the mingw builds folder.
Productivity is a state of mind.
Post Reply