Diff
Not logged in

Differences From Artifact [8476428c11]:

To Artifact [349ce61d09]:


297
298
299
300
301
302
303














304
305
306
307
308
309
310
311
312

313
314
315
316
317
318
319
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325

326
327
328
329
330
331
332
333







+
+
+
+
+
+
+
+
+
+
+
+
+
+








-
+







    #
    variable viaInstall; # DEFAULT: false

    if {![info exists viaInstall]} then {
      set viaInstall false
    }

    #
    # NOTE: This is the name of the executable file used to invoke the
    #       Mono implementation, possibly without a file extension.
    #
    variable monoFileNameOnly; # DEFAULT: <unset>

    if {![info exists monoFileNameOnly]} then {
      if {[isWindows]} then {
        set monoFileNameOnly mono.exe
      } else {
        set monoFileNameOnly mono
      }
    }

    #
    # NOTE: The command to use when attempting to verify that Mono and its
    #       associated runtimes are installed locally.  Generally, this is
    #       not needed on Windows machines.
    #
    variable monoInstalledCommand; # DEFAULT: mono --version

    if {![info exists monoInstalledCommand]} then {
      set monoInstalledCommand {mono --version}
      set monoInstalledCommand {{${monoFileNameOnly}} --version}
    }

    #
    # NOTE: The regular expression pattern used when attempting to verify
    #       that Mono and its associated runtimes are installed locally.
    #       Generally, this is not needed on Windows machines.
    #
824
825
826
827
828
829
830

831
832
833
834
835
836

837
838
839
840
841
842

843
844
845
846
847
848
849
838
839
840
841
842
843
844
845
846
847
848
849
850

851
852
853
854
855
856

857
858
859
860
861
862
863
864







+





-
+





-
+







  #
  # NOTE: This procedure attempts to verify that an instance of Mono and its
  #       associated runtimes are installed locally.  There are no arguments.
  #       The return value is non-zero if Mono appears to be installed and
  #       available for use; otherwise, the return value is zero.
  #
  proc isMonoInstalled {} {
    variable monoFileNameOnly
    variable monoInstalledCommand
    variable monoInstalledPattern

    if {[isEagle]} then {
      if {[catch {
        eval exec -success Success $monoInstalledCommand
        eval exec -success Success [subst $monoInstalledCommand]
      } result]} then {
        return false
      }
    } else {
      if {[catch {
        eval exec $monoInstalledCommand
        eval exec [subst $monoInstalledCommand]
      } result]} then {
        return false
      }
    }

    if {![info exists result] || \
        ![regexp -- $monoInstalledPattern $result]} then {