#!/usr/bin/env python Import("env") Import("env_modules") env_ws = env_modules.Clone() thirdparty_obj = [] if env["platform"] == "javascript": # Our JavaScript/C++ interface. env.AddJSLibraries(["library_pandemonium_websocket.js"]) elif env["builtin_wslay"]: # Thirdparty source files thirdparty_dir = "#thirdparty/wslay/" thirdparty_sources = [ "wslay_net.c", "wslay_event.c", "wslay_queue.c", "wslay_frame.c", ] thirdparty_sources = [thirdparty_dir + s for s in thirdparty_sources] env_ws.Prepend(CPPPATH=[thirdparty_dir]) env_ws.Append(CPPDEFINES=["HAVE_CONFIG_H"]) if env["platform"] == "windows" or env["platform"] == "uwp": env_ws.Append(CPPDEFINES=["HAVE_WINSOCK2_H"]) else: env_ws.Append(CPPDEFINES=["HAVE_NETINET_IN_H"]) env_thirdparty = env_ws.Clone() env_thirdparty.disable_warnings() env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources) env.modules_sources += thirdparty_obj # Pandemonium source files module_obj = [] env_ws.add_source_files(module_obj, "*.cpp") env.modules_sources += module_obj # Needed to force rebuilding the module files when the thirdparty library is updated. env.Depends(module_obj, thirdparty_obj)