Git Product home page Git Product logo

uclib's Introduction

RISC OS uCLib (Micro C Library)

This is a simple and really small C Library to be used when creating Utils in C.

The library is written partially in ARM Assembly (AArch32) and partially in ANSI C (C99) and it's for static link use only at the moment.

Build the lib

To build from the source just git clone this repo and then go to uCLib -> src directory.

Building using ROOL DDE

Before you try to build the lib make sure your RISC OS Filer has "seen" the !SetPaths application inside the AcornC_C++ directory you created when you installed ROOL DDE.

To build the lib directly is very easy, just double click on the MkDDE script file you'll find in uCLib -> src.

The building process will copy the object files in !LibuCLib app in the right places and also the header files as required.

For Acorn/ROOL Builder users: At this time building the lib using Builder is not supported, I'll have a look into that and make sure it can be built using the Builder too in the future.

Building using GCC

At this time building using GCC is not yet supported, so please be patient, it will definitely be done as soon as the library gets useful enough.

How to use the library

To understand the details of how to use it, please have a look at the test files in the "tests" directory.

In general terms the idea behind this library is to provide a minimal and functional set of C functions so that you can easily create utils that:

  • Accept input parameters from the command line
  • Can print out messages on the screen
  • Can do file I/O
  • Have basic C strings support (for text manipoulation)

If you believe there is a need for more than the above please open an appropriate issue using the "Issues" tab above.

Feedback

Feedback is always welcome!

In case of problems

For any issue you may encounter, please use the "Issues" option here on GitHub. You can find it at the top of the page. Please do not try to contact us directly, the RISC OS Community handles all the communications here on GitHub.

Requesting new features

As for the problems reporting, please use the Issues option here on GitHub also to request new features.

Contributing

We welcome improvements and new ideas, before you submit your changes please have a look at the Contributing Guidelines here

License

uCLib is copyright by Paolo Fabio Zaino and is distributed under Apache License 2.0, please read the license here for details

Contributors

Paolo - uCLib original author

InteractiveYelp - Code reviewer

skymandr - Code reviewer

uclib's People

Contributors

pzaino avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

pzaino

uclib's Issues

Ensure library builds also using ROOL !Builder

Summary

An early request came asking if we can support builds of uCLib via ROOL !Builder. Here some insight:

The request came with an email that has the privacy and confidential foot-note, hence I guess I cannot just copy and past the content here. Unless the author explicitly allows me. I've tried to re-phrase the request below.

Some documentation as reference:
Set up the DDE as per the ROOL build documentation

  • As a RISC OS User I would like to:

The request reports that non-experienced and "amateurs" may stick to the ROOL Builder1 process when they try to build this type of tools, and so it would be nice if we could support the !Builder process too.

1: Other forms of software building may not be familiar to such type of users or not documented or cause too much frustration when things go wrong.

Ensure the library can be used with both ROOL DDE and GCC

Summary

Given that we actively support Open Source here, GCC should always be considered a target compiler for all projects.

This is the reason I also used GCC required symbols in the entry.s of this library. However I wanted to make sure it clear that we are targeting both compilers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.