On Tue, Jun 14, 2011 at 6:19 PM, Mark Dootson <mark.doot...@znix.com> wrote:
> Hi,
>
> Took a look at Wx::Scintilla - great work. With a minor build tweak (on my
> build systems some stuff isn't in the assumed locations - I'll post a patch)
> builds and works on Windows for me with a number of Perls.

Thanks. I appreciate your help. Hopefully I will be able to test and
integrate your patches ASAP.

>
> For info, Wx already has a build system for Wx extensions - but using EUMM.
>
> As an example, the attacked Makefile builds Wx::Scintilla if the scintilla
> wxWidgets dll is already built.
>
> The only hard coded part is the LIBS line which I was too lazy to set up
> properly.
>
> Obviously, it is of no use to your build system - but the point is, you
> don't have to figure out the correct compiler and linker lines, the
> Wx::build modules do that for you.
>
> I guess you could use and adapt Wx::build code for a Module::Build install.
>
> Building the scintilla wxWidgets dll is a bit more problematic.
>

True, the major part is the building of Scintilla and the Wx DLL. On
windows, things are simple, Alien::wxWidgets is installed from source.
On the non-win32 platforms, you usually have an existing wxWidgets
libary to link against or built from source.

> However, I'm pretty sure that the methods provided by Alien::wxWidgets give
> you more or less everything you need to create the necessary compiler and
> linker lines without having to work it all out yourself.
>

Yes i re-used a lot of them to avoid hard-coding stuff. That is why I
asked about the 'require Alien::wxWidgets; print
Alien::wxWidgets->compiler' instead of 'use Alien::wxWidgets'. 'use
Alien::wxWidgets ()' does not work also.

> I'll see if I can do the necessary in your Module::Build bits to get build
> working across Windows/Linux/Mac using just the info from Wx::build and
> Alien::wxWidgets.
>

Wx::build has been on my radar but i wanted to understand the whole
process first (i.e. to control it). On some hair-pulling occasions, i
wanted to go back to Module::Install for its ease of use when
compiling XS and stuff on windows compared to the false Module::Build
XS assumptions which i replaced with custom code. 'make' seems to be a
more sensible solution when you have a lot of C and XS source files to
compile (better modification dependency checking and faster
development process).

> I'll certainly upload and maintain PPMs for Wx::Scintilla and I'll try to
> better keep up with PPMs for Padre releases. For Padre, I need to 'diary on'
> say 7 days from a Padre CPAN release until the engines of ActiveState have
> caught up with PPM builds for latest non-wx dependencies.
>
> Hopefully have some build patches soon.

Great! Looking forward to see your patches. What about Citrus Perl?

>
> Regards
>
> Mark
>
>
>
>
> On 13/06/2011 14:51, Ahmad Zawawi wrote:
>>
>> Oops forgot to CC the wxPerl users list :)
>>
>>
>> ---------- Forwarded message ----------
>> From: Ahmad Zawawi<ahmad.zaw...@gmail.com>
>> Date: Mon, Jun 13, 2011 at 4:40 PM
>> Subject: Re: Alien::wxWidgets questions
>> To: Mark Dootson<mark.doot...@znix.com>
>>
>>
>> Hi,
>>
>> Thanks for the quick reply :)
>>
>>>
>>> I use mingw-w64 32 and 64 bit gcc compilers to build against all current
>>> versions of ActivePerl. A recent gcc from mingw.org works too.
>>>
>>
>> I was referring the broken ActivePerl PPM gcc + dmake support. The one
>> you get when you run cpan Alien::wxWidgets (after a fresh ActivePerl
>> installation) and it tells you that it cannot find a working compiler
>> and it downloads the one from ActiveState PPM repository. I will post
>> the exact log if you are interested. VC++ CL is not registered in PATH
>> unless you explicity call "%VS_STUDIO_HOME%\VC\bin\vcvars32.bat"
>> first.
>>
>>> Occasionally, in the past, a particular release of ActivePerl broke gcc
>>> compatibility, though I can't remember the last one. (one of the 5.10.1
>>> releases)
>>>
>>> For this reason I'm in the habit of still using ExtUtils::FakeConfig,
>>> creating my own libperl5xx.a and loading a Config_w64.pm
>>> ( http://www.wxperl.co.uk/building/Config_w64.pm )
>>>
>>>> - What are the supported Alien::wxWidgets configurations of over
>>>> Linux, Mac OS X and other platforms?
>>>
>>> Not sure what you mean?
>>>
>>
>> Alien::wxWidgets compiler / platforms tested support matrix. For example:
>> On Linux, Alien::wxWidgets links to libs or from source. Supports only
>> gcc?
>> On win32, gcc or VC++ cl (ActivePerl). Only gcc on strawberry and Cygwin.
>> On Mac, only gcc also?
>>
>>>> - How can one could 'require Alien::wxWidgets;' and then call
>>>> Alien::wxWidgets->compiler without a 'use Alien::wxWidgets' it?
>>>>
>>>> Please note that I am asking about the supported configurations to
>>>> develop a proper Wx::Scintilla test plan. Hopefully, I will get more
>>>> tester reports for Wx::Scintilla on different platforms.
>>>>
>>>> P.S. I need PAUSE *co-maintainer permission* on Wx::Event so I can
>>>> extend it without the PAUSE indexer complaints.
>>>
>>> you can also defeat indexer by splitting the package line
>>>
>>> package
>>>
>>>  Wx::Event;
>>>
>>
>> Fixed in 0.09. Thanks for the tip :)
>>
>>> alternatively, you can add your events in your XS code - which may be the
>>> preferred way for new stuff. See Wx source
>>> ext/richtext/RichText.xs
>>>
>>
>> Thanks, I will take a look at it.
>>
>>> Hope it helps.
>>>
>>> Mark
>>>
>>>
>>
>> It helped a lot.
>>
>> Thanks, :)
>> Ahmad M. Zawawi
>

Reply via email to