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

wincon: re-add HAVE_INFOEX #28

Closed
GitMensch opened this issue Apr 11, 2018 · 4 comments
Closed

wincon: re-add HAVE_INFOEX #28

GitMensch opened this issue Apr 11, 2018 · 4 comments

Comments

@GitMensch
Copy link
Contributor

Moved from discussion in #27.

@wmcbrine removed the HAVE_INFOEX definition from win32/pdcwin.h with d9fb37d ("Dropped support for Digital Mars.") which breaks building with other environments like MinGW, too.

While mingw-w64 has CONSOLE_SCREEN_BUFFER_INFOEX it is generally not available with the "original" MinGW environment, even when updated (there is a MinGW ticket for this issue).

But even with an updated version the "new" wincon.h wouldn't be available for many old environments.

Despite the minimal clutter the old defines add there is no bad part about it (it doesn't break new environments), therefore I'd like to see it back with the minimal entry in wincon/pdcwin.h like:

#if !defined(HAVE_INFOEX) && !defined(HAVE_NO_INFOEX)
# define HAVE_INFOEX
#endif

This way all environments will default to have it and when building with "old" environments the option "-DHAVE_NO_INFOEX` exists.

@wmcbrine
Copy link
Owner

I disagree that the clutter is "minimal" and has "no bad part"; I find it ugly. It was a happy day for me when I thought I could take it out. (sigh)

I gotta admit, I was surprised to see the OSDN project you linked to. It doesn't show up in the first five pages of Google results for "mingw", and AFAICT, MinGW.org itself only points to SourceForge, where nothing has been updated since 2013; even the Wikipedia article on MinGW says "[t]he development of the original MinGW project has halted in 2013", although I now see that it does also link to OSDN.

@wmcbrine
Copy link
Owner

wmcbrine commented Dec 2, 2018

You know, looking at this again now, I think part of my opposition was that I'd planned to drop a lot more of the "ugly code" than I actually got around to doing. If it's just a matter of adding back this one structure... I might as well do it. I still feel like PDCurses shouldn't have to keep supporting outdated compile environments, but I seem to be outvoted. ;)

Rather than re-adding HAVE_INFOEX per se, I propose just HAVE_NO_INFOEX to bracket the structure. I'll accept the INFOEX=N from your Bill Gray patch as well.

@wmcbrine
Copy link
Owner

wmcbrine commented Dec 2, 2018

Changes posted now: 1cb6b51

(Not yet tested.)

@GitMensch
Copy link
Contributor Author

Tested and works as expected:

  • MINGW32 and MINGW64 build without any issues (demos only working in OS directly)
  • MinGW builds with INFOEX=N (and demos working within MSYS and OS)

Thank you for coming back and finally solving this.

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

No branches or pull requests

2 participants