Как проверить, является ли это 32/64 битной ОС в файле automake? - PullRequest
0 голосов
/ 31 октября 2018

Я хочу проверить, является ли используемая операционная система 32-битной или 64-битной в файле automake (.am).

1 Ответ

0 голосов
/ 31 октября 2018

configure обычно довольно хорошо разбирается, на какой ОС / архитектуре он работает, и предоставляет эту информацию через несколько макросов : AC_CANONICAL_BUILD, AC_CANONICAL_HOST и AC_CANONICAL_TARGET.

Конечный пользователь configure может изменить это предположение, добавив flags к вызову configure. Определение «build», «host» и «target» также можно найти по этой ссылке.

Я не уверен, о какой ОС или ЦП вы заботитесь. На сборочной машине вы выполняете компиляцию программного обеспечения. Это может быть то же самое, что и хост-компьютер, на котором выполняется вывод компиляции сборки. Так что, думаю, ты заботишься о хозяине, так что ...

configure.ac

...
AC_CANONICAL_HOST
HOST_OS=""
AS_CASE([$host_cpu],
        [x86_64|aarch64*|mips64*|ppc64*|sparc64],
        [
            HOST_OS="64"
        ],
        [i?86|arm*|mips*|ppc*|sparc],
        [
            HOST_OS="32"
        ])

AC_SUBST([HOST_OS])

Makefile.am

foo_CPPFLAGS = -DHOST_OS=$(HOST_OS)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...