summaryrefslogtreecommitdiff
path: root/xmake/scripts/platform/ios
diff options
context:
space:
mode:
authorruki <[email protected]>2015-05-27 09:32:01 +0800
committerruki <[email protected]>2015-05-27 09:32:01 +0800
commit3aab30fc254ae7e9bd138aff2bb263af0d447017 (patch)
treebd9e4c95b0e0be22655238f9d51102ac0f48822f /xmake/scripts/platform/ios
parent80f92040764d0e4d6c89c5f8d82f4a8dc1b54902 (diff)
add prober to all platforms
Diffstat (limited to 'xmake/scripts/platform/ios')
-rw-r--r--xmake/scripts/platform/ios/_ios.lua94
-rw-r--r--xmake/scripts/platform/ios/_prober.lua121
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