diff options
| -rw-r--r-- | xmake/modules/package/tools/autoconf.lua | 16 | ||||
| -rw-r--r-- | xmake/modules/package/tools/cmake.lua | 10 | ||||
| -rw-r--r-- | xmake/toolchains/ndk/load.lua | 8 |
3 files changed, 24 insertions, 10 deletions
diff --git a/xmake/modules/package/tools/autoconf.lua b/xmake/modules/package/tools/autoconf.lua index 9f4181b0b..d026ec767 100644 --- a/xmake/modules/package/tools/autoconf.lua +++ b/xmake/modules/package/tools/autoconf.lua @@ -400,6 +400,22 @@ function buildenvs(package, opt) envs.LDSHARED = _translate_windows_bin_path(envs.LDSHARED) envs.CPP = _translate_windows_bin_path(envs.CPP) envs.RANLIB = _translate_windows_bin_path(envs.RANLIB) + if package:is_plat("android") then + -- use unix path separator on android as windows seps may not be understood by some tools (e.g. openssl's perl) + envs.CFLAGS = path.unix(envs.CFLAGS) + envs.CXXFLAGS = path.unix(envs.CXXFLAGS) + envs.CPPFLAGS = path.unix(envs.CPPFLAGS) + envs.ASFLAGS = path.unix(envs.ASFLAGS) + if envs.ARFLAGS then + envs.ARFLAGS = path.unix(envs.ARFLAGS) + end + if envs.LDFLAGS then + envs.LDFLAGS = path.unix(envs.LDFLAGS) + end + if envs.SHFLAGS then + envs.SHFLAGS = path.unix(envs.SHFLAGS) + end + end end local ACLOCAL_PATH = {} local PKG_CONFIG_PATH = {} diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua index 15bcb2d99..9b1181095 100644 --- a/xmake/modules/package/tools/cmake.lua +++ b/xmake/modules/package/tools/cmake.lua @@ -169,7 +169,7 @@ function _get_cflags(package, opt) end table.join2(result, _get_cflags_from_packagedeps(package, opt)) if #result > 0 then - return os.args(result) + return _translate_paths(os.args(result)) end end @@ -200,7 +200,7 @@ function _get_cxxflags(package, opt) end table.join2(result, _get_cflags_from_packagedeps(package, opt)) if #result > 0 then - return os.args(result) + return _translate_paths(os.args(result)) end end @@ -219,7 +219,7 @@ function _get_asflags(package, opt) table.join2(result, opt.asflags) end if #result > 0 then - return os.args(result) + return _translate_paths(os.args(result)) end end @@ -245,7 +245,7 @@ function _get_ldflags(package, opt) table.join2(result, opt.ldflags) end if #result > 0 then - return os.args(result) + return _translate_paths(os.args(result)) end end @@ -271,7 +271,7 @@ function _get_shflags(package, opt) table.join2(result, opt.shflags) end if #result > 0 then - return os.args(result) + return _translate_paths(os.args(result)) end end diff --git a/xmake/toolchains/ndk/load.lua b/xmake/toolchains/ndk/load.lua index 9f11146b7..4e60f0075 100644 --- a/xmake/toolchains/ndk/load.lua +++ b/xmake/toolchains/ndk/load.lua @@ -166,8 +166,6 @@ function main(toolchain) -- add sysroot flags local ndk_sysroot = toolchain:config("ndk_sysroot") if ndk_sysroot and os.isdir(ndk_sysroot) then - -- use unix path separator on android as windows seps may not be understood by some tools (e.g. openssl's perl) - ndk_sysroot = path.unix(ndk_sysroot) local triple = _get_triple(arch) if ndkver and tonumber(ndkver) < 22 then toolchain:add("cxflags", "-D__ANDROID_API__=" .. ndk_sdkver) @@ -176,9 +174,9 @@ function main(toolchain) toolchain:add("cflags", "--sysroot=" .. ndk_sysroot) toolchain:add("cxxflags","--sysroot=" .. ndk_sysroot) toolchain:add("asflags", "--sysroot=" .. ndk_sysroot) - toolchain:add("cflags", "-isystem " .. format("%s/%s/%s/%s", ndk_sysroot, "usr", "include", triple)) - toolchain:add("cxxflags","-isystem " .. format("%s/%s/%s/%s", ndk_sysroot, "usr", "include", triple)) - toolchain:add("asflags", "-isystem " .. format("%s/%s/%s/%s", ndk_sysroot, "usr", "include", triple)) + toolchain:add("cflags", "-isystem " .. path.join(ndk_sysroot, "usr", "include", triple)) + toolchain:add("cxxflags","-isystem " .. path.join(ndk_sysroot, "usr", "include", triple)) + toolchain:add("asflags", "-isystem " .. path.join(ndk_sysroot, "usr", "include", triple)) else local ndk_sdkdir = path.translate(format("%s/platforms/android-%d", ndk, ndk_sdkver)) if os.isdir(ndk_sdkdir) then |
