Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation
Jonas Kulla The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c. I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
This commit is contained in:
commit
b48e54aafe
1635 changed files with 472973 additions and 0 deletions
74
premake/util/sdl_depends.lua
Executable file
74
premake/util/sdl_depends.lua
Executable file
|
@ -0,0 +1,74 @@
|
|||
-- Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
|
||||
--
|
||||
-- This software is provided 'as-is', without any express or implied
|
||||
-- warranty. In no event will the authors be held liable for any damages
|
||||
-- arising from the use of this software.
|
||||
--
|
||||
-- Permission is granted to anyone to use this software for any purpose,
|
||||
-- including commercial applications, and to alter it and redistribute it
|
||||
-- freely.
|
||||
--
|
||||
-- Meta-build system using premake created and maintained by
|
||||
-- Benjamin Henning <b.henning@digipen.edu>
|
||||
|
||||
-- This is kept just for windows because the other platforms use different means
|
||||
-- for determining dependence or compatibility.
|
||||
|
||||
--[[
|
||||
sdl_depends.lua
|
||||
|
||||
This file simply contains a function for determining whether a dependency
|
||||
exists on the Windows platform, given a possible environmental variable,
|
||||
delimited search paths, and a main and/or sub-directory paths for more
|
||||
elaborate pattern matching.
|
||||
]]
|
||||
|
||||
-- find_dependency_dir_windows(env, main_search_path, main_dir_path)
|
||||
-- Attempt to resolve a dependency (true or false) folder based on either an
|
||||
-- environmental variable, start search path, or both. If both are present,
|
||||
-- the environmental variable will be preferred. If neither are present, this
|
||||
-- function returns false.
|
||||
--
|
||||
-- Arguments:
|
||||
-- env The name of the environmental variable to treat as a path
|
||||
-- main_search_paths Paths to look for the main directory in
|
||||
-- main_dir_path The a path that must be contained between main_search_path and sub_dir_path
|
||||
-- sub_dir_path The path of the directories that should exist at the searched path
|
||||
function find_dependency_dir_windows(env, main_search_paths, main_dir_path, sub_dir_path)
|
||||
if not os.is("windows") then -- if not windows, then fail
|
||||
return false
|
||||
end
|
||||
if env == nil and (main_search_paths == nil or #main_search_paths == 0) then
|
||||
return false
|
||||
end
|
||||
local env_path = nil
|
||||
local main_path = nil
|
||||
if env ~= nil then env_path = os.getenv(env) end
|
||||
local search_table = { n = 0 }
|
||||
if main_search_paths ~= nil then
|
||||
for k,main_search_path in ipairs(explode(main_search_paths, ";")) do
|
||||
local directories = os.matchdirs(main_search_path .. "/**" .. main_dir_path .. "*")
|
||||
for k,v in pairs(directories) do
|
||||
table.insert(search_table, v)
|
||||
end
|
||||
end
|
||||
end
|
||||
if env_path ~= nil then table.insert(search_table, env_path) end
|
||||
local search_path = table.concat(search_table, ";")
|
||||
local result_path = os.dirpathsearch(sub_dir_path, search_path, ";")
|
||||
if result_path == nil then
|
||||
return false
|
||||
end
|
||||
local found_dir = os.isdir(result_path)
|
||||
local abs_path = path.getabsolute(result_path)
|
||||
if found_dir and env_path ~= nil then
|
||||
abs_path = abs_path:gsub("\\", "/")
|
||||
env_path = env_path:gsub("\\", "/")
|
||||
local pos = abs_path:indexOf(env_path)
|
||||
if pos ~= nil then
|
||||
abs_path = abs_path:sub(1, pos - 1) .. "$(" .. env .. ")/" .. abs_path:sub(pos + #env_path)
|
||||
end
|
||||
end
|
||||
-- we want the path in terms of '/'
|
||||
return found_dir, abs_path
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue