Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Update Eagle script library in externals to the latest trunk code. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
10799309b00d32ba33182492d6e8eba6 |
User & Date: | mistachkin 2014-01-02 11:22:26.585 |
Context
2014-01-04
| ||
00:04 | Add BindInvariantText and ConvertInvariantText connection flags to force the invariant culture to be used when converting parameter values to/from strings. check-in: f2f08c2ab7 user: mistachkin tags: trunk | |
2014-01-02
| ||
11:22 | Update Eagle script library in externals to the latest trunk code. check-in: 10799309b0 user: mistachkin tags: trunk | |
2013-12-31
| ||
08:40 | Add the ability for the test suite infrastructure to skip loading the 'implicit' (i.e. non-platform/architecture) assemblies. check-in: 123d84e4ef user: mistachkin tags: trunk | |
Changes
Changes to Externals/Eagle/lib/Eagle1.0/init.eagle.
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | # theory, use of this routine should be rare; however, in # practice, this routine is actually used quite a bit (e.g. # by the test suite). # return [expr {[info exists ::tcl_platform(engine)] && \ [string compare -nocase eagle $::tcl_platform(engine)] == 0}] } proc haveGaruda { {varName ""} } { # # NOTE: Check for a variable name to place the Garuda package Id into. # if {[string length $varName] > 0} then { upvar 1 $varName packageId | > > > > > > > > > > > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # theory, use of this routine should be rare; however, in # practice, this routine is actually used quite a bit (e.g. # by the test suite). # return [expr {[info exists ::tcl_platform(engine)] && \ [string compare -nocase eagle $::tcl_platform(engine)] == 0}] } # # NOTE: This is the procedure that detects whether or not we are # running on Windows (otherwise, we are running on some flavor # of Unix). This procedure must function correctly in both Tcl # and Eagle and must return non-zero only when on Windows. # proc isWindows {} { return [expr {[info exists ::tcl_platform(platform)] && \ $::tcl_platform(platform) eq "windows"}] } proc haveGaruda { {varName ""} } { # # NOTE: Check for a variable name to place the Garuda package Id into. # if {[string length $varName] > 0} then { upvar 1 $varName packageId |
︙ | ︙ | |||
500 501 502 503 504 505 506 | # set dir [file nativename $dir] # # NOTE: On Windows, use PATH; otherwise (i.e. Unix), use # LD_LIBRARY_PATH. # | | | | 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 | # set dir [file nativename $dir] # # NOTE: On Windows, use PATH; otherwise (i.e. Unix), use # LD_LIBRARY_PATH. # if {[isWindows]} then { set name PATH } else { set name LD_LIBRARY_PATH } # # NOTE: Make sure the directory is not already in the # loader search path. # if {[info exists ::tcl_platform(pathSeparator)]} then { set separator $::tcl_platform(pathSeparator) } elseif {[isWindows]} then { set separator \; } else { set separator : } # # NOTE: Does the necessary environment variable exist? |
︙ | ︙ | |||
573 574 575 576 577 578 579 | # set dir [file nativename $dir] # # NOTE: On Windows, use PATH; otherwise (i.e. Unix), use # LD_LIBRARY_PATH. # | | | | 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 | # set dir [file nativename $dir] # # NOTE: On Windows, use PATH; otherwise (i.e. Unix), use # LD_LIBRARY_PATH. # if {[isWindows]} then { set name PATH } else { set name LD_LIBRARY_PATH } # # NOTE: Make sure the directory is in the loader search # path. # if {[info exists ::tcl_platform(pathSeparator)]} then { set separator $::tcl_platform(pathSeparator) } elseif {[isWindows]} then { set separator \; } else { set separator : } # # NOTE: Does the necessary environment variable exist? |
︙ | ︙ | |||
1116 1117 1118 1119 1120 1121 1122 | } proc fetchUpdate { baseUri patchLevel type directory } { # # NOTE: Figure out the appropriate file extension to download for # this platform. # | < | | 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 | } proc fetchUpdate { baseUri patchLevel type directory } { # # NOTE: Figure out the appropriate file extension to download for # this platform. # set extension [expr {[isWindows] ? ".exe" : ".rar"}] # # NOTE: Build the necessary arguments for the download. # set args [getFetchUpdateArgs $baseUri $patchLevel $type \ $directory $extension] |
︙ | ︙ | |||
2220 2221 2222 2223 2224 2225 2226 | } # # NOTE: Exports the necessary commands from this package and import them # into the global namespace. # exportAndImportPackageCommands [namespace current] [list \ | | | > | | | | | | | | 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 | } # # NOTE: Exports the necessary commands from this package and import them # into the global namespace. # exportAndImportPackageCommands [namespace current] [list \ isEagle isWindows haveGaruda isTclThread isMono \ getEnvironmentVariable combineFlags getCompileInfo getPlatformInfo \ getPluginPath appendArgs lappendArgs getDictionaryValue \ getColumnValue getRowColumnValue tqputs tqlog readFile \ readSharedFile writeFile appendFile appendLogFile appendSharedFile \ appendSharedLogFile readAsciiFile writeAsciiFile readUnicodeFile \ writeUnicodeFile getDirResultPath addToPath removeFromPath execShell \ lshuffle ldifference filter map reduce getLengthModifier debug \ findDirectories findFiles findFilesRecursive \ exportAndImportPackageCommands] false false ########################################################################### ############################## END Tcl ONLY ############################### ########################################################################### } # # NOTE: Provide the Eagle library package to the interpreter. # package provide Eagle.Library \ [expr {[isEagle] ? [info engine PatchLevel] : "1.0"}] } |
Changes to Externals/Eagle/lib/Eagle1.0/test.eagle.
︙ | ︙ | |||
566 567 568 569 570 571 572 | # ending with the absolute minimum version supported # by the Eagle core library. A very similar block # of code is also used by the [checkForTclShell] # procedure in the constraints package. # foreach version [lsort -real -decreasing [tcl \ versionrange -maximumversion $dotVersion]] { | > > > > > | > > > > > > | > > > > > | > > > > > | 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 | # ending with the absolute minimum version supported # by the Eagle core library. A very similar block # of code is also used by the [checkForTclShell] # procedure in the constraints package. # foreach version [lsort -real -decreasing [tcl \ versionrange -maximumversion $dotVersion]] { # # NOTE: Build the candidate Tcl shell executable file name # with the dot-separated version. This is the common # naming scheme on Unix. # set dotShell [appendArgs tclsh $version] # # NOTE: Build the candidate Tcl shell executable file name # with the version, removing the dot. This is the # common naming scheme on Windows. # set shell [appendArgs tclsh [string map [list . ""] $version]] # # NOTE: Always favor the Tcl shell executable file naming # scheme for the current operating system first. # if {[isWindows]} then { lappend shells $shell lappend shells $dotShell } else { lappend shells $dotShell lappend shells $shell } } } } # # NOTE: Check each candidate Tcl shell and query its fully # qualified path from it. If it cannot be executed, |
︙ | ︙ | |||
1985 1986 1987 1988 1989 1990 1991 | proc machineToPlatform { machine {architecture false} } { # # NOTE: Cannot use "-nocase" option here because Tcl 8.4 does not # support it (i.e. because it is pre-TIP #241). # switch -exact -- [string tolower $machine] { intel { | | < < | 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 | proc machineToPlatform { machine {architecture false} } { # # NOTE: Cannot use "-nocase" option here because Tcl 8.4 does not # support it (i.e. because it is pre-TIP #241). # switch -exact -- [string tolower $machine] { intel { if {!$architecture && [isWindows]} then { return Win32 } else { return x86 } } arm { return arm |
︙ | ︙ |
Changes to Externals/Eagle/lib/Test1.0/constraints.eagle.
︙ | ︙ | |||
187 188 189 190 191 192 193 | proc checkForWindowsVersion { channel } { tputs $channel "---- checking for Windows version... " # # NOTE: Are we running on Windows at all? # | < | | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | proc checkForWindowsVersion { channel } { tputs $channel "---- checking for Windows version... " # # NOTE: Are we running on Windows at all? # if {[isWindows]} then { # # NOTE: Is the specific OS name and version number available? # if {[info exists ::tcl_platform(os)] && \ [string length $::tcl_platform(os)] > 0 && \ [info exists ::tcl_platform(osVersion)] && \ [string length $::tcl_platform(osVersion)] > 0 && \ |
︙ | ︙ | |||
337 338 339 340 341 342 343 | # NOTE: This test constraint is needed by test "benchmark-1.22". # if {![info exists ::no(compileWindows)]} then { # # NOTE: If the current platform is Windows the Tcl binary must have # been compiled for Windows. # | < | | 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 | # NOTE: This test constraint is needed by test "benchmark-1.22". # if {![info exists ::no(compileWindows)]} then { # # NOTE: If the current platform is Windows the Tcl binary must have # been compiled for Windows. # if {[isWindows]} then { lappend result compile.WINDOWS addConstraint compile.WINDOWS } } # # NOTE: This test constraint is needed by tests "socket-*.*". |
︙ | ︙ | |||
369 370 371 372 373 374 375 | tputs $channel no\n } } proc checkForWindowsCommandProcessor { channel pattern {constraint ""} } { tputs $channel "---- checking for Windows Command Processor... " | < | | 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 | tputs $channel no\n } } proc checkForWindowsCommandProcessor { channel pattern {constraint ""} } { tputs $channel "---- checking for Windows Command Processor... " if {[isWindows]} then { # # NOTE: Grab the "ComSpec" from the Windows environment and make sure it # matches the file pattern supplied by the caller (e.g. "cmd.exe"). # if {[info exists ::env(ComSpec)] && \ [string match -nocase $pattern [file tail $::env(ComSpec)]]} then { # |
︙ | ︙ | |||
870 871 872 873 874 875 876 | # NOTE: We are done here, return now. # return } else { # # NOTE: Use the appropriate environment variable for the platform. # | < | | 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 | # NOTE: We are done here, return now. # return } else { # # NOTE: Use the appropriate environment variable for the platform. # if {[isWindows]} then { set pathName PATH } else { # # HACK: For shared libraries, use the LD_LIBRARY_PATH. # if {[file extension $name] eq [info sharedlibextension]} then { set pathName LD_LIBRARY_PATH |
︙ | ︙ | |||
898 899 900 901 902 903 904 | set path $::env($pathName) # # NOTE: Use the appropriate path separator for the platform. # if {[info exists ::tcl_platform(pathSeparator)]} then { set separator $::tcl_platform(pathSeparator) | | < | 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 | set path $::env($pathName) # # NOTE: Use the appropriate path separator for the platform. # if {[info exists ::tcl_platform(pathSeparator)]} then { set separator $::tcl_platform(pathSeparator) } elseif {[isWindows]} then { set separator \; } else { set separator : } # # NOTE: Grab just the file name from the possibly fully qualified file |
︙ | ︙ | |||
2015 2016 2017 2018 2019 2020 2021 | tputs $channel "---- checking for dynamic loading... " # # NOTE: As far as we know, dynamic loading always works on Windows. # On some Unix systems, dlopen does not work (e.g. because # Mono is statically linked, etc). # | < < | | | 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | tputs $channel "---- checking for dynamic loading... " # # NOTE: As far as we know, dynamic loading always works on Windows. # On some Unix systems, dlopen does not work (e.g. because # Mono is statically linked, etc). # if {[isWindows] || ([llength [info commands library]] > 0 && \ [catch {library test}] == 0)} then { # # NOTE: Yes, it appears that it is available. # addConstraint dynamic tputs $channel yes\n } else { |
︙ | ︙ | |||
2043 2044 2045 2046 2047 2048 2049 | # we should check for the DISPLAY environment variable as # some basic indication that the X server is available. # This appears to be very necessary on Mono because it # crashes after repeated failed attempts to create a # Windows Form when the X server is unavailable (e.g. on # OpenBSD). # | < < | | 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 | # we should check for the DISPLAY environment variable as # some basic indication that the X server is available. # This appears to be very necessary on Mono because it # crashes after repeated failed attempts to create a # Windows Form when the X server is unavailable (e.g. on # OpenBSD). # if {[isWindows] || [info exists ::env(DISPLAY)]} then { # # NOTE: Is the Windows Forms assembly available? # if {[catch {object resolve System.Windows.Forms} assembly] == 0} then { # # NOTE: Yes, it appears that it is available. # |
︙ | ︙ | |||
2377 2378 2379 2380 2381 2382 2383 | proc checkForWix { channel } { tputs $channel "---- checking for WiX... " # # NOTE: Platform must be Windows for this constraint to # even be checked (i.e. we require the registry). # | < | | 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 | proc checkForWix { channel } { tputs $channel "---- checking for WiX... " # # NOTE: Platform must be Windows for this constraint to # even be checked (i.e. we require the registry). # if {[isWindows]} then { # # NOTE: Indicate that we have not found it yet. # set directory "" # # NOTE: Have we not found the directory yet? |
︙ | ︙ | |||
2611 2612 2613 2614 2615 2616 2617 | proc checkForNetFx45 { channel } { tputs $channel "---- checking for .NET Framework 4.5... " # # NOTE: Platform must be Windows for this constraint to even be # checked (i.e. we require the registry). # | < | | 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 | proc checkForNetFx45 { channel } { tputs $channel "---- checking for .NET Framework 4.5... " # # NOTE: Platform must be Windows for this constraint to even be # checked (i.e. we require the registry). # if {[isWindows]} then { # # NOTE: Registry hive where the .NET Framework 4.0 setup and # servicing information is stored. No need to look in # the WoW64 registry because the .NET Framework should # be installed natively as well. # set key [appendArgs HKEY_LOCAL_MACHINE\\ \ |
︙ | ︙ | |||
2676 2677 2678 2679 2680 2681 2682 | # # NOTE: Platform must be Windows for this constraint to even be # checked (i.e. we require the registry). # set visualStudioVersions [list] | < | | 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 | # # NOTE: Platform must be Windows for this constraint to even be # checked (i.e. we require the registry). # set visualStudioVersions [list] if {[isWindows]} then { # # NOTE: Registry hive where Visual Studio install information is # stored. Make sure to look in the WoW64 registry because # Visual Studio is currently always a 32-bit application. # set key [appendArgs HKEY_LOCAL_MACHINE\\ \ [getSoftwareRegistryKey true] {\Microsoft\VisualStudio}] |
︙ | ︙ |