diff options
| author | ruki <[email protected]> | 2015-05-27 09:32:01 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2015-05-27 09:32:01 +0800 |
| commit | 3aab30fc254ae7e9bd138aff2bb263af0d447017 (patch) | |
| tree | bd9e4c95b0e0be22655238f9d51102ac0f48822f /xmake/scripts/platform/ios | |
| parent | 80f92040764d0e4d6c89c5f8d82f4a8dc1b54902 (diff) | |
add prober to all platforms
Diffstat (limited to 'xmake/scripts/platform/ios')
| -rw-r--r-- | xmake/scripts/platform/ios/_ios.lua | 94 | ||||
| -rw-r--r-- | xmake/scripts/platform/ios/_prober.lua | 121 |
2 files changed, 0 insertions, 215 deletions
diff --git a/xmake/scripts/platform/ios/_ios.lua b/xmake/scripts/platform/ios/_ios.lua deleted file mode 100644 index eee1f6587..000000000 --- a/xmake/scripts/platform/ios/_ios.lua +++ /dev/null @@ -1,94 +0,0 @@ ---!The Automatic Cross-platform Build Tool --- --- XMake is free software; you can redistribute it and/or modify --- it under the terms of the GNU Lesser General Public License as published by --- the Free Software Foundation; either version 2.1 of the License, or --- (at your option) any later version. --- --- XMake is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU Lesser General Public License for more details. --- --- You should have received a copy of the GNU Lesser General Public License --- along with XMake; --- If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a> --- --- Copyright (C) 2009 - 2015, ruki All rights reserved. --- --- @author ruki --- @file _ios.lua --- - --- define module: _ios -local _ios = _ios or {} - --- load modules -local config = require("base/config") - --- init host -_ios._HOST = "macosx" - --- init architectures -_ios._ARCHS = {"armv7", "armv7s", "arm64"} - --- init prober -_ios._PROBER = require("platform/ios/_prober") - --- make configure -function _ios.make(configs) - - -- init the file name formats - configs.formats = {} - configs.formats.static = {"lib", ".a"} - configs.formats.object = {"", ".o"} - configs.formats.shared = {"", ".dylib"} - - -- init xcode sdk directory - configs.xcode_sdkdir = config.get("xcode_dir") .. "/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS" .. config.get("xcode_sdkver") .. ".sdk" - -end - --- get the option menu for action: xmake config or global -function _ios.menu(action) - - -- init config option menu - _ios._MENU_CONFIG = _ios._MENU_CONFIG or - { {} - , {nil, "mm", "kv", nil, "The Objc Compiler" } - , {nil, "mx", "kv", nil, "The Objc/c++ Compiler" } - , {nil, "mxx", "kv", nil, "The Objc++ Compiler" } - , {nil, "mflags", "kv", nil, "The Objc Compiler Flags" } - , {nil, "mxflags", "kv", nil, "The Objc/c++ Compiler Flags" } - , {nil, "mxxflags", "kv", nil, "The Objc++ Compiler Flags" } - , {} - , {nil, "xcode_dir", "kv", "auto", "The Xcode Application Directory" } - , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" } - , {} - , {nil, "mobileprovision","kv", "auto", "The Provisioning Profile File" } - , {nil, "codesign", "kv", "auto", "The Code Signing Indentity" } - , {nil, "entitlements", "kv", "auto", "The Code Signing Entitlements" } - , } - - -- init global option menu - _ios._MENU_GLOBAL = _ios._MENU_GLOBAL or - { {} - , {nil, "xcode_dir", "kv", "auto", "The Xcode Application Directory" } - , {nil, "xcode_sdkver", "kv", "auto", "The SDK Version for Xcode" } - , {} - , {nil, "mobileprovision","kv", "auto", "The Provisioning Profile File" } - , {nil, "codesign", "kv", "auto", "The Code Signing Indentity" } - , {nil, "entitlements", "kv", "auto", "The Code Signing Entitlements" } - , } - - -- get the option menu - if action == "config" then - return _ios._MENU_CONFIG - elseif action == "global" then - return _ios._MENU_GLOBAL - end -end - - --- return module: _ios -return _ios diff --git a/xmake/scripts/platform/ios/_prober.lua b/xmake/scripts/platform/ios/_prober.lua deleted file mode 100644 index 2209c14b9..000000000 --- a/xmake/scripts/platform/ios/_prober.lua +++ /dev/null @@ -1,121 +0,0 @@ ---!The Automatic Cross-platform Build Tool --- --- XMake is free software; you can redistribute it and/or modify --- it under the terms of the GNU Lesser General Public License as published by --- the Free Software Foundation; either version 2.1 of the License, or --- (at your option) any later version. --- --- XMake is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU Lesser General Public License for more details. --- --- You should have received a copy of the GNU Lesser General Public License --- along with XMake; --- If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a> --- --- Copyright (C) 2009 - 2015, ruki All rights reserved. --- --- @author ruki --- @file _prober.lua --- - --- load modules -local os = require("base/os") -local path = require("base/path") -local utils = require("base/utils") -local string = require("base/string") - --- define module: _prober -local _prober = _prober or {} - --- probe the xcode application directory -function _prober._probe_xcode(configs) - - -- get the xcode directory - local xcode_dir = configs.xcode_dir - - -- ok? - if xcode_dir and xcode_dir ~= "auto" then return true end - - -- clear it first - xcode_dir = nil - - -- attempt to get the default directory - if not xcode_dir then - if os.isdir("/Applications/Xcode.app") then - xcode_dir = "/Applications/Xcode.app" - end - end - - -- attempt to match the other directories - if not xcode_dir then - local dirs = os.match("/Applications/Xcode*.app", true) - if dirs and table.getn(dirs) ~= 0 then - xcode_dir = dirs[1] - end - end - - -- probe ok? update it - if xcode_dir then - configs.xcode_dir = xcode_dir - else - -- failed - utils.error("The Xcode directory is unknown now, please config it first!") - utils.error(" - xmake config --xcode_dir=xxx") - utils.error("or - xmake global --xcode_dir=xxx") - return false - end - - -- ok - return true -end - --- probe the xcode sdk version -function _prober._probe_xcode_sdkver(configs) - - -- get the xcode sdk version - local xcode_sdkver = configs.xcode_sdkver - - -- ok? - if xcode_sdkver and xcode_sdkver ~= "auto" then return true end - - -- clear it first - xcode_sdkver = nil - - -- attempt to match the directory - if not xcode_sdkver then - local dirs = os.match(configs.xcode_dir .. "/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS*.sdk", true) - if dirs and table.getn(dirs) ~= 0 then - xcode_sdkver = string.match(dirs[1], "%d+%.%d+") - end - end - - -- probe ok? update it - if xcode_sdkver then - configs.xcode_sdkver = xcode_sdkver - else - -- failed - utils.error("The Xcode SDK version is unknown now, please config it first!") - utils.error(" - xmake config --xcode_sdkver=xxx") - utils.error("or - xmake global --xcode_sdkver=xxx") - return false - end - - -- ok - return true -end - --- probe the configure and update the values with "auto" -function _prober.done(configs) - - -- probe the xcode application directory - if not _prober._probe_xcode(configs) then return end - - -- probe the xcode sdk version - if not _prober._probe_xcode_sdkver(configs) then return end - -end - --- return module: _prober -return _prober |
