Fix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio #555
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
When building the HarfBuzz tools, a recently-added symbol, hb_buffer_diff(), was not marked with HB_EXTERN, so that symbol was not exported from the HarfBuzz DLL when building with Visual Studio, causing tools builds to fail, so I attached a simple patch to fix this.
On the other hand, since GLib 2.53.4 and later had glib-mkenums ported to Python, we have to change how the enum sources for HarfBuzz-GObject is generated. The issue is, since the cmd.exe (which NMake builds run on) do not supported shebang lines, we need to first test-run glib-mkenums with Python, and fall back to PERL if that fails (and bail out if that fails as well), and use a simple Python script or PERL one-liners to do the necessary string replacements in the generated enum sources depending on whether Python or PERL was successfully used for running glib-mkenums.
With blessings, thank you!