feature/documentation_update #4
100
BUILD.md
100
BUILD.md
@ -2,30 +2,29 @@
|
|||||||
|
|
||||||
Instructions for building this repository on Linux.
|
Instructions for building this repository on Linux.
|
||||||
|
|
||||||
## Table Of Contents
|
## Table of Contents
|
||||||
|
|
||||||
- [Build Instructions](#build-instructions)
|
- [Build Instructions](#build-instructions)
|
||||||
- [Table Of Contents](#table-of-contents)
|
- [Table of Contents](#table-of-contents)
|
||||||
- [Contributing to the Repository](#contributing-to-the-repository)
|
- [Contributing to the Repository](#contributing-to-the-repository)
|
||||||
- [Building On Linux](#building-on-linux)
|
- [Repository Content](#repository-content)
|
||||||
|
- [Building on Linux](#building-on-linux)
|
||||||
- [Linux Development Environment Requirements](#linux-development-environment-requirements)
|
- [Linux Development Environment Requirements](#linux-development-environment-requirements)
|
||||||
- [Required Package List](#required-package-list)
|
- [Required Package List](#required-package-list)
|
||||||
- [Install and prepare required Rust version](#install-and-prepare-required-rust-version)
|
- [Install and Prepare Required Rust Version](#install-and-prepare-required-rust-version)
|
||||||
- [Required MacOSX Sdk](required-macosx-sdk)
|
- [Required macOS SDK](#required-macos-sdk)
|
||||||
- [Build and use MacOS Sdk from XCode](build-and-use-macos-sdk-from-xcode)
|
- [Build and Use macOS SDK from Xcode](#build-and-use-macos-sdk-from-xcode)
|
||||||
- [Build the Project](#build-the-project)
|
- [Build the Project](#build-the-project)
|
||||||
|
|
||||||
## Contributing to the Repository
|
## Contributing to the Repository
|
||||||
|
|
||||||
If you intend to contribute, the preferred work flow is for you to develop
|
If you intend to contribute, the preferred workflow is for you to develop your contribution in a fork of this repository in your GitHub account and then submit a pull request.
|
||||||
your contribution in a fork of this repository in your GitHub account and then
|
|
||||||
submit a pull request.
|
|
||||||
|
|
||||||
## Repository Content
|
## Repository Content
|
||||||
|
|
||||||
This repository contains the source code necessary to build warp-packer for different platforms and architecture.
|
This repository contains the source code necessary to build warp-packer for different platforms and architectures.
|
||||||
|
|
||||||
## Building On Linux
|
## Building on Linux
|
||||||
|
|
||||||
### Linux Development Environment Requirements
|
### Linux Development Environment Requirements
|
||||||
|
|
||||||
@ -33,58 +32,81 @@ This repository has been built and tested on Debian 12.5 (Bookworm) on an AMD64
|
|||||||
|
|
||||||
#### Required Package List
|
#### Required Package List
|
||||||
|
|
||||||
`apt install curl maven clang cmake libssl-dev zlib1g-dev liblzma-dev libbz2-dev gcc-aarch64-linux-gnu gcc-mingw-w64-x86-64-win32`
|
```bash
|
||||||
|
apt install curl maven clang cmake libssl-dev zlib1g-dev liblzma-dev libbz2-dev gcc-aarch64-linux-gnu gcc-mingw-w64-x86-64-win32
|
||||||
|
```
|
||||||
|
|
||||||
#### Install and prepare required Rust version
|
#### Install and Prepare Required Rust Version
|
||||||
|
|
||||||
This repository has been built and tested with rust version 1.78.
|
This repository has been built and tested with Rust version 1.78.
|
||||||
|
|
||||||
To install the newest version, run the following command:
|
To install the newest version, run the following command:
|
||||||
`curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`
|
```bash
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||||
|
```
|
||||||
|
|
||||||
If newer version won't work, a specific version can be used with the following command:
|
If a newer version doesn't work, a specific version can be installed with the following command:
|
||||||
`$ curl --proto '=https' --tls1.2 -sSf https://sh.rustup.rs/ | sh -s --default-toolchain=1.78.0`
|
```bash
|
||||||
|
$ curl --proto '=https' --tls1.2 -sSf https://sh.rustup.rs/ | sh -s --default-toolchain=1.78.0
|
||||||
|
```
|
||||||
|
|
||||||
For more information see this [Github Issue](https://github.com/rust-lang/rustup/issues/2882).
|
For more information see this [GitHub Issue](https://github.com/rust-lang/rustup/issues/2882).
|
||||||
|
|
||||||
After install run the following commands to get the necessary targets:
|
After installing, run the following commands to get the necessary targets:
|
||||||
`rustup target add x86_64-apple-darwin`
|
```bash
|
||||||
`rustup target add aarch64-unknown-linux-gnu`
|
rustup target add x86_64-apple-darwin
|
||||||
`rustup target add x86_64-pc-windows-gnu`
|
rustup target add aarch64-unknown-linux-gnu
|
||||||
|
rustup target add x86_64-pc-windows-gnu
|
||||||
|
```
|
||||||
|
|
||||||
#### Required MacOSX Sdk
|
#### Required macOS SDK
|
||||||
|
|
||||||
To build the warp-packer for the target x86_64-apple-darwin a MacOSX Sdk is needed. The repository has been build and tested with MacOSX10.12 Sdk.
|
To build warp-packer for the target x86_64-apple-darwin, a macOS SDK is needed. The repository has been built and tested with MacOSX10.12 SDK.
|
||||||
There are seveal Github repository available that contains different Sdk versions but they all seems to miss the header files. So it is recommend to download it from apples websites.
|
There are several GitHub repositories available that contain different SDK versions, but they all seem to miss the header files. So it is recommended to download it from Apple's website.
|
||||||
The MacOS Sdk is integrated in XCode and this repository has been build and tested with Xcode version 8.3.3.
|
The macOS SDK is integrated into Xcode, and this repository has been built and tested with Xcode version 8.3.3.
|
||||||
|
|
||||||
##### Build and use MacOS Sdk from XCode
|
##### Build and Use macOS SDK from Xcode
|
||||||
|
|
||||||
To build and use the MacOS Sdk from XCode [osxcross](https://github.com/tpoechtrager/osxcross) will be used.
|
To build and use the macOS SDK from Xcode, [osxcross](https://github.com/tpoechtrager/osxcross) will be used.
|
||||||
|
|
||||||
Download osxcross:
|
Download osxcross:
|
||||||
`git clone https://github.com/tpoechtrager/osxcross.git`
|
```bash
|
||||||
|
git clone https://github.com/tpoechtrager/osxcross.git
|
||||||
|
```
|
||||||
|
|
||||||
Extract MacOS Sdk from XCode (see [here](https://github.com/tpoechtrager/osxcross?tab=readme-ov-file#packing-the-sdk-on-linux---method-1-xcode--80):
|
Extract macOS SDK from Xcode (see [here](https://github.com/tpoechtrager/osxcross?tab=readme-ov-file#packing-the-sdk-on-linux---method-1-xcode--80)):
|
||||||
`<path/to>/osxcross/tools/gen_sdk_package_pbzx.sh <path/to>/Xcode_8.3.3.xip`
|
```bash
|
||||||
Hint: This method may require up to 45 GB of free disk space.
|
<path/to>/osxcross/tools/gen_sdk_package_pbzx.sh <path/to>/Xcode_8.3.3.xip
|
||||||
An SSD is recommended for this method.
|
```
|
||||||
|
|
||||||
|
Hint: This method may require up to 45 GB of free disk space. An SSD is recommended for this method.
|
||||||
|
|
||||||
Copy or move the SDK into the `<path/to>/osxcross/tarballs/` directory.
|
Copy or move the SDK into the `<path/to>/osxcross/tarballs/` directory.
|
||||||
|
|
||||||
Run:
|
Run:
|
||||||
`UNATTENDED=yes OSX_VERSION_MIN=10.12 ./build.sh` to create macOS cross toolchain.
|
```bash
|
||||||
|
UNATTENDED=yes OSX_VERSION_MIN=10.12 ./build.sh
|
||||||
|
```
|
||||||
|
to create the macOS cross toolchain.
|
||||||
|
|
||||||
Add the target/bin folder to your PATH environment variable:
|
Add the target/bin folder to your PATH environment variable:
|
||||||
`PATH="<path/to>/osxcross/target/bin:$PATH"`
|
```bash
|
||||||
|
PATH="<path/to>/osxcross/target/bin:$PATH"
|
||||||
|
```
|
||||||
|
|
||||||
#### Build the Project
|
#### Build the Project
|
||||||
|
|
||||||
Clone the project and within the project run
|
Clone the project and within the project directory, run:
|
||||||
`make`
|
```bash
|
||||||
|
make
|
||||||
|
```
|
||||||
to start the build.
|
to start the build.
|
||||||
|
|
||||||
The compiled warp-packer files are in the folder:
|
The compiled warp-packer files are in the folder:
|
||||||
`<path/to/>warp/target/<target>/release/warp-packer`
|
```bash
|
||||||
|
<path/to>/warp/target/<target>/release/warp-packer
|
||||||
|
```
|
||||||
e.g.
|
e.g.
|
||||||
`warp/target/aarch64-unknown-linux-gnu/release/warp-packer`
|
```bash
|
||||||
|
warp/target/aarch64-unknown-linux-gnu/release/warp-packer
|
||||||
|
```
|
83
INSTALL.md
Normal file
83
INSTALL.md
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# Installation Instructions
|
||||||
|
|
||||||
|
Instructions for installing the warp-packer executable on Linux, Mac, and Windows.
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Installation Instructions](#installation-instructions)
|
||||||
|
- [Table of Contents](#table-of-contents)
|
||||||
|
- [Linux](#linux)
|
||||||
|
- [Mac](#mac)
|
||||||
|
- [Windows](#windows)
|
||||||
|
|
||||||
|
## Linux
|
||||||
|
|
||||||
|
1. **Copy the warp-packer executable to a directory in your PATH:**
|
||||||
|
|
||||||
|
For example, you can copy it to `/usr/local/bin`:
|
||||||
|
```sh
|
||||||
|
sudo cp /path/to/warp-packer /usr/local/bin/
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Ensure the warp-packer executable has the correct permissions:**
|
||||||
|
|
||||||
|
Make the file executable:
|
||||||
|
```sh
|
||||||
|
sudo chmod +x /usr/local/bin/warp-packer
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Verify the installation:**
|
||||||
|
|
||||||
|
Check that the executable is in your PATH and works correctly:
|
||||||
|
```sh
|
||||||
|
warp-packer --version
|
||||||
|
```
|
||||||
|
|
||||||
|
## Mac
|
||||||
|
|
||||||
|
1. **Copy the warp-packer executable to a directory in your PATH:**
|
||||||
|
|
||||||
|
For example, you can copy it to `/usr/local/bin`:
|
||||||
|
```sh
|
||||||
|
sudo cp /path/to/warp-packer /usr/local/bin/
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Ensure the warp-packer executable has the correct permissions:**
|
||||||
|
|
||||||
|
Make the file executable:
|
||||||
|
```sh
|
||||||
|
sudo chmod +x /usr/local/bin/warp-packer
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Verify the installation:**
|
||||||
|
|
||||||
|
Check that the executable is in your PATH and works correctly:
|
||||||
|
```sh
|
||||||
|
warp-packer --version
|
||||||
|
```
|
||||||
|
|
||||||
|
## Windows
|
||||||
|
|
||||||
|
1. **Copy the warp-packer executable to a directory in your PATH:**
|
||||||
|
|
||||||
|
For example, you can copy it to `C:\Program Files\warp-packer`:
|
||||||
|
```powershell
|
||||||
|
Copy-Item -Path "C:\path\to\warp-packer.exe" -Destination "C:\Program Files\warp-packer\"
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Add the directory to your PATH environment variable:**
|
||||||
|
|
||||||
|
- Open the Start Search, type in "env", and select "Edit the system environment variables".
|
||||||
|
- In the System Properties window, click on the "Environment Variables..." button.
|
||||||
|
- In the Environment Variables window, under "System variables", find the `Path` variable, select it, and click "Edit...".
|
||||||
|
- In the Edit Environment Variable window, click "New" and add the path to the directory where you copied the warp-packer executable (`C:\Program Files\warp-packer\`).
|
||||||
|
- Click "OK" to close all windows.
|
||||||
|
|
||||||
|
3. **Verify the installation:**
|
||||||
|
|
||||||
|
Open a new Command Prompt and check that the executable is in your PATH and works correctly:
|
||||||
|
```cmd
|
||||||
|
warp-packer --version
|
||||||
|
```
|
||||||
|
|
||||||
|
By following these steps, you will have the warp-packer executable installed and ready to use on Linux, Mac, and Windows.
|
Loading…
Reference in New Issue
Block a user