{"id":37708794,"url":"https://github.com/smuehlst/circle-stdlib","last_synced_at":"2026-01-16T13:13:06.493Z","repository":{"id":46945186,"uuid":"90557123","full_name":"smuehlst/circle-stdlib","owner":"smuehlst","description":"Standard C and C++ Library Support for Circle","archived":false,"fork":false,"pushed_at":"2026-01-14T21:41:19.000Z","size":1041,"stargazers_count":115,"open_issues_count":0,"forks_count":24,"subscribers_count":11,"default_branch":"master","last_synced_at":"2026-01-15T02:59:28.541Z","etag":null,"topics":["baremetal","c","c-plus-plus","circle","circle-mbedtls","circle-newlib","circle-stdlib","gcc-arm","mbed-tls","newlib","raspberrypi"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smuehlst.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-05-07T19:40:38.000Z","updated_at":"2026-01-14T21:37:02.000Z","dependencies_parsed_at":"2026-01-01T09:02:35.422Z","dependency_job_id":null,"html_url":"https://github.com/smuehlst/circle-stdlib","commit_stats":null,"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/smuehlst/circle-stdlib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smuehlst%2Fcircle-stdlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smuehlst%2Fcircle-stdlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smuehlst%2Fcircle-stdlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smuehlst%2Fcircle-stdlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smuehlst","download_url":"https://codeload.github.com/smuehlst/circle-stdlib/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smuehlst%2Fcircle-stdlib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478965,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["baremetal","c","c-plus-plus","circle","circle-mbedtls","circle-newlib","circle-stdlib","gcc-arm","mbed-tls","newlib","raspberrypi"],"created_at":"2026-01-16T13:13:05.144Z","updated_at":"2026-01-16T13:13:06.479Z","avatar_url":"https://github.com/smuehlst.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# circle-stdlib\n\n[![Status badge for master branch](https://codeberg.org/larchcone/circle-stdlib/actions/workflows/smoketest.yaml/badge.svg?branch=master\u0026label=smoke%20test%20master%20branch)](https://codeberg.org/larchcone/circle-stdlib/actions?workflow=smoketest.yaml)\n[![Status badge for develop branch](https://codeberg.org/larchcone/circle-stdlib/actions/workflows/smoketest.yaml/badge.svg?branch=develop\u0026label=smoke%20test%20develop%20branch)](https://codeberg.org/larchcone/circle-stdlib/actions?workflow=smoketest.yaml)\n[![Open issues](https://codeberg.org/larchcone/circle-stdlib/badges/issues/open.svg)](https://codeberg.org/larchcone/circle-stdlib/issues?state=open)\n[![Closed issues](https://codeberg.org/larchcone/circle-stdlib/badges/issues/closed.svg)](https://codeberg.org/larchcone/circle-stdlib/issues?state=closed)\n\n## Project Home\n\nThis project moved from GitHub to **Codeberg**. \n\n**Canonical repository:** https://codeberg.org/larchcone/circle-stdlib.git\n\nIssues and pull requests need to be submitted on Codeberg.\n\nThe GitHub repository https://github.com/smuehlst/circle-stdlib.git is a read-only\nmirror. Pull requests on GitHub will be closed with a\ncorresponding remark without further action.\n\nFor transitioning from GitHub to Codeberg the remote must be switched for\nthe [circle-stdlib](https://codeberg.org/larchcone/circle-stdlib)\nand [circle-newlib](https://codeberg.org/larchcone/circle-newlib) repositories:\n\n```bash\ngit remote set-url origin https://codeberg.org/larchcone/circle-stdlib.git\ncd libs/circle-newlib\ngit remote set-url origin https://codeberg.org/larchcone/circle-newlib.git\n```\n\n## Overview\n\nThe goal of this project is to provide C and C++ standard library support for the\nRaspberry Pi bare-metal environment [Circle](https://github.com/rsta2/circle).\n\n[Newlib](https://sourceware.org/newlib/) is used as the standard C library. The fork\n[circle-newlib](https://codeberg.org/larchcone/circle-newlib) contains the changes for\nbuilding Newlib in combination with Circle.\n\n[mbed TLS](https://tls.mbed.org/) can optionally be used for TLS connections in\nCircle (call configure with `--opt-tls`, see also the\n[README file for circle-mbedtls](circle-mbedtls.md)).\n\n## Getting Started\n\n### Prerequisites\n\nA toolchain from [Arm GNU Toolchain Downloads](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads):\n\n* gcc 14.3.Rel1 hosted on Intel Linux or Windows Subsystem for Linux (WSL/WSL2):\n  * [AArch32 bare-metal target (arm-none-eabi)](https://developer.arm.com/-/media/Files/downloads/gnu/14.3.rel1/binrel/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi.tar.xz)\n  * [AArch64 ELF bare-metal target (aarch64-none-elf)](https://developer.arm.com/-/media/Files/downloads/gnu/14.3.rel1/binrel/arm-gnu-toolchain-14.3.rel1-x86_64-aarch64-none-elf.tar.xz)\n* gcc 14.3.Rel1 hosted on AArch64 Linux:\n  * [AArch32 bare-metal target (arm-none-eabi)](https://developer.arm.com/-/media/Files/downloads/gnu/14.3.rel1/binrel/arm-gnu-toolchain-14.3.rel1-aarch64-arm-none-eabi.tar.xz)\n  * [AArch64 ELF bare-metal target (aarch64-none-elf)](https://developer.arm.com/-/media/Files/downloads/gnu/14.3.rel1/binrel/arm-gnu-toolchain-14.3.rel1-aarch64-aarch64-none-elf.tar.xz)\n\n### Building the Libraries\n\nAdd the toolchain to the path, then:\n\n```bash\ngit clone --recursive https://codeberg.org/larchcone/circle-stdlib.git\ncd circle-stdlib\n./configure\nmake\n```\n\nThis configures the build for the default 32-bit toolchain with the `arm-none-eabi-` prefix.\n\nThe `configure` script has the following options:\n\n```bash\n$ ./configure -h\nusage: configure [ \u003coption\u003e ... ]\nConfigure Circle with newlib standard C library and mbed TLS library.\n\nOptions:\n  -d, --debug                    build with debug information, without optimizer\n  -h, --help                     show usage message\n  -n, --no-cpp                   do not support C++ standard library\n  -o, --option \u003cname\u003e[=\u003cvalue\u003e]  additional preprocessor define (optionally with value)\n                                 can be repeated\n  --opt-tls                      build with mbed TLS support\n  -p \u003cstring\u003e, --prefix \u003cstring\u003e prefix of the toolchain commands (default: arm-none-eabi-)\n  --qemu                         build for running under QEMU in semihosting mode\n  -r \u003cnumber\u003e, --raspberrypi \u003cnumber\u003e\n                                 Circle Raspberry Pi model number (1, 2, 3, 4, 5, default: 1)\n  --softfp                       use float ABI setting \"softfp\" instead of \"hard\"\n  -s \u003cpath\u003e, --stddefpath \u003cpath\u003e\n                                 path where stddef.h header is located (only necessary\n                                 if script cannot determine it automatically)\n```\n\nTo clean the project directory, the following commands can be used:\n\n```bash\nmake clean\nmake mrproper   # removes the configuration too\n```\n\n### Building the Samples\n\n```bash\nmake build-samples\n```\n\n### Running and Debugging the Programs\n\nThe resulting executables are normal Circle bare-metal applications. Circle's\nstandard [installation](https://github.com/rsta2/circle#installation) \nand [debugging](https://github.com/rsta2/circle/blob/master/doc/debug.txt)\ninstructions apply.\n\nFor running the programs under QEMU see Circle's corresponding\n[notes on QEMU](https://github.com/rsta2/circle/blob/master/doc/qemu.txt).\n\n## Release History\n\nSee [CHANGELOG.md](CHANGELOG.md).\n\n## License\n\nThis project is licensed under the GNU GENERAL PUBLIC LICENSE\nVersion 3 - see the [LICENSE](LICENSE) file for details\n\n## Acknowledgements\n\n* Rene Stange for [Circle](https://github.com/rsta2/circle).\n* The Newlib team for [Newlib](https://sourceware.org/newlib/).\n* The mbed TLS team for [mbed TLS](https://tls.mbed.org/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmuehlst%2Fcircle-stdlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmuehlst%2Fcircle-stdlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmuehlst%2Fcircle-stdlib/lists"}