Skip to content

Commit

Permalink
update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
shiroinekotfs committed Feb 11, 2024
1 parent 54af0d7 commit e9a1994
Show file tree
Hide file tree
Showing 3 changed files with 99 additions and 31 deletions.
18 changes: 0 additions & 18 deletions CONTRIBUTING

This file was deleted.

61 changes: 61 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# CONTRIBUTING

## Unchangable folders

Except the following folders, these unlisted folder should not be changed, in any circumstances, because these are originally created by GNU, and should be stored in there as the rest-overs.

* `.admin` - Admin folder, for further changing in the repo
* `.github` - Containing GitHub related files and actions.
* `.gnu-windows` - Including sources and build instruction. May can change to compatible with the installation
* `.gitattributes`, `.gitignore`, `*.md`, `dockerfile`, and `LICENSE` are all generated by GitHub Actions workflows or manually written.

## Changes in repo layout and updating versions and tools

For in repo layout and updating versions and tools, please run `.admin/run_admin.sh` with changes variables.

Once it's done, make sure you move all extracted folders into the main repo, remove all compressed files and also update versioning, paths, and build instruction in `.gnu-windows/build.sh`

## Building the repo

> :warning: Warning
>
> Because an unknown error detected in Windows Subsystem for Linux, we recommend you building the repo in Linux, or using Docker Desktop within Hyper-V.
### Building within Docker

You need to run the pre-defined Docker image, mounting your cloned GitHub repo into, and build from that.

Replace `<your path>` with your real path to the local repo. Double-quote is needed is there are spaces in your path.

```shell
docker run -it -v <your path>:/root shiroinekotfs/gnu-windows:latest bash
```

Once you're in the `bash`, try this command:

```shell
/root/.gnu-windows/build.sh
```

Once it's done, you'll see your GNU application is building in folder `.gnu-windows\bootstrap`

### Building within Linux

Make sure you've installed all of these packages before building GNU Windows

```bash
autotools-dev binutils binutils-x86-64-linux-gnu cmake-data cpp cpp-12 fakeroot
fontconfig-config fonts-dejavu-core g++-12 gcc-12 libalgorithm-diff-perl libalgorithm-diff-xs-perl
libalgorithm-merge-perl libaom3 libarchive13 libasan8 libatomic1 libbinutils libbrotli1 libc-dev-bin
libc-devtools libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libcurl4 libde265-0 libdeflate0
libdpkg-perl libexpat1 libfakeroot libfile-fcntllock-perl libfl2 libfontconfig1 libfreetype6
libgcc-12-dev libgd3 libgmpxx4ldbl libgomp1 libheif1 libitm1 libjbig0 libjsoncpp25 liblsan0
libnghttp2-14 libnsl-dev libnsl2 libnuma1 libpng16-16 libpsl5 libquadmath0 librhash0 librtmp1
libssh2-1 libstdc++-12-dev libtirpc-dev libtsan2 libubsan1 libuv1 libwebp7 libx11-6 libx11-data
libx265-199 libxau6 libxcb1 libxdmcp6 libxml2 libxpm4 libyuv0 linux-libc-dev manpages-dev patch
publicsuffix rpcsvc-proto unzip autoconf automake bison build-essential cmake curl dpkg-dev flex
g++ gcc libfl-dev libgmp-dev libmpc-dev libmpfr-dev m4 make wget zip texinfo pkg-config python3
python3-pip python3-venv file mingw-w64-x86-64-dev mingw-w64-i686-dev mingw-w64-tools
```

Just run the `<your path>/.gnu-windows/build.sh` directly, without changing the current console directory. Don't forget to use `chmod` command.
51 changes: 38 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,28 +28,53 @@ All exclusive documents, you can try search for yourself on over the Internet.
## Getting started

### Pre-building
### Building GNU Windows

You may need to install these packages before installing. Recommend to build and install on Ubuntu 22.04
#### Building within Docker

You need to run the pre-defined Docker image, mounting your cloned GitHub repo into, and build from that.

Replace `<your path>` with your real path to the local repo. Double-quote is needed is there are spaces in your path.

```shell
sudo apt install -y build-essential curl libgmp-dev libmpc-dev libmpfr-dev m4 zip wget
docker run -it -v <your path>:/root shiroinekotfs/gnu-windows:latest bash
```

### Build from source (GitHub)

You must run the configuration within Linux configuration. Once it's done, the folder `.gnu-windows/bootstrap` is your binaries. You can use it.
Once you're in the `bash`, try this command:

```bash
chmod +x .gnu-windows/build.sh
.gnu-windows/build.sh
```shell
/root/.gnu-windows/build.sh
```

### (For admins) Update source layout
Once it's done, you'll see your GNU application is building in folder `.gnu-windows\bootstrap`

#### Building within Linux

Run the configuration in `.admin`. Once it's done, move all extracted to the repo folder. Don't forget to delete the old layout before moving!
Make sure you've installed all of these packages before building GNU Windows

```bash
chmod +x .admin/download_and_extract.sh
.admin/download_and_extract.sh
autotools-dev binutils binutils-x86-64-linux-gnu cmake-data cpp cpp-12 fakeroot
fontconfig-config fonts-dejavu-core g++-12 gcc-12 libalgorithm-diff-perl libalgorithm-diff-xs-perl
libalgorithm-merge-perl libaom3 libarchive13 libasan8 libatomic1 libbinutils libbrotli1 libc-dev-bin
libc-devtools libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libcurl4 libde265-0 libdeflate0
libdpkg-perl libexpat1 libfakeroot libfile-fcntllock-perl libfl2 libfontconfig1 libfreetype6
libgcc-12-dev libgd3 libgmpxx4ldbl libgomp1 libheif1 libitm1 libjbig0 libjsoncpp25 liblsan0
libnghttp2-14 libnsl-dev libnsl2 libnuma1 libpng16-16 libpsl5 libquadmath0 librhash0 librtmp1
libssh2-1 libstdc++-12-dev libtirpc-dev libtsan2 libubsan1 libuv1 libwebp7 libx11-6 libx11-data
libx265-199 libxau6 libxcb1 libxdmcp6 libxml2 libxpm4 libyuv0 linux-libc-dev manpages-dev patch
publicsuffix rpcsvc-proto unzip autoconf automake bison build-essential cmake curl dpkg-dev flex
g++ gcc libfl-dev libgmp-dev libmpc-dev libmpfr-dev m4 make wget zip texinfo pkg-config python3
python3-pip python3-venv file mingw-w64-x86-64-dev mingw-w64-i686-dev mingw-w64-tools
```

Just run the `<your path>/.gnu-windows/build.sh` directly, without changing the current console directory. Don't forget to use `chmod` command.

### Contributing

Read the instruction [here](CONTRIBUTING.md)

## License

This project is linked with GNU GPL 3.0 License. With no restriction in distriution and reuse.

GNU Windows is made by team of TheFlightSims - Department of Research.

0 comments on commit e9a1994

Please sign in to comment.