6.6 使用 X11

6.6.1 Variable definitions

表 6-4. 用到 X 的 port 可以使用的变量

USE_X_PREFIX 此 port 将文件安装到 X11BASE 而非通常的 PREFIX
USE_XLIB 此 port 用到了 X 库。
USE_MOTIF 此 port 使用 Motif 工具包。 这一变量暗含 USE_XPM 设置。
USE_IMAKE 此 port 用到了 imake。 这一变量也会自动设置 USE_X_PREFIX
XMKMF 设置为 xmkmf 的完整路径名, 如果它不在 PATH 中的话。 默认值是 xmkmf -a

表 6-5. 用于表示对 X11 某些组件的依赖关系的变量

X_IMAKE_PORT 用以提供 imake 以及许多其它用于构建 X11 的工具的 port。
X_LIBRARIES_PORT 用以提供 X11 库的 port。
X_CLIENTS_PORT 用以提供 X 客户的 port。
X_SERVER_PORT 用以提供 X 服务的 port。
X_FONTSERVER_PORT 用以提供字体服务的 port。
X_PRINTSERVER_PORT 用以提供打印服务的 port。
X_VFBSERVER_PORT 用以提供在虚拟帧缓存服务(virtual framebuffer server) 的 port。
X_NESTSERVER_PORT 用以提供嵌套 X 服务的 port。
X_FONTS_ENCODINGS_PORT 用以为字体提供编码的 port。
X_FONTS_MISC_PORT 用以提供多种位图字体的 port。
X_FONTS_100DPI_PORT 用以提供 100dpi 位图字体的 port。
X_FONTS_75DPI_PORT 用以提供 75dpi 位图字体的 port。
X_FONTS_CYRILLIC_PORT 用以提供西里尔位图字体的 port。
X_FONTS_TTF_PORT 用以提供 TrueType® 字体的 port。
X_FONTS_TYPE1_PORT 用以提供 Type1 字体的 port。
X_MANUALS_PORT 用以提供面向开发人员的联机手册的 port。

例 6-1. 在变量中使用与 X11 有关的变量

# 使用 X11 库并依赖字体服务和西里尔字体。
RUN_DEPENDS=   ${X11BASE}/bin/xfs:${X_FONTSERVER_PORT} \
               ${X11BASE}/lib/X11/fonts/cyrillic/crox1c.pcf.gz:${X_FONTS_CYRILLIC_PORT}

USE_XLIB=      yes

6.6.2 需要使用 Motif 的 port

如果您的 port 需要 Motif 库, 则应在 Makefile 中定义 USE_MOTIF。 默认的 Motif 实现是 x11-toolkits/open-motif。 用户可以通过设置 WANT_LESSTIF 变量来选择 x11-toolkits/lesstif 代替它。

bsd.port.mk 会将 MOTIFLIB 变量设置为到合适的 Motif 库的引用。 请使用补丁将您 port 中 MakefileImakefile 提到 Motif 库的地方改为 ${MOTIFLIB}

有两种比较常见的情况:

注意 MOTIFLIB (通常) 会展开为 -L/usr/X11R6/lib -lXm/usr/X11R6/lib/libXm.a, 所以不需要在其前加入 -L-l

6.6.3 X11 字体

如果 port 将为 X Window 系统安装字体, 将这些字体放到 X11BASE/lib/X11/fonts/local

若您有关于 FreeBSD ports 系统的问题, 请发送电子邮件至 <ports@FreeBSD.org>。
关于此文档的任何问题, 请致函 <doc@FreeBSD.org>。