Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 400869
Collapse All | Expand All

(-)a/.gitignore (+53 lines)
Line 0 Link Here
1
/*.bak
2
/*.lo
3
/*.o
4
/*.orig
5
/*.rej
6
/*.tab.c
7
/*.tar.*
8
/*~
9
/.*.sw[nop]
10
/.deps
11
/.libs
12
/ChangeLog
13
/GPATH
14
/GRTAGS
15
/GSYMS
16
/GTAGS
17
/ID
18
/INSTALL
19
/Makefile
20
/Makefile.in
21
/TAGS
22
/_libs
23
/aclocal.m4
24
/autom4te.cache
25
/autoscan.log
26
/compile
27
/config.cache
28
/config.guess
29
/config.h
30
/config.h.in
31
/config.log
32
/config.lt
33
/config.status
34
/config.status.lineno
35
/config.sub
36
/configure
37
/configure.lineno
38
/configure.scan
39
/depcomp
40
/harfbuzz.pc
41
/install-sh
42
/libtool
43
/ltmain.sh
44
/m4/
45
/missing
46
/mkinstalldirs
47
/so_locations
48
/src/Makefile.in
49
/src/hb-gobject-enums.cc
50
/stamp-h1
51
/tags
52
/test/Makefile.in
53
/util/Makefile.in
(-)a/Makefile.am (+2 lines)
Lines 1-5 Link Here
1
# Process this file with automake to produce Makefile.in
1
# Process this file with automake to produce Makefile.in
2
2
3
ACLOCAL_AMFLAGS = -I m4
4
3
NULL =
5
NULL =
4
6
5
SUBDIRS = src util test
7
SUBDIRS = src util test
(-)a/configure.ac (-92 / +97 lines)
Lines 1-20 Link Here
1
AC_PREREQ([2.64])
1
AC_PREREQ([2.65])
2
AC_INIT([harfbuzz],
2
AC_INIT([harfbuzz],
3
        [0.7.0],
3
	[0.7.0],
4
        [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz],
4
	[http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz],
5
        [harfbuzz],
5
	[harfbuzz],
6
        [http://harfbuzz.org/])
6
	[http://harfbuzz.org/])
7
7
8
AC_CONFIG_MACRO_DIR([m4])
8
AC_CONFIG_SRCDIR([harfbuzz.pc.in])
9
AC_CONFIG_SRCDIR([harfbuzz.pc.in])
9
AC_CONFIG_HEADERS([config.h])
10
AC_CONFIG_HEADERS([config.h])
10
11
11
AM_INIT_AUTOMAKE([1.11.1 gnu dist-bzip2 no-dist-gzip -Wall no-define])
12
AM_INIT_AUTOMAKE([1.11 gnu dist-xz dist-bzip2 no-dist-gzip -Wall no-define])
12
AM_SILENT_RULES([yes])
13
AM_SILENT_RULES([yes])
14
AC_LANG([C++])
13
15
14
# Check for programs
16
# Check for programs
15
AC_PROG_CC
17
AC_PROG_CC
16
AM_PROG_CC_C_O
18
AM_PROG_CC_C_O
17
AC_PROG_CXX
19
AC_PROG_CXX
20
AC_PROG_INSTALL
21
AC_PROG_LN_S
22
AC_PROG_LIBTOOL
23
PKG_PROG_PKG_CONFIG([0.20])
18
24
19
# Initialize libtool
25
# Initialize libtool
20
LT_PREREQ([2.2])
26
LT_PREREQ([2.2])
Lines 57-169 AC_CHECK_HEADERS(unistd.h sys/mman.h io.h) Link Here
57
63
58
# Compiler flags
64
# Compiler flags
59
AC_CANONICAL_HOST
65
AC_CANONICAL_HOST
60
if test "x$GCC" = "xyes"; then
66
AS_IF([test "x$GCC" = "xyes"], [
61
62
	# Make symbols link locally
67
	# Make symbols link locally
63
	LDFLAGS="$LDFLAGS -Bsymbolic-functions"
68
	LDFLAGS="$LDFLAGS -Bsymbolic-functions -Wl,--as-needed -no-undefined"
64
69
65
	# Make sure we don't link to libstdc++
70
	# Make sure we don't link to libstdc++
66
	CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions"
71
	CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions"
67
72
	AS_CASE([$host],
68
	case "$host" in
73
		[arm-*-*], [
69
		arm-*-*)
70
			# Request byte alignment on arm
74
			# Request byte alignment on arm
71
			CXXFLAGS="$CXXFLAGS -mstructure-size-boundary=8"
75
			CXXFLAGS="$CXXFLAGS -mstructure-size-boundary=8"
72
		;;
76
		]
73
	esac
77
	)
74
fi
78
])
75
79
76
dnl ==========================================================================
80
dnl ==========================================================================
77
81
AC_ARG_WITH([glib],
78
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16, have_glib=true, have_glib=false)
82
	[AS_HELP_STRING([--without-glib], [Build with glib library])]
79
if $have_glib; then
83
)
84
AS_IF([test "x$with_glib" != "xno"], [
85
	PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16 gthread-2.0 gobject-2.0, have_glib=yes, have_glib=no)
86
], [
87
	have_glib=no
88
])
89
AS_IF([test "x$have_glib" = "xyes"], [
80
	AC_DEFINE(HAVE_GLIB, 1, [Have glib2 library])
90
	AC_DEFINE(HAVE_GLIB, 1, [Have glib2 library])
81
fi
82
AM_CONDITIONAL(HAVE_GLIB, $have_glib)
83
84
PKG_CHECK_MODULES(GTHREAD, gthread-2.0, have_gthread=true, have_gthread=false)
85
if $have_gthread; then
86
	AC_DEFINE(HAVE_GTHREAD, 1, [Have gthread2 library])
87
fi
88
AM_CONDITIONAL(HAVE_GTHREAD, $have_gthread)
89
90
PKG_CHECK_MODULES(GOBJECT, gobject-2.0 glib-2.0 >= 2.16, have_gobject=true, have_gobject=false)
91
if $have_gobject; then
92
	AC_DEFINE(HAVE_GOBJECT, 1, [Have gobject2 library])
93
	GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
91
	GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
94
	AC_SUBST(GLIB_MKENUMS)
92
	AC_SUBST(GLIB_MKENUMS)
95
fi
93
], [
96
AM_CONDITIONAL(HAVE_GOBJECT, $have_gobject)
94
	AS_IF([test "x$with_glib" = "xyes"], [AC_MSG_ERROR([glib requested but not found])])
95
])
96
AM_CONDITIONAL([HAVE_GLIB], [test "x$have_glib" != "xno"])
97
97
98
dnl ==========================================================================
98
dnl ==========================================================================
99
99
AC_ARG_WITH([cairo],
100
PKG_CHECK_MODULES(CAIRO, cairo >= 1.8.0, have_cairo=true, have_cairo=false)
100
	[AS_HELP_STRING([--without-cairo], [Build with cairo library])]
101
if $have_cairo; then
101
)
102
AS_IF([test "x$with_cairo" != "xno"], [
103
	PKG_CHECK_MODULES(CAIRO, cairo >= 1.8.0 cairo-ft, have_cairo=yes, have_cairo=no)
104
], [
105
	have_cairo=no
106
])
107
AS_IF([test "x$have_cairo" = "xyes"], [
102
	AC_DEFINE(HAVE_CAIRO, 1, [Have cairo graphics library])
108
	AC_DEFINE(HAVE_CAIRO, 1, [Have cairo graphics library])
103
fi
109
], [
104
AM_CONDITIONAL(HAVE_CAIRO, $have_cairo)
110
	AS_IF([test "x$with_cairo" = "xyes"], [AC_MSG_ERROR([cairo requested but not found])])
105
111
])
106
PKG_CHECK_MODULES(CAIRO_FT, cairo-ft, have_cairo_ft=true, have_cairo_ft=false)
112
AM_CONDITIONAL([HAVE_CAIRO], [test "x$have_cairo" != "xno"])
107
if $have_cairo_ft; then
108
	AC_DEFINE(HAVE_CAIRO_FT, 1, [Have cairo-ft support in cairo graphics library])
109
fi
110
AM_CONDITIONAL(HAVE_CAIRO_FT, $have_cairo_ft)
111
113
112
dnl ==========================================================================
114
dnl ==========================================================================
113
115
AC_ARG_WITH([icu],
114
PKG_CHECK_MODULES(ICU, icu, have_icu=true, [
116
	[AS_HELP_STRING([--without-icu], [Build with icu library])]
115
	have_icu=true
117
)
116
	AC_CHECK_HEADERS(unicode/uchar.h,, have_icu=false)
118
AS_IF([test "x$with_icu" != "xno"], [
117
	AC_MSG_CHECKING([for libicuuc])
119
	PKG_CHECK_MODULES(ICU, icu-uc, have_icu=yes, have_icu=no)
118
	LIBS_old=$LIBS
120
], [
119
	LIBS="$LIBS -licuuc"
121
	have_icu=no
120
	AC_TRY_LINK([#include <unicode/uchar.h>],
121
		    [u_getIntPropertyValue (0, (UProperty)0);],
122
		    AC_MSG_RESULT(yes),
123
		    AC_MSG_RESULT(no);have_icu=false)
124
	LIBS=$LIBS_old
125
	if $have_icu; then
126
		ICU_CFLAGS=-D_REENTRANT
127
		ICU_LIBS="-licuuc"
128
		AC_SUBST(ICU_CFLAGS)
129
		AC_SUBST(ICU_LIBS)
130
	fi
131
])
122
])
132
if $have_icu; then
123
AS_IF([test "x$have_cairo" = "xyes"], [
133
	AC_DEFINE(HAVE_ICU, 1, [Have ICU library])
124
	AC_DEFINE(HAVE_ICU, 1, [Have icu library])
134
fi
125
], [
135
AM_CONDITIONAL(HAVE_ICU, $have_icu)
126
	AS_IF([test "x$with_icu" = "xyes"], [AC_MSG_ERROR([icu requested but not found])])
127
])
128
AM_CONDITIONAL([HAVE_ICU], [test "x$have_icu" != "xno"])
136
129
137
dnl ==========================================================================
130
dnl ==========================================================================
138
131
AC_ARG_WITH([graphite],
139
PKG_CHECK_MODULES(GRAPHITE, graphite2, have_graphite=true, have_graphite=false)
132
	[AS_HELP_STRING([--without-graphite], [Build with graphite2 library])]
140
if $have_graphite; then
133
)
141
    AC_DEFINE(HAVE_GRAPHITE, 1, [Have Graphite library])
134
AS_IF([test "x$with_graphite" != "xno"], [
142
fi
135
	PKG_CHECK_MODULES(GRAPHITE, graphite2, have_graphite=yes, have_graphite=no)
143
AM_CONDITIONAL(HAVE_GRAPHITE, $have_graphite)
136
], [
137
	have_graphite=no
138
])
139
AS_IF([test "x$have_graphite" = "xyes"], [
140
	AC_DEFINE(HAVE_GRAPHITE, 1, [Have graphite graphics library])
141
], [
142
	AS_IF([test "x$with_graphite" = "xyes"], [AC_MSG_ERROR([graphite requested but not found])])
143
])
144
AM_CONDITIONAL([HAVE_GRAPHITE], [test "x$have_graphite" != "xno"])
144
145
145
dnl ==========================================================================
146
dnl ==========================================================================
146
147
AC_ARG_WITH([freetype],
147
PKG_CHECK_MODULES(FREETYPE, freetype2 >= 2.3.8, have_freetype=true, have_freetype=false)
148
	[AS_HELP_STRING([--without-freetype], [Build with freetype2 library])]
148
if $have_freetype; then
149
)
149
	AC_DEFINE(HAVE_FREETYPE, 1, [Have FreeType 2 library])
150
AS_IF([test "x$with_freetype" != "xno"], [
150
	_save_libs="$LIBS"
151
	PKG_CHECK_MODULES(FREETYPE, freetype2 >= 2.3.8, have_freetype=yes, have_freetype=no)
151
	_save_cflags="$CFLAGS"
152
], [
152
	LIBS="$LIBS $FREETYPE_LIBS"
153
	have_freetype=no
153
	CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
154
])
154
	AC_CHECK_FUNCS(FT_Face_GetCharVariantIndex)
155
AS_IF([test "x$have_freetype" = "xyes"], [
155
	LIBS="$_save_libs"
156
	AC_DEFINE(HAVE_FREETYPE, 1, [Have freetype graphics library])
156
	CFLAGS="$_save_cflags"
157
], [
157
fi
158
	AS_IF([test "x$with_freetype" = "xyes"], [AC_MSG_ERROR([freetype requested but not found])])
158
AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype)
159
])
159
160
AM_CONDITIONAL([HAVE_FREETYPE], [test "x$have_freetype" != "xno"])
160
dnl ===========================================================================
161
162
have_ot=true;
163
if $have_ot; then
164
	AC_DEFINE(HAVE_OT, 1, [Have native OpenType Layout backend])
165
fi
166
AM_CONDITIONAL(HAVE_OT, $have_ot)
167
161
168
dnl ===========================================================================
162
dnl ===========================================================================
169
163
Lines 189-191 test/shaping/Makefile Link Here
189
])
183
])
190
184
191
AC_OUTPUT
185
AC_OUTPUT
186
187
AC_MSG_NOTICE([
188
==============================================================================
189
Build configuration:
190
	glib:         ${have_glib}
191
	cairo:        ${have_cairo}
192
	icu:          ${have_icu}
193
	graphite:     ${have_graphite}
194
	freetype:     ${have_freetype}
195
==============================================================================
196
])
(-)a/src/Makefile.am (-28 / +17 lines)
Lines 30-57 HBSOURCES = \ Link Here
30
	hb-ot-head-table.hh \
30
	hb-ot-head-table.hh \
31
	hb-ot-hhea-table.hh \
31
	hb-ot-hhea-table.hh \
32
	hb-ot-hmtx-table.hh \
32
	hb-ot-hmtx-table.hh \
33
	hb-ot-maxp-table.hh \
34
	hb-ot-name-table.hh \
35
	hb-ot-tag.cc \
36
	hb-private.hh \
37
	hb-shape.cc \
38
	hb-tt-font.cc \
39
	hb-unicode-private.hh \
40
	hb-unicode.cc \
41
	$(NULL)
42
HBHEADERS = \
43
	hb.h \
44
	hb-blob.h \
45
	hb-buffer.h \
46
	hb-common.h \
47
	hb-font.h \
48
	hb-shape.h \
49
	hb-unicode.h \
50
	hb-version.h \
51
	$(NULL)
52
53
if HAVE_OT
54
HBSOURCES += \
55
	hb-ot-layout.cc \
33
	hb-ot-layout.cc \
56
	hb-ot-layout-common-private.hh \
34
	hb-ot-layout-common-private.hh \
57
	hb-ot-layout-gdef-table.hh \
35
	hb-ot-layout-gdef-table.hh \
Lines 61-66 HBSOURCES += \ Link Here
61
	hb-ot-layout-private.hh \
39
	hb-ot-layout-private.hh \
62
	hb-ot-map.cc \
40
	hb-ot-map.cc \
63
	hb-ot-map-private.hh \
41
	hb-ot-map-private.hh \
42
	hb-ot-maxp-table.hh \
43
	hb-ot-name-table.hh \
64
	hb-ot-shape.cc \
44
	hb-ot-shape.cc \
65
	hb-ot-shape-complex-arabic.cc \
45
	hb-ot-shape-complex-arabic.cc \
66
	hb-ot-shape-complex-arabic-table.hh \
46
	hb-ot-shape-complex-arabic-table.hh \
Lines 71-95 HBSOURCES += \ Link Here
71
	hb-ot-shape-complex-private.hh \
51
	hb-ot-shape-complex-private.hh \
72
	hb-ot-shape-normalize.cc \
52
	hb-ot-shape-normalize.cc \
73
	hb-ot-shape-private.hh \
53
	hb-ot-shape-private.hh \
54
	hb-ot-tag.cc \
55
	hb-private.hh \
56
	hb-shape.cc \
57
	hb-tt-font.cc \
58
	hb-unicode-private.hh \
59
	hb-unicode.cc \
74
	$(NULL)
60
	$(NULL)
75
HBHEADERS += \
61
HBHEADERS = \
62
	hb.h \
63
	hb-blob.h \
64
	hb-buffer.h \
65
	hb-common.h \
66
	hb-font.h \
76
	hb-ot.h \
67
	hb-ot.h \
77
	hb-ot-layout.h \
68
	hb-ot-layout.h \
78
	hb-ot-shape.h \
69
	hb-ot-shape.h \
79
	hb-ot-tag.h \
70
	hb-ot-tag.h \
71
	hb-shape.h \
72
	hb-unicode.h \
73
	hb-version.h \
80
	$(NULL)
74
	$(NULL)
81
endif
82
75
83
if HAVE_GLIB
76
if HAVE_GLIB
84
HBCFLAGS += $(GLIB_CFLAGS)
77
HBCFLAGS += $(GLIB_CFLAGS)
85
HBLIBS   += $(GLIB_LIBS)
78
HBLIBS   += $(GLIB_LIBS)
86
HBSOURCES += hb-glib.cc
79
HBSOURCES += hb-glib.cc
87
HBHEADERS += hb-glib.h
80
HBHEADERS += hb-glib.h
88
endif
89
81
90
if HAVE_GOBJECT
91
HBCFLAGS += $(GOBJECT_CFLAGS)
92
HBLIBS   += $(GOBJECT_LIBS)
93
HBSOURCES += hb-gobject-structs.cc
82
HBSOURCES += hb-gobject-structs.cc
94
nodist_HBSOURCES = hb-gobject-enums.cc
83
nodist_HBSOURCES = hb-gobject-enums.cc
95
HBHEADERS += hb-gobject.h
84
HBHEADERS += hb-gobject.h
(-)a/src/hb-shape.cc (-5 / +1 lines)
Lines 36-44 Link Here
36
#ifdef HAVE_UNISCRIBE
36
#ifdef HAVE_UNISCRIBE
37
# include "hb-uniscribe.h"
37
# include "hb-uniscribe.h"
38
#endif
38
#endif
39
#ifdef HAVE_OT
39
#include "hb-ot-shape.h"
40
# include "hb-ot-shape.h"
41
#endif
42
#include "hb-fallback-shape-private.hh"
40
#include "hb-fallback-shape-private.hh"
43
41
44
typedef hb_bool_t (*hb_shape_func_t) (hb_font_t          *font,
42
typedef hb_bool_t (*hb_shape_func_t) (hb_font_t          *font,
Lines 59-67 static struct hb_shaper_pair_t { Link Here
59
#ifdef HAVE_UNISCRIBE
57
#ifdef HAVE_UNISCRIBE
60
  HB_SHAPER_IMPLEMENT (uniscribe),
58
  HB_SHAPER_IMPLEMENT (uniscribe),
61
#endif
59
#endif
62
#ifdef HAVE_OT
63
  HB_SHAPER_IMPLEMENT (ot),
60
  HB_SHAPER_IMPLEMENT (ot),
64
#endif
65
  HB_SHAPER_IMPLEMENT (fallback) /* should be last */
61
  HB_SHAPER_IMPLEMENT (fallback) /* should be last */
66
};
62
};
67
#undef HB_SHAPER_IMPLEMENT
63
#undef HB_SHAPER_IMPLEMENT
(-)a/test/api/Makefile.am (-9 / +3 lines)
Lines 7-19 DISTCLEANFILES = Link Here
7
MAINTAINERCLEANFILES =
7
MAINTAINERCLEANFILES =
8
8
9
if HAVE_GLIB
9
if HAVE_GLIB
10
AM_CPPFLAGS = -DSRCDIR="\"$(srcdir)\"" -I$(top_srcdir)/src/ -I$(top_builddir)/src/ $(GLIB_CFLAGS) $(GTHREAD_CFLAGS)
10
AM_CPPFLAGS = -DSRCDIR="\"$(srcdir)\"" -I$(top_srcdir)/src/ -I$(top_builddir)/src/ $(GLIB_CFLAGS)
11
LDADD = $(top_builddir)/src/libharfbuzz.la $(GLIB_LIBS) $(GTHREAD_LIBS)
11
LDADD = $(top_builddir)/src/libharfbuzz.la $(GLIB_LIBS)
12
12
13
EXTRA_DIST += hb-test.h
13
EXTRA_DIST += hb-test.h
14
14
15
check_PROGRAMS = $(TEST_PROGS)
15
check_PROGRAMS = $(TEST_PROGS)
16
noinst_PROGRAMS = $(TEST_PROGS)
17
16
18
TEST_PROGS = \
17
TEST_PROGS = \
19
	test-blob \
18
	test-blob \
Lines 21-37 TEST_PROGS = \ Link Here
21
	test-common \
20
	test-common \
22
	test-font \
21
	test-font \
23
	test-object \
22
	test-object \
23
	test-ot-tag \
24
	test-shape \
24
	test-shape \
25
	test-unicode \
25
	test-unicode \
26
	test-version \
26
	test-version \
27
	$(NULL)
27
	$(NULL)
28
28
29
if HAVE_OT
30
TEST_PROGS += \
31
	test-ot-tag \
32
	$(NULL)
33
endif
34
35
# Tests for header compilation
29
# Tests for header compilation
36
TEST_PROGS += \
30
TEST_PROGS += \
37
	test-c \
31
	test-c \
(-)a/test/api/test-c.c (-2 lines)
Lines 43-51 Link Here
43
#include <hb-ft.h>
43
#include <hb-ft.h>
44
#endif
44
#endif
45
45
46
#ifdef HAVE_OT
47
#include <hb-ot.h>
46
#include <hb-ot.h>
48
#endif
49
47
50
#ifdef HAVE_UNISCRIBE
48
#ifdef HAVE_UNISCRIBE
51
#include <hb-uniscribe.h>
49
#include <hb-uniscribe.h>
(-)a/util/Makefile.am (-4 / +2 lines)
Lines 13-19 AM_CPPFLAGS = \ Link Here
13
	-I$(top_builddir)/src/ \
13
	-I$(top_builddir)/src/ \
14
	$(GLIB_CFLAGS) \
14
	$(GLIB_CFLAGS) \
15
	$(FREETYPE_CFLAGS) \
15
	$(FREETYPE_CFLAGS) \
16
	$(CAIRO_FT_CFLAGS) \
16
	$(CAIRO_CFLAGS) \
17
	$(NULL)
17
	$(NULL)
18
LDADD = \
18
LDADD = \
19
	$(top_builddir)/src/libharfbuzz.la \
19
	$(top_builddir)/src/libharfbuzz.la \
Lines 24-30 LDADD = \ Link Here
24
24
25
if HAVE_GLIB
25
if HAVE_GLIB
26
if HAVE_FREETYPE
26
if HAVE_FREETYPE
27
if HAVE_CAIRO_FT
27
if HAVE_CAIRO
28
hb_view_SOURCES = \
28
hb_view_SOURCES = \
29
	hb-view.cc \
29
	hb-view.cc \
30
	hb-view.hh \
30
	hb-view.hh \
Lines 38-44 hb_view_SOURCES = \ Link Here
38
hb_view_LDADD = \
38
hb_view_LDADD = \
39
	$(LDADD) \
39
	$(LDADD) \
40
	$(CAIRO_LIBS) \
40
	$(CAIRO_LIBS) \
41
	$(CAIRO_FT_LIBS) \
42
	$(NULL)
41
	$(NULL)
43
bin_PROGRAMS += hb-view
42
bin_PROGRAMS += hb-view
44
endif
43
endif
45
- 

Return to bug 400869