Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
src: Fix to build libibus-1.0.la twice
The purpose of autotools is to automatically handle dependencies. By calling $(MAKE) manually and without specifying any dependencies below, we are going out of our way to prevent automake from doing its job. ibusunicodegen.h: $(MAKE) $(AM_MAKEFLAGS) dicts/unicode-blocks.dict This avoids a build error whereby libibus-1.0.la is built twice simultaneously, races with itself, and breaks the build. dicts/unicode-blocks.dict ibusunicodegen.h: unicode-parser The two build targets let `make ibusunicodegen.h` try to make `dicts/unicode-blocks.dict` and `ibusunicodegen.h` with unicode-parser. Unlike `ibusunicodegen.h`, we cannot add `ibusemojigen.h` to the rule that produces it (as a side-effect) because the rule is specified with GNU Make syntax: dicts/emoji-%.dict: emoji-parser and doing so yields an error: config.status: error: Something went wrong bootstrapping makefile fragments for automatic dependency tracking. If GNU make was not used, consider re-running the configure script with MAKE="gmake" (or whatever is necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). So instead, add a prerequisite to the rule. Both emoji-parser and unicode-parser has $(libibus) in LDADD and $(libibus) is built before emoji-parser and unicode-parser are built. BUG=#2523
- Loading branch information