|
1 | 1 | # Ruxgo
|
2 | 2 |
|
3 |
| -Ruxgo is a Cargo-like build tool for building C and C++ applications that relies solely on a Toml file. |
| 3 | +Ruxgo is a Cargo-like build tool for building C/C++ applications that relies solely on a Toml file. |
4 | 4 |
|
5 |
| -**To start using Ruxgo**, learn more at [The Ruxgo Book](https://ruxgo.syswonder.org/). |
| 5 | +It is also a companion command-line tool for RuxOS and has the explicit aim of making it easy to build and manage your C/C++ applications. |
6 | 6 |
|
7 |
| -🚧 Working In Progress. |
| 7 | +**To start using Ruxgo**, learn more at [The Ruxgo Book](https://ruxgo.syswonder.org/). |
8 | 8 |
|
9 | 9 | ## Installation
|
10 | 10 |
|
11 |
| -To build the `ruxgo` executable from source, you will first need to install Rust and Cargo. Follow the instructions on the [Rust installation page](https://www.rust-lang.org/tools/install). Ruxgo currently requires at least Rust version 1.74. |
12 |
| - |
13 |
| -Once you have installed Rust, the following command can be used to build and install Ruxgo: |
| 11 | +Ruxgo currently requires at least Rust version 1.75. You can install it with Cargo: |
14 | 12 |
|
15 | 13 | ```sh
|
16 | 14 | cargo install ruxgo
|
17 | 15 | ```
|
18 | 16 |
|
19 |
| -The version published to [crates.io](https://crates.io/) will ever so slightly be behind the version hosted on GitHub. If you need the latest version you can build the git version of ruxgo yourself. |
20 |
| - |
21 |
| -```sh |
22 |
| -cargo install --git https://github.com/syswonder/ruxgo.git ruxgo |
23 |
| -``` |
24 |
| - |
25 | 17 | ## Usage
|
26 | 18 |
|
27 |
| -Write a `config_linux.toml` for linux and `config_win32.toml` for windows in the project directory. |
28 |
| - |
29 |
| -You can then build the project with: |
30 |
| -```console |
31 |
| -ruxgo -b |
32 |
| -``` |
33 |
| - |
34 |
| -Once built, you can execute the project via: |
35 |
| -```console |
36 |
| -ruxgo -r |
37 |
| -``` |
38 |
| - |
39 |
| -For help: |
40 |
| -```console |
41 |
| -ruxgo --help |
42 |
| -``` |
43 |
| - |
44 |
| -You can also configure the log level with the environment variable `"RUXGO_LOG_LEVEL"`, the default log level is "Info". |
| 19 | +Ruxgo supports building self-developed applications to run on linux or windows platforms, and also supports assembling and building Unikernel-based RuxOS and running applications on it. You just need to Write a `config_linux.toml` for linux or `config_win32.toml` for windows in the project directory. |
45 | 20 |
|
46 |
| -## Ruxgo-apps |
| 21 | +The `ruxgo/apps/` directory places all the Toml files that have been tested, you can switch to either directory and follow the instructions to build the application. |
47 | 22 |
|
48 |
| -The `ruxgo/apps/` directory places all the Toml files that have been tested, you can switch to either directory and follow the instructions to build the application. Currently, there are two ways to build an app: |
| 23 | +- If you are developing your own application and want to build and run it, you can refer to the template to write a Toml file, then put it in your project directory, and use ruxgo to build and run it. |
49 | 24 |
|
50 |
| -- If building locally, you'll need to download the apps source code and then use ruxgo to build and run it. |
| 25 | +- If you want to build an already supported app on ruxos, you need to copy `config_<platform>.toml` from `ruxgo/apps/<name>/ruxos` into `ruxos/apps/c/<name>`, then refer to the instructions and use ruxgo to build and run it. |
51 | 26 |
|
52 |
| -- If you want to build on ruxos, you need to copy `config_<platform>.toml` from `ruxgo/apps/<name>/ruxos` into `ruxos/apps/c/<name>`, then download the apps source code and use ruxgo to build and run it. |
| 27 | +- If you have your own app executable and want to run it on RuxOS, you can refer to the template under `ruxgo/apps/loader_app` and configure your own, then use ruxgo to build and run it. |
53 | 28 |
|
54 | 29 | **Note:** Refer to the README.md in each app directory for details. The following applications are already supported:
|
55 | 30 |
|
56 | 31 | * [x] [redis](apps/redis)
|
57 | 32 | * [x] [sqlite3](apps/sqlite3)
|
58 | 33 | * [x] [iperf](apps/iperf)
|
| 34 | +* [x] [loader_app](apps/loader_app) |
59 | 35 | * [x] helloworld
|
60 | 36 | * [x] memtest
|
61 | 37 | * [x] httpclient
|
|
0 commit comments