Re: wxWidgets 2.9 build

From: Peter Geoghegan <peter(dot)geoghegan86(at)gmail(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: Guillaume Lelarge <guillaume(at)lelarge(dot)info>, pgadmin-hackers(at)postgresql(dot)org
Subject: Re: wxWidgets 2.9 build
Date: 2011-01-18 14:51:43
Message-ID: AANLkTikfDGzQx_K1jXw2o9pX=-Qo4Z9YVkzZ5PUVQR_P@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

On 18 January 2011 09:31, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>> I take it that you didn't see this Dave? I built it against 2.9, which
>> was itself built using a shell script that's the same as
>> ./xtra/build-wxgtk, except that I removed the contrib stuff.
>
> No, I didn't. FYI, I was building on Mac which tends to have it's own
> unique set of issues due to the Universal Binaries the platform uses.
>
>> Should -fPIC be in our CXXFLAGS? If so, why wouldn't it be?
>
> I don't know - should it? We're not building any shared libraries, so
> does it matter?

I meant for OGL.

>> I believe that the only things standing between us and a rough 2.9 build are:
>>
>> 1. The linker problem above. OGL compiles acceptably.
>
> That'll probably fix explainCanvas and explainShape.

I've e-mailed the original developer, so hopefully he'll be able to
help on my linker problem. I asked the listed maintainer about the
licensing thing, and I may have been wrong to be skeptical. Changing
the licensing looks like something that could actually happen.

>> 3. The problem with wx2stc() above. I could have fixed this by copying
>> and pasting the tiny function which only appears in private.h in 2.9,
>> but it that would violate the wxWindows licence.
>
>
> <grumble>. So we need to convert from a wxString to a UCS2 char array.
> http://docs.wxwidgets.org/stable/wx_wxmbconvutf16.html#wxmbconvutf16
> seems like it might do the trick.

It seems to just be used in wxStyledTextCtrl, which was contrib in
2.8. Now it's mainstream. We always used it though. Anyway, the reason
we don't use what you've linked to, is, I suppose, the same reason why
they don't in PlatWX.cpp where unicode variants of wx2stc() are
defined:

// Convert using Scintilla's functions instead of wx's, Scintilla's are more
// forgiving and won't assert...

>> I have had to do one or two things that I'm not overjoyed with to get
>> to this point, including using a const_cast to cast away constness
>> from a handle (wxChar*) to the internal buffer used by wxString.
>
> Urgh.

I just meant that there are one or two times that happens as a
temporary stopgap. It may not have been worth mentioning, as I expect
that they'll be fixed before this patch is reviewed. They aren't
pervasive, because the questionable practice of manipulating a
wxString buffer through a wxChar* isn't pervasive in the existing
code. I currently do the right thing in the vast majority of cases,
though the right thing for portability as documented by "Potential
Unicode Pitfalls" is often a bit on the ugly side.

Trying to get OGL built now. Makefile seems to have been made with a
fairly old version of bakefile. I think at the very least, we should
be able to get it officially supported with 2.9.

--
Regards,
Peter Geoghegan

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2011-01-18 15:16:39 Re: wxWidgets 2.9 build
Previous Message Dave Page 2011-01-18 09:31:58 Re: wxWidgets 2.9 build