You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Configuring the source tree](#configuring-the-source-tree)
16
+
-[Building and installation](#building-and-installation)
17
+
-[Usage](#usage)
18
+
-[Contributing](#contributing)
19
+
-[Links](#links)
20
+
-[License](#license)
21
+
-[Credits](#credits)
22
+
8
23
## Features
9
24
10
25
libirecovery is a cross-platform library which implements communication to
@@ -14,38 +29,164 @@ iBoot/iBSS found on Apple's iOS devices via USB. A command-line utility named
14
29
This is a fork of an older version from former openjailbreak.org and is meant to
15
30
be used with [idevicerestore](https://github.com/libimobiledevice/idevicerestore.git/) from the [libimobiledevice](https://github.com/libimobiledevice/) project.
16
31
17
-
## Installation / Getting started
32
+
## Building
33
+
34
+
### Prerequisites
35
+
36
+
You need to have a working compiler (gcc/clang) and development environent
37
+
available. This project uses autotools for the build process, allowing to
38
+
have common build steps across different platforms.
39
+
Only the prerequisites differ and they are described in this section.
Check the [Building](https://github.com/libimobiledevice/libimobiledevice-glue?tab=readme-ov-file#building)
43
+
section of the README on how to build it. Note that some platforms might have it as a package.
44
+
45
+
#### Linux (Debian/Ubuntu based)
46
+
47
+
* Install all required dependencies and build tools:
48
+
```shell
49
+
sudo apt-get install \
50
+
build-essential \
51
+
pkg-config \
52
+
checkinstall \
53
+
git \
54
+
autoconf \
55
+
automake \
56
+
libtool-bin \
57
+
libimobiledevice-glue-dev \
58
+
libreadline-dev \
59
+
libusb-1.0-0-dev
60
+
```
61
+
62
+
In case libimobiledevice-glue-dev is not available, you can manually build and install it. See note above.
63
+
64
+
#### macOS
65
+
66
+
* Make sure the Xcode command line tools are installed. Then, use either [MacPorts](https://www.macports.org/)
67
+
or [Homebrew](https://brew.sh/) to install `automake`, `autoconf`, `libtool`, etc.
68
+
69
+
Using MacPorts:
70
+
```shell
71
+
sudo port install libtool autoconf automake pkgconfig
72
+
```
73
+
74
+
Using Homebrew:
75
+
```shell
76
+
brew install libtool autoconf automake pkg-config
77
+
```
18
78
19
-
### Debian / Ubuntu Linux
79
+
#### Windows
80
+
81
+
* Using [MSYS2](https://www.msys2.org/) is the official way of compiling this project on Windows. Download the MSYS2 installer
82
+
and follow the installation steps.
83
+
84
+
It is recommended to use the _MSYS2 MinGW 64-bit_ shell. Run it and make sure the required dependencies are installed:
85
+
86
+
```shell
87
+
pacman -S base-devel \
88
+
git \
89
+
mingw-w64-x86_64-gcc \
90
+
make \
91
+
libtool \
92
+
autoconf \
93
+
automake-wrapper \
94
+
pkg-config
95
+
```
96
+
NOTE: You can use a different shell and different compiler according to your needs. Adapt the above command accordingly.
97
+
98
+
### Configuring the source tree
99
+
100
+
You can build the source code from a git checkout, or from a `.tar.bz2` release tarball from [Releases](https://github.com/libimobiledevice/libirecovery/releases).
101
+
Before we can build it, the source tree has to be configured for building. The steps depend on where you got the source from.
102
+
103
+
Since libirecovery depends on other packages, you should set the pkg-config environment variable `PKG_CONFIG_PATH`
104
+
accordingly. Make sure to use a path with the same prefix as the dependencies. If they are installed in `/usr/local` you would do
20
105
21
-
First install all required dependencies and build tools:
22
106
```shell
23
-
sudo apt-get install \
24
-
build-essential \
25
-
pkg-config \
26
-
checkinstall \
27
-
git \
28
-
autoconf \
29
-
automake \
30
-
libtool-bin \
31
-
libimobiledevice-glue-dev \
32
-
libreadline-dev \
33
-
libusb-1.0-0-dev
107
+
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
34
108
```
35
109
36
-
Then clone the actual project repository:
110
+
***From git**
111
+
112
+
If you haven't done already, clone the actual project repository and change into the directory.
0 commit comments