
package provide xtcl 0.1



########################################################################
## xtcl_guessArch -- retourne une chaine dépendant de la plateforme
# 
# A terme, cette procédure sera capable de retourner :
#    - le nom d'un réperoire par défaut pour les préférence,
#    - le nom du répertoire pour créer des fichiers temporaires, 
#    - ...
# 
# On peut alors utiliser n'importe où le code du style :
#     
#       if {[string match *platform=windows* [xtcl_guessArch] ]} {...}
# 
# en encore :
# 
#       switch -glob -- [xtcl_guessArch] {
#           *machine=ppc*os=Linux*   -
#           *machine=ppc*os=Darwin*  {
#               # ajouter ou remplacer un binding particulier
#               bind $stead(text) <Alt-N>  {
#                   xtext_insert  $stead(text) ~
#               }
#           }
#       }
# 
# Quelques valeurs courantes  de tcl_platform :
# 
#    byteOrder : bigEndian, littleEndian, 
#    machine : ppc, i686, 
#    os : Linux
#    osVersion : 2.2.17rms1
#    platform : unix
#    user : diam
# 
# A FAIRE : Cette proc sera completee par toutes options utiles
#    permettant par exemple d'écrire :
# 
#      if {[xtcl_guessArch -isunix]} {...}
# 
proc xtcl_guessArch { args } {
    global tcl_platform
    
    if {[llength $args]} {
        error "Aucune parametre de xtcl_guessArch n'est pour \
                 l'instant accepté !"
    }
    
    
    # on fait simple dans un premier temps :
    set tmp    "byteOrder=$tcl_platform(byteOrder)"
    append tmp " machine=$tcl_platform(machine)"
    append tmp " os=$tcl_platform(os)"
    append tmp " osVersion=$tcl_platform(osVersion)"
    append tmp " platform=$tcl_platform(platform)"
    append tmp " user=$tcl_platform(user)"
    
}

