AC_SUBST以指定其他源目录

问题描述 投票:0回答:1

我有一个将变量定义为的配置:

AC_ARG_WITH(mylib,
[  --with-mylib=PATH     Sets PATH for my additional sources (../mylib) ],
[
        MYLIB_PATH="${withval}"
        AC_MSG_RESULT(Using mylib source from ${withval})
],[
        MYLIB_PATH="../mylib"
])

dnl convert to absolute path
MYLIB_PATH=`readlink -f ${MYLIB_PATH}`
AC_SUBST(MYLIB_PATH)
AC_OUTPUT(Makefile src/Makefile)

我的最高级别Makefile.am是:

ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src

然后在我的src/Makefile.am中,我想从指定的mylib路径添加源:

...
bin_PROGRAMS = fooApp
fooApp_SOURCES = main.c \
            @MYLIB_PATH@/logger.c
fooApp_CFLAGS = -I@MYLIB_PATH@/lib

因此,我为这些共享源保留一个单独的存储库。在配置过程中,我可以指定将它们检出的位置。即:

./configure --with-mylib=/tmp/mylib 

不幸的是,当我运行configure时,该脚本似乎在我的src下创建了一个.deps(用于.Po文件),就像它删除了路径的第一个斜杠一样:

src/tmp/mylib/.deps/fooApp-logger.Po

现在,显然make失败,因为它试图从路径/tmp/mylib/.deps/fooApp-logger.Po加载.Po文件。

知道我在做什么错吗?告诉配置在哪里可以找到我的其他来源的正确方法是什么?

我有一个将变量定义为的配置:AC_ARG_WITH(mylib,[--with-mylib = PATH为我的其他源(../mylib)设置PATH]],[MYLIB_PATH =“ $ {withval}” AC_MSG_RESULT(。 ..

makefile autotools autoconf automake
1个回答
0
投票

对于面临类似问题的任何人,我都怀疑是自动make的问题,该问题在从通过AC_SUBST的扩展路径计算.Po文件的路径位置时做错了。

© www.soinside.com 2019 - 2024. All rights reserved.