New FB release soon

For other topics related to the FreeBASIC project or its community.
dkl
Site Admin
Posts: 3210
Joined: Jul 28, 2005 14:45
Location: Germany

New FB release soon

Postby dkl » Aug 18, 2014 12:37

Hello everyone,

it looks like I've got some time for FB during the next weeks, so I think that would be a good chance to make the next FB release (version 1.00.0), unless there are objections. I think the compiler is in a good shape right now. It has tons of fixes and some nice new features including the 64bit support, thread-safe gfxlib, and dynamic arrays in UDTs ;)

Thanks to all of you who have been testing the development version via St_W's daily Git builds, a lot of issues were found and fixed. I think currently there's only one regression left for which I'm working on a fix though.

The major thing missing is that the headers/bindings have not yet been updated for 64bit (except the CRT ones). I've been working on fbfrog to help with the translations, but so far haven't gotten around to seriously start the updates. The problem here is that FB has a lot of headers, and even the Win32 API headers will need to be replaced with new ones based on MinGW-w64 or similar for 64bit support... I do not expect to be able to finish that in the next weeks, and I think it's not needed to delay the FB release for that. The headers can just aswell be gradually updated in future releases.

It'd probably be better anyways if we could do a release like every 3 months, to get the fixes out quicker. I think the important part here is that FB releases should be "small". No more external libraries or Linux-musllibc experiments like I did for the FB 0.90 releases. It takes too much time, at least while it's only me building and packaging the releases, and FB is not a Linux distro anyways.

Hence I'd like to focus on: oldschool DJGPP setup for DOS, MinGW.org for Win32, MinGW-w64 for Win64, OpenSUSE 32bit/64bit for Linux. It's not perfect with regards to minimizing exe size. The only way to do that properly is to build custom gcc toolchains and also custom DJGPP/MinGW libraries, and it's sad how much work that is. So I think I'll stop worrying about that. If anyone wants to make a custom FB build that is optimized for small exe size, or uses musl-libc for Linux static linking, they can still do that.

Similar to that, I'd really appreciate it if someone would volunteer to make FB builds for FreeBSD, OpenBSD etc. that we could then offer for download like the DOS/Linux/Win32 ones.

Cheers!
D.J.Peters
Posts: 7904
Joined: May 28, 2005 3:28

Re: New FB release soon

Postby D.J.Peters » Aug 18, 2014 14:47

If you publish it in the news section it would be nice to have a link to the toolchain / compiler do you used to build fbc also.
I got often problems to build static libs for FreeBASIC if my toolchain setup differs from yours.

For example linking a static version of FLTK works with 0.24 and 0.90.1 but not with 0.91.0
I don't know with mingw package St_W's daily Git builds used.

thank you

Joshy
jcfuller
Posts: 324
Joined: Sep 03, 2007 18:40

Re: New FB release soon

Postby jcfuller » Aug 18, 2014 16:20

I would like to suggest using the TDM-GCC-32/64 compiler unless there is reason not to?
I have been using it and the wxPack wxWidget's package which includes 32/64 static and dll builds on my latest project.

TDM-GCC is also used for code::blocks.

James
dkl
Site Admin
Posts: 3210
Joined: Jul 28, 2005 14:45
Location: Germany

Re: New FB release soon

Postby dkl » Aug 18, 2014 16:46

Oh, totally forgot TDM-GCC there. Yea, it should even be better than the "original" MinGW toolchains as it has extra fixes.

And including the exact toolchain in the release notes won't be a problem, I see why it's important.
VANYA
Posts: 1331
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: New FB release soon

Postby VANYA » Aug 18, 2014 17:33

Good news!
We are waiting for the new version.

It'd probably be better anyways if we could do a release like every 3 months, to get the fixes out quicker.


Good idea!
SARG
Posts: 933
Joined: May 27, 2005 7:15
Location: FRANCE

Re: New FB release soon

Postby SARG » Aug 18, 2014 19:19

As VANYA said, GOOD NEWS.

Thanks again dkl. And long life to freebasic.
jcfuller
Posts: 324
Joined: Sep 03, 2007 18:40

Re: New FB release soon

Postby jcfuller » Aug 19, 2014 9:44

dkl wrote:Oh, totally forgot TDM-GCC there. Yea, it should even be better than the "original" MinGW toolchains as it has extra fixes.

And including the exact toolchain in the release notes won't be a problem, I see why it's important.


The biggest problem I had was building 32/64 libraries. I opted to download both TDM-GCC-32 and TDM-GCC-64.
While the TDM-GCC-64 will build both (It defaults to 64.) I never did figure out how to build 32 with it using MSYS and the configure, make structure of many source libraries.

I now edit fstab to reflect which compiler I want to use.

James
RockTheSchock
Posts: 226
Joined: Mar 12, 2006 16:25

Re: New FB release soon

Postby RockTheSchock » Aug 19, 2014 10:33

Well i think that jumping to version 1.0 is a bit early. There are so many open issues and you just have added so many new features. An official relaease will surely reveal a lot of new bugs. And perhaps we should make a formal grammar as I suggested in another post.
http://sourceforge.net/p/fbc/bugs/searc ... ing&page=0

I have been using ST_Ws builds for some time now. A new official release would be cool.
dkl
Site Admin
Posts: 3210
Joined: Jul 28, 2005 14:45
Location: Germany

Re: New FB release soon

Postby dkl » Aug 19, 2014 14:05

On the other hand, FB is used as if it is 1.0 since a long time. There are a lot of known issues (mostly rare edge cases) but that's nothing special. Since FB 0.24, a lot of missing features were added, hence the version jumps to 0.90 and 1.00.

This time is an especially good chance to release 1.00, because of the 64bit support which essentially concludes the -gen gcc work done since FB 0.21 times.
St_W
Posts: 1481
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: New FB release soon

Postby St_W » Aug 19, 2014 22:12

dkl wrote:Hence I'd like to focus on: [...] MinGW.org for Win32, MinGW-w64 for Win64, [...].
I'm using a MinGW-w64 toolchain for both the win32 and win64 builds now as it seemed to cause least trouble. The MinGW.org toolchain caused some troubles and personally I wouldn't recommend to use it. For example the MinGW.org Runtime's "globbing" issue and some "No disc in drive xyz" errors in some versions under some system configurations. I've also a build job which uses the TDM-GCC toolchain. However, these builds don't get uploaded on Sebastian's server and aren't really tested by anyone (including myself).

D.J.Peters wrote:If you publish it in the news section it would be nice to have a link to the toolchain / compiler do you used to build fbc also.
I agree, that would be useful sometimes.

D.J.Peters wrote:For example linking a static version of FLTK works with 0.24 and 0.90.1 but not with 0.91.0
I don't know with mingw package St_W's daily Git builds used.
For Win32 i used the MinGW.org toolchain up to (including) build #104 and then switched to a MinGW-w64 toolchain with build #105. As there are many MinGW-w64 builds here's the exact build release name: "i686-4.9.0-release-win32-dwarf-rt_v3-rev2". You can download the file on sourceforge. It contains a "build-info.txt" file listing the build configuration. For Win64 I use the MinGW-w64 release named "x86_64-4.8.2-release-win32-seh-rt_v3-rev2". Any comments and suggestions are welcome. I'd suggest using the daily builds thread or a new thread for discussing your static linking issue, in case it can't be resolved using the mentioned toolchain.

dkl wrote:[...], I'd really appreciate it if someone would volunteer to make FB builds for FreeBSD, OpenBSD etc. that we could then offer for download like the DOS/Linux/Win32 ones.
I already intended to to that and have set up a Jenkins slave for FreeBSD, but never finished the task because of lack of time and interest from my side, but also (as far as I got it) from the community. As the Jenkins server is running anyway it's not a big issue to do some more builds. It's just the initial setup of the build job that has yet to be done :-)
However, there's a lot more stuff that should be done. For example currently only a sanity test is done for the Win32 and Win64 builds by compiling and running fbc's testsuite. The results of the testrun aren't analyzed and there even do not exist any test-jobs for other platforms. Beside testing some basic analysis should be done. I'm thinking of e.g. code coverage and valgrind reports.

RockTheSchock wrote:Well i think that jumping to version 1.0 is a bit early.
I'm also a bit uncertain whether the next version should be "already" 1.0 as a lot of features have been added that aren't really widely tested and some very important features are still missing. Full Unicode support is such a feature that really should be a must-have nowadays.
jevans4949
Posts: 1148
Joined: May 08, 2006 21:58
Location: Crewe, England

Re: New FB release soon

Postby jevans4949 » Aug 20, 2014 10:45

It would be useful to know:

* are there any features in 0.90 which won't work in 1.00

* do we have to change existing source for 32-bit to prevent 64-bit defaults from applying, or is the default still 32-bit at this stage? Thinking particularly about sizeof(ptr) and sizeof(integer), and related issues.
MrSwiss
Posts: 3327
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: New FB release soon

Postby MrSwiss » Aug 20, 2014 11:14

I second the questions of jevans4949. The Version 1.00.0 should IMO include
Fixes/Rewrites
of known buggy things like the FORMAT issue (just as example).

And, just as idea: how about dropping the support on "legacy languages" in
the new 64bit system (new main fork of project) and with it, get rid of all
the "compatibility issues" all at once? IMHO it's time to move forward ...
dkl
Site Admin
Posts: 3210
Joined: Jul 28, 2005 14:45
Location: Germany

Re: New FB release soon

Postby dkl » Aug 20, 2014 11:30

I don't think any feature was removed, but as usual the changelog contains some changes that could affect existing programs; although normally everything should still work fine.

32bit or 64bit does not depend on the source code but on the compiler and options you use. The 32bit compiler defaults to 32bit, the 64bit compiler defaults to 64bit (and both support cross-compiling to the other too, although that generally won't work out-of-the-box).
angros47
Posts: 1550
Joined: Jun 21, 2005 19:04

Re: New FB release soon

Postby angros47 » Aug 20, 2014 13:33

@MrSwiss

Support for "legacy languages" actually is support for ANSI BASIC, since most legacy languages were implementations of ANSI standard with some extensions; dropping compatibility would break ANSI compliance.

A compiler like FreeBasic has to be ANSI compliant, because its goal is to become a standard.
MrSwiss
Posts: 3327
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: New FB release soon

Postby MrSwiss » Aug 20, 2014 16:29

angros47 wrote:A compiler like FreeBasic has to be ANSI compliant, because its goal is to become a standard.

Thanks angros47,
I wasn't aware of that fact. I just thought to ease the burden of the developers
to carry what I considered to be a "ball and chain" on their legs.

And as a side remark: ANSI is a national standard only (US of A), unlike ISO, ITU etc.

Return to “Community Discussion”

Who is online

Users browsing this forum: No registered users and 1 guest