diff --git a/.gitignore b/.gitignore index 8fdeaa1..0f1e0bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ out/ -node_modules/ \ No newline at end of file +node_modules/ +__pycache__ +*.pyc diff --git a/BUILD.gn b/BUILD.gn index fa922f4..5ecc7c4 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -26,6 +26,19 @@ if (target_cpu == "arm") { ] } +action("configure_duktape") { + script = "tools/configure-duktape.py" + args = [ + "--duktape", rebase_path("src/duktape/duktape-2.7.0", root_build_dir), + "--outpath", rebase_path(target_gen_dir + "/duktape/", root_build_dir), + ] + outputs = [ + "$target_gen_dir/duktape/duktape.h", + "$target_gen_dir/duktape/duktape.c", + "$target_gen_dir/duktape/duk_config.h", + ] +} + action("generate_font") { script = "tools/generate_font.py" args = [ @@ -114,6 +127,7 @@ action("generate_internal_data") { } shared_library("puzzlescript_libretro") { + deps = [ ":configure_duktape" ] sources = [ "src/core.cpp", "src/audio.cpp", @@ -126,7 +140,7 @@ shared_library("puzzlescript_libretro") { "src/sprite.cpp", "src/pztime.cpp", "src/stb/stb_image.cpp", - "src/duktape/duktape-2.7.0/src/duktape.c", + "$target_gen_dir/duktape/duktape.c", ] include_dirs = [ "src/duktape/duktape-2.7.0/src", diff --git a/tools/configure-duktape.py b/tools/configure-duktape.py new file mode 100644 index 0000000..f7e8a56 --- /dev/null +++ b/tools/configure-duktape.py @@ -0,0 +1,11 @@ + +import argparse +import subprocess +import sys + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--duktape') + parser.add_argument('--outpath') + args = parser.parse_args() + subprocess.run(['python2', args.duktape + '/tools/configure.py', '--output-directory', args.outpath])