Alien-IUP

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

use 5.008;
use strict;
use warnings;
use Module::Build;

use lib 'inc';

my %platforms =(
  MSWin32   => 'Windows',
  cygwin    => 'Cygwin',
  linux     => 'Unix',
  _default_ => 'Unix', # Unix = default, thus not listing all UNIX like systems
);

my $package = 'My::Builder::' . ($platforms{$^O} || $platforms{_default_});
eval "require $package" or die "###ERROR### Require '$package' failed: $@";
print STDERR "Gonna use '$package' class ...\n";

my $cvs_src;

my $builder = $package->new(
  module_name        => 'Alien::IUP',

Changes  view on Meta::CPAN

    -  fixed http://www.cpantesters.org/cpan/report/61d37376-471c-11e0-b0ff-ff1c7a0d71a6 (File::Spec & devnull)
    -  using LWP::Simple instead of File::Fetch for download
    -  using Digest::file instead of Digest::SHA

0.201 2011-02-18
    -  IMPORTANT: the first stable release with iup-3.4
    -  dev build: switch to iup-3.4 + updated im, cd

0.116 2011-02-10
    -  IMPORTANT: the last release with iup-3.3
    -  Unix: if not enough libs found - show more debug info

0.115 2011-02-03
    -  Alien::IUP->havelib() introduced
    -  preinstalled lib detection disabled (untill somebody will ask for it)

0.114 2011-01-27
    -  not building libs that are currently not used by IUP
    -  less build messages by default
    -  dev build: with the latest CVS sources

Changes  view on Meta::CPAN


0.112 2010-12-30
    -  skipping iuptuio on solaris - http://www.cpantesters.org/cpan/report/c39d9264-0ae3-11e0-afb0-adca6bb533f3
    -  skipping iuptuio on cygwin (not only gcc3)

0.111 2010-12-16
    -  GTK/GTK_BASE workaround fixing http://www.cpantesters.org/cpan/report/d67a6578-08aa-11e0-afb0-adca6bb533f3

0.110 2010-12-13
    -  iup-gtk-tabs.diff fixing http://www.cpantesters.org/cpan/report/b524182a-04c1-11e0-afb0-adca6bb533f3
    -  fixing gtkprintunixdialog.h failure http://www.cpantesters.org/cpan/report/9629bbba-0655-11e0-9ee0-f20c722eace1

0.109 2010-12-12
    -  fixing im-INC-order.diff + cd-GTK_BASE.diff

0.108 2010-12-09_01+0.108_02
    -  dev build: with the latest CVS sources

0.108 2010-12-08
    -  info.t fix

0.107 2010-12-07
    -  iuptuio target added (Unix.pm)
    -  more debug info saved to config_data
    -  updated im-INC-order.diff

0.106 2010-12-02
    -  updated cd-GTK_BASE.diff

0.105 2010-12-02
    -  important fix: GTK2 + pkg-config
    -  improved build target autoselection

Changes  view on Meta::CPAN


0.0.12 2010-08-25
    -  GTK vs. GTK_BASE fix
    -  printing output of make commands only on failure

0.0.11 2010-08-23
    -  GTK_BASE detection fix

0.0.10 2010-08-18
    -  added MS Win build (gcc, msvc)
    -  improved lib/inc dir detection (unix)
    -  building static libs
    -  using IPC::Run3 for launching external commands

0.0.9 2010-08-05
    -  FAIL ALWAYS debug version
    -  fixed bug in setting GTK make param
    -  more lib detection diagnostics

0.0.8 2010-08-04
    -  FAIL ALWAYS debug version

MANIFEST  view on Meta::CPAN

Build.PL
Changes
inc/My/Builder.pm
inc/My/Builder/Cygwin.pm
inc/My/Builder/Unix.pm
inc/My/Builder/Windows.pm
lib/Alien/IUP.pm
MANIFEST			This list of files
META.json
META.yml
patches/cd-5.10-cygwin.diff
patches/cd-dragonfly.diff
patches/ft-missing-makefile.diff
patches/im-3.11-cygwin.diff
patches/im-dragonfly.diff

TODO  view on Meta::CPAN

MEDIUM PRIORITY
- more complex compile test (use some advanced iup C example, try to compile some DLL, test more then just iup lib)
- more iupweb/webkit testing (Win32 as well as GTK2)
- Win: generate makefiles for iupweb
- try to build cdcairo - when has{pangocairo}

LOW PRIORITY
- complete redesign of iup+cd+im detection - compatible with havelib() - msvc support, fix temporary *.obj files in dist root
- Unix - move essential lib detection into "perl Build.PL" phase (exit without creating Build script if essential libs not found)
- Makefile*.nmake - dynamic lib build not supported

ERRORS TO BE REPORTED TO TECGRAF
- (reported) Dragonfly BSD: libjasper/jasper/jas_types.h:155 - 188 http://www.cpantesters.org/cpan/report/e2f01a0e-c8aa-11df-87cd-1c8c4afd17af
- (reported) Dragonfly BSD: sizeof(FILE) not allowed - http://www.cpantesters.org/cpan/report/6b2b31dc-cc67-11df-87cd-1c8c4afd17af

inc/My/Builder/Unix.pm  view on Meta::CPAN

package My::Builder::Unix;

use strict;
use warnings;
use base 'My::Builder';

use File::Spec::Functions qw(catdir catfile rel2abs);
use File::Spec;
use File::Glob qw(bsd_glob);
use File::Copy;
use Config;

inc/My/Builder/Unix.pm  view on Meta::CPAN

    print STDERR "extra_lflags=$extra_lflags\n";
  }

  my %list = (
    gtk        => 'gtk+-2.0',
    gtk3       => 'gtk+-3.0',
    gtkx11     => 'gtk+-x11-2.0',
    gdk        => 'gdk-2.0',
    gdk3       => 'gdk-3.0',
    gdkx11     => 'gdk-x11-2.0',
    gtkprint   => 'gtk+-unix-print-2.0',
    webkit     => 'webkit-1.0',
    cairo      => 'cairo',
    pango      => 'pango',
    pangox     => 'pangox',
    pangocairo => 'pangocairo',
    freetype2  => 'freetype2',
    x11        => 'x11',
    xext       => 'xext',
    xp         => 'xp',
    xm         => 'xm',

inc/My/Builder/Unix.pm  view on Meta::CPAN

    print STDERR "[gtk2 libs  ] " . $self->run_stdout2str(qw[pkg-config --libs gtk+-2.0]) . "\n";
    print STDERR "[gtk3 cflags] " . $self->run_stdout2str(qw[pkg-config --cflags gtk+-3.0]) . "\n";
    print STDERR "[gtk3 libs  ] " . $self->run_stdout2str(qw[pkg-config --libs gtk+-3.0]) . "\n";
    for my $pkg (qw[gtk+-2.0 gtk+-3.0 gl glu glut x11 xt xext xmu]) {
      print STDERR "[prefix     $pkg] " . $self->run_stdout2str(qw[pkg-config --variable=prefix], $pkg) . "\n";
      print STDERR "[libdir     $pkg] " . $self->run_stdout2str(qw[pkg-config --variable=libdir], $pkg) . "\n";
      print STDERR "[includedir $pkg] " . $self->run_stdout2str(qw[pkg-config --variable=includedir], $pkg) . "\n";
    }

    print STDERR "Brute force lookup:\n";
    my $re = qr/\/(Xlib.h|Xm.h|gtk.h|cairo.h|glu.h|glut.h|gl.h|freetype.h|gtkprintunixdialog.h|jasper.h|jas_image.h|lib(X11|GL|Xm|freetype)\.[^\d]*)$/;
    print STDERR "[/usr    ] $_\n" foreach ($self->find_file('/usr', $re));
    print STDERR "[/lib    ] $_\n" foreach ($self->find_file('/usr', $re));
    print STDERR "[/opt    ] $_\n" foreach ($self->find_file('/opt', $re));
    print STDERR "[/sw     ] $_\n" foreach ($self->find_file('/sw', $re));
    print STDERR "[/System ] $_\n" foreach ($self->find_file('/System', $re));
    print STDERR "[/Library] $_\n" foreach ($self->find_file('/Library', $re));
    print STDERR "[/Network] $_\n" foreach ($self->find_file('/Network', $re));
  }
  
  unless ($build_target) {



( run in 0.964 second using v1.01-cache-2.11-cpan-64ef6c95b5d )