1#         $NetBSD: Makefile,v 1.22 2023/02/24 17:08:31 mrg Exp $
2
3.include <bsd.hostinit.mk>
4
5HOSTPROG= fc-cache
6
7FONTCONFIG=         ${X11SRCDIR.fontconfig}
8FREETYPE= ${X11SRCDIR.freetype}
9EXPAT=              ${NETBSDSRCDIR}/external/mit/expat/dist
10
11.PATH:    ${FONTCONFIG}/fc-cache
12SRCS.fc-cache=      fc-cache.c
13
14.PATH:    ${FONTCONFIG}/src
15SRCS.fontconfig=    fcatomic.c fccache.c fccfg.c \
16                    fccharset.c fcdbg.c fccompat.c fcdefault.c fcdir.c \
17                    fcfreetype.c fcfs.c fchash.c fcinit.c fclang.c \
18                    fclist.c fcmatch.c fcmatrix.c fcname.c fcobjs.c \
19                    fcpat.c fcptrlist.c \
20                    fcrange.c fcserialize.c fcstat.c fcstr.c \
21                    fcweight.c fcxml.c \
22                    ftglue.c
23
24.PATH:    ${FREETYPE}/src/base
25SRCS.freetype=      ftbase.c ftbbox.c ftbdf.c ftdebug.c \
26                    ftglyph.c ftinit.c ftmm.c ftpfr.c ftstroke.c ftsynth.c \
27                    ftsystem.c fttype1.c ftwinfnt.c ftbitmap.c
28
29.PATH: ${FREETYPE}/src/autofit
30SRCS.freetype+=     autofit.c
31
32.PATH:    ${FREETYPE}/src/bdf
33SRCS.freetype+=     bdf.c
34
35.PATH:    ${FREETYPE}/src/cff
36SRCS.freetype+=     cff.c
37
38.PATH:    ${FREETYPE}/src/cid
39SRCS.freetype+=     type1cid.c
40
41.PATH:    ${FREETYPE}/src/gzip
42SRCS.freetype+=     ftgzip.c
43
44#.PATH:   ${FREETYPE}/src/bzip2
45#SRCS.freetype+=    ftbzip2.c
46
47.PATH:    ${FREETYPE}/src/lzw
48SRCS.freetype+=     ftlzw.c
49
50.PATH:    ${FREETYPE}/src/pcf
51SRCS.freetype+=     pcf.c
52
53.PATH:    ${FREETYPE}/src/pfr
54SRCS.freetype+=     pfr.c
55
56.PATH:    ${FREETYPE}/src/psaux
57SRCS.freetype+=     psaux.c
58
59.PATH:    ${FREETYPE}/src/pshinter
60SRCS.freetype+=     pshinter.c
61
62.PATH:    ${FREETYPE}/src/psnames
63SRCS.freetype+=     psnames.c
64
65.PATH:    ${FREETYPE}/src/raster
66SRCS.freetype+=     raster.c
67
68.PATH:    ${FREETYPE}/src/sfnt
69SRCS.freetype+=     sfnt.c
70
71.PATH:    ${FREETYPE}/src/smooth
72SRCS.freetype+=     smooth.c
73
74.PATH:    ${FREETYPE}/src/truetype
75SRCS.freetype+=     truetype.c
76
77.PATH:    ${FREETYPE}/src/type1
78SRCS.freetype+=     type1.c
79
80.PATH:    ${FREETYPE}/src/type42
81SRCS.freetype+=     type42.c
82
83.PATH:    ${FREETYPE}/src/winfonts
84SRCS.freetype+=     winfnt.c
85
86.PATH:    ${EXPAT}/lib
87SRCS.expat=         xmlparse.c xmltok.c xmlrole.c
88
89SRCS=     ${SRCS.fc-cache} ${SRCS.fontconfig} ${SRCS.freetype} ${SRCS.expat}
90
91# XXX FONTCONFIG_PATH was arbitrarily chosen
92HOST_CPPFLAGS=      -DFONTCONFIG_PATH='"${DESTDIR}/etc/X11/fonts"' \
93                    -DFC_DEFAULT_FONTS='"${X11FONTDIR}/Type1"' \
94                    -DFC_TEMPLATEDIR='"${DESTDIR}${X11FONTDIR}"' \
95                    -DFC_CACHEDIR='"${DESTDIR}/var/cache/fontconfig"' \
96                    -DCONFIGDIR='"${DESTDIR}/etc/fonts/conf.d"' \
97                    -DFC_GPERF_SIZE_T=unsigned \
98                    -DFC_NO_MT=1 \
99                    -DALIGNOF_VOID_P=${PTRSIZE} \
100                    -DSIZEOF_VOID_P=${PTRSIZE} \
101                    -DHAVE_FT_BITMAP_SIZE_Y_PPEM \
102                    -DHAVE_FT_GET_BDF_PROPERTY \
103                    -DHAVE_FT_GET_NEXT_CHAR \
104                    -DHAVE_FT_GET_PS_FONT_INFO \
105                    -DHAVE_FT_GET_X11_FONT_FORMAT \
106                    -DHAVE_FT_HAS_PS_GLYPH_NAMES \
107                    -DHAVE_EXPAT -DXFREE86_FT2 -DHAVE_INTTYPES_H \
108                    -DFT2_BUILD_LIBRARY \
109                    -DXML_BYTE_ORDER=0 -DHAVE_MEMMOVE=1 \
110                    -DHAVE_STDINT_H -DHAVE_RANDOM -DDARWIN_NO_CARBON \
111                    -DHAVE_SYS_TYPES_H -DHAVE_FCNTL_H -DHAVE_SYS_STAT_H \
112                    -DHAVE_MKSTEMP \
113                    -DHAVE_SCANDIR \
114                    -DFLEXIBLE_ARRAY_MEMBER="/**/" \
115                    -DHAVE_DIRENT_H -DHAVE_UNISTD_H
116HOST_CPPFLAGS+=     -DFT_CONFIG_OPTION_DISABLE_BZIP2
117HOST_CPPFLAGS+=     -I${FONTCONFIG} -I${FREETYPE} \
118                    -I${FREETYPE}/include -I${FREETYPE}/include/freetype \
119                    -I${EXPAT}/lib -I${EXPAT}/../lib/libexpat \
120                    -I${FONTCONFIG}/../include \
121                    -I${DESTDIR}${X11INCDIR} -I. \
122                    -I${FONTCONFIG}/../include
123
124HOST_CPPFLAGS+=     -DXML_POOR_ENTROPY
125HOST_CPPFLAGS+=     -DTOOL_FCCACHE
126
127LDADD=    -lz
128#LDADD+=  -lbz2
129
130.include "../../lib/fontconfig/src/Makefile.fcarch"
131
132.include <bsd.x11.mk>
133
134.if empty(X11FLAGS.SERVER:M-D_XSERVER64)
135PTRSIZE=  4
136.else
137PTRSIZE=  8
138.endif
139
140.include <bsd.hostprog.mk>
141