diff options
| author | ruki <[email protected]> | 2021-12-08 22:30:38 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-12-08 22:30:38 +0800 |
| commit | dedcd548ec31ad936128b272c705f8f30fb01eb2 (patch) | |
| tree | cae8d7b373d1eacb097298f022780d75abc6eb6a /xmake/modules | |
| parent | 86eaab2842abf6570895da359ed484805bf759a5 (diff) | |
improve ifort
Diffstat (limited to 'xmake/modules')
| -rw-r--r-- | xmake/modules/detect/sdks/find_ifortenv.lua | 18 | ||||
| -rw-r--r-- | xmake/modules/detect/tools/find_ifort.lua | 14 |
2 files changed, 15 insertions, 17 deletions
diff --git a/xmake/modules/detect/sdks/find_ifortenv.lua b/xmake/modules/detect/sdks/find_ifortenv.lua index f3aafad06..f45bda0d5 100644 --- a/xmake/modules/detect/sdks/find_ifortenv.lua +++ b/xmake/modules/detect/sdks/find_ifortenv.lua @@ -116,12 +116,24 @@ end -- find intel fortran envirnoment on linux function _find_intel_on_linux(opt) - -- attempt to find the sdk directory local paths = {"/opt/intel/bin", "/usr/local/bin", "/usr/bin"} local ifort = find_file("ifort", paths) if ifort then - local sdkdir = path.directory(path.directory(ifort)) - return {sdkdir = sdkdir, bindir = path.directory(ifort), path.join(sdkdir, "include"), libdir = path.join(sdkdir, "lib")} + local bindir = path.directory(ifort) + local sdkdir = path.directory(bindir) + return {sdkdir = sdkdir, bindir = bindir, libdir = path.join(sdkdir, "lib")} + end + + if is_host("linux") then + local arch = os.arch() == "x86_64" and "intel64" or "ia32" + local host = is_host("macosx") and "macos" or "linux" + local paths = {"~/intel/oneapi/compiler/latest/" .. host .. "/bin/" .. arch} + local ifort = find_file("ifort", paths) + if ifort then + local bindir = path.directory(ifort) + local sdkdir = path.directory(bindir) + return {sdkdir = sdkdir, bindir = bindir, libdir = path.join(sdkdir, "compiler", "lib", arch)} + end end end diff --git a/xmake/modules/detect/tools/find_ifort.lua b/xmake/modules/detect/tools/find_ifort.lua index dfa8f254c..31f158996 100644 --- a/xmake/modules/detect/tools/find_ifort.lua +++ b/xmake/modules/detect/tools/find_ifort.lua @@ -52,20 +52,6 @@ function main(opt) return program, version else -- find program - if is_host("linux") then - local arch = os.arch() == "x86_64" and "intel64" or "ia32" - local dirs = {"~/intel/oneapi/compiler/latest/linux"} - opt.envs = opt.envs or {} - opt.paths = opt.paths or {} - local LD_LIBRARY_PATH = {} - for _, dir in ipairs(dirs) do - if os.isdir(dir) then - table.insert(LD_LIBRARY_PATH, path.join(dir, "compiler/lib", arch)) - table.insert(opt.paths, path.join(dir, "bin", arch)) - end - end - opt.envs.LD_LIBRARY_PATH = path.joinenv(LD_LIBRARY_PATH) - end local program = find_program(opt.program or "ifort", opt) -- find program version |
