{"id":20400327,"url":"https://github.com/fschutt/lua-jit-sys","last_synced_at":"2025-04-12T13:51:04.880Z","repository":{"id":57635213,"uuid":"112674465","full_name":"fschutt/lua-jit-sys","owner":"fschutt","description":"System bindings for LuaJIT","archived":false,"fork":false,"pushed_at":"2019-01-11T08:39:08.000Z","size":1233,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T23:07:08.418Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fschutt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-01T00:05:47.000Z","updated_at":"2024-09-07T19:33:45.000Z","dependencies_parsed_at":"2022-09-13T04:24:07.797Z","dependency_job_id":null,"html_url":"https://github.com/fschutt/lua-jit-sys","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fschutt%2Flua-jit-sys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fschutt%2Flua-jit-sys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fschutt%2Flua-jit-sys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fschutt%2Flua-jit-sys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fschutt","download_url":"https://codeload.github.com/fschutt/lua-jit-sys/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248575694,"owners_count":21127246,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T04:39:34.305Z","updated_at":"2025-04-12T13:51:04.862Z","avatar_url":"https://github.com/fschutt.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# luajit-sys\n\n## About this library\n\nThis library provide system bindings to the Lua API. The library is statically linked.\nThe current version is `2.0.5`. The version number for cargo is `2.0.50`\n(as in `2.0.5.0`, but Cargo doesn't allow 4 digits for versioning). The last number is\nreserved if the rust version (i.e. this library) has changes. However, this shouldn't\ntechnically happen.\n\nYou can update this library for a new version of LuaJIT **HOWEVER**:\n\nIf you update Lua, you need to:\n\n    - delete the /docs folder, useless for this\n    - delete the /src/\n    - run `make amalg` once (manually)\n    - run `find . -type f -name '*.o' -delete` to delete the object files\n\nThis will generate the `ljamalg.c` file, which is important for building this\nlibrary. Otherwise you cannot build the library because LuaJIT will complain\nthat `lj_ffdef.h` is missing. `lj_ffdef.h` is (probably) generated at build-time,\nhowever the LuaJIT Makefile is so unreadable that I cannot see where the file is\nbeing generated and the LuaJIT devs simply don't want to provide any\nanswers because they think that `make` is the greatest build system ever and\nhave never heard of cargo.\n\nThis solution consumes more memory, but at least the library builds.\n\nThe only thing that has to be adjusted now are the flags. I've tried re-exporting\nevery LuaJIT compile flag that is possible and make it compatible with Rust,\nhowever this is a work-in-progress.\n\n# cargo features\n\nChoose your target architecture (only one, otherwise it won't compile):\n\n```\narch_arm = []\narch_mips = []\narch_mipsel = []\narch_powerpc = []\narch_powerpc_spe = []\narch_x64 = []\narch_x86 = []\n```\n\nThe default is `arch_x64`. Then choose your additional flags:\n\n- `force_32_bit`\n- `extra_warnings`\n- `enable_lua52_compat`\n- `disable_jit`\n- `nummode_1 | nummode_2`\n- `use_sysmalloc`\n- `use_valgrind`\n- `use_gdb_jit`\n- `use_apicheck`\n- `use_assert`\n- `optimize_size`\n- `ps3`\n- `cellos_lv2`\n\nSee the `Cargo.toml` file for information.\n\n# Compatability with `rlua` and `hlua`\n\nI will try to get `rlua` and `hlua` working. However, this library is currently using\nthe Lua 5.1 API, while `hlua` uses 5.2 and `rlua` uses 5.3 - I don't know if the APIs\nwill be compatible.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffschutt%2Flua-jit-sys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffschutt%2Flua-jit-sys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffschutt%2Flua-jit-sys/lists"}