Найти базовый компилятор в configure - PullRequest
0 голосов
/ 13 июля 2010

У меня есть приложение, которое компилируется с использованием оболочек компилятора, таких как h5fc/h5cc (оболочки компилятора HDF5) или mpif90/mpicc (оболочки компилятора MPI).Это просто оболочки, и можно использовать аргумент -show, чтобы увидеть реальный базовый компилятор, например,

$ h5fc -show
ifort -fPIC [...] -lz -lm
$ mpif90 -show
ifort [...] -lmpichf90 -lmpichf90 -lpmpich -lmpich -lopa -lpthread

В обоих случаях базовым компилятором является ifort.Теперь я использую configure.ac, чтобы сгенерировать скрипт конфигурации для установки Makefile, и я хочу иметь возможность добавлять зависящие от компилятора аргументы в компилятор, но для этого требуется код в configure.ac, чтобы выяснить, чтобазовый компилятор h5fc/cc или mpif90/cc есть.Я полагаю, что это возможно, но я понятия не имею, как это сделать.У кого-нибудь есть какие-либо предложения?

Бонусный вопрос: на самом деле в некоторых случаях мне нужно скомпилировать с h5pfc/cc, который является оберткой HDF5 с поддержкой MPI:

$ h5pfc -show
mpif90 [...] -lsz -lz -lm

, которая потребуетитеративный поиск, потому что мне нужно сделать mpif90 -show ...

1 Ответ

1 голос
/ 13 июля 2010

Я наконец понял это - ответ просто сделать:

fccompiler = `h5fc -show | awk {'print $1'}`
AC_MSG_RESULT($fccompiler) # print out to check
...