It is never good to reply to your own posts, but it doesn't usually stop me .....
I posted the same question slightly differently to Win32-perl, and the reply I got there gives a much simpler solution that my original suggestion. A better solution is to put an 'after install' script in my PPMs for Alien::wxWidgets. This puts gdiplus.dll in Alien/wxWidgets/wxXX-XX-XX-XX/lib/gdilib/gdiplus.dll. IF the Windows version requires, it also puts the DLL side by side with wxWidgets DLLs in Alien/wxWidgets/wxXX-XX-XX-XX/lib/ For PAR::Packer / PDK etc. Wx::Perl::Packager assists in always packaging gdiplus.dll as gdilib/gdiplus.dll At runtime, IF executable is Parl or PerlApp, Wx::Perl::Packager checks $^0 and puts gdilib on the PATH when necessary. No changes to Alien::wxWidgets or Wx::Mini required. Much better, I think. Regards Mark Mark Dootson wrote: > Hi, > > I've been pondering how to support wxGraphicsContext in wxMSW binary PPM's. > > The problem: > > wxGraphicsContext uses gdiplus on wxMSW. This presents its own set of > problems with regard to compiling / MinGW. Looking at the current status of > MinGW vs gdiplus headers etc, I think you currently need the MS platform SDK > if you want to build wxWidgets with wxGraphicsContext support. But that isn't > the issue I'm concerned with - I'm currently just thinking about binary PPMs. > > Microsoft make a gdiplus DLL available and this is distributable with your > applications. > The issue is deploying gdiplus to different versions of Windows. > > The instructions from Microsoft are quite clear: > > DO NOT install for Win XP or above - these systems have their own gdiplus. > On Win 2000 and below, deploy gdiplus.dll to the application directory. > > Possible Solution: > > Create Alien::Win32GDIPlusBinary. This contains gdiplus.dll. > > Build Alien::wxWidgets for PPMs against a wxWidgets with wxGraphicsContext > included. > > Within Wx::Mini, do checks for: > $^O > Win32::GetOSVersion(); > -e <inc>'Alien/Win32GDIPlusBinary/lib/gdiplus.dll > > If status indicates necessary, either load gdiplus.dll or put it on the path. > > In the PPM for Alien::wxWidgets, I could add Alien::Win32GDIPlusBinary as a > dependency, so it should all work OK whether you are running Win 2000 or XP > or whatever. > > For users of PerlApp / PAR::Packer etc, I'd add the necessary stuff to > Wx::Perl::Packager > > Any thoughts anyone? > > Regards > > Mark > > > > - >
