{"id":15400737,"url":"https://github.com/ekrich/exip","last_synced_at":"2025-04-16T02:26:00.710Z","repository":{"id":247634795,"uuid":"826414114","full_name":"ekrich/exip","owner":"ekrich","description":"Efficient XML Interchange (EXI) Embeddable C API","archived":false,"fork":false,"pushed_at":"2025-03-07T03:14:50.000Z","size":5658,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T04:11:21.944Z","etag":null,"topics":["c-lang","compression-algorithm","embedded-c","exi","exip","streaming-data","xml"],"latest_commit_sha":null,"homepage":"https://exip.sourceforge.net/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ekrich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-09T16:59:25.000Z","updated_at":"2025-03-11T02:02:29.000Z","dependencies_parsed_at":"2025-03-07T03:35:49.225Z","dependency_job_id":null,"html_url":"https://github.com/ekrich/exip","commit_stats":{"total_commits":355,"total_committers":6,"mean_commits":"59.166666666666664","dds":"0.10140845070422533","last_synced_commit":"0789c6c391d5c531b0aaeeca6c45096bb1300bc8"},"previous_names":["ekrich/exip"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekrich%2Fexip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekrich%2Fexip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekrich%2Fexip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekrich%2Fexip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekrich","download_url":"https://codeload.github.com/ekrich/exip/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249184156,"owners_count":21226318,"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":["c-lang","compression-algorithm","embedded-c","exi","exip","streaming-data","xml"],"created_at":"2024-10-01T15:54:48.817Z","updated_at":"2025-04-16T02:26:00.703Z","avatar_url":"https://github.com/ekrich.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EXIP - Embeddable EXI Processor in C\n\n![CI](https://github.com/ekrich/exip/workflows/CI/badge.svg)\n\n![EXIP Logo](doc/www/logo.png)\n\n## Current status\n\nKnown to pass CI with the following configurations:\n\n| OS         | Works | Version(s)              | Arch(s)             | Compiler(s)\n| ---------- | ----- | ------------------------| --------------------|-----------------|\n| macOS      |   ✅  | 13.6.x                  | arm                 | System          |\n| Linux      |   ✅  | Ubuntu 22.0.4           | x86_64              | gcc             |\n| Windows    |   ✅  | Visual Studio 2019/2022 | x86/x86_64          | cl              |\n\n* The build system calls `gcc`.\n* macOS system compiler `gcc` is aliased to `clang`.\n* Windows default creates a 32bit x86 executable.\n\nThis is new information. Refer to the original\n[README.txt](README.txt) for more information. Other links will be added in the future.\n\n# Developer Information\n\nThe following sections are for new contributors to EXIP or people wanting to try out the latest bits.\n\n## Miscellaneous\n\nThe macOS `arm` processors have a non-standard include directory so there needs to be an entry in the `compile_flags.txt` file for `clangd` to support the Check library. This is at the root of the project.\n\nAdding architecture specific [code](https://stackoverflow.com/questions/714100/os-detecting-makefile) to the `Makefile` may not be so good but for now it works.\n\nProbably a longer term solution would be to use `CMake` so that the build could be cross platform in a nicer manner. Incidentally, `vcpkg` used for Windows is also cross platform so it could be an option although installing via the platform dependency manager is very convenient.\n\n## VSCode Support\n\n[VScode](https://code.visualstudio.com/) is supported by adding the [clangd](https://clangd.llvm.org/) plugin to get C Language Server Protocol (LSP) support. Find the official plugin [here](https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd).\n\n\n## Testing Dependency\n\nThe Check Unit Test Framework for C for testing. Link to the [Check](https://libcheck.github.io/check/) library. Please see the install notes [here](https://libcheck.github.io/check/web/install.html).\n\nUse one of the following commands to install `Check`:\n\n### macOS\n\n```sh\n$ brew install check\n```\n\n### Linux (Ubuntu/Debian)\n\n```sh\n$ apt-get install check\n```\n\n### Windows\n\nThe easiest setup is to install Visual Studio 2019 to get the latest Windows 10 SDK and the MSVC v142 tools. You can also use Visual Studio 2022 along with MSVC v143 tools. The following is the installer setup used for the current vs2019 setup that succeeded.\n\n![Visual Studio Installed Image](doc/www/VS2019.png)\n\nTo get the `check` dependency we need to install `vcpkg` as described here: https://learn.microsoft.com/en-us/vcpkg/get_started/get-started-msbuild?pivots=shell-powershell\n\nIf you don't have access to the Windows store the bootstrap will fail so you should download the the latest from https://github.com/microsoft/vcpkg-tool The version used here was `2024-11-12` for reference. You should check the SHA and then make the executable runnable.\n\n## Documentation Dependency\n\nIn order to `make` the documentation you need to install [doxygen](https://www.doxygen.nl/).\n\nUse one of the following commands to install `doxygen`:\n\n### macOS\n\n```sh\n$ brew install doxygen\n```\n\n### Linux (Ubuntu/Debian)\n\n```sh\n$ apt-get install doxygen\n```\n\n### Windows\n\nRefer to https://www.doxygen.nl/download.html to install doxygen for Windows to create the documentation. Recommended to use `vcpkg` for dependencies in general.\n\n## Building on macOS and Linux\n\nThe following commands will allow you to build everything. There is also a `dynlib` Make target that can be used to create a shared library.\n\n```sh\n$ cd build/gcc\n$ make TARGET=pc clean all check examples utils doc\n```\n\n## Building on Windows\n\nThe normal way to build is to open Visual Studio and navigate to `build\\vs2019` and then open the `exip.sln` solution file. Once the project is loaded you can right click to build or use the menus. Individual projects can be cleaned and compiled as well.\n\nNote that the option `/FS` is added to the build as the different projects share the same output directory. This was the setup in `vs2010` that was upgraded so this was not changed. The extra `/FS` option can be seen in the `Configuration Properties / C/C++ / Command Line` menu. If you prefer to build on the command line, refer to the Github action and this will also provide clues on how to run the tests.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekrich%2Fexip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekrich%2Fexip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekrich%2Fexip/lists"}