4 # Samba Build Environment
6 # (C) 2005 Jelmer Vernooij <jelmer@samba.org>
8 # Published under the GNU GPL
10 package smb_build::env;
17 my ($name, $config) = @_;
24 $self->_set_config($config);
31 my ($self, $config) = @_;
33 $self->{config} = $config;
35 $self->{config}->{srcdir} = '.';
36 $self->{config}->{builddir} = '.';
38 if ($self->{config}->{prefix} eq "NONE") {
39 $self->{config}->{prefix} = $self->{config}->{ac_default_prefix};
42 if ($self->{config}->{exec_prefix} eq "NONE") {
43 $self->{config}->{exec_prefix} = $self->{config}->{prefix};
46 if ($self->{config}->{developer} eq "yes") {
47 $self->{developer} = 1;
49 $self->{developer} = 0;
53 sub PkgConfig($$$$$$$)
55 my ($self,$path,$name,$libs,$cflags,$version,$desc) = @_;
57 print __FILE__.": creating $path\n";
59 open(OUT, ">$path") or die("Can't open $path: $!");
61 print OUT <<"__EOF__";
62 prefix=$self->{config}->{prefix}
63 exec_prefix=$self->{config}->{exec_prefix}
64 libdir=$self->{config}->{libdir}
65 includedir=$self->{config}->{includedir}
69 print OUT "Name: $name\n";
71 print OUT "Description: $desc\n";
73 print OUT "Version: $version\n";
74 print OUT "Libs: -L\${libdir} $libs\n";
75 print OUT "Cflags: -I\${includedir} $cflags\n";
82 my ($self,$items) = @_;
84 foreach (keys %$items) {
85 if (defined($self->{items})) {
86 print "Warning: Importing $_ twice!\n";
88 $self->{items}->{$_} = $items->{$_};
94 my ($self,$name) = @_;
96 unless (defined($self->{info}->{$name}))
98 $self->{info}->{$name} = $self->{items}->Build($self);
101 return $self->{info}->{$name};