ARM A-32的条件自动生成编译?
我有一个需要为ARM a-32编译的源文件。A-32包括ARMv4和ARMv7(但不包括AARC32或AARC64)。我们的GNU makefile具有:ARM A-32的条件自动生成编译?,arm,autotools,automake,Arm,Autotools,Automake,我有一个需要为ARM a-32编译的源文件。A-32包括ARMv4和ARMv7(但不包括AARC32或AARC64)。我们的GNU makefile具有: IS_ARM32 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'arm|armhf|arm7l|eabihf') ... ifeq ($(IS_ARM32),1) AES_ARCH = -march=armv7-a -marm SRCS += aes-armv4.S endif ... if
IS_ARM32 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'arm|armhf|arm7l|eabihf')
...
ifeq ($(IS_ARM32),1)
AES_ARCH = -march=armv7-a -marm
SRCS += aes-armv4.S
endif
...
ifeq ($(IS_ARM32),1)
aes-armv4.o : aes-armv4.S
$(CC) $(strip $(CXXFLAGS) $(AES_ARCH) -mfloat-abi=$(FP_ABI) -c) $<
endif
在这种情况下,configure.ac应该使用
有条件的(参见)
在链接到条件之后,我没有看到示例中使用的像LINUX
这样的条件列表。它还缺少对架构(如ARM和PowerPC)的条件编译的讨论
汽车制造商对ARM A-32使用什么条件
或者如何有条件地编译ARM A-32
在连接到条件句之后,我没有看到
本手册示例中的条件,如LINUX
。它还缺少一个
讨论ARM和IBM等平台的条件编译
PowerPC
您似乎忽略了手册引用摘录中的以下内容:
if ARM32
hello_SOURCES = hello-arm32.c hello-common.c
else
hello_SOURCES = hello-generic.c hello-common.c
endif
在这种情况下,configure.ac应该使用
有条件的
AM_CONDITIONAL
是一个Autoconf宏,您可以使用它定义一个谓词以用于自动生成条件。没有预制谓词
汽车制造商在ARM A-32上使用什么
或者如何有条件地编译ARM A-32
鉴于您现有的方法是基于
您可以在configure.ac中执行此操作:
AM_CONDITIONAL([ARM32], [echo "$HOSTX" | $GREP -i -c -E 'arm|armhf|arm7l|eabihf'])
这假设HOSTX
和GREP
是已经设置了值的autoconf输出变量。如果你不是这样的话,那么我相信它至少为你提供了一个模型
使用configure.ac中定义的ARM32
谓词,您可以在Makefile.am
文件中使用它,就像手册中的示例一样:
if ARM32
hello_SOURCES = hello-arm32.c hello-common.c
else
hello_SOURCES = hello-generic.c hello-common.c
endif
if ARM32
hello_SOURCES = hello-arm32.c hello-common.c
else
hello_SOURCES = hello-generic.c hello-common.c
endif