Alien-IUP
view release on metacpan or search on metacpan
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',
- 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
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
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
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
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 )