The changes are guarded by the C++ and WML conditional symbol
"EXPERIMENTAL".
The experimental flag is temporarily defaulted off, so those patches
should have no effect on people doing ordinary builds. This may change
once fendrin has the tunnel code fixed and polished.
This defaults to 'yes' for odd-numbered (unstable) versions, 'no' for
even-numbered (unstable) versions. It controls an EXPERIMENTAL
preprocessor symbol, defined only when experimental is 'yes', and an
EXPERIMENTAL automake conditional.
This is meant as a guard option for experimental, developer-only code
that should be disabled in stable versions. The immediate application
is fendrin's new pathfinding/tunnel code, which we want to carry in
the main codebase for the remainder of 1.7 but be automatically
disabled in 1.8 betas and 1.8 itself.
Implemented for scons and autotools but not yet cmake.
* Updated to support both fribidi2 (>= 0.19.0) and old fribidi (>= 0.10.9)
* The cmake part was done by Mark with some fixes add by me.
* I tested on Fedora-11, Mark tested on Debian stable.
* The fribidi library (http://fribidi.org) is used to support right to left
languages (Hebrew, Arabic, Farsi).
* Fribidi >= 0.19 exists for some time and has two incompatible changes:
- Somewhat different API.
- Uses pkg-config for configuration instead of fribidi-config which
isn't shipped anymore.
* Any distribution that tries to compile wesnoth on a system with
modern fribidi would not have bidi support. An example is
Fedora which had this situation for about a year:
https://bugzilla.redhat.com/show_bug.cgi?id=504526
The Fedora packages (based on wesnoth-1.6.4) are now fixed.
* I'll wait before fixing it in 1.6.x, 1.4.x until feedback from
package maintainers of various distributions, as they may carry
legacy versions of fribidi (e.g: Debian-Lenny).
Since it doesn't save much binary size/compile time but adds a
possibility of uncaught compile errors unless both values of the options
are regularly tested.