[Pkg-mono-svn-commits] rev 2749 - cli-common/trunk
Mirco Bauer
meebey-guest at costa.debian.org
Sat Sep 30 10:56:22 UTC 2006
Author: meebey-guest
Date: 2006-09-30 10:56:22 +0000 (Sat, 30 Sep 2006)
New Revision: 2749
Modified:
cli-common/trunk/dh_clideps
Log:
- added support for MONO_PATH
Modified: cli-common/trunk/dh_clideps
===================================================================
--- cli-common/trunk/dh_clideps 2006-09-29 23:15:09 UTC (rev 2748)
+++ cli-common/trunk/dh_clideps 2006-09-30 10:56:22 UTC (rev 2749)
@@ -92,32 +92,45 @@
my $pwd = `pwd`;
chomp $pwd;
-my $mono_gac_prefix = "/usr";
+my $mono_gac_prefix = "";
+my $mono_path = "";
if ($dh{L_PARAMS}) {
- my @paths=();
+ my @paths = ();
+ my @mono_paths = ();
+ my @mono_gac_prefixes = ();
# Add to existing paths, if set.
- push @paths, $ENV{'MONO_GAC_PREFIX'} if exists $ENV{'MONO_GAC_PREFIX'};
+ push(@paths, $ENV{'MONO_GAC_PREFIX'}) if exists $ENV{'MONO_GAC_PREFIX'};
+ push(@paths, $ENV{'MONO_PATH'}) if exists $ENV{'MONO_PATH'};
foreach (split(/:/, $dh{L_PARAMS})) {
# Force the path absolute.
+ my $full_path;
if (m:^/:) {
- push @paths, $_;
+ $full_path = @paths, $_;
} else {
- push @paths, getcwd()."/$_";
+ $full_path = getcwd()."/$_";
}
+ if (-d "$full_path/lib/mono/gac") {
+ # it's a GAC prefix
+ push(@mono_gac_prefixes, $full_path);
+ } else {
+ # it's a Mono PATH
+ pusg(@mono_paths, $full_path);
+ }
}
- $mono_gac_prefix .= ":" . join(':', @paths);
+ $mono_gac_prefix .= ":" . join(':', @mono_gac_prefixes);
+ $mono_paths .= ":" . join(':', @mono_paths);
}
if (defined($ARGV[0]) && $ARGV[0] eq "internal-mono") {
$clr = "mono";
$cli_parser = "$pwd/debian/tmp/usr/bin/monodis";
- $cli_parser_paths = "LD_LIBRARY_PATH=$pwd/debian/tmp/usr/lib MONO_PATH=$pwd/debian/tmp/usr/lib/mono/1.0:$pwd/debian/tmp/usr/lib/mono/2.0 MONO_GAC_PREFIX=$mono_gac_prefix ";
+ $cli_parser_paths = "LD_LIBRARY_PATH=$pwd/debian/tmp/usr/lib MONO_PATH=$pwd/debian/tmp/usr/lib/mono/1.0:$pwd/debian/tmp/usr/lib/mono/2.0 MONO_GAC_PREFIX=$mono_gac_prefix MONO_PATH=$mono_paths ";
$cli_version = `LD_LIBRARY_PATH=$pwd/debian/tmp/usr/lib $pwd/debian/tmp/usr/bin/mono --version 2>&1`;
verbose_print("Will use built Mono (debian/tmp/usr/bin/monodis) for CIL parsing.");
} elsif (-x "/usr/bin/monodis") {
$clr = "mono";
$cli_parser = "/usr/bin/monodis";
- $cli_parser_paths = "MONO_GAC_PREFIX=$mono_gac_prefix ";
+ $cli_parser_paths = "MONO_GAC_PREFIX=$mono_gac_prefix MONO_PATH=$mono_paths ";
verbose_print("Will use Mono (/usr/bin/monodis) for CIL parsing.");
} elsif (-x "/usr/bin/ildasm") {
$clr = "pnet";
@@ -207,7 +220,7 @@
# find binaries
find (sub {
- return unless -f and /\.(exe|dll)$/;
+ return unless -f && !-l && /\.(exe|dll)$/;
my $vers;
my $file = $_;
if (/\.exe$/) {
@@ -444,6 +457,7 @@
my $target = $dllmapdata{$name};
if (defined($target)) {
+ $target = basename($target);
verbose_print("Resolved moduleref via DLL map: $name to: $target");
} elsif (defined($shlibdata{$name})) {
verbose_print("Resolved moduleref via direct match in shlibs");
More information about the Pkg-mono-svn-commits
mailing list