diff --git a/Cargo.toml b/Cargo.toml index 9b37514..a028fd1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,8 +4,9 @@ version = "0.8.7" edition = "2021" authors = ["Zewei Yang "] 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] diff --git a/README.md b/README.md index 3c42a2a..a73b643 100644 --- a/README.md +++ b/README.md @@ -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. @@ -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). diff --git a/doc/ruxgo_book/src/guide/os_module.md b/doc/ruxgo_book/src/guide/os_module.md index 13d40b8..0698408 100644 --- a/doc/ruxgo_book/src/guide/os_module.md +++ b/doc/ruxgo_book/src/guide/os_module.md @@ -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]** 模块描述如下: diff --git a/doc/ruxgo_book/src/guide/reflections_on_construct.md b/doc/ruxgo_book/src/guide/reflections_on_construct.md index f513537..e52b99c 100644 --- a/doc/ruxgo_book/src/guide/reflections_on_construct.md +++ b/doc/ruxgo_book/src/guide/reflections_on_construct.md @@ -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! \ No newline at end of file diff --git a/doc/ruxgo_book/src/guide/toml_example.md b/doc/ruxgo_book/src/guide/toml_example.md index 7094e8f..9f84561 100644 --- a/doc/ruxgo_book/src/guide/toml_example.md +++ b/doc/ruxgo_book/src/guide/toml_example.md @@ -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 。 带有库和可执行文件的示例文件(在本地运行): diff --git a/doc/ruxgo_book/src/installation.md b/doc/ruxgo_book/src/installation.md index 1c6b96c..dde5a4a 100644 --- a/doc/ruxgo_book/src/installation.md +++ b/doc/ruxgo_book/src/installation.md @@ -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/`)。 diff --git a/doc/ruxgo_book/src/introduction.md b/doc/ruxgo_book/src/introduction.md index 3a2ae3a..3f02771 100644 --- a/doc/ruxgo_book/src/introduction.md +++ b/doc/ruxgo_book/src/introduction.md @@ -2,4 +2,4 @@ [Ruxgo](https://github.com/syswonder/ruxgo) 是一个类似 Cargo 的构建工具,用于构建 C 和 C++ 应用程序,它只依赖于一个 Toml 文件。它摒弃了原有 MAKE 构建工具中的复杂语法和依赖规则构造的方式,展现了最原始的编译过程。如果你讨厌使用 Makefile,不妨尝试使用 Ruxgo 来构建应用程序,只需花几分钟! -如果你想要构建一个项目,你只需要弄清楚源文件路径、头文件路径、cflags 和 ldflags,然后将它们填写到 Toml 文件中的对应位置。剩下的都是 Ruxgo 做,很简单! \ No newline at end of file +如果你想要构建一个项目,只需要弄清楚源文件路径、头文件路径、cflags 和 ldflags,然后将它们填写到 Toml 文件中的对应位置。剩下的都是 Ruxgo 做,很简单! \ No newline at end of file diff --git a/doc/ruxgo_book/src/run_apps.md b/doc/ruxgo_book/src/run_apps.md index 06ba146..85fd7a0 100644 --- a/doc/ruxgo_book/src/run_apps.md +++ b/doc/ruxgo_book/src/run_apps.md @@ -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