我会mysql_config
使用configure.ac
AX_WITH_PROG宏搜索:
AX_WITH_PROG([MYSQL_CONFIG], [mysql_config], [AC_MSG_ERROR(mysql_config is required to build)])
MYSQL_CONFIG
因此,如果程序安装在意外位置,您的用户将能够将环境变量指向程序。如果用户还没有安装它,他们会收到一个很好的错误消息,在尝试构建之前提醒他们这个事实。
我可能也会设置 cflags、cppflags 和 libs configure.ac
,因为它们在configure
运行后不应该改变:
MYSQL_CONFIG_CFLAGS=`$MYSQL_CONFIG --cflags`
MYSQL_CONFIG_CPPFLAGS=`$MYSQL_CONFIG --include`
MYSQL_CONFIG_LIBS=`$MYSQL_CONFIG --libs`
AC_SUBST([MYSQL_CONFIG_CFLAGS])
AC_SUBST([MYSQL_CONFIG_CPPFLAGS])
AC_SUBST([MYSQL_CONFIG_LIBS])
并将它们放置在Makefile.am
db_CFLAGS = -Wall $(MYSQL_CONFIG_CFLAGS)
db_CPPFLAGS=$(MYSQL_CONFIG_CPPFLAGS)
db_LDADD=$(MYSQL_CONFIG_LIBS)
如果您只需要头文件,您可能不需要设置 cflags 变量。