diff options
Diffstat (limited to 'Sluift/SConscript.variant')
-rw-r--r-- | Sluift/SConscript.variant | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Sluift/SConscript.variant b/Sluift/SConscript.variant new file mode 100644 index 0000000..d0e2b18 --- /dev/null +++ b/Sluift/SConscript.variant @@ -0,0 +1,42 @@ +import os + +Import('env') +Import('sluift_env') +Import('sluift_variant') +Import('sluift_sources') + +if sluift_variant == 'exe' : + common_objects = sluift_env.StaticObject(sluift_sources) + + sluift_exe_env = sluift_env.Clone() + tokenize = sluift_exe_env.StaticObject("#/Sluift/tokenize.cpp") + exe_sources = tokenize + [ + "#/Sluift/Console.cpp", + "#/Sluift/Terminal.cpp", + "#/Sluift/StandardTerminal.cpp", + "#/Sluift/Completer.cpp", + "#/Sluift/main.cpp", + ] + + if sluift_exe_env.get("HAVE_EDITLINE", False) : + sluift_exe_env.Append(CPPDEFINES = ["HAVE_EDITLINE"]) + sluift_exe_env.MergeFlags(sluift_exe_env["EDITLINE_FLAGS"]) + exe_sources += ["#/Sluift/EditlineTerminal.cpp"] + + env["SLUIFT"] = sluift_exe_env.Program("sluift", common_objects + exe_sources) + if sluift_exe_env.get("SLUIFT_INSTALLDIR", "") : + sluift_exe_env.Install(os.path.join(sluift_exe_env["SLUIFT_INSTALLDIR"], "bin"), env["SLUIFT"]) + + # Unit tests + env.Append(UNITTEST_OBJECTS = tokenize + ["#/Sluift/UnitTest/TokenizeTest.cpp"]) +else : + sluift_env["SLUIFT_DLL_SUFFIX"] = "${SHLIBSUFFIX}" + if sluift_env["PLATFORM"] == "darwin" : + sluift_env["SLUIFT_DLL_SUFFIX"] = ".so" + sluift_dll = sluift_env.SharedLibrary(sluift_env.File("sluift${SLUIFT_DLL_SUFFIX}"), + sluift_sources + ["#/Sluift/dll.c"]) + if sluift_env.get("SLUIFT_INSTALLDIR", False) and sluift_env.get("LUA_VERSION", False) : + sluift_env.Install( + os.path.join(sluift_env["SLUIFT_INSTALLDIR"], "lib", "lua", sluift_env["LUA_VERSION"]), + sluift_dll) + |