scons: make SDL availability flags functions that evaluate lazily on demand

This moves messages about optional SDL libs checks below
potential warning about missing base dependencies and
makes SCons check GCC compiler before SDL.
This commit is contained in:
anatoly techtonik 2014-08-06 18:57:54 +03:00
parent 339513900c
commit 78b1481af7

View File

@ -326,27 +326,34 @@ if env["prereqs"]:
conf.CheckLib("mikmod")
if env['sdl2']:
have_sdl_net = \
conf.CheckSDL(require_version = '2.0.0') & \
conf.CheckSDL("SDL2_net", header_file = "SDL_net")
def have_sdl_net():
return \
conf.CheckSDL(require_version = '2.0.0') & \
conf.CheckSDL("SDL2_net", header_file = "SDL_net")
have_sdl_other = \
conf.CheckSDL("SDL2_ttf", header_file = "SDL_ttf") & \
conf.CheckSDL("SDL2_mixer", header_file = "SDL_mixer") & \
conf.CheckSDL("SDL2_image", header_file = "SDL_image")
def have_sdl_other():
return \
conf.CheckSDL(require_version = '2.0.0') & \
conf.CheckSDL("SDL2_ttf", header_file = "SDL_ttf") & \
conf.CheckSDL("SDL2_mixer", header_file = "SDL_mixer") & \
conf.CheckSDL("SDL2_image", header_file = "SDL_image")
else:
have_sdl_net = \
conf.CheckSDL(require_version = '1.2.0') & \
conf.CheckSDL('SDL_net')
def have_sdl_net():
return \
conf.CheckSDL(require_version = '1.2.0') & \
conf.CheckSDL('SDL_net')
have_sdl_other = \
conf.CheckSDL("SDL_ttf", require_version = "2.0.8") & \
conf.CheckSDL("SDL_mixer", require_version = '1.2.0') & \
conf.CheckSDL("SDL_image", require_version = '1.2.0')
def have_sdl_other():
return \
conf.CheckSDL(require_version = '1.2.0') & \
conf.CheckSDL("SDL_ttf", require_version = "2.0.8") & \
conf.CheckSDL("SDL_mixer", require_version = '1.2.0') & \
conf.CheckSDL("SDL_image", require_version = '1.2.0')
have_server_prereqs = have_sdl_net & \
have_server_prereqs = \
conf.CheckCPlusPlus(gcc_version = "3.3") & \
have_sdl_net() & \
conf.CheckGettextLibintl() & \
conf.CheckBoost("iostreams", require_version = "1.34.1") & \
conf.CheckBoostIostreamsGZip() & \
@ -357,7 +364,7 @@ if env["prereqs"]:
env = conf.Finish()
client_env = env.Clone()
conf = client_env.Configure(**configure_args)
have_client_prereqs = have_server_prereqs & have_sdl_other & \
have_client_prereqs = have_server_prereqs & have_sdl_other() & \
CheckAsio(conf) & \
conf.CheckPango("cairo", require_version = "1.21.3") & \
conf.CheckPKG("fontconfig") & \