diff options
| -rw-r--r-- | README.md | 65 |
1 files changed, 40 insertions, 25 deletions
| @@ -6,6 +6,21 @@ JSON, or OpenStep format.* | |||
| 6 |  | 6 |  |
| 7 |  | 7 |  |
| 8 | 8 | ||
| 9 | ## Table of Contents | ||
| 10 | - [Features](#features) | ||
| 11 | - [Building](#building) | ||
| 12 | - [Prerequisites](#prerequisites) | ||
| 13 | - [Linux (Debian/Ubuntu based)](#linux-debianubuntu-based) | ||
| 14 | - [macOS](#macos) | ||
| 15 | - [Windows](#windows) | ||
| 16 | - [Configuring the source tree](#configuring-the-source-tree) | ||
| 17 | - [Building and installation](#building-and-installation) | ||
| 18 | - [Usage](#usage) | ||
| 19 | - [Contributing](#contributing) | ||
| 20 | - [Links](#links) | ||
| 21 | - [License](#license) | ||
| 22 | - [Credits](#credits) | ||
| 23 | |||
| 9 | ## Features | 24 | ## Features |
| 10 | 25 | ||
| 11 | The project provides an interface to read and write plist files in binary, | 26 | The project provides an interface to read and write plist files in binary, |
| @@ -21,24 +36,16 @@ Some key features are: | |||
| 21 | 36 | ||
| 22 | ## Building | 37 | ## Building |
| 23 | 38 | ||
| 24 | ### Quick access | ||
| 25 | |||
| 26 | * [Prerequisites](#prerequisites) | ||
| 27 | * [Linux (Debian/Ubuntu based)](#linux-debianubuntu-based) | ||
| 28 | * [macOS](#macos) | ||
| 29 | * [Windows](#windows) | ||
| 30 | * [Configuring the source tree](#configuring-the-source-tree) | ||
| 31 | * [Building and installation](#building-and-installation) | ||
| 32 | |||
| 33 | ### Prerequisites | 39 | ### Prerequisites |
| 34 | 40 | ||
| 35 | You need to have a working compiler and development environent available. This project uses autotools | 41 | You need to have a working compiler (gcc/clang) and development environent |
| 36 | for the build process, allowing to have common build steps regardless of the platform. Only the | 42 | available. This project uses autotools for the build process, allowing to |
| 37 | prerequisites differ and are described in this section. | 43 | have common build steps across different platforms. |
| 44 | Only the prerequisites differ and they are described in this section. | ||
| 38 | 45 | ||
| 39 | * #### Linux (Debian/Ubuntu based) | 46 | #### Linux (Debian/Ubuntu based) |
| 40 | 47 | ||
| 41 | Install all required dependencies and build tools: | 48 | * Install all required dependencies and build tools: |
| 42 | ```shell | 49 | ```shell |
| 43 | sudo apt-get install \ | 50 | sudo apt-get install \ |
| 44 | build-essential \ | 51 | build-essential \ |
| @@ -56,9 +63,9 @@ prerequisites differ and are described in this section. | |||
| 56 | cython3 | 63 | cython3 |
| 57 | ``` | 64 | ``` |
| 58 | 65 | ||
| 59 | * #### macOS | 66 | #### macOS |
| 60 | 67 | ||
| 61 | Make sure the Xcode command line tools are installed. Then, use either [MacPorts](https://www.macports.org/) | 68 | * Make sure the Xcode command line tools are installed. Then, use either [MacPorts](https://www.macports.org/) |
| 62 | or [Homebrew](https://brew.sh/) to install `automake`, `autoconf`, and `libtool`. | 69 | or [Homebrew](https://brew.sh/) to install `automake`, `autoconf`, and `libtool`. |
| 63 | 70 | ||
| 64 | Using MacPorts: | 71 | Using MacPorts: |
| @@ -70,9 +77,9 @@ prerequisites differ and are described in this section. | |||
| 70 | ```shell | 77 | ```shell |
| 71 | brew install libtool autoconf automake | 78 | brew install libtool autoconf automake |
| 72 | ``` | 79 | ``` |
| 73 | 80 | ||
| 74 | In case you want to build the documentation, install `doxygen` using the corresponding install command from above. | 81 | In case you want to build the documentation, install `doxygen` using the corresponding install command from above. |
| 75 | 82 | ||
| 76 | If you want to build Python bindings, you need to install cython: | 83 | If you want to build Python bindings, you need to install cython: |
| 77 | ```shell | 84 | ```shell |
| 78 | pip3 install cython | 85 | pip3 install cython |
| @@ -91,9 +98,9 @@ prerequisites differ and are described in this section. | |||
| 91 | export PYTHON_EXTRA_LDFLAGS="-Wl,-stack_size,1000000 -framework CoreFoundation $PYTHON_FRAMEWORK_PATH" | 98 | export PYTHON_EXTRA_LDFLAGS="-Wl,-stack_size,1000000 -framework CoreFoundation $PYTHON_FRAMEWORK_PATH" |
| 92 | ``` | 99 | ``` |
| 93 | 100 | ||
| 94 | * #### Windows | 101 | #### Windows |
| 95 | 102 | ||
| 96 | [MSYS2](https://www.msys2.org/) is the official way of compiling this project on Windows. Download the MSYS2 installer | 103 | * Using [MSYS2](https://www.msys2.org/) is the official way of compiling this project on Windows. Download the MSYS2 installer |
| 97 | and follow the installation steps. | 104 | and follow the installation steps. |
| 98 | 105 | ||
| 99 | It is recommended to use the _MSYS2 MinGW 64-bit_ shell. Run it and make sure the required dependencies are installed: | 106 | It is recommended to use the _MSYS2 MinGW 64-bit_ shell. Run it and make sure the required dependencies are installed: |
| @@ -121,7 +128,7 @@ prerequisites differ and are described in this section. | |||
| 121 | You can build the source code from a git checkout, or from a `.tar.bz2` release tarball from [Releases](https://github.com/libimobiledevice/libplist/releases). | 128 | You can build the source code from a git checkout, or from a `.tar.bz2` release tarball from [Releases](https://github.com/libimobiledevice/libplist/releases). |
| 122 | Before we can build it, the source tree has to be configured for building. The steps depend on where you got the source from. | 129 | Before we can build it, the source tree has to be configured for building. The steps depend on where you got the source from. |
| 123 | 130 | ||
| 124 | * #### From git | 131 | * **From git** |
| 125 | 132 | ||
| 126 | If you haven't done already, clone the actual project repository and change into the directory. | 133 | If you haven't done already, clone the actual project repository and change into the directory. |
| 127 | ```shell | 134 | ```shell |
| @@ -134,7 +141,7 @@ Before we can build it, the source tree has to be configured for building. The s | |||
| 134 | ./autogen.sh | 141 | ./autogen.sh |
| 135 | ``` | 142 | ``` |
| 136 | 143 | ||
| 137 | * #### From release tarball (.tar.bz2) | 144 | * **From release tarball (.tar.bz2)** |
| 138 | 145 | ||
| 139 | When using an official [release tarball](https://github.com/libimobiledevice/libplist/releases) (`libplist-x.y.z.tar.bz2`) | 146 | When using an official [release tarball](https://github.com/libimobiledevice/libplist/releases) (`libplist-x.y.z.tar.bz2`) |
| 140 | the procedure is slightly different. | 147 | the procedure is slightly different. |
| @@ -189,11 +196,19 @@ you are ready to build the project. This is simply done with | |||
| 189 | make | 196 | make |
| 190 | ``` | 197 | ``` |
| 191 | 198 | ||
| 192 | If no errors are emitted, you can go ahead and install it with: | 199 | If no errors are emitted you are ready for installation. Depending on whether |
| 200 | the current user has permissions to write to the destination directory or not, | ||
| 201 | you would either run | ||
| 202 | ```shell | ||
| 203 | make install | ||
| 204 | ``` | ||
| 205 | _OR_ | ||
| 193 | ```shell | 206 | ```shell |
| 194 | sudo make install | 207 | sudo make install |
| 195 | ``` | 208 | ``` |
| 196 | When using a user-writable destination directory, or run from MinGW shell, you would just run `make install`, without sudo. | 209 | |
| 210 | If you are on Linux, you want to run `sudo ldconfig` after installation to | ||
| 211 | make sure the installed libraries are made available. | ||
| 197 | 212 | ||
| 198 | ## Usage | 213 | ## Usage |
| 199 | 214 | ||
| @@ -264,5 +279,5 @@ iPadOS, tvOS, watchOS, and macOS are trademarks of Apple Inc. | |||
| 264 | This project is an independent software library and has not been authorized, | 279 | This project is an independent software library and has not been authorized, |
| 265 | sponsored, or otherwise approved by Apple Inc. | 280 | sponsored, or otherwise approved by Apple Inc. |
| 266 | 281 | ||
| 267 | README Updated on: 2024-02-16 | 282 | README Updated on: 2024-02-21 |
| 268 | 283 | ||
