summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-07-28 23:16:16 +0800
committerruki <[email protected]>2021-07-28 23:16:16 +0800
commit0ab40eb6af59286eb13fa780381d59d4fb48ecad (patch)
tree9c3c1c2b2607bf75252493409d6fcb75ee088a0c
parent62d98516dcf2f7d6b5381adc429c977deba7674b (diff)
remove api.lua
-rw-r--r--xmake/languages/asm/api.lua92
-rw-r--r--xmake/languages/asm/load.lua74
-rw-r--r--xmake/languages/asm/xmake.lua37
-rw-r--r--xmake/languages/c++/api.lua260
-rw-r--r--xmake/languages/c++/load.lua238
-rw-r--r--xmake/languages/c++/xmake.lua39
-rw-r--r--xmake/languages/cuda/api.lua79
-rw-r--r--xmake/languages/cuda/load.lua61
-rw-r--r--xmake/languages/cuda/xmake.lua37
-rw-r--r--xmake/languages/dlang/api.lua82
-rw-r--r--xmake/languages/dlang/load.lua60
-rw-r--r--xmake/languages/dlang/xmake.lua39
-rw-r--r--xmake/languages/fortran/api.lua82
-rw-r--r--xmake/languages/fortran/load.lua64
-rw-r--r--xmake/languages/fortran/xmake.lua39
-rw-r--r--xmake/languages/golang/api.lua62
-rw-r--r--xmake/languages/golang/load.lua44
-rw-r--r--xmake/languages/golang/xmake.lua36
-rw-r--r--xmake/languages/msrc/api.lua48
-rw-r--r--xmake/languages/msrc/load.lua30
-rw-r--r--xmake/languages/msrc/xmake.lua24
-rw-r--r--xmake/languages/objc++/api.lua102
-rw-r--r--xmake/languages/objc++/load.lua84
-rw-r--r--xmake/languages/rust/api.lua58
-rw-r--r--xmake/languages/rust/load.lua40
-rw-r--r--xmake/languages/rust/xmake.lua37
-rw-r--r--xmake/languages/swift/api.lua69
-rw-r--r--xmake/languages/swift/load.lua51
-rw-r--r--xmake/languages/swift/xmake.lua37
-rw-r--r--xmake/languages/vala/load.lua6
-rw-r--r--xmake/languages/vala/xmake.lua30
-rw-r--r--xmake/languages/zig/api.lua74
-rw-r--r--xmake/languages/zig/load.lua56
-rw-r--r--xmake/languages/zig/xmake.lua39
34 files changed, 783 insertions, 1427 deletions
diff --git a/xmake/languages/asm/api.lua b/xmake/languages/asm/api.lua
deleted file mode 100644
index 49bda6a36..000000000
--- a/xmake/languages/asm/api.lua
+++ /dev/null
@@ -1,92 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_links"
- , "target.add_syslinks"
- , "target.add_asflags"
- , "target.add_ldflags"
- , "target.add_arflags"
- , "target.add_shflags"
- , "target.add_defines"
- , "target.add_undefines"
- , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
- -- option.add_xxx
- , "option.add_links"
- , "option.add_syslinks"
- , "option.add_asflags"
- , "option.add_ldflags"
- , "option.add_arflags"
- , "option.add_shflags"
- , "option.add_defines"
- , "option.add_undefines"
- , "option.add_rpathdirs"
- -- package.add_xxx
- , "package.add_links"
- , "package.add_syslinks"
- , "package.add_asflags"
- , "package.add_ldflags"
- , "package.add_arflags"
- , "package.add_shflags"
- , "package.add_defines"
- , "package.add_undefines"
- , "package.add_rpathdirs"
- , "package.add_linkdirs"
- , "package.add_includedirs"
- , "package.add_sysincludedirs"
- -- toolchain.add_xxx
- , "toolchain.add_links"
- , "toolchain.add_syslinks"
- , "toolchain.add_cflags"
- , "toolchain.add_ldflags"
- , "toolchain.add_arflags"
- , "toolchain.add_shflags"
- , "toolchain.add_defines"
- , "toolchain.add_undefines"
- , "toolchain.add_rpathdirs"
- , "toolchain.add_linkdirs"
- , "toolchain.add_includedirs"
- , "toolchain.add_sysincludedirs"
- }
- _g.paths =
- {
- -- target.add_xxx
- "target.add_headers" -- TODO deprecated
- , "target.add_headerfiles"
- , "target.add_linkdirs"
- , "target.add_includedirs"
- , "target.add_sysincludedirs"
- -- option.add_xxx
- , "option.add_linkdirs"
- , "option.add_includedirs"
- , "option.add_sysincludedirs"
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/asm/load.lua b/xmake/languages/asm/load.lua
index fd547b488..9fe4681f4 100644
--- a/xmake/languages/asm/load.lua
+++ b/xmake/languages/asm/load.lua
@@ -18,17 +18,73 @@
-- @file load.lua
--
--- imports
-import("api")
+function _get_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_links"
+ , "target.add_syslinks"
+ , "target.add_asflags"
+ , "target.add_ldflags"
+ , "target.add_arflags"
+ , "target.add_shflags"
+ , "target.add_defines"
+ , "target.add_undefines"
+ , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
+ -- option.add_xxx
+ , "option.add_links"
+ , "option.add_syslinks"
+ , "option.add_asflags"
+ , "option.add_ldflags"
+ , "option.add_arflags"
+ , "option.add_shflags"
+ , "option.add_defines"
+ , "option.add_undefines"
+ , "option.add_rpathdirs"
+ -- package.add_xxx
+ , "package.add_links"
+ , "package.add_syslinks"
+ , "package.add_asflags"
+ , "package.add_ldflags"
+ , "package.add_arflags"
+ , "package.add_shflags"
+ , "package.add_defines"
+ , "package.add_undefines"
+ , "package.add_rpathdirs"
+ , "package.add_linkdirs"
+ , "package.add_includedirs"
+ , "package.add_sysincludedirs"
+ -- toolchain.add_xxx
+ , "toolchain.add_links"
+ , "toolchain.add_syslinks"
+ , "toolchain.add_cflags"
+ , "toolchain.add_ldflags"
+ , "toolchain.add_arflags"
+ , "toolchain.add_shflags"
+ , "toolchain.add_defines"
+ , "toolchain.add_undefines"
+ , "toolchain.add_rpathdirs"
+ , "toolchain.add_linkdirs"
+ , "toolchain.add_includedirs"
+ , "toolchain.add_sysincludedirs"
+ }
+ apis.paths = {
+ -- target.add_xxx
+ "target.add_headers" -- TODO deprecated
+ , "target.add_headerfiles"
+ , "target.add_linkdirs"
+ , "target.add_includedirs"
+ , "target.add_sysincludedirs"
+ -- option.add_xxx
+ , "option.add_linkdirs"
+ , "option.add_includedirs"
+ , "option.add_sysincludedirs"
+ }
+ return apis
+end
--- load it
function main()
-
- -- init apis
- _g.apis = api.apis()
-
- -- ok
- return _g
+ return {apis = _get_apis()}
end
diff --git a/xmake/languages/asm/xmake.lua b/xmake/languages/asm/xmake.lua
index a57790027..cb9aa22f5 100644
--- a/xmake/languages/asm/xmake.lua
+++ b/xmake/languages/asm/xmake.lua
@@ -18,38 +18,19 @@
-- @file xmake.lua
--
--- define language
language("asm")
-
- -- set source file kinds
+ add_rules("asm")
set_sourcekinds {as = {".s", ".asm"}}
-
- -- set source file flags
set_sourceflags {as = "asflags"}
-
- -- set target kinds
set_targetkinds {binary = "ld", static = "ar", shared = "sh"}
-
- -- set target flags
set_targetflags {binary = "ldflags", static = "arflags", shared = "shflags"}
-
- -- set language kinds
- set_langkinds {as = "as"}
-
- -- set mixing kinds
+ set_langkinds {as = "as"}
set_mixingkinds("as")
- -- add rules
- add_rules("asm")
-
- -- on load
on_load("load")
- -- set name flags
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"config.includedirs"
, "target.symbols"
, "target.warnings"
@@ -65,8 +46,7 @@ language("asm")
, "target.sysincludedirs"
, "toolchain.sysincludedirs"
}
- , binary =
- {
+ , binary = {
"config.linkdirs"
, "target.linkdirs"
, "target.rpathdirs"
@@ -78,8 +58,7 @@ language("asm")
, "target.links"
, "toolchain.links"
}
- , shared =
- {
+ , shared = {
"config.linkdirs"
, "target.linkdirs"
, "target.strip"
@@ -92,14 +71,12 @@ language("asm")
, "target.syslinks"
, "toolchain.syslinks"
}
- , static =
- {
+ , static = {
"target.strip"
, "target.symbols"
}
}
- -- set menu
set_menu {
config =
{
diff --git a/xmake/languages/c++/api.lua b/xmake/languages/c++/api.lua
deleted file mode 100644
index e33580fc4..000000000
--- a/xmake/languages/c++/api.lua
+++ /dev/null
@@ -1,260 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get function name and function info
---
--- sigsetjmp
--- sigsetjmp((void*)0, 0)
--- sigsetjmp{sigsetjmp((void*)0, 0);}
--- sigsetjmp{int a = 0; sigsetjmp((void*)a, a);}
---
-function _funcinfo(func)
- local name, code = string.match(func, "(.+){(.+)}")
- if code == nil then
- local pos = func:find("%(")
- if pos then
- name = func:sub(1, pos - 1)
- code = func
- else
- name = func
- code = string.format("volatile void* p%s = (void*)&%s;", name, name)
- end
- end
- return name:trim(), code
-end
-
--- TODO add c function, deprecated
-function _api_add_cfunc(interp, module, alias, links, includes, func)
-
- -- parse the function info
- local funcname, funccode = _funcinfo(func)
-
- -- make the option name
- local name = nil
- if module ~= nil then
- name = format("__%s_%s", module, funcname)
- else
- name = format("__%s", funcname)
- end
-
- -- uses the alias name
- if alias ~= nil then
- funcname = alias
- end
-
- -- make the option define
- local define = nil
- if module ~= nil then
- define = format("$(prefix)_%s_HAVE_%s", module:upper(), funcname:upper())
- else
- define = format("$(prefix)_HAVE_%s", funcname:upper())
- end
-
- -- save the current scope
- local scope = interp:scope_save()
-
- -- check option
- interp:api_call("option", name)
- interp:api_call("set_category", "cfuncs")
- interp:api_call("add_cfuncs", func)
- if links then interp:api_call("add_links", links) end
- if includes then interp:api_call("add_cincludes", includes) end
-
- -- restore the current scope
- interp:scope_restore(scope)
-
- -- add this option
- interp:api_call("add_options", name)
-end
-
--- TODO add c functions, deprecated
-function _api_add_cfuncs(interp, module, links, includes, ...)
- wprint("target.add_cfuncs is deprecated, please use option.add_cfuncs()")
- for _, func in ipairs({...}) do
- _api_add_cfunc(interp, module, nil, links, includes, func)
- end
-end
-
--- TODO add c++ function, deprecated
-function _api_add_cxxfunc(interp, module, alias, links, includes, func)
-
- -- parse the function info
- local funcname, funccode = _funcinfo(func)
-
- -- make the option name
- local name = nil
- if module ~= nil then
- name = format("__%s_%s", module, funcname)
- else
- name = format("__%s", funcname)
- end
-
- -- uses the alias name
- if alias ~= nil then
- funcname = alias
- end
-
- -- make the option define
- local define = nil
- if module ~= nil then
- define = format("$(prefix)_%s_HAVE_%s", module:upper(), funcname:upper())
- else
- define = format("$(prefix)_HAVE_%s", funcname:upper())
- end
-
- -- save the current scope
- local scope = interp:scope_save()
-
- -- check option
- interp:api_call("option", name)
- interp:api_call("set_category", "cxxfuncs")
- interp:api_call("add_cxxfuncs", func)
- if links then interp:api_call("add_links", links) end
- if includes then interp:api_call("add_cxxincludes", includes) end
-
- -- restore the current scope
- interp:scope_restore(scope)
-
- -- add this option
- interp:api_call("add_options", name)
-end
-
--- TODO add c++ functions, deprecated
-function _api_add_cxxfuncs(interp, module, links, includes, ...)
- wprint("target.add_cxxfuncs is deprecated, please use option.add_cxxfuncs()")
- for _, func in ipairs({...}) do
- _api_add_cxxfunc(interp, module, nil, links, includes, func)
- end
-end
-
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_links"
- , "target.add_syslinks"
- , "target.add_cflags"
- , "target.add_cxflags"
- , "target.add_cxxflags"
- , "target.add_ldflags"
- , "target.add_arflags"
- , "target.add_shflags"
- , "target.add_defines"
- , "target.add_undefines"
- , "target.add_frameworks"
- , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
- -- option.add_xxx
- , "option.add_cincludes"
- , "option.add_cxxincludes"
- , "option.add_cfuncs"
- , "option.add_cxxfuncs"
- , "option.add_ctypes"
- , "option.add_cxxtypes"
- , "option.add_links"
- , "option.add_syslinks"
- , "option.add_cflags"
- , "option.add_cxflags"
- , "option.add_cxxflags"
- , "option.add_ldflags"
- , "option.add_arflags"
- , "option.add_shflags"
- , "option.add_defines"
- , "option.add_undefines"
- , "option.add_frameworks"
- , "option.add_rpathdirs"
- -- package.add_xxx
- , "package.add_links"
- , "package.add_syslinks"
- , "package.add_cflags"
- , "package.add_cxflags"
- , "package.add_cxxflags"
- , "package.add_ldflags"
- , "package.add_arflags"
- , "package.add_shflags"
- , "package.add_defines"
- , "package.add_undefines"
- , "package.add_frameworks"
- , "package.add_rpathdirs"
- , "package.add_linkdirs"
- , "package.add_includedirs" --@note we need not uses paths for package, see https://github.com/xmake-io/xmake/issues/717
- , "package.add_sysincludedirs"
- , "package.add_frameworkdirs"
- -- toolchain.add_xxx
- , "toolchain.add_links"
- , "toolchain.add_syslinks"
- , "toolchain.add_cflags"
- , "toolchain.add_cxflags"
- , "toolchain.add_cxxflags"
- , "toolchain.add_ldflags"
- , "toolchain.add_arflags"
- , "toolchain.add_shflags"
- , "toolchain.add_defines"
- , "toolchain.add_undefines"
- , "toolchain.add_frameworks"
- , "toolchain.add_rpathdirs"
- , "toolchain.add_linkdirs"
- , "toolchain.add_includedirs"
- , "toolchain.add_sysincludedirs"
- , "toolchain.add_frameworkdirs"
- }
- _g.paths =
- {
- -- target.set_xxx
- "target.set_headerdir" -- TODO deprecated
- , "target.set_config_header" -- TODO deprecated
- , "target.set_pcheader"
- , "target.set_pcxxheader"
- -- target.add_xxx
- , "target.add_headers" -- TODO deprecated
- , "target.add_headerfiles"
- , "target.add_linkdirs"
- , "target.add_includedirs"
- , "target.add_sysincludedirs"
- , "target.add_frameworkdirs"
- -- option.add_xxx
- , "option.add_linkdirs"
- , "option.add_includedirs"
- , "option.add_sysincludedirs"
- , "option.add_frameworkdirs"
- }
- _g.dictionary =
- {
- -- option.add_xxx
- "option.add_csnippets"
- , "option.add_cxxsnippets"
- }
- _g.custom =
- {
- -- target.add_xxx
- {"target.add_cfunc", _api_add_cfunc }
- , {"target.add_cfuncs", _api_add_cfuncs }
- , {"target.add_cxxfunc", _api_add_cxxfunc }
- , {"target.add_cxxfuncs", _api_add_cxxfuncs }
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/c++/load.lua b/xmake/languages/c++/load.lua
index fd547b488..a26238c59 100644
--- a/xmake/languages/c++/load.lua
+++ b/xmake/languages/c++/load.lua
@@ -18,17 +18,239 @@
-- @file load.lua
--
--- imports
-import("api")
+-- get function name and function info
+--
+-- sigsetjmp
+-- sigsetjmp((void*)0, 0)
+-- sigsetjmp{sigsetjmp((void*)0, 0);}
+-- sigsetjmp{int a = 0; sigsetjmp((void*)a, a);}
+--
+function _funcinfo(func)
+ local name, code = string.match(func, "(.+){(.+)}")
+ if code == nil then
+ local pos = func:find("%(")
+ if pos then
+ name = func:sub(1, pos - 1)
+ code = func
+ else
+ name = func
+ code = string.format("volatile void* p%s = (void*)&%s;", name, name)
+ end
+ end
+ return name:trim(), code
+end
--- load it
-function main()
+-- TODO add c function, deprecated
+function _api_add_cfunc(interp, module, alias, links, includes, func)
+
+ -- parse the function info
+ local funcname, funccode = _funcinfo(func)
+
+ -- make the option name
+ local name = nil
+ if module ~= nil then
+ name = format("__%s_%s", module, funcname)
+ else
+ name = format("__%s", funcname)
+ end
+
+ -- uses the alias name
+ if alias ~= nil then
+ funcname = alias
+ end
+
+ -- make the option define
+ local define = nil
+ if module ~= nil then
+ define = format("$(prefix)_%s_HAVE_%s", module:upper(), funcname:upper())
+ else
+ define = format("$(prefix)_HAVE_%s", funcname:upper())
+ end
+
+ -- save the current scope
+ local scope = interp:scope_save()
+
+ -- check option
+ interp:api_call("option", name)
+ interp:api_call("set_category", "cfuncs")
+ interp:api_call("add_cfuncs", func)
+ if links then interp:api_call("add_links", links) end
+ if includes then interp:api_call("add_cincludes", includes) end
+
+ -- restore the current scope
+ interp:scope_restore(scope)
+
+ -- add this option
+ interp:api_call("add_options", name)
+end
+
+-- TODO add c functions, deprecated
+function _api_add_cfuncs(interp, module, links, includes, ...)
+ wprint("target.add_cfuncs is deprecated, please use option.add_cfuncs()")
+ for _, func in ipairs({...}) do
+ _api_add_cfunc(interp, module, nil, links, includes, func)
+ end
+end
- -- init apis
- _g.apis = api.apis()
+-- TODO add c++ function, deprecated
+function _api_add_cxxfunc(interp, module, alias, links, includes, func)
- -- ok
- return _g
+ -- parse the function info
+ local funcname, funccode = _funcinfo(func)
+
+ -- make the option name
+ local name = nil
+ if module ~= nil then
+ name = format("__%s_%s", module, funcname)
+ else
+ name = format("__%s", funcname)
+ end
+
+ -- uses the alias name
+ if alias ~= nil then
+ funcname = alias
+ end
+
+ -- make the option define
+ local define = nil
+ if module ~= nil then
+ define = format("$(prefix)_%s_HAVE_%s", module:upper(), funcname:upper())
+ else
+ define = format("$(prefix)_HAVE_%s", funcname:upper())
+ end
+
+ -- save the current scope
+ local scope = interp:scope_save()
+
+ -- check option
+ interp:api_call("option", name)
+ interp:api_call("set_category", "cxxfuncs")
+ interp:api_call("add_cxxfuncs", func)
+ if links then interp:api_call("add_links", links) end
+ if includes then interp:api_call("add_cxxincludes", includes) end
+
+ -- restore the current scope
+ interp:scope_restore(scope)
+
+ -- add this option
+ interp:api_call("add_options", name)
+end
+
+-- TODO add c++ functions, deprecated
+function _api_add_cxxfuncs(interp, module, links, includes, ...)
+ wprint("target.add_cxxfuncs is deprecated, please use option.add_cxxfuncs()")
+ for _, func in ipairs({...}) do
+ _api_add_cxxfunc(interp, module, nil, links, includes, func)
+ end
+end
+
+-- get apis
+function apiset_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_links"
+ , "target.add_syslinks"
+ , "target.add_cflags"
+ , "target.add_cxflags"
+ , "target.add_cxxflags"
+ , "target.add_ldflags"
+ , "target.add_arflags"
+ , "target.add_shflags"
+ , "target.add_defines"
+ , "target.add_undefines"
+ , "target.add_frameworks"
+ , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
+ -- option.add_xxx
+ , "option.add_cincludes"
+ , "option.add_cxxincludes"
+ , "option.add_cfuncs"
+ , "option.add_cxxfuncs"
+ , "option.add_ctypes"
+ , "option.add_cxxtypes"
+ , "option.add_links"
+ , "option.add_syslinks"
+ , "option.add_cflags"
+ , "option.add_cxflags"
+ , "option.add_cxxflags"
+ , "option.add_ldflags"
+ , "option.add_arflags"
+ , "option.add_shflags"
+ , "option.add_defines"
+ , "option.add_undefines"
+ , "option.add_frameworks"
+ , "option.add_rpathdirs"
+ -- package.add_xxx
+ , "package.add_links"
+ , "package.add_syslinks"
+ , "package.add_cflags"
+ , "package.add_cxflags"
+ , "package.add_cxxflags"
+ , "package.add_ldflags"
+ , "package.add_arflags"
+ , "package.add_shflags"
+ , "package.add_defines"
+ , "package.add_undefines"
+ , "package.add_frameworks"
+ , "package.add_rpathdirs"
+ , "package.add_linkdirs"
+ , "package.add_includedirs" --@note we need not uses paths for package, see https://github.com/xmake-io/xmake/issues/717
+ , "package.add_sysincludedirs"
+ , "package.add_frameworkdirs"
+ -- toolchain.add_xxx
+ , "toolchain.add_links"
+ , "toolchain.add_syslinks"
+ , "toolchain.add_cflags"
+ , "toolchain.add_cxflags"
+ , "toolchain.add_cxxflags"
+ , "toolchain.add_ldflags"
+ , "toolchain.add_arflags"
+ , "toolchain.add_shflags"
+ , "toolchain.add_defines"
+ , "toolchain.add_undefines"
+ , "toolchain.add_frameworks"
+ , "toolchain.add_rpathdirs"
+ , "toolchain.add_linkdirs"
+ , "toolchain.add_includedirs"
+ , "toolchain.add_sysincludedirs"
+ , "toolchain.add_frameworkdirs"
+ }
+ apis.paths = {
+ -- target.set_xxx
+ "target.set_headerdir" -- TODO deprecated
+ , "target.set_config_header" -- TODO deprecated
+ , "target.set_pcheader"
+ , "target.set_pcxxheader"
+ -- target.add_xxx
+ , "target.add_headers" -- TODO deprecated
+ , "target.add_headerfiles"
+ , "target.add_linkdirs"
+ , "target.add_includedirs"
+ , "target.add_sysincludedirs"
+ , "target.add_frameworkdirs"
+ -- option.add_xxx
+ , "option.add_linkdirs"
+ , "option.add_includedirs"
+ , "option.add_sysincludedirs"
+ , "option.add_frameworkdirs"
+ }
+ apis.dictionary = {
+ -- option.add_xxx
+ "option.add_csnippets"
+ , "option.add_cxxsnippets"
+ }
+ apis.custom = {
+ -- target.add_xxx
+ {"target.add_cfunc", _api_add_cfunc }
+ , {"target.add_cfuncs", _api_add_cfuncs }
+ , {"target.add_cxxfunc", _api_add_cxxfunc }
+ , {"target.add_cxxfuncs", _api_add_cxxfuncs }
+ }
+ return apis
+end
+
+function main()
+ return {apis = apiset_apis()}
end
diff --git a/xmake/languages/c++/xmake.lua b/xmake/languages/c++/xmake.lua
index 4a18dc5df..52c7baa91 100644
--- a/xmake/languages/c++/xmake.lua
+++ b/xmake/languages/c++/xmake.lua
@@ -18,41 +18,20 @@
-- @file xmake.lua
--
--- define language
language("c++")
-
- -- set source file kinds
+ add_rules("c++")
set_sourcekinds {cc = ".c", cxx = {".cpp", ".cc", ".cxx"}}
-
- -- set source file flags
set_sourceflags {cc = {"cflags", "cxflags"}, cxx = {"cxxflags", "cxflags"}}
-
- -- set target kinds
set_targetkinds {binary = "ld", static = "ar", shared = "sh"}
-
- -- set target flags
set_targetflags {binary = "ldflags", static = "arflags", shared = "shflags"}
-
- -- set language kinds
- set_langkinds {c = "cc", cxx = "cxx"}
-
- -- set mixing kinds
+ set_langkinds {c = "cc", cxx = "cxx"}
set_mixingkinds("cc", "cxx", "as", "mrc")
- -- add rules
- add_rules("c++")
-
- -- on load
on_load("load")
-
- -- on check_main
on_check_main("check_main")
- -- set name flags
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"config.includedirs"
, "config.frameworkdirs"
, "config.frameworks"
@@ -78,8 +57,7 @@ language("c++")
, "target.sysincludedirs"
, "toolchain.sysincludedirs"
}
- , binary =
- {
+ , binary = {
"config.linkdirs"
, "config.frameworkdirs"
, "target.linkdirs"
@@ -101,8 +79,7 @@ language("c++")
, "target.syslinks"
, "toolchain.syslinks"
}
- , shared =
- {
+ , shared = {
"config.linkdirs"
, "config.frameworkdirs"
, "target.linkdirs"
@@ -124,14 +101,12 @@ language("c++")
, "target.syslinks"
, "toolchain.syslinks"
}
- , static =
- {
+ , static = {
"target.strip"
, "target.symbols"
}
}
- -- set menu
set_menu {
config =
{
diff --git a/xmake/languages/cuda/api.lua b/xmake/languages/cuda/api.lua
deleted file mode 100644
index 26f8ebf89..000000000
--- a/xmake/languages/cuda/api.lua
+++ /dev/null
@@ -1,79 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_links"
- , "target.add_syslinks"
- , "target.add_cugencodes"
- , "target.add_cuflags"
- , "target.add_culdflags"
- , "target.add_ldflags"
- , "target.add_arflags"
- , "target.add_shflags"
- , "target.add_defines"
- , "target.add_undefines"
- , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
- -- option.add_xxx
- , "option.add_links"
- , "option.add_syslinks"
- , "option.add_cugencodes"
- , "option.add_cuflags"
- , "option.add_culdflags"
- , "option.add_ldflags"
- , "option.add_arflags"
- , "option.add_shflags"
- , "option.add_defines"
- , "option.add_undefines"
- , "option.add_rpathdirs"
- -- toolchain.add_xxx
- , "toolchain.add_links"
- , "toolchain.add_syslinks"
- , "toolchain.add_cugencodes"
- , "toolchain.add_cuflags"
- , "toolchain.add_culdflags"
- , "toolchain.add_ldflags"
- , "toolchain.add_arflags"
- , "toolchain.add_shflags"
- , "toolchain.add_defines"
- , "toolchain.add_undefines"
- , "toolchain.add_rpathdirs"
- }
- _g.paths =
- {
- -- target.add_xxx
- "target.add_linkdirs"
- , "target.add_includedirs"
- , "target.add_sysincludedirs"
- -- option.add_xxx
- , "option.add_linkdirs"
- , "option.add_sysincludedirs"
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/cuda/load.lua b/xmake/languages/cuda/load.lua
index fd547b488..70932b413 100644
--- a/xmake/languages/cuda/load.lua
+++ b/xmake/languages/cuda/load.lua
@@ -18,17 +18,60 @@
-- @file load.lua
--
--- imports
-import("api")
+function apiset_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_links"
+ , "target.add_syslinks"
+ , "target.add_cugencodes"
+ , "target.add_cuflags"
+ , "target.add_culdflags"
+ , "target.add_ldflags"
+ , "target.add_arflags"
+ , "target.add_shflags"
+ , "target.add_defines"
+ , "target.add_undefines"
+ , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
+ -- option.add_xxx
+ , "option.add_links"
+ , "option.add_syslinks"
+ , "option.add_cugencodes"
+ , "option.add_cuflags"
+ , "option.add_culdflags"
+ , "option.add_ldflags"
+ , "option.add_arflags"
+ , "option.add_shflags"
+ , "option.add_defines"
+ , "option.add_undefines"
+ , "option.add_rpathdirs"
+ -- toolchain.add_xxx
+ , "toolchain.add_links"
+ , "toolchain.add_syslinks"
+ , "toolchain.add_cugencodes"
+ , "toolchain.add_cuflags"
+ , "toolchain.add_culdflags"
+ , "toolchain.add_ldflags"
+ , "toolchain.add_arflags"
+ , "toolchain.add_shflags"
+ , "toolchain.add_defines"
+ , "toolchain.add_undefines"
+ , "toolchain.add_rpathdirs"
+ }
+ apis.paths = {
+ -- target.add_xxx
+ "target.add_linkdirs"
+ , "target.add_includedirs"
+ , "target.add_sysincludedirs"
+ -- option.add_xxx
+ , "option.add_linkdirs"
+ , "option.add_sysincludedirs"
+ }
+ return apis
+end
--- load it
function main()
-
- -- init apis
- _g.apis = api.apis()
-
- -- ok
- return _g
+ return {apis = _get_apis()}
end
diff --git a/xmake/languages/cuda/xmake.lua b/xmake/languages/cuda/xmake.lua
index 1915730d0..a50935e4e 100644
--- a/xmake/languages/cuda/xmake.lua
+++ b/xmake/languages/cuda/xmake.lua
@@ -18,41 +18,20 @@
-- @file xmake.lua
--
--- define language
language("cuda")
-
- -- set source file kinds
+ add_rules("cuda")
set_sourcekinds {cu = ".cu"}
-
- -- set source file flags
set_sourceflags {cu = "cuflags"}
-
- -- set target kinds
set_targetkinds {gpucode = "culd", binary = "ld", static = "ar", shared = "sh"}
-
- -- set target flags
set_targetflags {gpucode = "culdflags", binary = "ldflags", static = "arflags", shared = "shflags"}
-
- -- set language kinds
set_langkinds {cu = "cu"}
-
- -- set mixing kinds
set_mixingkinds("cu", "cc", "cxx", "as")
- -- add rules
- add_rules("cuda")
-
- -- on load
on_load("load")
-
- -- on check_main
on_check_main("check_main")
- -- set name flags
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"config.includedirs"
, "target.symbols"
, "target.warnings"
@@ -68,8 +47,7 @@ language("cuda")
, "target.sysincludedirs"
, "toolchain.sysincludedirs"
}
- , binary =
- {
+ , binary = {
"config.linkdirs"
, "target.linkdirs"
, "target.rpathdirs"
@@ -98,13 +76,11 @@ language("cuda")
, "target.syslinks"
, "toolchain.syslinks"
}
- , static =
- {
+ , static = {
"target.strip"
, "target.symbols"
}
- , gpucode =
- {
+ , gpucode = {
"config.linkdirs"
, "target.linkdirs"
, "toolchain.linkdirs"
@@ -117,7 +93,6 @@ language("cuda")
}
}
- -- set menu
set_menu {
config =
{
diff --git a/xmake/languages/dlang/api.lua b/xmake/languages/dlang/api.lua
deleted file mode 100644
index e6211e677..000000000
--- a/xmake/languages/dlang/api.lua
+++ /dev/null
@@ -1,82 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_links"
- , "target.add_syslinks"
- , "target.add_dcflags"
- , "target.add_ldflags"
- , "target.add_arflags"
- , "target.add_shflags"
- , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
- -- option.add_xxx
- , "option.add_links"
- , "option.add_syslinks"
- , "option.add_dcflags"
- , "option.add_ldflags"
- , "option.add_arflags"
- , "option.add_shflags"
- , "option.add_rpathdirs"
- -- package.add_xxx
- , "package.add_links"
- , "package.add_syslinks"
- , "package.add_dcflags"
- , "package.add_ldflags"
- , "package.add_arflags"
- , "package.add_shflags"
- , "package.add_rpathdirs"
- , "package.add_linkdirs"
- , "package.add_includedirs"
- , "package.add_sysincludedirs"
- -- toolchain.add_xxx
- , "toolchain.add_links"
- , "toolchain.add_syslinks"
- , "toolchain.add_dcflags"
- , "toolchain.add_ldflags"
- , "toolchain.add_arflags"
- , "toolchain.add_shflags"
- , "toolchain.add_rpathdirs"
- , "toolchain.add_linkdirs"
- , "toolchain.add_includedirs"
- , "toolchain.add_sysincludedirs"
- }
- _g.paths =
- {
- -- target.add_xxx
- "target.add_linkdirs"
- , "target.add_includedirs"
- , "target.add_sysincludedirs"
- -- option.add_xxx
- , "option.add_linkdirs"
- , "option.add_includedirs"
- , "option.add_sysincludedirs"
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/dlang/load.lua b/xmake/languages/dlang/load.lua
index 97ef5346a..23653150c 100644
--- a/xmake/languages/dlang/load.lua
+++ b/xmake/languages/dlang/load.lua
@@ -18,13 +18,63 @@
-- @file load.lua
--
--- imports
-import("api")
+function _get_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_links"
+ , "target.add_syslinks"
+ , "target.add_dcflags"
+ , "target.add_ldflags"
+ , "target.add_arflags"
+ , "target.add_shflags"
+ , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
+ -- option.add_xxx
+ , "option.add_links"
+ , "option.add_syslinks"
+ , "option.add_dcflags"
+ , "option.add_ldflags"
+ , "option.add_arflags"
+ , "option.add_shflags"
+ , "option.add_rpathdirs"
+ -- package.add_xxx
+ , "package.add_links"
+ , "package.add_syslinks"
+ , "package.add_dcflags"
+ , "package.add_ldflags"
+ , "package.add_arflags"
+ , "package.add_shflags"
+ , "package.add_rpathdirs"
+ , "package.add_linkdirs"
+ , "package.add_includedirs"
+ , "package.add_sysincludedirs"
+ -- toolchain.add_xxx
+ , "toolchain.add_links"
+ , "toolchain.add_syslinks"
+ , "toolchain.add_dcflags"
+ , "toolchain.add_ldflags"
+ , "toolchain.add_arflags"
+ , "toolchain.add_shflags"
+ , "toolchain.add_rpathdirs"
+ , "toolchain.add_linkdirs"
+ , "toolchain.add_includedirs"
+ , "toolchain.add_sysincludedirs"
+ }
+ apis.paths = {
+ -- target.add_xxx
+ "target.add_linkdirs"
+ , "target.add_includedirs"
+ , "target.add_sysincludedirs"
+ -- option.add_xxx
+ , "option.add_linkdirs"
+ , "option.add_includedirs"
+ , "option.add_sysincludedirs"
+ }
+ return apis
+end
--- load it
function main()
- _g.apis = api.apis()
- return _g
+ return {apis = _get_apis()}
end
diff --git a/xmake/languages/dlang/xmake.lua b/xmake/languages/dlang/xmake.lua
index c9df5657b..9749c0d15 100644
--- a/xmake/languages/dlang/xmake.lua
+++ b/xmake/languages/dlang/xmake.lua
@@ -18,41 +18,20 @@
-- @file xmake.lua
--
--- define language
language("dlang")
-
- -- set source file kinds
+ add_rules("dlang")
set_sourcekinds {dc = ".d"}
-
- -- set source file flags
set_sourceflags {dc = "dcflags"}
-
- -- set target kinds
set_targetkinds {binary = "dcld", static = "dcar", shared = "dcsh"}
-
- -- set target flags
set_targetflags {binary = "ldflags", static = "arflags", shared = "shflags"}
-
- -- set language kinds
- set_langkinds {d = "dc"}
-
- -- set mixing kinds
+ set_langkinds {d = "dc"}
set_mixingkinds("dc", "cc", "cxx", "as")
- -- add rules
- add_rules("dlang")
-
- -- on load
on_load("load")
-
- -- on check_main
on_check_main("check_main")
- -- set name flags
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"config.includedirs"
, "target.symbols"
, "target.warnings"
@@ -63,8 +42,7 @@ language("dlang")
, "target.sysincludedirs"
, "toolchain.sysincludedirs"
}
- , binary =
- {
+ , binary = {
"config.linkdirs"
, "target.linkdirs"
, "target.rpathdirs"
@@ -79,8 +57,7 @@ language("dlang")
, "target.syslinks"
, "toolchain.syslinks"
}
- , shared =
- {
+ , shared = {
"config.linkdirs"
, "target.linkdirs"
, "target.strip"
@@ -93,14 +70,12 @@ language("dlang")
, "target.syslinks"
, "toolchain.syslinks"
}
- , static =
- {
+ , static = {
"target.strip"
, "target.symbols"
}
}
- -- set menu
set_menu {
config =
{
diff --git a/xmake/languages/fortran/api.lua b/xmake/languages/fortran/api.lua
deleted file mode 100644
index b9724bb7e..000000000
--- a/xmake/languages/fortran/api.lua
+++ /dev/null
@@ -1,82 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_links"
- , "target.add_syslinks"
- , "target.add_fcflags"
- , "target.add_ldflags"
- , "target.add_arflags"
- , "target.add_shflags"
- , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
- -- option.add_xxx
- , "option.add_links"
- , "option.add_syslinks"
- , "option.add_fcflags"
- , "option.add_ldflags"
- , "option.add_arflags"
- , "option.add_shflags"
- , "option.add_rpathdirs"
- -- package.add_xxx
- , "package.add_links"
- , "package.add_syslinks"
- , "package.add_fcflags"
- , "package.add_ldflags"
- , "package.add_arflags"
- , "package.add_shflags"
- , "package.add_rpathdirs"
- , "package.add_linkdirs"
- , "package.add_includedirs"
- , "package.add_sysincludedirs"
- -- toolchain.add_xxx
- , "toolchain.add_links"
- , "toolchain.add_syslinks"
- , "toolchain.add_fcflags"
- , "toolchain.add_ldflags"
- , "toolchain.add_arflags"
- , "toolchain.add_shflags"
- , "toolchain.add_rpathdirs"
- , "toolchain.add_linkdirs"
- , "toolchain.add_includedirs"
- , "toolchain.add_sysincludedirs"
- }
- _g.paths =
- {
- -- target.add_xxx
- "target.add_linkdirs"
- , "target.add_includedirs"
- , "target.add_sysincludedirs"
- -- option.add_xxx
- , "option.add_linkdirs"
- , "option.add_includedirs"
- , "option.add_sysincludedirs"
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/fortran/load.lua b/xmake/languages/fortran/load.lua
index fd547b488..e701b198f 100644
--- a/xmake/languages/fortran/load.lua
+++ b/xmake/languages/fortran/load.lua
@@ -18,17 +18,63 @@
-- @file load.lua
--
--- imports
-import("api")
+function _get_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_links"
+ , "target.add_syslinks"
+ , "target.add_fcflags"
+ , "target.add_ldflags"
+ , "target.add_arflags"
+ , "target.add_shflags"
+ , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
+ -- option.add_xxx
+ , "option.add_links"
+ , "option.add_syslinks"
+ , "option.add_fcflags"
+ , "option.add_ldflags"
+ , "option.add_arflags"
+ , "option.add_shflags"
+ , "option.add_rpathdirs"
+ -- package.add_xxx
+ , "package.add_links"
+ , "package.add_syslinks"
+ , "package.add_fcflags"
+ , "package.add_ldflags"
+ , "package.add_arflags"
+ , "package.add_shflags"
+ , "package.add_rpathdirs"
+ , "package.add_linkdirs"
+ , "package.add_includedirs"
+ , "package.add_sysincludedirs"
+ -- toolchain.add_xxx
+ , "toolchain.add_links"
+ , "toolchain.add_syslinks"
+ , "toolchain.add_fcflags"
+ , "toolchain.add_ldflags"
+ , "toolchain.add_arflags"
+ , "toolchain.add_shflags"
+ , "toolchain.add_rpathdirs"
+ , "toolchain.add_linkdirs"
+ , "toolchain.add_includedirs"
+ , "toolchain.add_sysincludedirs"
+ }
+ apis.paths = {
+ -- target.add_xxx
+ "target.add_linkdirs"
+ , "target.add_includedirs"
+ , "target.add_sysincludedirs"
+ -- option.add_xxx
+ , "option.add_linkdirs"
+ , "option.add_includedirs"
+ , "option.add_sysincludedirs"
+ }
+ return apis
+end
--- load it
function main()
-
- -- init apis
- _g.apis = api.apis()
-
- -- ok
- return _g
+ return {apis = _get_apis()}
end
diff --git a/xmake/languages/fortran/xmake.lua b/xmake/languages/fortran/xmake.lua
index 435b55ca2..5d73f153d 100644
--- a/xmake/languages/fortran/xmake.lua
+++ b/xmake/languages/fortran/xmake.lua
@@ -18,41 +18,20 @@
-- @file xmake.lua
--
--- define language
language("fortran")
-
- -- set source file kinds
+ add_rules("fortran")
set_sourcekinds {fc = {".f03", ".f90", ".f95", ".for", ".f"}}
-
- -- set source file flags
set_sourceflags {fc = "fcflags"}
-
- -- set target kinds
set_targetkinds {binary = "fcld", static = "ar", shared = "fcsh"}
-
- -- set target flags
set_targetflags {binary = "ldflags", static = "arflags", shared = "shflags"}
-
- -- set language kinds
- set_langkinds {fortran = "fc"}
-
- -- set mixing kinds
+ set_langkinds {fortran = "fc"}
set_mixingkinds("fc", "cc", "cxx", "as")
- -- add rules
- add_rules("fortran")
-
- -- on load
on_load("load")
-
- -- on check_main
on_check_main("check_main")
- -- set name flags
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"config.includedirs"
, "target.symbols"
, "target.warnings"
@@ -63,8 +42,7 @@ language("fortran")
, "target.sysincludedirs"
, "toolchain.sysincludedirs"
}
- , binary =
- {
+ , binary = {
"config.linkdirs"
, "target.linkdirs"
, "target.rpathdirs"
@@ -79,8 +57,7 @@ language("fortran")
, "target.syslinks"
, "toolchain.syslinks"
}
- , shared =
- {
+ , shared = {
"config.linkdirs"
, "target.linkdirs"
, "target.strip"
@@ -93,14 +70,12 @@ language("fortran")
, "target.syslinks"
, "toolchain.syslinks"
}
- , static =
- {
+ , static = {
"target.strip"
, "target.symbols"
}
}
- -- set menu
set_menu {
config =
{
diff --git a/xmake/languages/golang/api.lua b/xmake/languages/golang/api.lua
deleted file mode 100644
index 730502bdf..000000000
--- a/xmake/languages/golang/api.lua
+++ /dev/null
@@ -1,62 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_links"
- , "target.add_syslinks"
- , "target.add_gcflags"
- , "target.add_ldflags"
- , "target.add_arflags"
- -- option.add_xxx
- , "option.add_links"
- , "option.add_syslinks"
- , "option.add_gcflags"
- , "option.add_ldflags"
- , "option.add_arflags"
- -- toolchain.add_xxx
- , "toolchain.add_links"
- , "toolchain.add_syslinks"
- , "toolchain.add_gcflags"
- , "toolchain.add_ldflags"
- , "toolchain.add_arflags"
- }
- _g.paths =
- {
- -- target.add_xxx
- "target.add_linkdirs"
- , "target.add_includedirs"
- , "target.add_sysincludedirs"
- -- option.add_xxx
- , "option.add_linkdirs"
- , "option.add_includedirs"
- , "option.add_sysincludedirs"
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/golang/load.lua b/xmake/languages/golang/load.lua
index fd547b488..c4d3176b3 100644
--- a/xmake/languages/golang/load.lua
+++ b/xmake/languages/golang/load.lua
@@ -18,17 +18,43 @@
-- @file load.lua
--
--- imports
-import("api")
+function _get_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_links"
+ , "target.add_syslinks"
+ , "target.add_gcflags"
+ , "target.add_ldflags"
+ , "target.add_arflags"
+ -- option.add_xxx
+ , "option.add_links"
+ , "option.add_syslinks"
+ , "option.add_gcflags"
+ , "option.add_ldflags"
+ , "option.add_arflags"
+ -- toolchain.add_xxx
+ , "toolchain.add_links"
+ , "toolchain.add_syslinks"
+ , "toolchain.add_gcflags"
+ , "toolchain.add_ldflags"
+ , "toolchain.add_arflags"
+ }
+ apis.paths = {
+ -- target.add_xxx
+ "target.add_linkdirs"
+ , "target.add_includedirs"
+ , "target.add_sysincludedirs"
+ -- option.add_xxx
+ , "option.add_linkdirs"
+ , "option.add_includedirs"
+ , "option.add_sysincludedirs"
+ }
+ return apis
+end
--- load it
function main()
-
- -- init apis
- _g.apis = api.apis()
-
- -- ok
- return _g
+ return {apis = _get_apis()}
end
diff --git a/xmake/languages/golang/xmake.lua b/xmake/languages/golang/xmake.lua
index cae73ca26..213bf2b46 100644
--- a/xmake/languages/golang/xmake.lua
+++ b/xmake/languages/golang/xmake.lua
@@ -18,41 +18,20 @@
-- @file xmake.lua
--
--- define language
language("golang")
-
- -- set source file kinds
+ add_rules("go")
set_sourcekinds {gc = ".go"}
-
- -- set source file flags
set_sourceflags {gc = "gcflags"}
-
- -- set target kinds
set_targetkinds {binary = "gcld", static = "gcar"}
-
- -- set target flags
set_targetflags {binary = "ldflags", static = "arflags"}
-
- -- set language kinds
- set_langkinds {go = "gc"}
-
- -- set mixing kinds
+ set_langkinds {go = "gc"}
set_mixingkinds("gc")
- -- add rules
- add_rules("go")
-
- -- on load
on_load("load")
-
- -- on check_main
on_check_main("check_main")
- -- set name flags
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"config.includedirs"
, "target.symbols"
, "target.warnings"
@@ -67,8 +46,7 @@ language("golang")
, "target.sysincludedirs"
, "toolchain.sysincludedirs"
}
- , binary =
- {
+ , binary = {
"config.linkdirs"
, "target.linkdirs"
, "target.strip"
@@ -81,8 +59,7 @@ language("golang")
, "target.syslinks"
, "toolchain.syslinks"
}
- , shared =
- {
+ , shared = {
"config.linkdirs"
, "target.linkdirs"
, "target.strip"
@@ -97,7 +74,6 @@ language("golang")
}
}
- -- set menu
set_menu {
config =
{
diff --git a/xmake/languages/msrc/api.lua b/xmake/languages/msrc/api.lua
deleted file mode 100644
index ab7ae6bad..000000000
--- a/xmake/languages/msrc/api.lua
+++ /dev/null
@@ -1,48 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_mrcflags"
- -- option.add_xxx
- , "option.add_mrcflags"
- -- toolchain.add_xxx
- , "toolchain.add_mrcflags"
- }
- _g.paths =
- {
- -- target.add_xxx
- "target.add_includedirs"
- , "target.add_sysincludedirs"
- -- option.add_xxx
- , "option.add_includedirs"
- , "option.add_sysincludedirs"
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/msrc/load.lua b/xmake/languages/msrc/load.lua
index fd547b488..d6e03a68b 100644
--- a/xmake/languages/msrc/load.lua
+++ b/xmake/languages/msrc/load.lua
@@ -18,17 +18,29 @@
-- @file load.lua
--
--- imports
-import("api")
+function _get_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_mrcflags"
+ -- option.add_xxx
+ , "option.add_mrcflags"
+ -- toolchain.add_xxx
+ , "toolchain.add_mrcflags"
+ }
+ apis.paths = {
+ -- target.add_xxx
+ "target.add_includedirs"
+ , "target.add_sysincludedirs"
+ -- option.add_xxx
+ , "option.add_includedirs"
+ , "option.add_sysincludedirs"
+ }
+ return apis
+end
--- load it
function main()
-
- -- init apis
- _g.apis = api.apis()
-
- -- ok
- return _g
+ return {apis = _get_apis()}
end
diff --git a/xmake/languages/msrc/xmake.lua b/xmake/languages/msrc/xmake.lua
index e5becdba7..93d113d53 100644
--- a/xmake/languages/msrc/xmake.lua
+++ b/xmake/languages/msrc/xmake.lua
@@ -18,32 +18,17 @@
-- @file xmake.lua
--
--- define language
language("msrc")
-
- -- set source file kinds
+ add_rules("win.sdk.resource")
set_sourcekinds {mrc = ".rc"}
-
- -- set source file flags
set_sourceflags {mrc = "mrcflags"}
-
- -- set language kinds
- set_langkinds {msrc = "mrc"}
-
- -- set mixing kinds
+ set_langkinds {msrc = "mrc"}
set_mixingkinds("mrc")
- -- add rules
- add_rules("win.sdk.resource")
-
- -- on load
on_load("load")
- -- set name flags
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"config.includedirs"
, "target.defines"
, "target.undefines"
@@ -56,7 +41,6 @@ language("msrc")
}
}
- -- set menu
set_menu {
config =
{
diff --git a/xmake/languages/objc++/api.lua b/xmake/languages/objc++/api.lua
deleted file mode 100644
index 8df275896..000000000
--- a/xmake/languages/objc++/api.lua
+++ /dev/null
@@ -1,102 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_links"
- , "target.add_syslinks"
- , "target.add_mflags"
- , "target.add_mxflags"
- , "target.add_mxxflags"
- , "target.add_ldflags"
- , "target.add_arflags"
- , "target.add_shflags"
- , "target.add_defines"
- , "target.add_undefines"
- , "target.add_frameworks"
- , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
- -- option.add_xxx
- , "option.add_cincludes"
- , "option.add_cxxincludes"
- , "option.add_cfuncs"
- , "option.add_cxxfuncs"
- , "option.add_ctypes"
- , "option.add_cxxtypes"
- , "option.add_links"
- , "option.add_syslinks"
- , "option.add_mflags"
- , "option.add_mxflags"
- , "option.add_mxxflags"
- , "option.add_ldflags"
- , "option.add_arflags"
- , "option.add_shflags"
- , "option.add_defines"
- , "option.add_undefines"
- , "option.add_frameworks"
- , "option.add_rpathdirs"
- -- toolchain.add_xxx
- , "toolchain.add_links"
- , "toolchain.add_syslinks"
- , "toolchain.add_mflags"
- , "toolchain.add_mxflags"
- , "toolchain.add_mxxflags"
- , "toolchain.add_ldflags"
- , "toolchain.add_arflags"
- , "toolchain.add_shflags"
- , "toolchain.add_defines"
- , "toolchain.add_undefines"
- , "toolchain.add_frameworks"
- , "toolchain.add_rpathdirs"
- , "toolchain.add_linkdirs"
- , "toolchain.add_includedirs"
- , "toolchain.add_sysincludedirs"
- , "toolchain.add_frameworkdirs"
- }
- _g.paths =
- {
- -- target.set_xxx
- "target.set_headerdir" -- TODO deprecated
- , "target.set_config_header"
- , "target.set_pcheader"
- , "target.set_pcxxheader"
- -- target.add_xxx
- , "target.add_headers" -- TODO deprecated
- , "target.add_headerfiles"
- , "target.add_linkdirs"
- , "target.add_includedirs"
- , "target.add_sysincludedirs"
- , "target.add_frameworkdirs"
- -- option.add_xxx
- , "option.add_linkdirs"
- , "option.add_includedirs"
- , "option.add_sysincludedirs"
- , "option.add_frameworkdirs"
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/objc++/load.lua b/xmake/languages/objc++/load.lua
index fd547b488..85df22850 100644
--- a/xmake/languages/objc++/load.lua
+++ b/xmake/languages/objc++/load.lua
@@ -18,17 +18,83 @@
-- @file load.lua
--
--- imports
-import("api")
+function _get_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_links"
+ , "target.add_syslinks"
+ , "target.add_mflags"
+ , "target.add_mxflags"
+ , "target.add_mxxflags"
+ , "target.add_ldflags"
+ , "target.add_arflags"
+ , "target.add_shflags"
+ , "target.add_defines"
+ , "target.add_undefines"
+ , "target.add_frameworks"
+ , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
+ -- option.add_xxx
+ , "option.add_cincludes"
+ , "option.add_cxxincludes"
+ , "option.add_cfuncs"
+ , "option.add_cxxfuncs"
+ , "option.add_ctypes"
+ , "option.add_cxxtypes"
+ , "option.add_links"
+ , "option.add_syslinks"
+ , "option.add_mflags"
+ , "option.add_mxflags"
+ , "option.add_mxxflags"
+ , "option.add_ldflags"
+ , "option.add_arflags"
+ , "option.add_shflags"
+ , "option.add_defines"
+ , "option.add_undefines"
+ , "option.add_frameworks"
+ , "option.add_rpathdirs"
+ -- toolchain.add_xxx
+ , "toolchain.add_links"
+ , "toolchain.add_syslinks"
+ , "toolchain.add_mflags"
+ , "toolchain.add_mxflags"
+ , "toolchain.add_mxxflags"
+ , "toolchain.add_ldflags"
+ , "toolchain.add_arflags"
+ , "toolchain.add_shflags"
+ , "toolchain.add_defines"
+ , "toolchain.add_undefines"
+ , "toolchain.add_frameworks"
+ , "toolchain.add_rpathdirs"
+ , "toolchain.add_linkdirs"
+ , "toolchain.add_includedirs"
+ , "toolchain.add_sysincludedirs"
+ , "toolchain.add_frameworkdirs"
+ }
+ apis.paths = {
+ -- target.set_xxx
+ "target.set_headerdir" -- TODO deprecated
+ , "target.set_config_header"
+ , "target.set_pcheader"
+ , "target.set_pcxxheader"
+ -- target.add_xxx
+ , "target.add_headers" -- TODO deprecated
+ , "target.add_headerfiles"
+ , "target.add_linkdirs"
+ , "target.add_includedirs"
+ , "target.add_sysincludedirs"
+ , "target.add_frameworkdirs"
+ -- option.add_xxx
+ , "option.add_linkdirs"
+ , "option.add_includedirs"
+ , "option.add_sysincludedirs"
+ , "option.add_frameworkdirs"
+ }
+ return apis
+end
--- load it
function main()
-
- -- init apis
- _g.apis = api.apis()
-
- -- ok
- return _g
+ return {apis = _get_apis()}
end
diff --git a/xmake/languages/rust/api.lua b/xmake/languages/rust/api.lua
deleted file mode 100644
index dbd7e6776..000000000
--- a/xmake/languages/rust/api.lua
+++ /dev/null
@@ -1,58 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_rcflags"
- , "target.add_ldflags"
- , "target.add_arflags"
- , "target.add_shflags"
- , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
- -- option.add_xxx
- , "option.add_rcflags"
- , "option.add_ldflags"
- , "option.add_arflags"
- , "option.add_shflags"
- , "option.add_rpathdirs"
- -- toolchain.add_xxx
- , "toolchain.add_rcflags"
- , "toolchain.add_ldflags"
- , "toolchain.add_arflags"
- , "toolchain.add_shflags"
- , "toolchain.add_rpathdirs"
- }
- _g.paths =
- {
- -- target.add_xxx
- "target.add_linkdirs"
- -- option.add_xxx
- , "option.add_linkdirs"
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/rust/load.lua b/xmake/languages/rust/load.lua
index fd547b488..c02f50bfd 100644
--- a/xmake/languages/rust/load.lua
+++ b/xmake/languages/rust/load.lua
@@ -18,17 +18,39 @@
-- @file load.lua
--
--- imports
-import("api")
+function _get_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_rcflags"
+ , "target.add_ldflags"
+ , "target.add_arflags"
+ , "target.add_shflags"
+ , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
+ -- option.add_xxx
+ , "option.add_rcflags"
+ , "option.add_ldflags"
+ , "option.add_arflags"
+ , "option.add_shflags"
+ , "option.add_rpathdirs"
+ -- toolchain.add_xxx
+ , "toolchain.add_rcflags"
+ , "toolchain.add_ldflags"
+ , "toolchain.add_arflags"
+ , "toolchain.add_shflags"
+ , "toolchain.add_rpathdirs"
+ }
+ apis.paths = {
+ -- target.add_xxx
+ "target.add_linkdirs"
+ -- option.add_xxx
+ , "option.add_linkdirs"
+ }
+ return apis
+end
--- load it
function main()
-
- -- init apis
- _g.apis = api.apis()
-
- -- ok
- return _g
+ return {apis = _get_apis()}
end
diff --git a/xmake/languages/rust/xmake.lua b/xmake/languages/rust/xmake.lua
index 9c7e94edc..dc6ae3d15 100644
--- a/xmake/languages/rust/xmake.lua
+++ b/xmake/languages/rust/xmake.lua
@@ -18,48 +18,26 @@
-- @file xmake.lua
--
--- define language
language("rust")
-
- -- set source file kinds
+ add_rules("rust")
set_sourcekinds {rc = ".rs"}
-
- -- set source file flags
set_sourceflags {rc = "rcflags"}
-
- -- set target kinds
set_targetkinds {binary = "rcld", static = "rcar", shared = "rcsh"}
-
- -- set target flags
set_targetflags {binary = "ldflags", static = "arflags", shared = "shflags"}
-
- -- set language kinds
set_langkinds {rust = "rc"}
-
- -- set mixing kinds
set_mixingkinds("rc")
- -- add rules
- add_rules("rust")
-
- -- on load
on_load("load")
-
- -- on check_main
on_check_main("check_main")
- -- set name flags
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"target.symbols"
, "target.warnings"
, "target.optimize:check"
, "target.vectorexts:check"
}
- , binary =
- {
+ , binary = {
"config.linkdirs"
, "target.linkdirs"
, "target.rpathdirs"
@@ -68,22 +46,19 @@ language("rust")
, "toolchain.linkdirs"
, "toolchain.rpathdirs"
}
- , shared =
- {
+ , shared = {
"config.linkdirs"
, "target.linkdirs"
, "target.strip"
, "target.symbols"
, "toolchain.linkdirs"
}
- , static =
- {
+ , static = {
"target.strip"
, "target.symbols"
}
}
- -- set menu
set_menu {
config =
{
diff --git a/xmake/languages/swift/api.lua b/xmake/languages/swift/api.lua
deleted file mode 100644
index 3b8dd0506..000000000
--- a/xmake/languages/swift/api.lua
+++ /dev/null
@@ -1,69 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_links"
- , "target.add_syslinks"
- , "target.add_scflags"
- , "target.add_ldflags"
- , "target.add_arflags"
- , "target.add_shflags"
- , "target.add_frameworks"
- , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
- -- option.add_xxx
- , "option.add_links"
- , "option.add_syslinks"
- , "option.add_scflags"
- , "option.add_ldflags"
- , "option.add_arflags"
- , "option.add_shflags"
- , "option.add_frameworks"
- , "option.add_rpathdirs"
- -- toolchain.add_xxx
- , "toolchain.add_links"
- , "toolchain.add_syslinks"
- , "toolchain.add_scflags"
- , "toolchain.add_ldflags"
- , "toolchain.add_arflags"
- , "toolchain.add_shflags"
- , "toolchain.add_frameworks"
- , "toolchain.add_rpathdirs"
- }
- _g.paths =
- {
- -- target.add_xxx
- "target.add_linkdirs"
- , "target.add_frameworkdirs"
- -- option.add_xxx
- , "option.add_linkdirs"
- , "option.add_frameworkdirs"
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/swift/load.lua b/xmake/languages/swift/load.lua
index fd547b488..8de44b044 100644
--- a/xmake/languages/swift/load.lua
+++ b/xmake/languages/swift/load.lua
@@ -18,17 +18,50 @@
-- @file load.lua
--
--- imports
-import("api")
+function _get_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_links"
+ , "target.add_syslinks"
+ , "target.add_scflags"
+ , "target.add_ldflags"
+ , "target.add_arflags"
+ , "target.add_shflags"
+ , "target.add_frameworks"
+ , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
+ -- option.add_xxx
+ , "option.add_links"
+ , "option.add_syslinks"
+ , "option.add_scflags"
+ , "option.add_ldflags"
+ , "option.add_arflags"
+ , "option.add_shflags"
+ , "option.add_frameworks"
+ , "option.add_rpathdirs"
+ -- toolchain.add_xxx
+ , "toolchain.add_links"
+ , "toolchain.add_syslinks"
+ , "toolchain.add_scflags"
+ , "toolchain.add_ldflags"
+ , "toolchain.add_arflags"
+ , "toolchain.add_shflags"
+ , "toolchain.add_frameworks"
+ , "toolchain.add_rpathdirs"
+ }
+ apis.paths = {
+ -- target.add_xxx
+ "target.add_linkdirs"
+ , "target.add_frameworkdirs"
+ -- option.add_xxx
+ , "option.add_linkdirs"
+ , "option.add_frameworkdirs"
+ }
+ return apis
+end
--- load it
function main()
-
- -- init apis
- _g.apis = api.apis()
-
- -- ok
- return _g
+ return {apis = _get_apis()}
end
diff --git a/xmake/languages/swift/xmake.lua b/xmake/languages/swift/xmake.lua
index b0de2d067..ba0d6b693 100644
--- a/xmake/languages/swift/xmake.lua
+++ b/xmake/languages/swift/xmake.lua
@@ -18,38 +18,19 @@
-- @file xmake.lua
--
--- define language
language("swift")
-
- -- set source file kinds
+ add_rules("swift")
set_sourcekinds {sc = ".swift"}
-
- -- set source file flags
set_sourceflags {sc = "scflags"}
-
- -- set target kinds
set_targetkinds {binary = "scld", static = "ar", shared = "scsh"}
-
- -- set target flags
set_targetflags {binary = "ldflags", static = "arflags", shared = "shflags"}
-
- -- set language kinds
- set_langkinds {swift = "sc"}
-
- -- set mixing kinds
+ set_langkinds {swift = "sc"}
set_mixingkinds("sc", "mm", "mxx", "cc", "cxx")
- -- add rules
- add_rules("swift")
-
- -- on load
on_load("load")
- -- set name flags
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"config.includedirs"
, "config.frameworkdirs"
, "config.Frameworks"
@@ -69,8 +50,7 @@ language("swift")
, "toolchain.frameworkdirs"
, "toolchain.frameworks"
}
- , binary =
- {
+ , binary = {
"config.linkdirs"
, "config.frameworkdirs"
, "target.linkdirs"
@@ -91,8 +71,7 @@ language("swift")
, "target.syslinks"
, "toolchain.syslinks"
}
- , shared =
- {
+ , shared = {
"config.linkdirs"
, "config.frameworkdirs"
, "target.linkdirs"
@@ -111,14 +90,12 @@ language("swift")
, "target.syslinks"
, "toolchain.syslinks"
}
- , static =
- {
+ , static = {
"target.strip"
, "target.symbols"
}
}
- -- set menu
set_menu {
config =
{
diff --git a/xmake/languages/vala/load.lua b/xmake/languages/vala/load.lua
index fd48aab63..32ab9cae2 100644
--- a/xmake/languages/vala/load.lua
+++ b/xmake/languages/vala/load.lua
@@ -20,8 +20,7 @@
function _get_apis()
local apis = {}
- apis.values =
- {
+ apis.values = {
-- target.add_xxx
"target.add_links"
, "target.add_syslinks"
@@ -57,8 +56,7 @@ function _get_apis()
, "toolchain.add_rpathdirs"
, "toolchain.add_linkdirs"
}
- apis.paths =
- {
+ apis.paths = {
-- target.add_xxx
"target.add_linkdirs"
-- option.add_xxx
diff --git a/xmake/languages/vala/xmake.lua b/xmake/languages/vala/xmake.lua
index 1639f2f16..16cc226f3 100644
--- a/xmake/languages/vala/xmake.lua
+++ b/xmake/languages/vala/xmake.lua
@@ -19,29 +19,25 @@
--
language("vala")
+ add_rules("vala")
set_sourcekinds {va = ".vala"}
set_sourceflags {va = "vaflags"}
- set_targetkinds {binary = "vald", static = "vaar", shared = "vash"}
+ set_targetkinds {binary = "ld", static = "ar", shared = "sh"}
set_targetflags {binary = "ldflags", static = "arflags", shared = "shflags"}
set_langkinds {vala = "va"}
-
set_mixingkinds("va", "cc", "cxx", "as")
- add_rules("vala")
on_load("load")
on_check_main("check_main")
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"target.symbols"
, "target.warnings"
, "target.optimize:check"
, "target.vectorexts:check"
}
- , binary =
- {
+ , binary = {
"config.linkdirs"
, "target.linkdirs"
, "target.rpathdirs"
@@ -56,8 +52,7 @@ language("vala")
, "target.syslinks"
, "toolchain.syslinks"
}
- , shared =
- {
+ , shared = {
"config.linkdirs"
, "target.linkdirs"
, "target.strip"
@@ -70,23 +65,16 @@ language("vala")
, "target.syslinks"
, "toolchain.syslinks"
}
- , static =
- {
+ , static = {
"target.strip"
, "target.symbols"
}
}
set_menu {
- config =
- {
+ config = {
{category = "Cross Complation Configuration/Compiler Configuration" }
- , {nil, "va", "kv", nil, "The Vala Compiler" }
-
- , {category = "Cross Complation Configuration/Linker Configuration" }
- , {nil, "vald", "kv", nil, "The Vala Linker" }
- , {nil, "vaar", "kv", nil, "The Vala Static Library Archiver" }
- , {nil, "vash", "kv", nil, "The Vala Shared Library Linker" }
+ , {nil, "va", "kv", nil, "The Vala Compiler" }
, {category = "Cross Complation Configuration/Builtin Flags Configuration" }
, {nil, "links", "kv", nil, "The Link Libraries" }
diff --git a/xmake/languages/zig/api.lua b/xmake/languages/zig/api.lua
deleted file mode 100644
index 3501a2e9d..000000000
--- a/xmake/languages/zig/api.lua
+++ /dev/null
@@ -1,74 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file api.lua
---
-
--- get apis
-function apis()
-
- -- init apis
- _g.values =
- {
- -- target.add_xxx
- "target.add_links"
- , "target.add_syslinks"
- , "target.add_zcflags"
- , "target.add_ldflags"
- , "target.add_arflags"
- , "target.add_shflags"
- , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
- -- option.add_xxx
- , "option.add_links"
- , "option.add_syslinks"
- , "option.add_zcflags"
- , "option.add_ldflags"
- , "option.add_arflags"
- , "option.add_shflags"
- , "option.add_rpathdirs"
- -- package.add_xxx
- , "package.add_links"
- , "package.add_syslinks"
- , "package.add_zcflags"
- , "package.add_ldflags"
- , "package.add_arflags"
- , "package.add_shflags"
- , "package.add_rpathdirs"
- , "package.add_linkdirs"
- -- toolchain.add_xxx
- , "toolchain.add_links"
- , "toolchain.add_syslinks"
- , "toolchain.add_zcflags"
- , "toolchain.add_ldflags"
- , "toolchain.add_arflags"
- , "toolchain.add_shflags"
- , "toolchain.add_rpathdirs"
- , "toolchain.add_linkdirs"
- }
- _g.paths =
- {
- -- target.add_xxx
- "target.add_linkdirs"
- -- option.add_xxx
- , "option.add_linkdirs"
- }
-
- -- ok
- return _g
-end
-
-
diff --git a/xmake/languages/zig/load.lua b/xmake/languages/zig/load.lua
index fd547b488..418645a5e 100644
--- a/xmake/languages/zig/load.lua
+++ b/xmake/languages/zig/load.lua
@@ -18,17 +18,55 @@
-- @file load.lua
--
--- imports
-import("api")
+function _get_apis()
+ local apis = {}
+ apis.values = {
+ -- target.add_xxx
+ "target.add_links"
+ , "target.add_syslinks"
+ , "target.add_zcflags"
+ , "target.add_ldflags"
+ , "target.add_arflags"
+ , "target.add_shflags"
+ , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path
+ -- option.add_xxx
+ , "option.add_links"
+ , "option.add_syslinks"
+ , "option.add_zcflags"
+ , "option.add_ldflags"
+ , "option.add_arflags"
+ , "option.add_shflags"
+ , "option.add_rpathdirs"
+ -- package.add_xxx
+ , "package.add_links"
+ , "package.add_syslinks"
+ , "package.add_zcflags"
+ , "package.add_ldflags"
+ , "package.add_arflags"
+ , "package.add_shflags"
+ , "package.add_rpathdirs"
+ , "package.add_linkdirs"
+ -- toolchain.add_xxx
+ , "toolchain.add_links"
+ , "toolchain.add_syslinks"
+ , "toolchain.add_zcflags"
+ , "toolchain.add_ldflags"
+ , "toolchain.add_arflags"
+ , "toolchain.add_shflags"
+ , "toolchain.add_rpathdirs"
+ , "toolchain.add_linkdirs"
+ }
+ apis.paths = {
+ -- target.add_xxx
+ "target.add_linkdirs"
+ -- option.add_xxx
+ , "option.add_linkdirs"
+ }
+ return apis
+end
--- load it
function main()
-
- -- init apis
- _g.apis = api.apis()
-
- -- ok
- return _g
+ return {apis = _get_apis()}
end
diff --git a/xmake/languages/zig/xmake.lua b/xmake/languages/zig/xmake.lua
index 117890613..bc8280d6b 100644
--- a/xmake/languages/zig/xmake.lua
+++ b/xmake/languages/zig/xmake.lua
@@ -18,48 +18,26 @@
-- @file xmake.lua
--
--- define language
language("zig")
-
- -- set source file kinds
+ add_rules("zig")
set_sourcekinds {zc = ".zig"}
-
- -- set source file flags
set_sourceflags {zc = "zcflags"}
-
- -- set target kinds
set_targetkinds {binary = "zcld", static = "zcar", shared = "zcsh"}
-
- -- set target flags
set_targetflags {binary = "ldflags", static = "arflags", shared = "shflags"}
-
- -- set language kinds
- set_langkinds {zig = "zc"}
-
- -- set mixing kinds
+ set_langkinds {zig = "zc"}
set_mixingkinds("zc", "cc", "cxx", "as")
- -- add rules
- add_rules("zig")
-
- -- on load
on_load("load")
-
- -- on check_main
on_check_main("check_main")
- -- set name flags
- set_nameflags
- {
- object =
- {
+ set_nameflags {
+ object = {
"target.symbols"
, "target.warnings"
, "target.optimize:check"
, "target.vectorexts:check"
}
- , binary =
- {
+ , binary = {
"config.linkdirs"
, "target.linkdirs"
, "target.rpathdirs"
@@ -74,8 +52,7 @@ language("zig")
, "target.syslinks"
, "toolchain.syslinks"
}
- , shared =
- {
+ , shared = {
"config.linkdirs"
, "target.linkdirs"
, "target.strip"
@@ -88,14 +65,12 @@ language("zig")
, "target.syslinks"
, "toolchain.syslinks"
}
- , static =
- {
+ , static = {
"target.strip"
, "target.symbols"
}
}
- -- set menu
set_menu {
config =
{