Commit 735749bc authored by Damyan Ivanov's avatar Damyan Ivanov

[svn-upgrade] Integrating new upstream version, libwx-perl (0.86)

parent 34c8c4a1
Revision history for Perl extension Wx.
0.86 Wed Sep 3 22:57:17 CEST 2008
- Allow binding a method to an event, not just a sub reference.
- Add Wx::SetAlwaysUTF8() to always return character strings from
wxWidgets methods, even in ANSI mode (does nothing if wxWidgets
is compiled with Unicode enabled).
- Warn if INC/LIB are passed to Makefile.PL, since this might
cause the build to fail.
0.85 Sun Aug 24 11:26:38 CEST 2008
- Compilation fixes for wxMotif (patch by Marek Rouchal).
- On Mac OS X warn the user if it is not running the program
using wxPerl.
0.84 Sun Jun 29 21:43:31 CEST 2008
- Workaround for crash on exit on DEBUGGING Perls
(mostly affects Fedora users)
......
This diff is collapsed.
# http://module-build.sourceforge.net/META-spec.html
name: Wx
version: 0.84
version: 0.86
version_from: Wx.pm
installdirs: site
author: Mattia Barbon <mbarbon@cpan.org>
......
......@@ -87,6 +87,16 @@ perl Makefile.PL --help
======================================================================
EOT
if( grep /\b(?:INC|LIB)=/, @ARGV ) {
print <<EOT;
======================================================================
It seems that LIB and/or INC was passed to Makefile.PL invocation;
this might cause the build to fail. Please retry without passing
INC/LIB to Makefile.PL
======================================================================
EOT
}
}
# local variables:
......
wxPerl is a wrapper for the wxWidgets (formerly known as wxWindows) GUI toolkit
Copyright (c) 2000-2006 Mattia Barbon.
Copyright (c) 2000-2008 Mattia Barbon.
This package is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
......@@ -11,7 +11,7 @@ Please read the DEPRECATIONS section at the bottom!
INSTALLATION:
Build and install wxWidgets
Build and install wxWidgets, version 2.5.3 or above
perl Makefile.PL
make
......@@ -25,19 +25,18 @@ TESTED PLATFORMS:
Perl | OS | wxWidgets | Compiler
----------------+---------------+----------------+-------------------
ActivePerl 6xx | Windows 2000 | wxMSW 2.5.5 | MSVC 5
8xx | | wxMSW 2.4.2 | MSVC 6
5.6.1 | | | MinGW GCC 3.4
5.8.3 | | |
ActivePerl 8xx | Windows 2000 | wxMSW 2.8.x | MSVC 5
Strawberry Perl | Windows XP | | MSVC 6
5.10.x | | | MinGW GCC 3.4
----------------+---------------+----------------+-------------------
5.8.3 | RedHat 8.0 | wxGTK 2.4.2 | GCC 3.2
5.6.1 | Debian 3.0 | | GCC 2.95.2
| FreeBSD | wxGTK 2.5.5 |
5.8.x | Fedora 9 | wxGTK 2.8.x | GCC 3.x
5.6.1 | Debian 4.0 | | GCC 4.x
| FreeBSD | |
| Gentoo | |
----------------+---------------+----------------+-------------------
5.6.1 | Solaris | wxGTK 2.5.4 | GCC 3.3
----------------+---------------+----------------+-------------------
5.8.3 | Mac OS X 10.3 | wxMac 2.5.5 | GCC 3.3
5.8.x | Mac OS X 10.3 | wxMac 2.5.3 | GCC 3.3
5.10.0 | Mac OS X 10.4 | wxMac 2.8.x | GCC 4.0
| Mac OS X 10.5 | |
----------------+---------------+----------------+-------------------
wxPerl has also been reported to work on FreeBSD and IRIX.
......
......@@ -4,7 +4,7 @@
## Author: Mattia Barbon
## Modified by:
## Created: 01/10/2000
## RCS-ID: $Id: Wx.pm 2401 2008-05-19 21:39:46Z mbarbon $
## RCS-ID: $Id: Wx.pm 2448 2008-08-24 21:57:04Z mbarbon $
## Copyright: (c) 2000-2008 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
......@@ -21,7 +21,7 @@ use vars qw(@ISA $VERSION $XS_VERSION $AUTOLOAD @EXPORT_OK %EXPORT_TAGS
$_msw = 1; $_gtk = 2; $_motif = 3; $_mac = 4; $_x11 = 5;
@ISA = qw(Exporter);
$VERSION = '0.84';
$VERSION = '0.86';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
......@@ -181,6 +181,11 @@ eval( "sub wxGTK() { $_platform == $_gtk }" );
eval( "sub wxMAC() { $_platform == $_mac }" );
eval( "sub wxX11() { $_platform == $_x11 }" );
# Mac OS X warning
if( wxMAC() && $^X !~ m{/wxPerl\.app/} ) {
warn "On Mac OS X please run scripts with the 'wxPerl' interpreter\n";
}
require Wx::App;
require Wx::Event;
require Wx::Locale;
......
......@@ -4,7 +4,7 @@
// Author: Mattia Barbon
// Modified by:
// Created: 01/10/2000
// RCS-ID: $Id: Wx.xs 2409 2008-06-29 19:16:20Z mbarbon $
// RCS-ID: $Id: Wx.xs 2457 2008-08-31 15:49:17Z mbarbon $
// Copyright: (c) 2000-2002, 2004-2008 Mattia Barbon
// Licence: This program is free software; you can redistribute it and/or
// modify it under the same terms as Perl itself
......@@ -69,6 +69,9 @@ void WXDLLEXPORT wxEntryCleanup();
IMPLEMENT_APP_NO_MAIN(wxPliApp);
static bool wxPerlAppCreated = false;
static bool wxPerlInitialized = false;
#if !wxUSE_UNICODE
bool wxPli_always_utf8;
#endif
#undef THIS
......@@ -273,7 +276,7 @@ Load()
return;
// not on first column to avoid tripping up xsubpp
#ifdef DEBUGGING
#if defined(DEBUGGING) && !defined(PERL_USE_SAFE_PUTENV)
// avoid crash on exit in Fedora (and other DEBUGGING Perls)
PL_use_safe_putenv = 1;
#endif
......@@ -323,6 +326,14 @@ UnLoad()
wxEntryCleanup();
wxPerlInitialized = false;
void
SetAlwaysUTF8( always_utf8 = true )
bool always_utf8
CODE:
#if !wxUSE_UNICODE
wxPli_always_utf8 = always_utf8;
#endif
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
#include <wx/dynload.h>
......
......@@ -4,8 +4,8 @@
## Author: Mattia Barbon
## Modified by:
## Created: 31/10/2000
## RCS-ID: $Id: ComboBox.xs 2283 2007-11-11 13:58:13Z mbarbon $
## Copyright: (c) 2000-2004, 2006-2007 Mattia Barbon
## RCS-ID: $Id: ComboBox.xs 2435 2008-08-05 18:05:54Z mbarbon $
## Copyright: (c) 2000-2004, 2006-2008 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
......@@ -114,7 +114,7 @@ wxComboBox::Copy()
void
wxComboBox::Cut()
#if WXPERL_W_VERSION_GE( 2, 6, 0 )
#if WXPERL_W_VERSION_GE( 2, 6, 0 ) && !defined(__WXMOTIF__)
bool
wxComboBox::CanCopy()
......
......@@ -4,8 +4,8 @@
## Author: Mattia Barbon
## Modified by:
## Created: 28/03/2005
## RCS-ID: $Id: MimeTypes.xsp 2299 2007-11-25 17:30:04Z mbarbon $
## Copyright: (c) 2005-2007 Mattia Barbon
## RCS-ID: $Id: MimeTypes.xsp 2441 2008-08-12 22:34:09Z mbarbon $
## Copyright: (c) 2005-2008 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
......@@ -190,8 +190,10 @@ wxFileType::GetPrintCommand( file, mimeType = wxEmptyString )
wxFileType* GetFileTypeFromExtension( const wxString& extension );
wxFileType* GetFileTypeFromMimeType( const wxString& mimeType );
bool IsOfType( const wxString& mimeType, const wxString& wildcard );
#if WXPERL_W_VERSION_LT( 2, 9, 0 )
bool ReadMailcap( const wxString& filename, bool fallback = false );
bool ReadMimeTypes( const wxString& filename );
#endif
};
%{
......
......@@ -4,8 +4,8 @@
## Author: Mattia Barbon
## Modified by:
## Created: 08/11/2000
## RCS-ID: $Id: ScrollBar.xs 2285 2007-11-11 21:31:54Z mbarbon $
## Copyright: (c) 2000-2001, 2003-2004, 2006-2007 Mattia Barbon
## RCS-ID: $Id: ScrollBar.xs 2435 2008-08-05 18:05:54Z mbarbon $
## Copyright: (c) 2000-2001, 2003-2004, 2006-2008 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
......@@ -77,7 +77,7 @@ void
wxScrollBar::SetThumbPosition( viewStart )
int viewStart
#if !defined(__WXMAC__)
#if !defined(__WXMAC__) && !defined(__WXMOTIF__)
void
wxScrollBar::SetPageSize( size )
......
......@@ -353,7 +353,7 @@ sub _process_mm_arguments {
$additional_arguments{WX_TOP} = $wx_top_file if $wx_top_file;
unless( $has_alien ) {
$args{depend} = { '$(FIRST_MAKEFILE)' => 'you_better_rebuild_me' };
$args{depend} = { '$(FIRST_MAKEFILE)' => 'alien_wxwidgets_missing' };
delete $args{$_} foreach grep /WX_|_WX/, keys %args;
return 1;
}
......
......@@ -115,8 +115,14 @@ sub wxWriteMakefile {
if( $build ) {
WriteMakefile( %params );
unless( Alien::wxWidgets->can( 'load' ) ) {
print <<EOT;
======================================================================
Alien::wxWidgets is missing, you will need to re-run Makefile.PL after
it is installed.
======================================================================
EOT
sleep 3;
open my $fh, ">> you_better_rebuild_me";
open my $fh, ">> alien_wxwidgets_missing";
print $fh "touched";
}
} else {
......
......@@ -4,8 +4,8 @@
// Author: Mattia Barbon
// Modified by:
// Created: 29/10/2000
// RCS-ID: $Id: controls.cpp 2057 2007-06-18 23:03:00Z mbarbon $
// Copyright: (c) 2000-2007 Mattia Barbon
// RCS-ID: $Id: controls.cpp 2442 2008-08-12 22:35:24Z mbarbon $
// Copyright: (c) 2000-2008 Mattia Barbon
// Licence: This program is free software; you can redistribute it and/or
// modify it under the same terms as Perl itself
/////////////////////////////////////////////////////////////////////////////
......
......@@ -4,8 +4,8 @@
// Author: Mattia Barbon
// Modified by:
// Created: 29/10/2000
// RCS-ID: $Id: e_cback.cpp 2057 2007-06-18 23:03:00Z mbarbon $
// Copyright: (c) 2000-2002, 2004-2007 Mattia Barbon
// RCS-ID: $Id: e_cback.cpp 2454 2008-08-31 11:12:47Z mbarbon $
// Copyright: (c) 2000-2002, 2004-2008 Mattia Barbon
// Licence: This program is free software; you can redistribute it and/or
// modify it under the same terms as Perl itself
/////////////////////////////////////////////////////////////////////////////
......@@ -17,6 +17,7 @@ wxPliEventCallback::wxPliEventCallback( SV* method, SV* self )
SvREFCNT_inc( m_method );
m_self = self;
SvREFCNT_inc( m_self );
m_is_method = !SvROK( m_method ) || !SvRV( m_method );
}
wxPliEventCallback::~wxPliEventCallback()
......@@ -108,7 +109,14 @@ void wxPliEventCallback::Handler( wxEvent& event )
XPUSHs( e );
PUTBACK;
call_sv( This->m_method, G_EVAL|G_VOID|G_DISCARD );
if( This->m_is_method )
{
call_method( SvPV_nolen( This->m_method ), G_EVAL|G_VOID|G_DISCARD );
}
else
{
call_sv( This->m_method, G_EVAL|G_VOID|G_DISCARD );
}
SPAGAIN;
}
......
......@@ -4,8 +4,8 @@
// Author: Mattia Barbon
// Modified by:
// Created: 29/10/2000
// RCS-ID: $Id: e_cback.h 2057 2007-06-18 23:03:00Z mbarbon $
// Copyright: (c) 2000-2001, 2005 Mattia Barbon
// RCS-ID: $Id: e_cback.h 2454 2008-08-31 11:12:47Z mbarbon $
// Copyright: (c) 2000-2001, 2005, 2008 Mattia Barbon
// Licence: This program is free software; you can redistribute it and/or
// modify it under the same terms as Perl itself
/////////////////////////////////////////////////////////////////////////////
......@@ -31,6 +31,7 @@ public:
void Handler( wxEvent& event );
private:
bool m_is_method;
SV* m_method;
SV* m_self;
};
......
......@@ -4,7 +4,7 @@
// Author: Mattia Barbon
// Modified by:
// Created: 29/10/2000
// RCS-ID: $Id: helpers.cpp 2330 2008-01-20 09:53:53Z mbarbon $
// RCS-ID: $Id: helpers.cpp 2434 2008-08-05 17:55:18Z mbarbon $
// Copyright: (c) 2000-2008 Mattia Barbon
// Licence: This program is free software; you can redistribute it and/or
// modify it under the same terms as Perl itself
......@@ -366,7 +366,7 @@ void* wxPli_sv_2_object( pTHX_ SV* scalar, const char* classname )
}
if( !SvROK( scalar ) )
croak( "the invocant must be a reference" );
croak( "variable is not an object: it must have type %s", classname );
if( !classname || sv_derived_from( scalar, CHAR_P classname ) )
{
......
......@@ -4,7 +4,7 @@
// Author: Mattia Barbon
// Modified by:
// Created: 29/10/2000
// RCS-ID: $Id: helpers.h 2405 2008-06-29 18:43:07Z mbarbon $
// RCS-ID: $Id: helpers.h 2457 2008-08-31 15:49:17Z mbarbon $
// Copyright: (c) 2000-2008 Mattia Barbon
// Licence: This program is free software; you can redistribute it and/or
// modify it under the same terms as Perl itself
......@@ -117,15 +117,47 @@ inline SV* wxPli_wxString_2_sv( pTHX_ const wxString& str, SV* out )
#else
#ifdef WXPL_EXT
bool* wxPli_always_utf8;
#else
extern bool wxPli_always_utf8;
#endif
inline SV* wxPli_wxChar_2_sv( pTHX_ const wxChar* str, SV* out )
{
sv_setpv( out, str );
#ifdef WXPL_EXT
if( *wxPli_always_utf8 )
#else
if( wxPli_always_utf8 )
#endif
{
sv_setpv( out, wxConvUTF8.cWC2MB( wxConvLibc.cWX2WC( str ? str : wxEmptyString ) ) );
SvUTF8_on( out );
}
else
{
sv_setpv( out, str );
}
return out;
}
inline SV* wxPli_wxString_2_sv( pTHX_ const wxString& str, SV* out )
{
sv_setpvn( out, str.c_str(), str.size() );
#ifdef WXPL_EXT
if( *wxPli_always_utf8 )
#else
if( wxPli_always_utf8 )
#endif
{
sv_setpv( out, wxConvUTF8.cWC2MB( wxConvLibc.cWX2WC( str.c_str() ) ) );
SvUTF8_on( out );
}
else
{
sv_setpvn( out, str.c_str(), str.size() );
}
return out;
}
......@@ -479,6 +511,9 @@ struct wxPliHelpers
const void* ptr, SV* sv );
void (* m_wxPli_thread_sv_clone )( pTHX_ const char* package,
wxPliCloneSV clonefn );
#endif
#if !wxUSE_UNICODE
bool *m_wxPli_always_utf8;
#endif
int (* m_wxPli_av_2_arrayint )( pTHX_ SV* avref, wxArrayInt* array );
void (* m_wxPli_set_events )( const wxPliEventDescription* events );
......@@ -501,6 +536,16 @@ struct wxPliHelpers
# define wxINIT_PLI_HELPER_THREADS( name )
#endif
#if !wxUSE_UNICODE
# define wxDEFINE_PLI_HELPER_UNICODE() \
&wxPli_always_utf8,
# define wxINIT_PLI_HELPER_UNICODE( name ) \
wxPli_always_utf8 = name->m_wxPli_always_utf8;
#else
# define wxDEFINE_PLI_HELPER_UNICODE()
# define wxINIT_PLI_HELPER_UNICODE( name )
#endif
#define DEFINE_PLI_HELPERS( name ) \
wxPliHelpers name = { &wxPli_sv_2_object, \
&wxPli_evthandler_2_sv, &wxPli_object_2_sv, \
......@@ -516,6 +561,7 @@ wxPliHelpers name = { &wxPli_sv_2_object, \
&wxPli_match_arguments_skipfirst, &wxPli_objlist_2_av, &wxPli_intarray_push, \
&wxPli_clientdatacontainer_2_sv, \
wxDEFINE_PLI_HELPER_THREADS() \
wxDEFINE_PLI_HELPER_UNICODE() \
&wxPli_av_2_arrayint, &wxPli_set_events, &wxPli_av_2_arraystring, \
&wxPli_objlist_push, &wxPliOutputStream_ctor, &wxPli_stringarray_push \
}
......@@ -555,6 +601,7 @@ wxPliHelpers name = { &wxPli_sv_2_object, \
wxPli_intarray_push = name->m_wxPli_intarray_push; \
wxPli_clientdatacontainer_2_sv = name->m_wxPli_clientdatacontainer_2_sv; \
wxINIT_PLI_HELPER_THREADS( name ) \
wxINIT_PLI_HELPER_UNICODE( name ) \
wxPli_av_2_arrayint = name->m_wxPli_av_2_arrayint; \
wxPli_set_events = name->m_wxPli_set_events; \
wxPli_av_2_arraystring = name->m_wxPli_av_2_arraystring; \
......
......@@ -4,7 +4,7 @@
// Author: Mattia Barbon
// Modified by:
// Created: 21/09/2002
// RCS-ID: $Id: wxapi.h 2402 2008-05-19 21:43:32Z mbarbon $
// RCS-ID: $Id: wxapi.h 2441 2008-08-12 22:34:09Z mbarbon $
// Copyright: (c) 2002-2003, 2005-2008 Mattia Barbon
// Licence: This program is free software; you can redistribute it and/or
// modify it under the same terms as Perl itself
......@@ -78,6 +78,7 @@ WXPL_EXTERN_C_END
#endif
#undef do_open
#undef do_close
#undef utf8_length
#if __VISUALC__
#pragma warning ( disable: 4800 )
......
......@@ -9,7 +9,7 @@ Install - Build and install wxPerl
=head1 wxPerl installation
************************************************************************
You need to install wxWidgets before you can compile wxPerl.
You need to install wxWidgets 2.5.3 or later before you can compile wxPerl.
For UNIX systems look at the section "INSTALL wxWidgets"; for Win32
systems, detailed build instructions for wxWidgets + wxPerl are included
in the section "COMPILING UNDER WIN32"; for Mac OS X, refer to
......@@ -18,7 +18,7 @@ Install - Build and install wxPerl
=head1 Quick installation
This applies to UN*X systems, and only if wxWidgets is already
This applies to UN*X systems, and only if wxWidgets 2.5.3 or later is already
compiled and installed.
# unpack the wxPerl archive
......@@ -70,6 +70,8 @@ Show the full list of options
=head1 Installing wxWidgets (on UNIX systems and Mac OS X)
wxWidgets 2.5.3 or later is required for wxPerl to work.
For UNIX systems only. If you are using prepackaged wxWidgets binaries you
need to install the -dev and -contrib-dev packages in order to compile
wxPerl, otherwise you just need the main package and the -contrib package.
......@@ -81,10 +83,6 @@ If you are compiling wxWidgets yourself, the quick way is:
cd contrib/src/stc
make
make install
# only for wxWidgets 2.5.2 or below
cd ../xrc
make
make install
If something goes wrong, please refer to the wxWidgets
installation instructions.
......@@ -96,93 +94,16 @@ Older MinGW versions (from 1.1 onwards) and newer versions will likely work.
For the remainder of this section I'll assume that your Perl is installed
in C:\Perl
=head2 MS Visual C++ 5 (wxWidgets 2.4.x), MS Visual C++ 6 SP4 (wxWidgets 2.4.x)
Build wxWidgets as a dll
set WXDIR=z:\path\to\wx
set WXWIN=z:\path\to\wx
cd %WXDIR%\src\msw
nmake -f makefile.vc FINAL=1 dll
cd %WXDIR%\contrib\src\stc
nmake -f makefile.vc FINAL=1 WXUSINGDLL=1
cd %WXDIR%\contrib\src\xrc
nmake -f makefile.vc FINAL=1 WXUSINGDLL=1
# build wxPerl
perl Makefile.PL
nmake
nmake test
nmake install
To build the debugging version apply this patch to wxWidgets:
Index: src/makevc.env
===================================================================
RCS file: /pack/cvsroots/wxwidgets/wxWidgets/src/makevc.env,v
retrieving revision 1.48.2.5
diff -u -2 -r1.48.2.5 makevc.env
--- src/makevc.env 2003/02/26 05:26:20 1.48.2.5
+++ src/makevc.env 2004/08/05 21:14:07
@@ -213,6 +213,6 @@
!else if "$(FINAL)" == "hybrid"
OPT = /Ox /Gy
-DEBUG_FLAGS= /D__WXDEBUG__ /D__NO_VC_CRTDBG__
-LINK_DEBUG_FLAGS=/RELEASE
+DEBUG_FLAGS= /Zi /D__WXDEBUG__ /D__NO_VC_CRTDBG__
+LINK_DEBUG_FLAGS=-debug:full -debugtype:cv
_CRTFLAG=/MD
==CUT BEFORE THIS LINE AND STRIP 4 LEADING SPACES
then follow the instructions above, passing FINAL=hybrid to wxWidgets
makefiles, and --debug to Makefile.PL.
=head2 MinGW 1.1 or later (wxWidgets 2.4.x)
Get MinGW from http://www.mingw.org/ ; choose the all-in-one
package (downloading the individual packages will work but requires
you knowing how to install them). MSYS is not required.
If you want to compile wxPerl against ActivePerl using MinGW,
you need to first download and install ExtUtils::FakeConfig from
http://wxperl.sourceforge.net/ap_mingw/ ; then just replace the
"perl Makefile.PL" with "perl -MConfig_m Makefile.PL". If you built
Perl from sources, you don't need this additional step.
Build wxWidgets as a dll (you will need the utilities from
http://biolpc22.york.ac.uk/pub/ports/mingw32/extra.zip )
set WXDIR=z:\path\to\wx
set WXWIN=z:\path\to\wx
cd z:\path\to\wx\src\msw
make -f makefile.g95 FINAL=1 WXMAKINGDLL=1
cd %WXDIR%\contrib\src\stc
make -f makefile.g95 FINAL=1 WXUSINGDLL=1
cd %WXDIR%\contrib\src\xrc
make -f makefile.g95 FINAL=1 WXUSINGDLL=1
# now build wxPerl
# get dmake from http://www.cpan.org/authors/id/GSAR/dmake-4.1pl1-win32.zip
perl Makefile.PL
dmake
dmake test
dmake install
To build a debugging wxPerl, follow the instructions above passing
FINAL=0 to wxWidgets makefile and --debug to Makefile.PL.
=head2 MS Visual C++ 5 (wxWidgets 2.5.x), MS Visual C++ 6 SP4 (wxWidgets 2.5.x)
wxWidgets 2.5.3 or later is required for wxPerl to work.
Build wxWidgets as a dll
cd z:\path\to\wx\build\msw
nmake -f makefile.vc SHARED=1 BUILD=release
cd ..\..\contrib\build\stc
nmake -f makefile.vc SHARED=1 BUILD=release
# only for wxWidgets 2.5.2 or below
cd ..\xrc
nmake -f makefile.vc SHARED=1 BUILD=release
# build wxPerl
set WXDIR=z:\path\to\wx
......@@ -199,6 +120,8 @@ to Makefile.PL.
=head2 MinGW 1.1 or later (wxWidgets 2.5.x)
wxWidgets 2.5.3 or later is required for wxPerl to work.
Get MinGW from http://www.mingw.org/ ; choose the all-in-one
package (downloading the individual packages will work but requires
you knowing how to install them). MSYS is not required.
......@@ -215,9 +138,6 @@ Build wxWidgets as a dll
make -f makefile.gcc SHARED=1 BUILD=release
cd ..\..\contrib\src\stc
make -f makefile.gcc SHARED=1 BUILD=release
# only for wxWidgets 2.5.2 or below
cd ..\xrc
make -f makefile.gcc SHARED=1 BUILD=release
# now build wxPerl
# get dmake from http://www.cpan.org/authors/id/GSAR/dmake-4.1pl1-win32.zip
......@@ -273,4 +193,3 @@ not be able to compile wxPerl. Exceptions are: under Windows you can
use ActivePerl (compiled with MS Visual Studio) and wxWidgets compiled
with MinGW by using ExtUtils::FakeConfig, under Solaris a similar
tool exists for Sun C Compiler -> GCC/G++ compilation.
......@@ -4,7 +4,7 @@
## Author: Mattia Barbon
## Modified by:
## Created: 05/10/2002
## RCS-ID: $Id: CalendarCtrl.xsp 2395 2008-05-19 20:39:15Z mbarbon $
## RCS-ID: $Id: CalendarCtrl.xsp 2440 2008-08-12 21:51:22Z mbarbon $
## Copyright: (c) 2002-2006, 2008 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
......@@ -38,11 +38,17 @@ double calendar_constant( const char* name, int arg )
r( wxCAL_NO_YEAR_CHANGE );
r( wxCAL_NO_MONTH_CHANGE );
r( wxCAL_SHOW_SURROUNDING_WEEKS );
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
r( wxCAL_SHOW_WEEK_NUMBERS );
#endif
r( wxCAL_SEQUENTIAL_MONTH_SELECTION );
r( wxCAL_HITTEST_NOWHERE );
r( wxCAL_HITTEST_HEADER );
r( wxCAL_HITTEST_DAY );
r( wxCAL_HITTEST_DECMONTH );
r( wxCAL_HITTEST_INCMONTH );
r( wxCAL_HITTEST_SURROUNDING_WEEK );
r( wxCAL_BORDER_NONE );
r( wxCAL_BORDER_SQUARE );
......
......@@ -4,8 +4,8 @@
## Author: Simon Flack
## Modified by:
## Created: 11/09/2002
## RCS-ID: $Id: DocManager.xs 2285 2007-11-11 21:31:54Z mbarbon $
## Copyright: (c) 2002-2007 Mattia Barbon
## RCS-ID: $Id: DocManager.xs 2453 2008-08-31 11:09:40Z mbarbon $
## Copyright: (c) 2002-2008 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
......@@ -145,6 +145,8 @@ wxDocManager::OnUpdateFileOpen( event )
CODE:
THIS->OnUpdateFileOpen( *event );
#if WXPERL_W_VERSION_LT( 2, 9, 0 )
void
wxDocManager::OnUpdateFileClose( event )
wxUpdateUIEvent* event
......@@ -157,6 +159,8 @@ wxDocManager::OnUpdateFileRevert( event )
CODE:
THIS->OnUpdateFileRevert( *event );
#endif
void
wxDocManager::OnUpdateFileNew( event )
wxUpdateUIEvent* event
......@@ -169,12 +173,16 @@ wxDocManager::OnUpdateFileSave( event )
CODE:
THIS->OnUpdateFileSave( *event );
#if WXPERL_W_VERSION_LT( 2, 9, 0 )
void
wxDocManager::OnUpdateFileSaveAs( event )
wxUpdateUIEvent* event
CODE:
THIS->OnUpdateFileSaveAs( *event );
#endif
void
wxDocManager::OnUpdateUndo( event )
wxUpdateUIEvent* event
......@@ -187,12 +195,16 @@ wxDocManager::OnUpdateRedo( event )
CODE:
THIS->OnUpdateRedo( *event );
#if WXPERL_W_VERSION_LT( 2, 9, 0 )
void
wxDocManager::OnUpdatePrint( event )
wxUpdateUIEvent* event
CODE:
THIS->OnUpdatePrint( *event );
#endif
#if WXPERL_W_VERSION_LE( 2, 5, 2 )
void
......@@ -203,12 +215,16 @@ wxDocManager::OnUpdatePrintSetup( event )
#endif
#if WXPERL_W_VERSION_LT( 2, 9, 0 )
void
wxDocManager::OnUpdatePreview( event )
wxUpdateUIEvent* event
CODE:
THIS->OnUpdatePreview( *event );
#endif
wxView *
wxDocManager::GetCurrentView()
......
......@@ -4,8 +4,8 @@
// Author: Mattia Barbon
// Modified by:
// Created: 21/03/2001
// RCS-ID: $Id: ht_constants.cpp 2087 2007-07-21 12:09:40Z mbarbon $
// Copyright: (c) 2001, 2003-2007 Mattia Barbon
// RCS-ID: $Id: ht_constants.cpp 2440 2008-08-12 21:51:22Z mbarbon $
// Copyright: (c) 2001, 2003-2008 Mattia Barbon
// Licence: This program is free software; you can redistribute it and/or
// modify it under the same terms as Perl itself
/////////////////////////////////////////////////////////////////////////////
......@@ -49,11 +49,20 @@ double html_constant( const char* name, int arg )
r( wxHF_ICONS_BOOK );
r( wxHF_ICONS_BOOK_CHAPTER );
r( wxHF_ICONS_FOLDER );
r( wxHF_DEFAULT_STYLE );
#if WXPERL_W_VERSION_GE( 2, 7, 2 )
r( wxHF_DIALOG );
r( wxHF_EMBEDDED );
r( wxHF_FRAME );
r( wxHF_MODAL );
#endif
#if WXPERL_W_VERSION_GE( 2, 5, 1 )
r( wxHW_NO_SELECTION );
#endif
r( wxHW_SCROLLBAR_NEVER );
r( wxHW_DEFAULT_STYLE );
r( wxHW_SCROLLBAR_AUTO );
r( wxHTML_ALIGN_LEFT );
r( wxHTML_ALIGN_CENTER );
......@@ -95,6 +104,25 @@ double html_constant( const char* name, int arg )
r( wxHTML_FONT_SIZE_6 );
r( wxHTML_FONT_SIZE_7 );
#endif
r( wxHTML_ALIGN_JUSTIFY );
r( wxHTML_BLOCK );
r( wxHTML_BUFLEN );
r( wxHTML_OPEN );
r( wxHTML_PRINT_MAX_PAGES );
r( wxHTML_REDIRECT );
#if WXPERL_W_VERSION_GE( 2, 7, 2 )
r( wxHTML_SCRIPT_NORMAL );
r( wxHTML_SCRIPT_SUB );
r( wxHTML_SCRIPT_SUP );
#endif
r( wxHTML_SCROLL_STEP );
r( wxHTML_SEL_CHANGING );
r( wxHTML_SEL_IN );
r( wxHTML_SEL_OUT );
r( wxHTML_URL_IMAGE );
r( wxHTML_URL_OTHER );
r( wxHTML_URL_PAGE );
break;
case 'P':
#if wxPERL_USE_PRINTING_ARCHITECTURE
......