Skip to content

Commit

Permalink
Change the homepage to syswonder
Browse files Browse the repository at this point in the history
  • Loading branch information
BeichenY1 committed Dec 29, 2023
1 parent bd98997 commit eb64fbb
Show file tree
Hide file tree
Showing 8 changed files with 14 additions and 13 deletions.
5 changes: 3 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ version = "0.8.7"
edition = "2021"
authors = ["Zewei Yang <[email protected]>"]
description = "A Cargo-like build tool for building C and C++ applications"
homepage = "https://github.com/Ybeichen/ruxgo"
repository = "https://github.com/Ybeichen/ruxgo"
homepage = "https://github.com/syswonder/ruxgo"
repository = "https://github.com/syswonder/ruxgo"
documentation = "https://syswonder.github.io/ruxgo/"
keywords = ["toml", "build-tool", "c++", "c", "rust"]

[dependencies]
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Ruxgo is a Cargo-like build tool for building C and C++ applications that relies solely on a Toml file.

**To start using Ruxgo**, learn more at The Ruxgo Book.
**To start using Ruxgo**, learn more at [The Ruxgo Book](https://syswonder.github.io/ruxgo/).

🚧 Working In Progress.

Expand All @@ -13,7 +13,7 @@ To build the `ruxgo` executable from source, you will first need to install Rust
Once you have installed Rust, the following command can be used to build and install Ruxgo:

```sh
cargo install --git https://github.com/Ybeichen/ruxgo.git ruxgo
cargo install --git https://github.com/syswonder/ruxgo.git ruxgo
```

This will automatically download Ruxgo, build it, and install it in Cargo's global binary directory (`~/.cargo/bin/` by default).
Expand Down
2 changes: 1 addition & 1 deletion doc/ruxgo_book/src/guide/os_module.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

[os] 模块的平台是 "x86_64-qemu-q35" 时,编译器类型不再是 "gcc",它将变成 "x86_64-linux-musl-gcc"。此外,所有 [targets] 的 cflags 都默认添加了 "-nostdinc -fno-builtin -ffreestanding -Wall",当 [targets] 类型是 "exe" 时,ldflags 还默认添加了 "-nostdlib -static -no-pie --gc-sections",你不需要去手动添加它们。当然,根据架构和平台的不同,还有其他默认的添加及改变。

Ruxgo 通过修改一些代码逻辑实现,这么做是为了,如果你能在本地跑通一个程序,那么只需要将定制的 [os] 模块拼接到你本地跑通的模块上,即可实现在 RuxOS 上流畅的运行,而不需要额外的操作!
Ruxgo 这么做是为了,如果你能在本地跑通一个程序,那么只需要将定制的 [os] 模块拼接到你本地跑通的模块上,即可实现在 RuxOS 上流畅的运行,而不需要额外的操作!

具体 **[os]** 模块描述如下:

Expand Down
4 changes: 2 additions & 2 deletions doc/ruxgo_book/src/guide/reflections_on_construct.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ C/C++ 项目的构建过程涉及源代码的编译、依赖项的解析、库

国内外研究人员一直在努力探索新的针对 C/C++ 项目的构建工具。例如,CMake 和 Ninja 尝试减轻开发人员在不同平台上进行构建的负担;Bazel 和 Gradle 试图解决待办事项和依赖项管理的问题,并提供更好的性能;Unikraft 的伴生工具 kraft,可以简化和自动化单一工作载荷的 Unikernel 的构建和运行。

当然,回归到构建过程本身,回归到最原始的阶段,也只有诸如 gcc 或 g++ 等一系列过程,Makefile 定制了它。Kraft 在 Unikraft 上的运用给了我一些灵感,似乎模块化的操作系统也可以采用模块化的构建工具,原先臃肿的 Make 工具只需要做些减法,当然形式不能太灵活。于是,在最原始的编译基础上,加上增量编译、预编译、并行构建、包管理等等,或许能组装出不错的构建工具!如果是组件化操作系统,还可以针对其进行定制化处理。
当然,回归到构建过程本身,回归到最原始的阶段,也只有诸如 gcc 或 g++ 等一系列过程,Makefile 定制了它。Kraft 在 Unikraft 上的运用给了我一些灵感,似乎模块化的操作系统也可以采用模块化的构建工具,原先臃肿的 Make 工具只需要做些减法,当然形式不能太灵活。于是,在最原始的编译基础上,加上预编译、增量编译、并行构建、包管理等等,或许能组装出不错的构建工具!如果是组件化操作系统,还可以针对其进行定制化处理。

另一个想解决的是学习曲线和语法问题。Cargo 工具在构建项目的过程中,充分利用了 Cargo.toml 和 config.toml 两个文件,即完成了整个项目的所有配置,用户也可以在 Toml 中进行一些花哨的选择以实现定制化!或许语义明显、配置最小化且多平台支持的 [TOML](https://github.com/toml-lang/toml) 语言可以在新的组件化构建工具中大展拳脚。当然,如果只需要一个 TOML 文件就能构建出整个 C/C++ 项目,并且构建出运行于组件化操作系统上的 C/C++ 项目,应该是件令人兴奋的事情。
另一个想解决的是学习曲线和语法问题。Cargo 工具在构建项目的过程中,充分利用了 Cargo.toml 和 config.toml 两个文件,即完成了整个项目的所有配置,用户也可以在 Toml 文件中进行一些花哨的操作以实现定制化!或许语义明显、配置最小化且多平台支持的 [TOML](https://github.com/toml-lang/toml) 可以在新的组件化构建工具中大展拳脚。当然,如果只需要一个 TOML 文件就能构建出整个 C/C++ 项目,并且构建出运行于组件化操作系统上的 C/C++ 项目,应该是件令人兴奋的事情。

所以 Ruxgo!
2 changes: 1 addition & 1 deletion doc/ruxgo_book/src/guide/toml_example.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# TOML 文件示例

下面是 [sqlite3](https://github.com/Ybeichen/ruxgo/tree/master/apps/sqlite3) 的 Toml 文件示例,具体运行可参考 `apps/sqlite3` 下的 README.md 。
下面是 [sqlite3](https://github.com/syswonder/ruxgo/tree/master/apps/sqlite3) 的 Toml 文件示例,具体运行可参考 `apps/sqlite3` 下的 README.md 。

带有库和可执行文件的示例文件(在本地运行):

Expand Down
2 changes: 1 addition & 1 deletion doc/ruxgo_book/src/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
一旦你安装了 Rust,就可以使用以下命令来构建和安装 Ruxgo:

```sh
cargo install --git https://github.com/Ybeichen/ruxgo.git ruxgo
cargo install --git https://github.com/syswonder/ruxgo.git ruxgo
```

这将自动下载、构建 Ruxgo,并将其安装到 Cargo 的全局二进制目录(默认为`~/.cargo/bin/`)。
Expand Down
2 changes: 1 addition & 1 deletion doc/ruxgo_book/src/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

[Ruxgo](https://github.com/syswonder/ruxgo) 是一个类似 Cargo 的构建工具,用于构建 C 和 C++ 应用程序,它只依赖于一个 Toml 文件。它摒弃了原有 MAKE 构建工具中的复杂语法和依赖规则构造的方式,展现了最原始的编译过程。如果你讨厌使用 Makefile,不妨尝试使用 Ruxgo 来构建应用程序,只需花几分钟!

如果你想要构建一个项目,你只需要弄清楚源文件路径、头文件路径、cflags 和 ldflags,然后将它们填写到 Toml 文件中的对应位置。剩下的都是 Ruxgo 做,很简单!
如果你想要构建一个项目,只需要弄清楚源文件路径、头文件路径、cflags 和 ldflags,然后将它们填写到 Toml 文件中的对应位置。剩下的都是 Ruxgo 做,很简单!
6 changes: 3 additions & 3 deletions doc/ruxgo_book/src/run_apps.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@

**注:** 有关详细信息,请参阅每个 app 目录下的 README.md。以下应用程序已获支持:

* [x] [redis](https://github.com/Ybeichen/ruxgo/tree/master/apps/redis)
* [x] [sqlite3](https://github.com/Ybeichen/ruxgo/tree/master/apps/sqlite3)
* [x] [iperf](https://github.com/Ybeichen/ruxgo/tree/master/apps/iperf)
* [x] [redis](https://github.com/syswonder/ruxgo/tree/master/apps/redis)
* [x] [sqlite3](https://github.com/syswonder/ruxgo/tree/master/apps/sqlite3)
* [x] [iperf](https://github.com/syswonder/ruxgo/tree/master/apps/iperf)
* [x] helloworld
* [x] memtest
* [x] httpclient
Expand Down

0 comments on commit eb64fbb

Please sign in to comment.