The wxPerl wrap (part1)

Hi People,

I thought I'd start a new thread for The wxPerl wrap.  Interestingly (and I've
only just realised this) you can get a lot of information on wrapping just by
reinstalling your wxPerl and redirecting the compiler output to a file,
something like this:

cd ~
rm -rf ~/wxPerl
svn co https://svn.code.sf.net/p/wxperl/code/wxPerl/trunk ~/wxPerl
cd ~/wxPerl
perl Makefile.PL
make 2>&1 | tee -a wxperl_install.txt ;
make install
cd ~

If you then inspect wxperl_install.txt you'll find all sorts of lovely info eg
(and I'm using my favourite module wxMediaCtrl for this):
     
    make[2]: Entering directory `/home/image/wxPerl/ext/media'
    cp lib/Wx/Media.pm ../../blib/lib/Wx/Media.pm
    Running Mkbootstrap for Wx::Media ()
    chmod 644 "Media.bs"
    "/usr/bin/perl" "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"
 -noprototypes -nolinenumbers  -typemap "/usr/share/perl/5.18/ExtUtils/typemap"
-typemap "../../typemap" -typemap "typemap"  Media.xs > Media.xsc && mv
Media.xsc Media.c
    g++ -pthread   -c  -I. -I../..
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk2-unicode-3.0
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0
 -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing
-pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g
  -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC "-I/usr/lib/perl/5.18/CORE"
 -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__   Media.c
    rm -f ../../blib/arch/auto/Wx/Media/Media.so
    LD_RUN_PATH="/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib"
g++    -shared  -fstack-protector Media.o  -o
.../../blib/arch/auto/Wx/Media/Media.so 	\
	   -L/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib -lpthread
-lwx_gtk2u_media-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0  	\
	  
    chmod 755 ../../blib/arch/auto/Wx/Media/Media.so
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Media.bs
.../../blib/arch/auto/Wx/Media/Media.bs 644
    make[2]: Leaving directory `/home/image/wxPerl/ext/media'

So working through this we get:

# Move to the directory and put the base module Media.pm in the right place.
    make[2]: Entering directory `/home/image/wxPerl/ext/media'
    cp lib/Wx/Media.pm ../../blib/lib/Wx/Media.pm
# Media.pm has some code like this:
# package Wx::MediaCtrl; @ISA = qw(Wx::Control);
# package Wx::MediaEvent; @ISA = qw(Wx::NotifyEvent);
#   And some MediaCtrl specific events like this:
# sub EVT_MEDIA_LOADED($$$) { $_[0]->Connect( $_[1], -1,
&Wx::wxEVT_MEDIA_LOADED, $_[2] ) };

# Not sure what this does:
    Running Mkbootstrap for Wx::Media ()
    chmod 644 "Media.bs"

# The we have the main part which creates Media.c using xsubpp and typemap from
Media.xs
    "/usr/bin/perl" "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"
 -noprototypes -nolinenumbers  -typemap "/usr/share/perl/5.18/ExtUtils/typemap"
-typemap "../../typemap" -typemap "typemap"  Media.xs > Media.xsc && mv
Media.xsc Media.c

# And then we compile Media.c

    g++ -pthread   -c  -I. -I../..
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk2-unicode-3.0
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0
 -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing
-pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g
  -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC "-I/usr/lib/perl/5.18/CORE"
 -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__   Media.c

# We do some other automatic stuff here and I don't think we need to get into it
yet.

    rm -f ../../blib/arch/auto/Wx/Media/Media.so
    LD_RUN_PATH="/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib"
g++    -shared  -fstack-protector Media.o  -o
.../../blib/arch/auto/Wx/Media/Media.so 	\
	   -L/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib -lpthread
-lwx_gtk2u_media-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0  	\
	  
# And make it executable.
    chmod 755 ../../blib/arch/auto/Wx/Media/Media.so
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Media.bs
.../../blib/arch/auto/Wx/Media/Media.bs 644
    make[2]: Leaving directory `/home/image/wxPerl/ext/media'

# There we have it.

So in this case the two input files are Media.pm and Media.xs if we create these
and then put an entry into typemap at the top level everything should work,
 There is a lot of stuff on the wiki about how to do this and I'm going to start
drilling down later.

Please be free with your comments.

Regards

Steve.
0
stephen
1/16/2016 11:33:20 AM
perl.wxperl.users 3070 articles. 0 followers. Follow

4 Replies
425 Views

Similar Articles

[PageSpeed] 13

--001a114015745b8664052988e9c9
Content-Type: text/plain; charset=UTF-8

Steve:

Your Part 1 is very close to the Perl Cookbook section 12.18 Using h2xs to
Make a Module with C Code.

I've started reading the various perldoc xs tutorials. Haven't seen any
mention of bootstrap yet.

James
On Jan 16, 2016 6:33 AM, <stephen.cookson@sca-uk.com> wrote:

> Hi People,
>
> I thought I'd start a new thread for The wxPerl wrap.  Interestingly (and
> I've
> only just realised this) you can get a lot of information on wrapping just
> by
> reinstalling your wxPerl and redirecting the compiler output to a file,
> something like this:
>
> cd ~
> rm -rf ~/wxPerl
> svn co https://svn.code.sf.net/p/wxperl/code/wxPerl/trunk ~/wxPerl
> cd ~/wxPerl
> perl Makefile.PL
> make 2>&1 | tee -a wxperl_install.txt ;
> make install
> cd ~
>
> If you then inspect wxperl_install.txt you'll find all sorts of lovely
> info eg
> (and I'm using my favourite module wxMediaCtrl for this):
>
>     make[2]: Entering directory `/home/image/wxPerl/ext/media'
>     cp lib/Wx/Media.pm ../../blib/lib/Wx/Media.pm
>     Running Mkbootstrap for Wx::Media ()
>     chmod 644 "Media.bs"
>     "/usr/bin/perl" "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"
>  -noprototypes -nolinenumbers  -typemap
> "/usr/share/perl/5.18/ExtUtils/typemap"
> -typemap "../../typemap" -typemap "typemap"  Media.xs > Media.xsc && mv
> Media.xsc Media.c
>     g++ -pthread   -c  -I. -I../..
>
> -I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk2-unicode-3.0
> -I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0
>  -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing
> -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2
> -g
>   -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC
> "-I/usr/lib/perl/5.18/CORE"
>  -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__   Media.c
>     rm -f ../../blib/arch/auto/Wx/Media/Media.so
>
> LD_RUN_PATH="/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib"
> g++    -shared  -fstack-protector Media.o  -o
> ../../blib/arch/auto/Wx/Media/Media.so  \
>            -L/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib
> -lpthread
> -lwx_gtk2u_media-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0         \
>
>     chmod 755 ../../blib/arch/auto/Wx/Media/Media.so
> "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Media.bs
> ../../blib/arch/auto/Wx/Media/Media.bs 644
>     make[2]: Leaving directory `/home/image/wxPerl/ext/media'
>
> So working through this we get:
>
> # Move to the directory and put the base module Media.pm in the right
> place.
>     make[2]: Entering directory `/home/image/wxPerl/ext/media'
>     cp lib/Wx/Media.pm ../../blib/lib/Wx/Media.pm
> # Media.pm has some code like this:
> # package Wx::MediaCtrl; @ISA = qw(Wx::Control);
> # package Wx::MediaEvent; @ISA = qw(Wx::NotifyEvent);
> #   And some MediaCtrl specific events like this:
> # sub EVT_MEDIA_LOADED($$$) { $_[0]->Connect( $_[1], -1,
> &Wx::wxEVT_MEDIA_LOADED, $_[2] ) };
>
> # Not sure what this does:
>     Running Mkbootstrap for Wx::Media ()
>     chmod 644 "Media.bs"
>
> # The we have the main part which creates Media.c using xsubpp and typemap
> from
> Media.xs
>     "/usr/bin/perl" "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"
>  -noprototypes -nolinenumbers  -typemap
> "/usr/share/perl/5.18/ExtUtils/typemap"
> -typemap "../../typemap" -typemap "typemap"  Media.xs > Media.xsc && mv
> Media.xsc Media.c
>
> # And then we compile Media.c
>
>     g++ -pthread   -c  -I. -I../..
>
> -I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk2-unicode-3.0
> -I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0
>  -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing
> -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2
> -g
>   -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC
> "-I/usr/lib/perl/5.18/CORE"
>  -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__   Media.c
>
> # We do some other automatic stuff here and I don't think we need to get
> into it
> yet.
>
>     rm -f ../../blib/arch/auto/Wx/Media/Media.so
>
> LD_RUN_PATH="/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib"
> g++    -shared  -fstack-protector Media.o  -o
> ../../blib/arch/auto/Wx/Media/Media.so  \
>            -L/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib
> -lpthread
> -lwx_gtk2u_media-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0         \
>
> # And make it executable.
>     chmod 755 ../../blib/arch/auto/Wx/Media/Media.so
> "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Media.bs
> ../../blib/arch/auto/Wx/Media/Media.bs 644
>     make[2]: Leaving directory `/home/image/wxPerl/ext/media'
>
> # There we have it.
>
> So in this case the two input files are Media.pm and Media.xs if we create
> these
> and then put an entry into typemap at the top level everything should work,
>  There is a lot of stuff on the wiki about how to do this and I'm going to
> start
> drilling down later.
>
> Please be free with your comments.
>
> Regards
>
> Steve.
>

--001a114015745b8664052988e9c9
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<p>Steve:</p>
<p>Your Part 1 is very close to the Perl Cookbook section 12.18 Using h2xs =
to Make a Module with C Code.</p>
<p>I&#39;ve started reading the various perldoc xs tutorials. Haven&#39;t s=
een any mention of bootstrap yet.</p>
<p>James </p>
<div class=3D"gmail_quote">On Jan 16, 2016 6:33 AM,  &lt;<a href=3D"mailto:=
stephen.cookson@sca-uk.com">stephen.cookson@sca-uk.com</a>&gt; wrote:<br ty=
pe=3D"attribution"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
..8ex;border-left:1px #ccc solid;padding-left:1ex">Hi People,<br>
<br>
I thought I&#39;d start a new thread for The wxPerl wrap.=C2=A0 Interesting=
ly (and I&#39;ve<br>
only just realised this) you can get a lot of information on wrapping just =
by<br>
reinstalling your wxPerl and redirecting the compiler output to a file,<br>
something like this:<br>
<br>
cd ~<br>
rm -rf ~/wxPerl<br>
svn co <a href=3D"https://svn.code.sf.net/p/wxperl/code/wxPerl/trunk" rel=
=3D"noreferrer" target=3D"_blank">https://svn.code.sf.net/p/wxperl/code/wxP=
erl/trunk</a> ~/wxPerl<br>
cd ~/wxPerl<br>
perl Makefile.PL<br>
make 2&gt;&amp;1 | tee -a wxperl_install.txt ;<br>
make install<br>
cd ~<br>
<br>
If you then inspect wxperl_install.txt you&#39;ll find all sorts of lovely =
info eg<br>
(and I&#39;m using my favourite module wxMediaCtrl for this):<br>
<br>
=C2=A0 =C2=A0 make[2]: Entering directory `/home/image/wxPerl/ext/media&#39=
;<br>
=C2=A0 =C2=A0 cp lib/Wx/Media.pm ../../blib/lib/Wx/Media.pm<br>
=C2=A0 =C2=A0 Running Mkbootstrap for Wx::Media ()<br>
=C2=A0 =C2=A0 chmod 644 &quot;Media.bs&quot;<br>
=C2=A0 =C2=A0 &quot;/usr/bin/perl&quot; &quot;/usr/local/share/perl/5.18.2/=
ExtUtils/xsubpp&quot;<br>
=C2=A0-noprototypes -nolinenumbers=C2=A0 -typemap &quot;/usr/share/perl/5.1=
8/ExtUtils/typemap&quot;<br>
-typemap &quot;../../typemap&quot; -typemap &quot;typemap&quot;=C2=A0 Media=
..xs &gt; Media.xsc &amp;&amp; mv<br>
Media.xsc Media.c<br>
=C2=A0 =C2=A0 g++ -pthread=C2=A0 =C2=A0-c=C2=A0 -I. -I../..<br>
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/g=
tk2-unicode-3.0<br>
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0<b=
r>
=C2=A0-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-ali=
asing<br>
-pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -O2=
 -g<br>
=C2=A0 -DVERSION=3D\&quot;0.01\&quot; -DXS_VERSION=3D\&quot;0.01\&quot; -fP=
IC &quot;-I/usr/lib/perl/5.18/CORE&quot;<br>
=C2=A0-DWXPL_EXT -D_FILE_OFFSET_BITS=3D64 -DWXUSINGDLL -D__WXGTK__=C2=A0 =
=C2=A0Media.c<br>
=C2=A0 =C2=A0 rm -f ../../blib/arch/auto/Wx/Media/Media.so<br>
=C2=A0 =C2=A0 LD_RUN_PATH=3D&quot;/usr/local/lib/perl/5.18.2/Alien/wxWidget=
s/gtk_3_0_2_uni/lib&quot;<br>
g++=C2=A0 =C2=A0 -shared=C2=A0 -fstack-protector Media.o=C2=A0 -o<br>
.../../blib/arch/auto/Wx/Media/Media.so=C2=A0 \<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0-L/usr/local/lib/perl/5.18.2/Alien=
/wxWidgets/gtk_3_0_2_uni/lib -lpthread<br>
-lwx_gtk2u_media-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0=C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0\<br>
<br>
=C2=A0 =C2=A0 chmod 755 ../../blib/arch/auto/Wx/Media/Media.so<br>
&quot;/usr/bin/perl&quot; -MExtUtils::Command::MM -e &#39;cp_nonempty&#39; =
-- Media.bs<br>
.../../blib/arch/auto/Wx/Media/Media.bs 644<br>
=C2=A0 =C2=A0 make[2]: Leaving directory `/home/image/wxPerl/ext/media&#39;=
<br>
<br>
So working through this we get:<br>
<br>
# Move to the directory and put the base module Media.pm in the right place=
..<br>
=C2=A0 =C2=A0 make[2]: Entering directory `/home/image/wxPerl/ext/media&#39=
;<br>
=C2=A0 =C2=A0 cp lib/Wx/Media.pm ../../blib/lib/Wx/Media.pm<br>
# Media.pm has some code like this:<br>
# package Wx::MediaCtrl; @ISA =3D qw(Wx::Control);<br>
# package Wx::MediaEvent; @ISA =3D qw(Wx::NotifyEvent);<br>
#=C2=A0 =C2=A0And some MediaCtrl specific events like this:<br>
# sub EVT_MEDIA_LOADED($$$) { $_[0]-&gt;Connect( $_[1], -1,<br>
&amp;Wx::wxEVT_MEDIA_LOADED, $_[2] ) };<br>
<br>
# Not sure what this does:<br>
=C2=A0 =C2=A0 Running Mkbootstrap for Wx::Media ()<br>
=C2=A0 =C2=A0 chmod 644 &quot;Media.bs&quot;<br>
<br>
# The we have the main part which creates Media.c using xsubpp and typemap =
from<br>
Media.xs<br>
=C2=A0 =C2=A0 &quot;/usr/bin/perl&quot; &quot;/usr/local/share/perl/5.18.2/=
ExtUtils/xsubpp&quot;<br>
=C2=A0-noprototypes -nolinenumbers=C2=A0 -typemap &quot;/usr/share/perl/5.1=
8/ExtUtils/typemap&quot;<br>
-typemap &quot;../../typemap&quot; -typemap &quot;typemap&quot;=C2=A0 Media=
..xs &gt; Media.xsc &amp;&amp; mv<br>
Media.xsc Media.c<br>
<br>
# And then we compile Media.c<br>
<br>
=C2=A0 =C2=A0 g++ -pthread=C2=A0 =C2=A0-c=C2=A0 -I. -I../..<br>
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/g=
tk2-unicode-3.0<br>
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0<b=
r>
=C2=A0-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-ali=
asing<br>
-pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -O2=
 -g<br>
=C2=A0 -DVERSION=3D\&quot;0.01\&quot; -DXS_VERSION=3D\&quot;0.01\&quot; -fP=
IC &quot;-I/usr/lib/perl/5.18/CORE&quot;<br>
=C2=A0-DWXPL_EXT -D_FILE_OFFSET_BITS=3D64 -DWXUSINGDLL -D__WXGTK__=C2=A0 =
=C2=A0Media.c<br>
<br>
# We do some other automatic stuff here and I don&#39;t think we need to ge=
t into it<br>
yet.<br>
<br>
=C2=A0 =C2=A0 rm -f ../../blib/arch/auto/Wx/Media/Media.so<br>
=C2=A0 =C2=A0 LD_RUN_PATH=3D&quot;/usr/local/lib/perl/5.18.2/Alien/wxWidget=
s/gtk_3_0_2_uni/lib&quot;<br>
g++=C2=A0 =C2=A0 -shared=C2=A0 -fstack-protector Media.o=C2=A0 -o<br>
.../../blib/arch/auto/Wx/Media/Media.so=C2=A0 \<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0-L/usr/local/lib/perl/5.18.2/Alien=
/wxWidgets/gtk_3_0_2_uni/lib -lpthread<br>
-lwx_gtk2u_media-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0=C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0\<br>
<br>
# And make it executable.<br>
=C2=A0 =C2=A0 chmod 755 ../../blib/arch/auto/Wx/Media/Media.so<br>
&quot;/usr/bin/perl&quot; -MExtUtils::Command::MM -e &#39;cp_nonempty&#39; =
-- Media.bs<br>
.../../blib/arch/auto/Wx/Media/Media.bs 644<br>
=C2=A0 =C2=A0 make[2]: Leaving directory `/home/image/wxPerl/ext/media&#39;=
<br>
<br>
# There we have it.<br>
<br>
So in this case the two input files are Media.pm and Media.xs if we create =
these<br>
and then put an entry into typemap at the top level everything should work,=
<br>
=C2=A0There is a lot of stuff on the wiki about how to do this and I&#39;m =
going to start<br>
drilling down later.<br>
<br>
Please be free with your comments.<br>
<br>
Regards<br>
<br>
Steve.<br>
</blockquote></div>

--001a114015745b8664052988e9c9--
0
jmlynesjr
1/17/2016 3:01:29 PM
--------------030409020307020205070400
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi James,

Do you know of a web version of this, sadly my copy of Perl Cookbook is 
still in storage after the move.

Regards

Steve

On 17/01/16 15:01, James Lynes wrote:
>
> Steve:
>
> Your Part 1 is very close to the Perl Cookbook section 12.18 Using 
> h2xs to Make a Module with C Code.
>
> I've started reading the various perldoc xs tutorials. Haven't seen 
> any mention of bootstrap yet.
>
> James
>
> On Jan 16, 2016 6:33 AM, <stephen.cookson@sca-uk.com 
> <mailto:stephen.cookson@sca-uk.com>> wrote:
>
>     Hi People,
>
>     I thought I'd start a new thread for The wxPerl wrap.
>     Interestingly (and I've
>     only just realised this) you can get a lot of information on
>     wrapping just by
>     reinstalling your wxPerl and redirecting the compiler output to a
>     file,
>     something like this:
>
>     cd ~
>     rm -rf ~/wxPerl
>     svn co https://svn.code.sf.net/p/wxperl/code/wxPerl/trunk ~/wxPerl
>     cd ~/wxPerl
>     perl Makefile.PL
>     make 2>&1 | tee -a wxperl_install.txt ;
>     make install
>     cd ~
>
>     If you then inspect wxperl_install.txt you'll find all sorts of
>     lovely info eg
>     (and I'm using my favourite module wxMediaCtrl for this):
>
>         make[2]: Entering directory `/home/image/wxPerl/ext/media'
>         cp lib/Wx/Media.pm ../../blib/lib/Wx/Media.pm
>         Running Mkbootstrap for Wx::Media ()
>         chmod 644 "Media.bs"
>         "/usr/bin/perl" "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"
>      -noprototypes -nolinenumbers  -typemap
>     "/usr/share/perl/5.18/ExtUtils/typemap"
>     -typemap "../../typemap" -typemap "typemap"  Media.xs > Media.xsc
>     && mv
>     Media.xsc Media.c
>         g++ -pthread   -c  -I. -I../..
>     -I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk2-unicode-3.0
>     -I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0
>      -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector
>     -fno-strict-aliasing
>     -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
>     -D_FILE_OFFSET_BITS=64 -O2 -g
>       -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC
>     "-I/usr/lib/perl/5.18/CORE"
>      -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__  Media.c
>         rm -f ../../blib/arch/auto/Wx/Media/Media.so
>     LD_RUN_PATH="/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib"
>     g++    -shared  -fstack-protector Media.o  -o
>     ../../blib/arch/auto/Wx/Media/Media.so  \
>      -L/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib
>     -lpthread
>     -lwx_gtk2u_media-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0  \
>
>         chmod 755 ../../blib/arch/auto/Wx/Media/Media.so
>     "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Media.bs
>     ../../blib/arch/auto/Wx/Media/Media.bs 644
>         make[2]: Leaving directory `/home/image/wxPerl/ext/media'
>
>     So working through this we get:
>
>     # Move to the directory and put the base module Media.pm in the
>     right place.
>         make[2]: Entering directory `/home/image/wxPerl/ext/media'
>         cp lib/Wx/Media.pm ../../blib/lib/Wx/Media.pm
>     # Media.pm has some code like this:
>     # package Wx::MediaCtrl; @ISA = qw(Wx::Control);
>     # package Wx::MediaEvent; @ISA = qw(Wx::NotifyEvent);
>     #   And some MediaCtrl specific events like this:
>     # sub EVT_MEDIA_LOADED($$$) { $_[0]->Connect( $_[1], -1,
>     &Wx::wxEVT_MEDIA_LOADED, $_[2] ) };
>
>     # Not sure what this does:
>         Running Mkbootstrap for Wx::Media ()
>         chmod 644 "Media.bs"
>
>     # The we have the main part which creates Media.c using xsubpp and
>     typemap from
>     Media.xs
>         "/usr/bin/perl" "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"
>      -noprototypes -nolinenumbers  -typemap
>     "/usr/share/perl/5.18/ExtUtils/typemap"
>     -typemap "../../typemap" -typemap "typemap"  Media.xs > Media.xsc
>     && mv
>     Media.xsc Media.c
>
>     # And then we compile Media.c
>
>         g++ -pthread   -c  -I. -I../..
>     -I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk2-unicode-3.0
>     -I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0
>      -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector
>     -fno-strict-aliasing
>     -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
>     -D_FILE_OFFSET_BITS=64 -O2 -g
>       -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC
>     "-I/usr/lib/perl/5.18/CORE"
>      -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__  Media.c
>
>     # We do some other automatic stuff here and I don't think we need
>     to get into it
>     yet.
>
>         rm -f ../../blib/arch/auto/Wx/Media/Media.so
>     LD_RUN_PATH="/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib"
>     g++    -shared  -fstack-protector Media.o  -o
>     ../../blib/arch/auto/Wx/Media/Media.so  \
>      -L/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib
>     -lpthread
>     -lwx_gtk2u_media-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0  \
>
>     # And make it executable.
>         chmod 755 ../../blib/arch/auto/Wx/Media/Media.so
>     "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Media.bs
>     ../../blib/arch/auto/Wx/Media/Media.bs 644
>         make[2]: Leaving directory `/home/image/wxPerl/ext/media'
>
>     # There we have it.
>
>     So in this case the two input files are Media.pm and Media.xs if
>     we create these
>     and then put an entry into typemap at the top level everything
>     should work,
>      There is a lot of stuff on the wiki about how to do this and I'm
>     going to start
>     drilling down later.
>
>     Please be free with your comments.
>
>     Regards
>
>     Steve.
>


--------------030409020307020205070400
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi James,<br>
    <br>
    Do you know of a web version of this, sadly my copy of Perl Cookbook
    is still in storage after the move.<br>
    <br>
    Regards<br>
    <br>
    Steve<br>
    <br>
    <div class="moz-cite-prefix">On 17/01/16 15:01, James Lynes wrote:<br>
    </div>
    <blockquote
cite="mid:CABPyseiG4MYZY=7MY51TK3Mz2wg61m=JTDNPcH6-Avi8Myh1tw@mail.gmail.com"
      type="cite">
      <p>Steve:</p>
      <p>Your Part 1 is very close to the Perl Cookbook section 12.18
        Using h2xs to Make a Module with C Code.</p>
      <p>I've started reading the various perldoc xs tutorials. Haven't
        seen any mention of bootstrap yet.</p>
      <p>James </p>
      <div class="gmail_quote">On Jan 16, 2016 6:33 AM, &lt;<a
          moz-do-not-send="true"
          href="mailto:stephen.cookson@sca-uk.com">stephen.cookson@sca-uk.com</a>&gt;
        wrote:<br type="attribution">
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi People,<br>
          <br>
          I thought I'd start a new thread for The wxPerl wrap. 
          Interestingly (and I've<br>
          only just realised this) you can get a lot of information on
          wrapping just by<br>
          reinstalling your wxPerl and redirecting the compiler output
          to a file,<br>
          something like this:<br>
          <br>
          cd ~<br>
          rm -rf ~/wxPerl<br>
          svn co <a moz-do-not-send="true"
            href="https://svn.code.sf.net/p/wxperl/code/wxPerl/trunk"
            rel="noreferrer" target="_blank">https://svn.code.sf.net/p/wxperl/code/wxPerl/trunk</a>
          ~/wxPerl<br>
          cd ~/wxPerl<br>
          perl Makefile.PL<br>
          make 2&gt;&amp;1 | tee -a wxperl_install.txt ;<br>
          make install<br>
          cd ~<br>
          <br>
          If you then inspect wxperl_install.txt you'll find all sorts
          of lovely info eg<br>
          (and I'm using my favourite module wxMediaCtrl for this):<br>
          <br>
              make[2]: Entering directory `/home/image/wxPerl/ext/media'<br>
              cp lib/Wx/Media.pm ../../blib/lib/Wx/Media.pm<br>
              Running Mkbootstrap for Wx::Media ()<br>
              chmod 644 "Media.bs"<br>
              "/usr/bin/perl"
          "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"<br>
           -noprototypes -nolinenumbers  -typemap
          "/usr/share/perl/5.18/ExtUtils/typemap"<br>
          -typemap "../../typemap" -typemap "typemap"  Media.xs &gt;
          Media.xsc &amp;&amp; mv<br>
          Media.xsc Media.c<br>
              g++ -pthread   -c  -I. -I../..<br>
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk2-unicode-3.0<br>
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0<br>
           -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector
          -fno-strict-aliasing<br>
          -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
          -D_FILE_OFFSET_BITS=64 -O2 -g<br>
            -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC
          "-I/usr/lib/perl/5.18/CORE"<br>
           -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ 
           Media.c<br>
              rm -f ../../blib/arch/auto/Wx/Media/Media.so<br>
             
LD_RUN_PATH="/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib"<br>
          g++    -shared  -fstack-protector Media.o  -o<br>
          ../../blib/arch/auto/Wx/Media/Media.so  \<br>
                   
           -L/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib
          -lpthread<br>
          -lwx_gtk2u_media-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0       
           \<br>
          <br>
              chmod 755 ../../blib/arch/auto/Wx/Media/Media.so<br>
          "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' --
          Media.bs<br>
          ../../blib/arch/auto/Wx/Media/Media.bs 644<br>
              make[2]: Leaving directory `/home/image/wxPerl/ext/media'<br>
          <br>
          So working through this we get:<br>
          <br>
          # Move to the directory and put the base module Media.pm in
          the right place.<br>
              make[2]: Entering directory `/home/image/wxPerl/ext/media'<br>
              cp lib/Wx/Media.pm ../../blib/lib/Wx/Media.pm<br>
          # Media.pm has some code like this:<br>
          # package Wx::MediaCtrl; @ISA = qw(Wx::Control);<br>
          # package Wx::MediaEvent; @ISA = qw(Wx::NotifyEvent);<br>
          #   And some MediaCtrl specific events like this:<br>
          # sub EVT_MEDIA_LOADED($$$) { $_[0]-&gt;Connect( $_[1], -1,<br>
          &amp;Wx::wxEVT_MEDIA_LOADED, $_[2] ) };<br>
          <br>
          # Not sure what this does:<br>
              Running Mkbootstrap for Wx::Media ()<br>
              chmod 644 "Media.bs"<br>
          <br>
          # The we have the main part which creates Media.c using xsubpp
          and typemap from<br>
          Media.xs<br>
              "/usr/bin/perl"
          "/usr/local/share/perl/5.18.2/ExtUtils/xsubpp"<br>
           -noprototypes -nolinenumbers  -typemap
          "/usr/share/perl/5.18/ExtUtils/typemap"<br>
          -typemap "../../typemap" -typemap "typemap"  Media.xs &gt;
          Media.xsc &amp;&amp; mv<br>
          Media.xsc Media.c<br>
          <br>
          # And then we compile Media.c<br>
          <br>
              g++ -pthread   -c  -I. -I../..<br>
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib/wx/include/gtk2-unicode-3.0<br>
-I/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/include/wx-3.0<br>
           -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector
          -fno-strict-aliasing<br>
          -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
          -D_FILE_OFFSET_BITS=64 -O2 -g<br>
            -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC
          "-I/usr/lib/perl/5.18/CORE"<br>
           -DWXPL_EXT -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ 
           Media.c<br>
          <br>
          # We do some other automatic stuff here and I don't think we
          need to get into it<br>
          yet.<br>
          <br>
              rm -f ../../blib/arch/auto/Wx/Media/Media.so<br>
             
LD_RUN_PATH="/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib"<br>
          g++    -shared  -fstack-protector Media.o  -o<br>
          ../../blib/arch/auto/Wx/Media/Media.so  \<br>
                   
           -L/usr/local/lib/perl/5.18.2/Alien/wxWidgets/gtk_3_0_2_uni/lib
          -lpthread<br>
          -lwx_gtk2u_media-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0       
           \<br>
          <br>
          # And make it executable.<br>
              chmod 755 ../../blib/arch/auto/Wx/Media/Media.so<br>
          "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' --
          Media.bs<br>
          ../../blib/arch/auto/Wx/Media/Media.bs 644<br>
              make[2]: Leaving directory `/home/image/wxPerl/ext/media'<br>
          <br>
          # There we have it.<br>
          <br>
          So in this case the two input files are Media.pm and Media.xs
          if we create these<br>
          and then put an entry into typemap at the top level everything
          should work,<br>
           There is a lot of stuff on the wiki about how to do this and
          I'm going to start<br>
          drilling down later.<br>
          <br>
          Please be free with your comments.<br>
          <br>
          Regards<br>
          <br>
          Steve.<br>
        </blockquote>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------030409020307020205070400--
0
steveco
1/18/2016 3:20:57 PM
Hi Steve!

On Mon, Jan 18, 2016 at 10:20 AM, Steve Cookson - gmail
<steveco.1959@gmail.com> wrote:
>
> Do you know of a web version of this, sadly my copy of Perl Cookbook is
> still in storage after the move.

http://docstore.mik.ua/orelly/perl/cookbook/ch12_01.htm
0
david
1/18/2016 5:33:18 PM
Hi David,

Thanks very much,

Steve.

On 18/01/16 17:33, David Kaufman wrote:
> Hi Steve!
>
> On Mon, Jan 18, 2016 at 10:20 AM, Steve Cookson - gmail
> <steveco.1959@gmail.com> wrote:
>> Do you know of a web version of this, sadly my copy of Perl Cookbook is
>> still in storage after the move.
> http://docstore.mik.ua/orelly/perl/cookbook/ch12_01.htm
>

0
steveco
1/18/2016 7:44:13 PM
Reply:

Similar Artilces:

[wxperl-users] wxPerl Wiki => wxPerl Kwiki
Hello all, Once upon a time I installed a Wiki, called it the wxPerl Wiki and didn't look at it anymore. I noticed that only a few people use it, it's been hacked a few times, and to make it work, at least yours truly should put more time and effort in it. This morning I started installing Kwiki, which is a far better Wiki platform than the Wiki that was installed. Apart from the UserPreferences page (working on it), everything works as it should. However, the data people entered in the old Wiki can't be converted to Kwiki automatically. Therefore I need your ...

[wxperl-users] [ wxperl-Bugs-588884 ] wxperl will not compile
Bugs item #588884, was opened at 2002-07-30 17:13 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115655&aid=588884&group_id=15655 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Dan Stahlke (danstahlke) Assigned to: Nobody/Anonymous (nobody) Summary: wxperl will not compile Initial Comment: I cannot get the wxPerl module to compile. It breaks with this message: c++ -c -I/usr/local/lib/wx/include/gtk-2.3 -I/usr/local/include -I. -fno-rtti -fno-exceptions -O2 -DVERSION=\0.10\ -DXS_VERSION=\...

[wxperl-users] [ wxperl-Bugs-1237847 ] wxPerl does not build with wxUniversal
Bugs item #1237847, was opened at 2005-07-13 23:24 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115655&aid=1237847&group_id=15655 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Mattia Barbon (mbarbon) Assigned to: Nobody/Anonymous (nobody) Summary: wxPerl does...

Fwd: wxPerl on the Mac; was: [wxperl-users] Re: problems with wxPerl
>To: Jouke Visser <jouke@pvoice.org>, wxperl-users@lists.sourceforge.net >From: Christian Jaeger <christian.jaeger@sl.ethz.ch> >Subject: wxPerl on the Mac; was: [wxperl-users] Re: problems with wxPerl >Date: Sun, 30 Sep 2001 23:08:19 +0100 > >Hello, > >I'm crossposting this reply to the macosx-perl mailing list because >there is some interest, too. Actually I forgot to put the macosx-perl adress on it. >At 14:02 Uhr +0200 24.9.2001, Jouke Visser wrote: >>I wondered if anyone yet tried to compile wxPerl on a Mac. If not, I'...

[wxperl-users] [ wxperl-Bugs-861025 ] Wx::Wizard not fully wrapped
Bugs item #861025, was opened at 2003-12-16 09:38 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115655&aid=861025&group_id=15655 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Matthew Gabeler-Lee (cheetah) Assigned to: Nobody/Anonymous (nobody) Summary: Wx::Wizard not fully wrapped Initial Comment: Wx::Wizard->new returns a scalar ref instead of a hash ref. Modifying this ref causes the interpreter to crash when ne...

[wxperl-users] [ wxperl-Feature Requests-890493 ] Add wrapping for wxDialog::SetIcon
Feature Requests item #890493, was opened at 2004-02-04 10:23 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=365655&aid=890493&group_id=15655 Category: None Group: None Status: Open Priority: 5 Submitted By: Matthew Gabeler-Lee (cheetah) Assigned to: Nobody/Anonymous (nobody) Summary: Add wrapping for wxDialog::SetIcon Initial Comment: Wrapping code is missing for wxDialog::SetIcon. It would be nice if it wasn't :) ----------------------------------...

[wxperl-users] [ wxperl-Bugs-1163248 ] wxperl webpage is appalling broken
Bugs item #1163248, was opened at 2005-03-14 12:24 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115655&aid=1163248&group_id=15655 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Karl Palsson (kpalsson) Assigned to: Nobody/Anonymous (nobody) Summary: wxperl webpage is appalling broken Initial Comment: Despite loudly proclaiming to be XHTML 1.0 and having the link to invite users to prove it http://validator.w3.org/che...

[wxperl-users] [ wxperl-Patches-1430238 ] OSX wxPerl bundle error
Patches item #1430238, was opened at 2006-02-12 11:08 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=315655&aid=1430238&group_id=15655 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: John Ralls (jralls) Assigned to: Nobody/Anonymous (nobody) Summary: OSX wxPerl b...

[wxperl-users] [ wxperl-Bugs-1407418 ] wxPerl crashes in Debug Mode
Bugs item #1407418, was opened at 2006-01-16 16:25 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115655&aid=1407418&group_id=15655 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Outaspace (outaspace) Assigned to: Nobody/Anonymous (nobody) Summary: wxPerl crashe...

[wxperl-users] [ wxperl-Bugs-1544543 ] http://www.wxperl.de/
Bugs item #1544543, was opened at 2006-08-22 14:49 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115655&aid=1544543&group_id=15655 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stephan Springer (tengai) Assigned to: Nobody/Anonymous (nobody) Summary: http://ww...

[wxperl-users] wxPerl constants
Hi, Newbie question - how does one suck in all the wxPerl constats into your code ie stulff like wx_OK etc etc. Geoff -- View this message in context: http://www.nabble.com/wxPerl-constants-t1177761.html#a3098302 Sent from the wxperl-users forum at Nabble.com. On Feb 23, 2006, at 1:47 PM, Geoff M wrote: > > Hi, > > Newbie question - how does one suck in all the wxPerl constats into > your > code ie stulff like wx_OK etc etc. > > Geoff Name all of the constants your package needs in the "use statement. E.g.: use Wx qw(wxHORIZONTA...

[wxperl-users] wxPerl demo
Hi all, I am going to split the demo distribution from wxPerl, make it installable from CPAN and include most of what is currently under samples/ inside the demo. As a start I created the wxDemo module in CVS, which is a slightly improved version of the current demo, plus code extracted from the (horrible) control sample. In the next wxPerl release, I will remove the demo/ subdirectory and any samples I was able to assimilate in the demo. In the future I plan to change the look of the demo to be somewhat like the 'widgets' wxWidgets sample: on the right of the ...

[wxperl-users] wxPerl::Styles
Hi all, Here's a style shortcut package to complement wxPerl::Constructors http://scratchcomputing.com/svn/wxPerl-Styles/trunk/ I realize that style('hscroll', te => 'process_enter|multiline') isn't much shorter than (style => Wx::wxHSCROLL()|Wx::wxTE_PROCESS_ENTER()| Wx::wxTE_MULTILINE()), but shortness is only an interim goal. By processing the constants as strings, I'm hoping to enable a better XRC-like thing. In the meantime, it's shorter enough that I think I can get all of the style onto one line more often than not. Thoughts...

[wxperl-users] your wxPerl wishlist?
Hi all, I'm working on a few ideas for better expressing wx child widgets and layouts in Perl and I'm curious what you think is most needed. First, let me say a big thank you to Mattia. I've been using wxPerl for a while now and am fairly familiar with the code and what a monumental effort this was and is. Mattia, you deserve many more thank-you's and likely don't hear them often enough. What I'm working on is something like an "ideal syntax", not any sort of flaw in the bindings. Next, I've heard "I want a good, free GUI rad too...

[wxperl-users] wxPerl documentation
Hi, I'm new to wxPerl and I'm finding that I fall into the cracks between wxPerl and wxWindows. I'm not sure what documentation to follow. Specifically, at the moment I'm trying to create a ListBox. I appear to have succeeded, that is, I don't get any errors, but I also don't see a box. How do I give it a position, size, etc? The syntax I'm using is not what's specified in the wxWindows online document (more like Perl), but I don't want to start guessing. I have <CODE> my $list1 = Wx::ListBox->new(); # make a list box, I hope...

Web resources about - The wxPerl wrap (part1) - perl.wxperl.users

wxPerl
Home - About - Download - Documentation - Support/Resources This Page › What is ? › News › Screenshots › Users What is ? is an extension module ...

Perl - Wikipedia, the free encyclopedia
Since then, it has undergone many changes and revisions and become widely popular amongst programmers. Larry Wall continues to oversee development ...

O'Reilly Open Source Convention 2007 • July 23-27, 2007 • Portland, Oregon
O'Reilly Open Source Convention 2007 - July 23-27, 2007 - Portland, Oregon


Downloads - wxWidgets
Not using C++? Get wxWidgets from the wxPython , wxPerl , and wx.NET download sites. Looking for even more? Check out wxWidgets add-ons at wxCode ...

wxPerl
Home - About - Download - Documentation - Support/Resources This Page › Binaries › Documentation › Source › Subversion Binaries ActivePerl PPM ...

wxPerl
This list is for users, you can visit the archives .You can post to the list at wxperl-users@perl.org .To subscribe, send an empty mail to w ...

wxPerl
is a perl module that allows a Perl program to use the wxWidgets GUI toolkit. If you don't know anything about Perl or wxWidgets, you may find ...

wxPerl
Home - About - Download - Documentation - Support/Resources This Page › wxWidgets / documentation › Tutorials › Other wxWidgets / documentation ...

Resources last updated: 1/16/2016 1:38:22 PM