#%Module1.0###################################################################

# Copyright (c) Intel Corporation.
# SPDX-License-Identifier: MIT
# https://opensource.org.licenses/MIT

# This modulefile requires Environment Modules 4.1 or later.
# Type `module --version` to determine the current installed version.

set min_tcl_ver 8.4
if { $tcl_version < $min_tcl_ver } {
    puts stderr " "
    puts stderr "ERROR: This modulefile requires tcl $min_tcl_ver or greater."
    puts stderr "Your system reports that tclsh version $tcl_version is installed."
    exit 1
}

# Get full pathname for this script file
set scriptpath "${ModulesCurrentModulefile}"

# If modulefile script name is a symlink, resolve it
if { "[file type "$scriptpath"]" eq "link" } {
    set scriptpath "[file readlink "$scriptpath"]"
}

# If fullpath contains links, resolve them
set scriptpath "[file normalize "$scriptpath"]"

# Get directory holding this modulefile script and others
set modulefileroot "[file dirname "$scriptpath"]"

# Get name of modulefile script we are loading
set modulefilename "[file tail "$scriptpath"]"

# Determine modulefile script version
set modulefilever "[file dirname "$modulefileroot"]"
set modulefilever "[file tail "$modulefilever"]"

# Point to component top-level root folder
set componentroot "[file dirname "$modulefileroot"]"
set componentroot "[file dirname "$componentroot"]"

# Get component folder name
set componentname "[file tail "$componentroot"]"

# Get oneAPI top-level root folder
set oneapiroot "[file dirname "$componentroot"]"

# disallow loading multiple versions of this modulefile
# disallow loading mutiple architecture of this modulefile
set mname32 $modulefilename
set mname64 [string trimright $mname32 "32"]
if { [string equal "$mname32" "$mname64"] } {
    append mname32 "32"
}
conflict $mname32
conflict $mname64

# On load print component name and version being loaded
if { [ module-info mode load ] } {
    puts stderr "Loading $modulefilename version $modulefilever"
}

# On unload/remove print component name and version being removed
if { [ module-info mode ] == "unload" || [ module-info mode ] == "remove" } {
    puts stderr "Removing $modulefilename version $modulefilever"
    puts stderr "Use `module list` to view any remaining dependent modules."
}

# ###### Component Specific env vars setup ###################################

set gdbroot "$componentroot/$modulefilever"

# PATH
prepend-path PATH "$gdbroot/gdb/intel64/bin"

# LD_LIBRARY_PATH
prepend-path LD_LIBRARY_PATH "$gdbroot/dep/lib"
prepend-path LD_LIBRARY_PATH "$gdbroot/libipt/intel64/lib"
prepend-path LD_LIBRARY_PATH "$gdbroot/gdb/intel64/lib"

# Documentation
prepend-path MANPATH "$gdbroot/documentation/man"
prepend-path GDB_INFO "$gdbroot/documentation/info/"
prepend-path INFOPATH "$gdbroot/gdb/intel64/lib"

# Export Python home directory for the gdb-oneapi debugger
setenv INTEL_PYTHONHOME "$gdbroot/dep"

module-whatis "The gdb-oneapi debugger (an extension of standard gdb)."



## 68ecdebfa
