summaryrefslogtreecommitdiff
path: root/xmake/includes/check_csnippets.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2023-10-13 22:37:18 +0800
committerruki <[email protected]>2023-10-13 22:37:18 +0800
commit4e84c69824df8815b6120c74c165326c224301eb (patch)
tree73568a2c6cfd70e07e078b3463ab6fdebac80ae5 /xmake/includes/check_csnippets.lua
parentcab174afcbf6bfbb1f4cfd446406e95d4e3b00fa (diff)
mark includes check_xxx as deprecated
Diffstat (limited to 'xmake/includes/check_csnippets.lua')
-rw-r--r--xmake/includes/check_csnippets.lua134
1 files changed, 0 insertions, 134 deletions
diff --git a/xmake/includes/check_csnippets.lua b/xmake/includes/check_csnippets.lua
deleted file mode 100644
index 2e22c3220..000000000
--- a/xmake/includes/check_csnippets.lua
+++ /dev/null
@@ -1,134 +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 check_csnippets.lua
---
-
--- check c snippets and add macro definition
---
--- e.g.
---
--- check_csnippets("HAS_STATIC_ASSERT", "_Static_assert(1, \"\");", {includes = "stdio.h"})
--- check_csnippets("HAS_LONG_8", "return (sizeof(long) == 8)? 0 : -1;", {tryrun = true})
--- check_csnippets("PTR_SIZE", 'printf("%d", sizeof(void*)); return 0;', {output = true, number = true})
---
-function check_csnippets(definition, snippets, opt)
- opt = opt or {}
- local optname = opt.name or ("__" .. definition)
- interp_save_scope()
- option(optname)
- set_showmenu(false)
- add_csnippets(definition, snippets, {tryrun = opt.tryrun, output = opt.output})
- if not opt.output then
- add_defines(definition)
- end
- if opt.links then
- add_links(opt.links)
- end
- if opt.includes then
- add_cincludes(opt.includes)
- end
- if opt.languages then
- set_languages(opt.languages)
- end
- if opt.cflags then
- add_cflags(opt.cflags)
- end
- if opt.cxflags then
- add_cxflags(opt.cxflags)
- end
- if opt.defines then
- add_defines(opt.defines)
- end
- if opt.warnings then
- set_warnings(opt.warnings)
- end
- if opt.output then
- after_check(function (option)
- if option:value() then
- if opt.number then
- option:add("defines", definition .. "=" .. tonumber(option:value()))
- elseif opt.quote == false then
- option:add("defines", definition .. "=" .. option:value())
- else
- option:add("defines", definition .. "=\"" .. option:value() .. "\"")
- end
- end
- end)
- end
- option_end()
- interp_restore_scope()
- add_options(optname)
-end
-
--- check c snippets and add macro definition to the configuration snippets
---
--- e.g.
---
--- configvar_check_csnippets("HAS_STATIC_ASSERT", "_Static_assert(1, \"\");", {includes = "stdio.h"})
--- configvar_check_csnippets("HAS_LONG_8", "return (sizeof(long) == 8)? 0 : -1;", {tryrun = true})
--- configvar_check_csnippets("HAS_LONG_8", "return (sizeof(long) == 8)? 0 : -1;", {tryrun = true, default = 0})
--- configvar_check_csnippets("LONG_SIZE=8", "return (sizeof(long) == 8)? 0 : -1;", {tryrun = true, quote = false})
--- configvar_check_csnippets("PTR_SIZE", 'printf("%d", sizeof(void*)); return 0;', {output = true, number = true})
---
-function configvar_check_csnippets(definition, snippets, opt)
- opt = opt or {}
- local optname = opt.name or ("__" .. definition)
- local defname, defval = table.unpack(definition:split('='))
- interp_save_scope()
- option(optname)
- set_showmenu(false)
- add_csnippets(definition, snippets, {tryrun = opt.tryrun, output = opt.output})
- if opt.default == nil then
- set_configvar(defname, defval or 1, {quote = opt.quote})
- end
- if opt.links then
- add_links(opt.links)
- end
- if opt.includes then
- add_cincludes(opt.includes)
- end
- if opt.languages then
- set_languages(opt.languages)
- end
- if opt.cflags then
- add_cflags(opt.cflags)
- end
- if opt.cxflags then
- add_cxflags(opt.cxflags)
- end
- if opt.defines then
- add_defines(opt.defines)
- end
- if opt.warnings then
- set_warnings(opt.warnings)
- end
- if opt.output then
- after_check(function (option)
- if option:value() then
- option:set("configvar", defname, opt.number and tonumber(option:value()) or option:value(), {quote = opt.quote})
- end
- end)
- end
- option_end()
- interp_restore_scope()
- if opt.default == nil then
- add_options(optname)
- else
- set_configvar(defname, has_config(optname) and (defval or 1) or opt.default, {quote = opt.quote})
- end
-end