[tlbuild] texlive 2011 build on solaris 8 - lcdf-typetools declares f3_mark_out_glyphs return type as bool instead of void

Vladimir Volovich vvv at vsu.ru
Tue Jun 14 00:41:03 CEST 2011


Hi!

on Solaris 8, I had to apply the following patch to compile
lcdf-typetools:

===============================
--- texk/lcdf-typetools/include/efont/otfgsub.hh.orig
+++ texk/lcdf-typetools/include/efont/otfgsub.hh
@@ -99,7 +99,7 @@
     enum { F3_HSIZE = 6, SUBRECSIZE = 4 };
   private:
     Data _d;
-    static bool f3_mark_out_glyphs(const Data &data, int nsub, int subtab_offset, const Gsub &gsub, Vector<bool> &gmap);
+    static void f3_mark_out_glyphs(const Data &data, int nsub, int subtab_offset, const Gsub &gsub, Vector<bool> &gmap);
     static bool f3_unparse(const Data &data,
 			   int nglyph, int glyphtab_offset, const Coverage &limit,
 			   int nsub, int subtab_offset,
--- texk/lcdf-typetools/libefont/otfgsub.cc.orig
+++ texk/lcdf-typetools/libefont/otfgsub.cc
@@ -1070,7 +1070,7 @@
 	return Coverage();
 }
 
-bool
+void
 GsubContext::f3_mark_out_glyphs(const Data &data, int nsub, int subtab_offset, const Gsub &gsub, Vector<bool> &gmap)
 {
     for (int j = 0; j < nsub; ++j) {
===============================

Without the patch, i was getting a compile error:

source='../../../../texk/lcdf-typetools/libefont/otfgsub.cc' object='otfgsub.o' libtool=no \
        DEPDIR=.deps depmode=none /opt/csw/bin/bash ../../../../texk/lcdf-typetools/../../build-aux/depcomp \
        CC  -DHAVE_CONFIG_H -I. -I../../../../texk/lcdf-typetools/libefont -I.. -I../../../../texk/lcdf-typetools/include    -xarch=v8 -O -c -o otfgsub.o ../../../../texk/lcdf-typetools/libefont/otfgsub.cc
"../../../../texk/lcdf-typetools/libefont/otfgsub.cc", line 1080: Error: "static Efont::OpenType::GsubContext::f3_mark_out_glyphs(const Efont::OpenType::Data&, int, int, const Efont::OpenType::Gsub&, Vector<bool>&)" is expected to return a value.
1 Error(s) detected.
gmake[5]: *** [otfgsub.o] Error 1
gmake[5]: Leaving directory `/opt/home/vvv/src/texlive/source/Work/texk/lcdf-typetools/libefont'

it looks like f3_mark_out_glyphs should be declared as returning void,
rather than bool, since it doesn't actually return anything, and calls
to f3_mark_out_glyphs() don't check its return value.

Best wishes,
v.


More information about the tlbuild mailing list