diff options
| author | ruki <[email protected]> | 2022-12-14 23:44:02 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-12-14 23:44:02 +0800 |
| commit | 638ec113fe945b0692d65d79c438655446e0832c (patch) | |
| tree | efd048c9dab413694677638d4be999c549552e30 | |
| parent | 77399e191bb5f318d962bd1b5194afa9c3580df6 (diff) | |
add xmake.sh for demo
| -rwxr-xr-x | configure | 41 | ||||
| -rw-r--r-- | core/src/demo/xmake.lua | 2 | ||||
| -rwxr-xr-x | core/src/demo/xmake.sh | 25 | ||||
| -rwxr-xr-x | core/src/lua/xmake.sh | 1 | ||||
| -rwxr-xr-x | core/xmake.sh | 2 |
5 files changed, 66 insertions, 5 deletions
@@ -1377,6 +1377,43 @@ _get_target_file() { _ret="${targetfile}" } +# get target librarydeps +_get_target_librarydeps_impl() { + local name="${1}" + local librarydeps="" + local dep="" + _get_target_item "${name}" "deps"; local deps="${_ret}" + for dep in ${deps}; do + _get_target_item "${dep}" "kind"; local dep_kind="${_ret}" + if test_eq "${dep_kind}" "static" || test_eq "${dep_kind}" "shared"; then + librarydeps="${librarydeps} ${dep}" + _get_target_librarydeps_impl "${dep}"; local dep_librarydeps="${_ret}" + if test_nz "${dep_librarydeps}"; then + librarydeps="${librarydeps} ${dep_librarydeps}" + fi + fi + done + _ret="${librarydeps}" +} + +_get_target_librarydeps() { + local name="${1}" + _get_target_item "${name}" "librarydeps"; local librarydeps="${_ret}" + if test_z "${librarydeps}" && test_nq "${librarydeps}" "__none__"; then + _get_target_librarydeps_impl "${name}"; librarydeps="${_ret}" + if test_nz "${librarydeps}"; then + _dedup_reverse "${librarydeps}"; librarydeps="${_ret}" + _set_target_item "${name}" "librarydeps" "${librarydeps}" + else + _set_target_item "${name}" "librarydeps" "__none__" + fi + fi + if test_eq "${librarydeps}" "__none__"; then + librarydeps="" + fi + _ret="${librarydeps}" +} + # get sourcefiles in target _get_target_sourcefiles() { local name="${1}" @@ -1422,7 +1459,7 @@ _get_target_abstract_flags() { _get_target_item "${name}" "${itemname}"; values="${_ret}" # get values from target deps - _get_target_item "${name}" "deps"; local deps="${_ret}" + _get_target_librarydeps "${name}"; local deps="${_ret}" local dep="" for dep in ${deps}; do _get_target_item "${dep}" "kind"; local dep_kind="${_ret}" @@ -1548,7 +1585,7 @@ _get_target_linker_flags() { fi # get flags from target deps - _get_target_item "${name}" "deps"; local deps="${_ret}" + _get_target_librarydeps "${name}"; local deps="${_ret}" local dep="" for dep in ${deps}; do _get_target_item "${dep}" "kind"; local dep_kind="${_ret}" diff --git a/core/src/demo/xmake.lua b/core/src/demo/xmake.lua index 1e33415ae..34bf4c0d2 100644 --- a/core/src/demo/xmake.lua +++ b/core/src/demo/xmake.lua @@ -31,7 +31,7 @@ target("demo") add_ldflags("/export:malloc", "/export:free", "/export:memmove") elseif is_plat("android") then add_links("m", "c") - elseif is_plat("macosx") then + elseif is_plat("macosx") and is_config("runtime", "luajit") then add_ldflags("-all_load", "-pagezero_size 10000", "-image_base 100000000") elseif is_plat("mingw") then add_ldflags("-static-libgcc", {force = true}) diff --git a/core/src/demo/xmake.sh b/core/src/demo/xmake.sh new file mode 100755 index 000000000..be352f1f0 --- /dev/null +++ b/core/src/demo/xmake.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +target "demo" + add_deps "xmake" + set_kind "binary" + set_basename "xmake" + set_targetdir "${buildir}" + + # add defines + add_defines "__tb_prefix__=\"xmake\"" + + # add includes directory + add_includedirs "${projectdir}/core" "${projectdir}/core/src" + + # add the common source files + add_files "**.c" + + # add links + if is_plat "macosx" && is_config "runtime" "luajit"; then + add_ldflags "-all_load" "-pagezero_size 10000" "-image_base 100000000" + elif is_plat "mingw"; then + add_ldflags "-static-libgcc" + fi + + diff --git a/core/src/lua/xmake.sh b/core/src/lua/xmake.sh index 7f08e2ab4..fd5fbac40 100755 --- a/core/src/lua/xmake.sh +++ b/core/src/lua/xmake.sh @@ -38,7 +38,6 @@ target "lua" add_files "lua/lstrlib.c" add_files "lua/ltable.c" add_files "lua/ltablib.c" - add_files "lua/ltests.c" add_files "lua/ltm.c" add_files "lua/lundump.c" add_files "lua/lutf8lib.c" diff --git a/core/xmake.sh b/core/xmake.sh index 7c57aa04c..6f5484202 100755 --- a/core/xmake.sh +++ b/core/xmake.sh @@ -49,7 +49,7 @@ includes "src/sv" includes "src/lz4" includes "src/tbox" includes "src/xmake" -#includes "src/demo" +includes "src/demo" #if is_config "runtime" "luajit" then # includes "src/luajit" #fi |
