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 »

Changes in next version.

Totally rebuilt.

now focusing on game development so adding tools that should help with that.

gimp. Powerfull image editor with scripting.
inkscape. small but very good drawing program.
assimp. ass model file importer and conversion tool.
blender. used by many game devs for making maps etc.
hlsl2glsl. conversion tool for converting hlsl to glsl.
glsl-optimizer. for yanking out the hulk in your shaders :P
geany. small but efficient text editor, can also be used as a compiler IDE.

many more tools.

Plus all major image and sound libraries.
Plus the ability to crosscompile for ARM :)
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 »

Started signing my own builds to not interfer with packages from the Msys2 project.
What this means is that at some point the specially built packages from me will be on my sourceforge site and downloadable directly with pacman.
I might have to name them differently to avoid confusing pacman in that it may try to download the package from both my site and the Msys2 site, but when done ill have a howto on my site.
This will allow users to get packages from both sites :). Some might prefer my version of gcc that defaults to linking statically with the runtime libraries while still being able to throw exceptions among them.
Others might want a more standardized gcc with only bugfixes. All in all it will all be up to the end user what to select.
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 »

revelator wrote:Some might prefer my version of gcc that defaults to linking statically with the runtime libraries while still being able to throw exceptions among them.
Yes. :D
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 »

Hehe :) nice to know.

Also throwing in angleproject which is a GLES to d3d runtime developer package used in some major projects like webgl firefox and others.
Might also be usefull for devs who develops for ARM but want to test out there engine on windows before releasing.

And openshadinglanguage which is an Advanced shading language for production GI renderers.
Makes heavy use of boost libraries ;) factually allmost the only package that uses boost in my compiler suite.

Next upload will have all the aforementioned things but i havent had time to write in code for making shortcuts to all the tools in the installer yet, you can however easily start them by writing either gimp - inkscape - geany - blender in the console for whatever mingw64 compiler you use and they will pop up just fine ;). Also use this for starting qtcreator if you like.

QT5 is now the standard and ive included a static version as well so you can develop gui programs that dont rely on the QT5 dll's.
A few things like developing new plugins for the static QT5 version will not work as that requires a shared build, but pretty much anything else goes.
To use the static version remember to export QMAKESPEC to point to the mingw64 or mingw32/local/share/qt5 directory and also export the QTDIR variable to point to the mingw64 or mingw32/local directory, else it will fallback on the shared version. You should be able to use qtcreator with the static builds as well also :)
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 »

New version up :) and i also made shortcuts for the new tools.
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 »

wow all the new game dev tools really took up some space ouch :S even though i removed a lot of cruft it actually made the package bigger than ever.

Think ill better hold it there before it becomes a serious contender for the worlds largets single game studio hehe.
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 »

New build focussed on game development. Mapper resources. Blender (Mapping tool). Gimp (Texture tool). Inkscape (Drawing tool). Ass Importer (Modeller tool for ass models). Geany (Text editor and all purpose IDE). General development. Image libraries. png jpeg jbigkit cms cms2 openexr tiff mng gd freeimage gif exif xpm magick cairo snappy raw openjpeg openjpeg2 openimageio opencolorio jasper rsvg Compression libraries. zlib zziplib bz2 lzma lzo lz4 libzip libarchive minizip Sound libraries. ogg vorbis opus twolame speex mad portaudio portmidi l-smash dca dumb flac fluidsynth modplug mp3lame Media libraries. a52 libblueray libcdio libcelt enca faac faad gsf gstreamer mpeg2 mpeg123 opencore opencv orc theora webpmux wmf x264 x265 xvid schroedinger ffmpeg Gui tools. QT5 FOX Fast Light Toolkit WxWidgets WxPython Console ansi colorization libraries and tools. ncurses caca Game libraries. physfs allegro assimp SDL SDL2 Cg OpenCL SQL Database support. SQLITE (General purpose SQL). PostGreSQL (Very advanced SQL engine). Firebird (Formerly known as Borland Interbase). Mariadb (MySQL). MSSQL (microsoft MDB format). GDBM (GNU database library). Scripting support. Python2. Python3. Ruby. Tcl/Tk. Security. SSH SSH2 GnuPG OpenSSL Streaming libraries. RTMDump Gstreamer Jack LIVE555 Compilers. Gcc-4.9.2 (Special version partly based on the TDM Gcc compiler, defaults to linking statically with the gcc runtime). Clang (Fully working uses the MinGW64 libraries and headers).
Creating installers now build will be up sometime tomorrow.
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 »

New builds should be up now :)
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 »

Some rather interresting changes lately.

Added the firebird interbase SQL package. (if you need a gui get flamerobin).
Started recompiling all libraries with my own TDM based version to avoid having to rely on the gcc runtimes (quite a lot are allready finished).
Added more game related packages for compression image handling threads etc.
Also included a Qemu build to test out stuff on different archs without having to actually install several versions of say windows.

Bugs that make life suck.
QT5 works with linking statically to the gcc runtimes QtCreator does not :S and crashes instantly if you use a QT5 build that way, so i had to resort to leaving QT5 as is.
Same goes for boost which does not even build anymore unless it can link dynamically to the gcc runtimes,
reason as stated by the boost devs is that the static builds cannot propagate exceptions out of the library which is total bullshit if you use the TDM based compilers which actually can.
Poco also seems to be suffering this misconception and it seems the devs on these projects are totally oblivious to the fact that gcc only needs a 12kb patch to actually be able to do what they think it cannot.

Rest of the bunch will be recompiled with the TDM based version though, in time i might find a way to circumvent the compile time checks that force this behaviour for the packages that fail.

Atleast you can link with the static QT5 version and be done with most annoyances, in case you need the shared version ill upload the TDM builds of QT5 you can use the needed dll's from that, but dont install it cause it will break QtCreator.
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 »

Finally nailed the sucker causing 32 bit builds to sometime bug out with a runtime error.
Was actually a pretty old problem originally reported by cygwin that seems to have reared its ugly face again due to some code changes.
It only affects gcc with dwarf debugging.

I should now be able to build QT5 with a statically linked runtime without it crashing :)
maybe also poco, but boost needs work because the devs actively prevent linking the libraries that way.
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 »

Ok Qt5 is still a nogo erf :/ still segfaults. Python builds fine now atleast and also poco.
Discovered a rather unpleasant bug with the gdb gui, it crashes instantly if tcllib and tklib are installed so i removed those packages for now.
Also if you update via pacman be sure to not update the x264 library its needed by blender and later versions dont work with it even if i recompile the whole thing.
irrtatingly enough this also means i cannot build a self sustained version of ffmpeg because the sources for that version are no longer avaliable so it relies on the gcc dll.
all other libraries have been recompiled to link statically to the gcc runtime though.

Ill take a few days to test out if there are any other buggers i might have missed this time so i can avoid having to revert packages again.
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 »

After a marathon coding i finally fixed boost to :)
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 »

Ok so far all bugs besides some unruly elements among tools like blender have been squashed painfully :P
Allmost everything has been recompiled with no dependency on the gcc runtimes, besides ofc the beforementioned things.
QT5 ill upload the build without the dependency on the gcc runtime, you can replace the needed dll's with that version to avoid having a dependency of the gcc runtime dll.
Do not install it though qtcreator will crash immediatly with this build but strangely enough it works just fine for projects built with it.
FFMPEG if you need ffmpeg it would probably be better to get one of the static builds from zeranoes site and link your stuff with that, reason is that the included version has 1 single dependency that i cannot provide a rebuild for because this version no longer exists on the vlc servers (x264 codec) and that version is unfortunatly needed by blender which will not work with any more recent verions as of yet. If this bug gets fixed sometimes ill do a complete rebuild of blender and ffmpeg.

everything else has been rebuild without the gcc runtime dependency even python.

Python has had a small bug fix or rather a revert of some rather badly designed code that was put in to get the version number from LD by pulling it from the commandline, sadly it does not work to well
and more times than not it will cause an index error, so i have removed that part from the code and all seems to work just fine now.

Boost is now also rebuilt without the gcc dependency (which took more than a few lines of code trickery to accomplish) it works just fine though since i fixed the bug with gcc throwing a segfault in dwarf2 builds, and TDM's patchset allows throwing exceptions from statically linked runtimes anyway.
The same patch fixing the dwarf2 builds has been accepted by TDM and will be in his next mingw builds :).

I also included a small shell script in /etc/profile.d to allow symlinks but use it with care since atleast some sources have been fixed for shells without that functionality, so it will not allways work as expected.
In that case move it from /etc/profile.d to /etc/profile.d/disabled. The shell script is called symlink.sh.

I also changed the latex functionality from miktex to texlive but if you prefer miktex (much bigger package but also better functionality) you can just move the texlive.sh script to the beforementioned disabled folder, and move the miktex.sh script from the disabled folder to the profile.d folder and then put miktex portable in /opt/miktex (name is important as the shell script assumes that its installed there).

small notice, python2/3 might throw some erroneus warnings if you try to list installed modules, these are harmless and only there to make sure that theres no guarantee from the devs that your PC wont blow up :P
hehe. Phun aside its just a developer warning that its beta software and might not work as expected. Later updates will probably get rid of the warnings. Only affected modules are those using fortran so it wont affect any C/C++ work if it fails, but i have built numerous packages that rely on these and they all work so :).

You can make standalone python packages as well with cx_Freeze (both python 2 and 3).

New builds are up god save us !!!
Productivity is a state of mind.
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: last version of C::B Advanced

Post by mankrip »

I'm a little confused (I'm not sure of which version to download), but I'll try to use the 32-bit Msys2 version to build my engine in a virtual machine.

If that works, I may start to get rid of my sluggish old laptop.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
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 »

Latest version is recommended even if you dont need all the tools many bugs have been fixed that may have broken things in the earlier versions :).

As a rule of thumb if you have a 64 bit OS use the 64 bit version else use the 32 bit one.
Productivity is a state of mind.
Post Reply