On May 11, 2012, at 2:54 PM, IBBoard wrote:
> What I want is a less hack-ish run script (currently using Bash). The proper
> way to do it is to check for features rather than string matching and version
> checking (which caused lots of JavaScript issues with people doing IE version
> checks badly). Is there a way to probe the profile that a Mono library was
> compiled with from Bash, without the ...-dev package being installed?
`monodis --assemblyref` will tell you which assemblies an assembly references,
including version numbers, but (1) I don't know if monodis is in a -dev package
or not (I imagine it is), and (2) I'm not sure that would actually help you, as
you'd need to "somehow" find an assembly to run monodis against. Running it
against your app won't help -- you know it's a 2.0 app -- so you'd presumably
want System.dll or gtk-sharp.dll or something, and how do you find the
appropriate path for _that_?
I'd suggest a different hack:
bindir=$(dirname `which mono`)
if [ -d "$bindir/../lib/mono/2.0" ]; then
# you have the 2.0 runtime...
else
# you don't; try for the 4.0 runtime and use `mono --runtime`...
fi
You may also need to check for lib64 in addition to lib (iirc Fedora likes
lib64).
In general, if $prefix/lib/mono/2.0 exists, then the 2.0 profile exists.
- Jon
_______________________________________________
Mono-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list