* Very short batch scripts (e.g. wimapply.cmd) which are shortcuts to the
corresponding wimlib-imagex commands (e.g. `wimlib-imagex apply').
- * The documentation, including this file, the generic README.txt, and
- PDF documentation for wimlib-imagex in the 'doc' directory.
+ * The library itself in DLL format (libwim-15.dll). wimlib-imagex.exe
+ requires this to run.
- * The library itself (libwim-15.dll). The C header wimlib.h is not
- included; download the source if you want it.
+ * The documentation, including this file, the generic README.txt, and
+ PDF documentation for wimlib-imagex in the 'doc' folder.
* License files for all software included. These are all free software
- licenses.
+ licenses. COPYING.txt is the main license, and it refers to
+ COPYING.GPLv3.txt and COPYING.LGPLv3.txt. The other licenses are for
+ third-party software included in the library.
+
+ * Development files in the 'devel' folder. These are only needed if you
+ are developing C or C++ applications that use wimlib.
+
+Note that there are separate ZIP files for 32-bit (i686) and 64-bit (x86_64)
+binaries. They are both fully supported, but you should prefer the 64-bit
+binaries when possible as they can be noticeably faster.
WIMLIB-IMAGEX
used in ESD (.esd) files. (These are partially supported by recent DISM
versions but not by ImageX.)
+ * wimlib-imagex supports imaging a live Windows system. Just use the
+ --snapshot option.
+
* In many cases, wimlib-imagex has simpler command-line syntax than either
ImageX or DISM.
interactively enter commands. However, note that wimlib-imagex is largely just
a command-line front-end for wimlib, and it's possible to use wimlib's API in
other front-ends or applications. Currently there is no official graphical user
-interface available for wimlib or wimlib-imagex. However, an unofficial, beta,
+interface available for wimlib or wimlib-imagex. However, an unofficial
Windows-only graphical user interface that provides a thin wrapper around
wimlib-imagex can be downloaded at
http://reboot.pro/files/file/485-wimlib-imagex-command-line-compiler/.
+
+ BUILDING FROM SOURCE
+
+As with other open source software, advanced users may choose to build wimlib
+from source, potentially with customizations. Currently, wimlib depends on
+MinGW-w64 for its Windows support; Visual Studio is not supported. The Windows
+binaries can be cross-compiled on Linux, or built on Windows using MSYS2 or
+Cygwin. The following instructions show the MSYS2 method.
+
+First, install MSYS2 by running the installer from https://www.msys2.org/.
+
+Then, open any MSYS2 shell and run the following command:
+
+ pacman -Syu --noconfirm
+
+After that, open any MSYS2 shell again and run the following commands:
+
+ pacman -Syu --noconfirm git
+ git clone git://wimlib.net/wimlib
+
+Note: By default the git repository will be on the "master" branch, which is the
+latest development snapshot. Optionally, you can check out a specific version,
+e.g. 'cd wimlib && git checkout v1.14.0'. For old versions, please refer to the
+documentation for that version, as things may have changed. It is also possible
+to use a release tarball (e.g. wimlib-1.14.0.tar.gz) instead of the git repo.
+
+Finally, to actually do a build, close the MSYS2 shell you have open, then open
+one of the following from the Start menu:
+
+ * "MSYS2 MINGW64" - for x86_64 binaries, built with gcc
+ * "MSYS2 CLANG64" - for x86_64 binaries, built with clang
+ * "MSYS2 MINGW32" - for i686 binaries, built with gcc
+ * "MSYS2 CLANG32" - for i686 binaries, built with clang
+ * "MSYS2 CLANGARM64" - for ARM64 binaries (EXPERIMENTAL)
+
+(If unsure, use "MSYS2 MINGW64".) Then run the following commands:
+
+ cd wimlib
+ tools/windows-build.sh --install-prerequisites
+
+The script will automatically download and install the packages needed to build
+wimlib in the chosen MSYS2 environment, then build wimlib. The output will be
+in a folder named similarly to "wimlib-1.14.0-windows-x86_64-bin". Note that
+your "home" folder within MSYS2 is C:\msys64\home\%USERNAME% by default.
+Therefore, the full path to the output folder will be similar to
+C:\msys64\home\%USERNAME%\wimlib\wimlib-1.14.0-windows-x86_64-bin.