Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Waf: Enable C99 support #679

Closed
b4n opened this issue Oct 7, 2015 · 14 comments
Closed

Waf: Enable C99 support #679

b4n opened this issue Oct 7, 2015 · 14 comments
Assignees
Labels
Milestone

Comments

@b4n
Copy link
Member

b4n commented Oct 7, 2015

Now Geany uses C99, we need Waf to check and enable it. We currently get build errors with Waf because of this: http://nightly.geany.org/misc/build_gtk224_geany_stderr.log

This was done for Geany-Plugins in geany/geany-plugins@cd59d38

@b4n b4n added the bug label Oct 7, 2015
@b4n b4n assigned eht16 Oct 7, 2015
@b4n b4n added this to the 1.26 milestone Oct 7, 2015
@eht16
Copy link
Member

eht16 commented Oct 7, 2015

Hmmm, using the referenced G-P code here is easy enough.
However, I'm wondering what the plans are regarding dropping Waf for the next release, as @kugel- is constantly demanding (#524 (comment)).

I'm getting tired of judging for Waf and don't mind to drop support for it.
My only concern are the Windows builds. If anyone wants to continue providing the Windows releases in an adequate quality, then let's drop Waf now.
If there are doubts about this, then we maybe should keep it. I personally cannot guarantee providing release-quality Windows builds using MSYS2.

@codebrainz
Copy link
Member

Hmmm, using the referenced G-P code here is easy enough.

Even that is overkill, we could probably just stick a -std=c99 into the CFLAGS and nobody would ever notice. AFAIK all the compilers we support or care about support that (gcc, clang, intel, even watcom and others). MSVC notoriously doesn't support C99 anyway (at least until recently, somewhat), but we don't support that anyway, really, and the referenced code doesn't either, AFAICT.

My only concern are the Windows builds. If anyone wants to continue providing the Windows releases in an adequate quality, then let's drop Waf now.

How much of it is Waf-specific? Is it the case that if the Autotools build system could generate nice win32 binaries (geany.exe+libgeany.dll, with resources compiled-in, etc), that you could use most of your release process still, or is a lot of it automated by Waf scripting?

It's a pain having multiple build systems sometimes, but IMO quality win32 releases are much more important.

@kugel-
Copy link
Member

kugel- commented Oct 8, 2015

MSYS2 builds are just as high quality has waf ones.

@codebrainz
Copy link
Member

MSYS2 builds are just as high quality has waf ones.

what is this in reference to? and what MSYS2 builds?

@kugel-
Copy link
Member

kugel- commented Oct 9, 2015

I refer to the MSYS2 builds I produced and tested.

As a bonus MSYS2 produces fine GTK3 builds as well.

@eht16
Copy link
Member

eht16 commented Oct 10, 2015

My concerns are not only about building the code itself, getting the code compiled into geany.exe and libgeany.dll is easy enough, with autotools, Waf and even hand-written Makefiles.
The fun begins with the stuff around, basically the 'make install' part with all those Windows specials, renaming text files (README, etc.) to *.txt , signing binaries, creating the GTK runtime bundle and last but not least the installer.

If @kugel- can guarantee all this for Geany and Geany-Plugins in the same or better quality than before, then I'd be fine to drop Waf immediately. But if not, we first need to sort remaining problems out.

@kugel-
Copy link
Member

kugel- commented Oct 11, 2015

Heh, now you try to pass the responsibility to me :-) IIRC you wanted to have a look at msys and if/how it can replace waf for win32 builds.

@eht16
Copy link
Member

eht16 commented Oct 11, 2015

To some extend, yes.
The next release is about in four weeks. I, for myself, probably will not be able to port the Windows builds to MSYS2 including plugins in that time completely.

Maybe I said I will have a look, if so, I didn't :(. Did you continue working on the bundle?

In case we won't drop Waf for 1.26, I guess we should declare dropping Waf and finishing MSYS2 support for Geany and plugins as a goal for 1.27 to finally get it done.

@kugel-
Copy link
Member

kugel- commented Oct 12, 2015

I'll be on vacation from 15 to 26 oct, so I don't think I can finish that up in time (there're some higher-priority items on the list too).

@eht16
Copy link
Member

eht16 commented Oct 13, 2015

Ok. My suggestion: let's keep Waf for one more release, 1.26 and then work hard on getting it removed by finishing the MSYS2 support, for Geany and plugins.

@b4n, @kugel- agree?

@b4n
Copy link
Member Author

b4n commented Oct 13, 2015

Fine with me. I'd indeed also love to see a single build system to maintain, but I must say I don't have so much motivation (nor real knowledge) to work on Windows builds, so I won't argue anyway :]

@eht16 BTW if you want me to import the C99 thingie I can do it, too.

@kugel-
Copy link
Member

kugel- commented Oct 13, 2015

Fine with me too.

However, MSYS2 creates fine builds today, so you can just set that up and try :-) IIRC the only challange was creating the zip with all of geany's dependencies

@eht16
Copy link
Member

eht16 commented Oct 15, 2015

Ok cool.

@b4n yes, importing the C99 code from plugins to Geany seems fine, especially as it is needed only until we drop Waf.

@elextr
Copy link
Member

elextr commented Oct 15, 2015

If WAF is going to be dropped, maybe it should give a deprecated message when its run?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants