From b258a3ed9fc49e063b33c4a2c4f74400f8018485 Mon Sep 17 00:00:00 2001 From: clanmills Date: Mon, 23 Mar 2020 20:10:28 +0000 Subject: [PATCH] Documentation Update. Cygwin/32 and MinGW/32 platforms are obsolete. MacOS-X renamed as macOS --- README.md | 59 +++++++++++++++++-------------------------------------- 1 file changed, 18 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 71bcc0a1..250a343c 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ 3. [Unit tests](#4-3) 5. [Platform Notes](#5) 1. [Linux](#5-1) - 2. [MacOS-X](#5-2) + 2. [macOS](#5-2) 3. [MinGW](#5-3) 4. [Cygwin](#5-4) 5. [Microsoft Visual C++](#5-5) @@ -61,14 +61,14 @@ The file ReadMe.txt in a Build bundle describes how to install the library on th ## 2 Building, Installing, Using and Uninstalling Exiv2 -You need [CMake](https://cmake.org/download/) to configure the Exiv2 project and a C++11 compiler. +You need [CMake](https://cmake.org/download/) to configure the Exiv2 project and the GCC or Clang compiler and associated tool chain.
### 2.1 Build, Install, Use Exiv2 on a UNIX-like system ```bash -cd $EXIV_ROOT +cd ~/gnu/github/exiv2 # location of the project code mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=Release cmake --build . @@ -90,7 +90,7 @@ You will also need to locate libexiv2 at run time: ```bash $ export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" # Linux, Cygwin, MinGW/msys2 -$ export DYLD_LIBRARY_PATH="/usr/local/lib:$DYLD_LIBRARY_PATH" # MacOS-X +$ export DYLD_LIBRARY_PATH="/usr/local/lib:$DYLD_LIBRARY_PATH" # macOS ``` @@ -165,7 +165,7 @@ See [README-CONAN](README-CONAN.md) for more information. There are detailed platform notes about compiling and linking in `releasenotes/{platform}/ReadMe.txt` -where `platform: { CYGWIN | Darwin | Linux | MinGW | msvc }` +where `platform: { CYGWIN | macOS | Linux | MinGW | msvc }` In general you need to do the following: @@ -249,7 +249,7 @@ g++ -std=c++98 myprogram.cpp -o myprogram $(pkg-config exiv2 --libs --cflags) ### 2.8 Localisation -Localisation is supported on a UNIX-like platform: Linux, MacOS-X, Cygwin and MinGW/msys2. Localisation is not supported for Visual Studio builds. +Localisation is supported on a UNIX-like platform: Linux, macOS, Cygwin and MinGW/msys2. Localisation is not supported for Visual Studio builds. To build localisation support, use the CMake option `-DEXIV2_ENABLE_NLS=ON`. You must install the `gettext` package with your package manager or from source. The `gettext` package is available from [http://www.gnu.org/software/gettext/](http://www.gnu.org/software/gettext/) and includes the library `libintl` and utilities to build localisation files. If CMake produces error messages which mention libintl or gettext, you should verify that the package `gettext` has been correctly built and installed. @@ -515,7 +515,7 @@ $ cmake .. $ cmake --build . ``` -2) On MacOS-X +2) On macOS Apple provide clang with Xcode. GCC has not been supported by Apple since 2013. The _"normal unix build"_ uses Clang. @@ -525,7 +525,7 @@ I have been unable to get clang to work on any of those platforms. 4) Cross Compiling -I've never succeeded in getting this to work. I use different VMs for Linux 32 and 64 bit. I've documented how to set up Cygwin and MinGW/msys2 for 64 and 32 bit builds in [README-CONAN](README-CONAN.md) +I've never succeeded in getting this to work. I use different VMs for Linux 32 and 64 bit. I've documented how to set up Cygwin and MinGW/msys2 in [README-CONAN](README-CONAN.md) [TOC](#TOC)
@@ -733,9 +733,9 @@ $ make [TOC](#TOC)
-### 5.2 MacOS-X +### 5.2 macOS -You will need to install Xcode and the Xcode command-line tools to build on the Mac. +You will need to install Xcode and the Xcode command-line tools to build on macOS. You should build and install libexpat and zlib. You may use brew, macports, build from source, or use conan. @@ -746,14 +746,12 @@ I recommend that you build and install CMake from source. ### 5.3 MinGW -We provide support for both 64bit and 32bit builds using MinGW/msys2. [https://www.msys2.org](https://www.msys2.org) - -Support for MinGW/msys1.0 32 bit build was provided for Exiv2 v0.26. MinGW/msys1.0 is not supported by Team Exiv2 for Exiv2 v0.27 and later. +Please note that the platform MinGW/msys2 32 is obsolete and superceded by MinGW/msys2 64. There is a discussion on the web about installing GTest: [https://github.com/Exiv2/exiv2/issues/575](https://github.com/Exiv2/exiv2/issues/575) #### MinGW/msys2 64 bit -Install: [http://repo.msys2.org/distrib/x86\_64/msys2-x86\_64-20180531.exe](http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20180531.exe) +Install: [http://repo.msys2.org/distrib/x86_64/msys2-x86\_64-20190524.exe](http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20190524.exe) I use the following batch file to start the MinGW/msys2 64 bit bash shell from the Dos Command Prompt (cmd.exe) @@ -769,23 +767,6 @@ c:\msys64\usr\bin\bash.exe -norc ``` -#### MinGW/msys2 32 bit -Install: [http://repo.msys2.org/distrib/i686/msys2-i686-20180531.exe](http://repo.msys2.org/distrib/i686/msys2-i686-20180531.exe) - -I use the following batch file to start the MinGW/msys2 32 bit bash shell from the Dos Command Prompt (cmd.exe) - -```bat -@echo off -setlocal -set "PS1=\! MSYS32:\u@\h:\w \$ " -set PATH="/usr/local/bin/:/usr/bin:/mingw32/bin:/bin:/usr/sbin:/sbin" -set "HOME=c:\msys32\home\%USERNAME%" -if NOT EXIST %HOME% mkdir %HOME% -cd %HOME% -c:\msys32\usr\bin\bash.exe -norc - -``` - #### Install MinGW Dependencies Install tools and dependencies: @@ -794,12 +775,6 @@ Install tools and dependencies: $ for i in base-devel git cmake coreutils python3 man gcc gdb make dos2unix diffutils zlib-devel libexpat-devel libiconv-devel gettext-devel; do (echo y|pacman -S $i); done ``` -You can upgrade all installed packages on your system with the following command. For me, this broke msys32 and I had to reinstall msys32 and all the dependencies. Your experience may be different. - -```bash -$ pacman -Syu -``` - #### Download exiv2 from github and build ```bash @@ -826,9 +801,11 @@ $ [TOC](#TOC)
-### 5.4 Cygwin +### 5.4 Cygwin/64 + +Please note that the platform Cygwin/32 is obsolete and superceded by Cygwin/64. -Download: [https://cygwin.com/install.html](https://cygwin.com/install.html) and run setup-x86_64.exe for 64 Bit Cygwin, or setup-x86.exe for 32 bit Cygwin. I install into c:\\cygwin64 and c:\\cygwin32 +Download: [https://cygwin.com/install.html](https://cygwin.com/install.html) and run setup-x86_64.exe. I install into c:\\cygwin64 You need: make, cmake, gcc, gettext-devel pkg-config, dos2unix, zlib-devel, libexpat1-devel, git, python3-interpreter, libiconv, libxml2-utils, libncurses. @@ -840,7 +817,7 @@ There is a discussion on the web about installing GTest: [https://github.com/Exi Download and build cmake from source because I can't get the cygwin installed cmake 3.6.2 to work. To build cmake from source, you need libncurses. [https://cmake.org/download/](https://cmake.org/download/) -I use the following batch file "cygwin64.bat" to start the Cygwin/64 bit bash shell from the Dos Command Prompt (cmd.exe). +I use the following batch file "cygwin64.bat" to start the Cygwin/64 bash shell from the Dos Command Prompt (cmd.exe). ```bat @echo off @@ -930,4 +907,4 @@ Work in progress: [https://github.com/Exiv2/exiv2/issues/902](https://github.co Robin Mills -Revised: 2019-08-03 +Revised: 2020-03-23