diff --git a/.vscode/settings.json b/.vscode/settings.json
index 4b6c9976..84d6d2b7 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -4,5 +4,7 @@
"sonarlint.pathToCompileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
"files.associations": {
"__locale": "c"
- }
+ },
+ "xml.symbols.maxItemsComputed": 10000,
+ "xml.validation.resolveExternalEntities": true
}
diff --git a/doc/book.xml b/doc/book.xml
index 20930513..47af20b5 100644
--- a/doc/book.xml
+++ b/doc/book.xml
@@ -849,8 +849,8 @@
Install Apple's Xcode Command Line Tools package from Apple Developer
which provides necessary tools for building C/C++ programs on macOS.
- This is sufficient for compiling &yaz; from a source distribution tarball
- as macOS already includes libxml and libxslt development libraries.
+ This is sufficient for compiling basic &yaz; (e.g no ICU) from a source distribution tarball
+ as XCLT includes libxml2 and libxslt development headers.
If you are compiling &yaz; from a Git checkout, at the time of writing the latest
@@ -866,7 +866,8 @@
Note: XCLT 15.4 fails to make gm4
available as m4
which can cause a silent Bison failure, one
way to fix it is:
- sudo ln -s /Library/Developer/CommandLineTools/usr/bin/gm4 /Library/Developer/CommandLineTools/usr/bin/m4
+ sudo ln -s /Library/Developer/CommandLineTools/usr/bin/gm4 \
+ /Library/Developer/CommandLineTools/usr/bin/m4
Additionally, you will need to install DocBook stylesheets to generate documentation:
@@ -876,26 +877,36 @@
export XML_CATALOG_FILES="/opt/homebrew/etc/xml/catalog"
- If you want to compile &yaz; with ICU you must install it with Homebrew as macOS does not ship ICU headers:
+ If you want to compile &yaz; with ICU you must install it with Homebrew as XCLT does not ship with ICU headers:
brew install icu4c
and make sure to add compiler flags before the configure stage, per the caveats section (brew info icu4c
):
export LDFLAGS="-L/opt/homebrew/opt/icu4c/lib"
- export CPPFLAGS="-I/opt/homebrew/opt/icu4c/include
- export PKG_CONFIG_PATH="/opt/homebrew/opt/icu4c/lib/pkgconfig""
+ export CPPFLAGS="-I/opt/homebrew/opt/icu4c/include"
+ export PKG_CONFIG_PATH="/opt/homebrew/opt/icu4c/lib/pkgconfig"
If you want to also compile with more recent version of libxml2 and libxslt,
install them with Homebrew:
brew install libxml2 libxslt
-
+
and again make sure to add compiler flags, per the caveats section (brew info libxml2
):
- export LDFLAGS="-L/opt/homebrew/opt/libxml2/lib -L/opt/homebrew/opt/libxslt/lib -L/opt/homebrew/opt/icu4c/lib"
- export CPPFLAGS="-I/opt/homebrew/opt/libxml2/include -I/opt/homebrew/opt/libxslt/include -I/opt/homebrew/opt/icu4c/include"
- export PKG_CONFIG_PATH="/opt/homebrew/opt/libxml2/lib/pkgconfig:/opt/homebrew/opt/libxslt/lib/pkgconfig:/opt/homebrew/opt/icu4c/lib/pkgconfig"
+ export PATH="/opt/homebrew/opt/bison/bin:\
+ /opt/homebrew/opt/libxml2/bin:\
+ /opt/homebrew/opt/libxslt/bin:\
+ $PATH"
+ export LDFLAGS="-L/opt/homebrew/opt/libxml2/lib \
+ -L/opt/homebrew/opt/libxslt/lib \
+ -L/opt/homebrew/opt/icu4c/lib"
+ export CPPFLAGS="-I/opt/homebrew/opt/libxml2/include \
+ -I/opt/homebrew/opt/libxslt/include \
+ -I/opt/homebrew/opt/icu4c/include"
+ export PKG_CONFIG_PATH="/opt/homebrew/opt/libxml2/lib/pkgconfig:\
+ /opt/homebrew/opt/libxslt/lib/pkgconfig:\
+ /opt/homebrew/opt/icu4c/lib/pkgconfig"
Then configure and conpile with: