summaryrefslogtreecommitdiff
path: root/xmake/core
diff options
context:
space:
mode:
authorruki <[email protected]>2017-05-24 14:32:08 +0800
committerruki <[email protected]>2017-05-24 14:32:08 +0800
commit7ef69739513b4b4431f6f683fe2a9d297658be02 (patch)
tree14fd2789a956cbcb79e1ea217541bfc6e75bd99e /xmake/core
parent4e52205dc696ade5ba01c8d6ccf9831b59ad6196 (diff)
remove xmake variable
Diffstat (limited to 'xmake/core')
-rw-r--r--xmake/core/_xmake_main.lua1
-rw-r--r--xmake/core/base/os.lua14
-rw-r--r--xmake/core/main.lua8
-rw-r--r--xmake/core/project/project.lua3
-rw-r--r--xmake/core/project/task.lua3
-rw-r--r--xmake/core/sandbox/modules/os.lua33
6 files changed, 39 insertions, 23 deletions
diff --git a/xmake/core/_xmake_main.lua b/xmake/core/_xmake_main.lua
index 1f169e4af..39bb5f225 100644
--- a/xmake/core/_xmake_main.lua
+++ b/xmake/core/_xmake_main.lua
@@ -31,6 +31,7 @@ xmake._NULDEV = _NULDEV
xmake._VERSION = _VERSION
xmake._VERSION_SHORT = _VERSION_SHORT
xmake._PROGRAM_DIR = _PROGRAM_DIR
+xmake._PROGRAM_FILE = _PROGRAM_FILE
xmake._PROJECT_DIR = _PROJECT_DIR
xmake._CORE_DIR = _PROGRAM_DIR .. "/core"
xmake._TOOLS_DIR = _PROGRAM_DIR .. "/tools"
diff --git a/xmake/core/base/os.lua b/xmake/core/base/os.lua
index 95ebfa79f..5c7ca78e2 100644
--- a/xmake/core/base/os.lua
+++ b/xmake/core/base/os.lua
@@ -680,6 +680,20 @@ function os.addenv(name, ...)
end
+-- get the program directory
+function os.programdir()
+
+ -- get it
+ return xmake._PROGRAM_DIR
+end
+
+-- get the program file
+function os.programfile()
+
+ -- get it
+ return xmake._PROGRAM_FILE
+end
+
-- get version info
function os.versioninfo()
diff --git a/xmake/core/main.lua b/xmake/core/main.lua
index cda338294..62800d2be 100644
--- a/xmake/core/main.lua
+++ b/xmake/core/main.lua
@@ -126,6 +126,14 @@ function main._init()
break
end
end
+
+ -- add the directory of the program file (xmake) to $PATH environment
+ local programfile = os.programfile()
+ if programfile and os.isfile(programfile) then
+ os.addenv("PATH", path.directory(programfile))
+ else
+ os.addenv("PATH", os.programdir())
+ end
end
-- the main function
diff --git a/xmake/core/project/project.lua b/xmake/core/project/project.lua
index 6dff6d1a4..191e53871 100644
--- a/xmake/core/project/project.lua
+++ b/xmake/core/project/project.lua
@@ -319,8 +319,7 @@ function project._interpreter()
, configdir = config.directory()
, projectdir = project.directory()
, packagedir = package.directory()
- , programdir = xmake._PROGRAM_DIR
- , xmake = path.join(xmake._PROGRAM_DIR, "xmake")
+ , programdir = os.programdir()
}
-- map it
diff --git a/xmake/core/project/task.lua b/xmake/core/project/task.lua
index 0111dd6e9..a162d84e4 100644
--- a/xmake/core/project/task.lua
+++ b/xmake/core/project/task.lua
@@ -203,8 +203,7 @@ function task._interpreter()
, configdir = config.directory()
, projectdir = xmake._PROJECT_DIR
, packagedir = package.directory()
- , programdir = xmake._PROGRAM_DIR
- , xmake = path.join(xmake._PROGRAM_DIR, "xmake")
+ , programdir = os.programdir()
}
-- map it
diff --git a/xmake/core/sandbox/modules/os.lua b/xmake/core/sandbox/modules/os.lua
index 00e22bfbb..4b31128d2 100644
--- a/xmake/core/sandbox/modules/os.lua
+++ b/xmake/core/sandbox/modules/os.lua
@@ -34,18 +34,20 @@ local vformat = require("sandbox/modules/vformat")
local sandbox_os = sandbox_os or {}
-- inherit some builtin interfaces
-sandbox_os.host = os.host
-sandbox_os.arch = os.arch
-sandbox_os.exit = os.exit
-sandbox_os.date = os.date
-sandbox_os.time = os.time
-sandbox_os.argv = os.argv
-sandbox_os.argw = os.argw
-sandbox_os.mtime = os.mtime
-sandbox_os.sleep = os.sleep
-sandbox_os.mclock = os.mclock
-sandbox_os.nuldev = os.nuldev
-sandbox_os.emptydir = os.emptydir
+sandbox_os.host = os.host
+sandbox_os.arch = os.arch
+sandbox_os.exit = os.exit
+sandbox_os.date = os.date
+sandbox_os.time = os.time
+sandbox_os.argv = os.argv
+sandbox_os.argw = os.argw
+sandbox_os.mtime = os.mtime
+sandbox_os.sleep = os.sleep
+sandbox_os.mclock = os.mclock
+sandbox_os.nuldev = os.nuldev
+sandbox_os.emptydir = os.emptydir
+sandbox_os.programdir = os.programdir
+sandbox_os.programfile = os.programfile
-- copy file or directory
function sandbox_os.cp(...)
@@ -202,13 +204,6 @@ function sandbox_os.toolsdir()
return xmake._TOOLS_DIR
end
--- get the program directory
-function sandbox_os.programdir()
-
- -- get it
- return xmake._PROGRAM_DIR
-end
-
-- get the script directory
function sandbox_os.scriptdir()