This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch V2] libgfortran: do not assume libm


On Mon, Mar 26, 2012 at 11:44, Tristan Gingold <gingold@adacore.com> wrote:
>
> On Mar 22, 2012, at 11:06 AM, Paolo Bonzini wrote:
>
>> Il 22/03/2012 09:30, Tristan Gingold ha scritto:
>>> Hi,
>>>
>>> this is version 2 of the patch.
>>>
>>> The initial problem is that libgfortran configure.ac used AC_CHECK_LIB([m]â) to check wether several math functions are available. ÂThat doesn't work on VMS, because there is no such things as a libm.
>>>
>>> It seems to me that there are no autoconf macro to check wether a function is available: AC_CHECK_FUNC[S] don't allow to specify additional include files (necessary on VMS as some math functions are renamed through macros), and AC_CHECK_DECL only checks the presence of the declaration (as pointed out by Ralf).
>>>
>>> So I have finally learnt a little bit more about autoconf and added a new file: config/math.m4 (build machinery maintainer cc:)
>>> libgfortran/configure.ac now uses the new GCC_CHECK_MATH_FUNC macro.
>>>
>>> Bootstrapped without gfortran regressions on x86_64-darwin.
>>>
>>> Ok for trunk ?
>>>
>>> (I will submit a follow-up change in libquadmath once this change is approved).
>>>
>>> Tristan.
>>>
>>> config/
>>> 2012-03-22 ÂTristan Gingold Â<gingold@adacore.com>
>>>
>>> Â Â Â* math.m4: New file.
>>>
>>> libgfortran/
>>> 2012-03-22 ÂTristan Gingold Â<gingold@adacore.com>
>>>
>>> Â Â Â* configure.ac: Use GCC_CHECK_MATH_FUNC for math functions.
>>> Â Â Â* acinclude.m4: Include ../config/math.m4
>>> Â Â Â* configure: Regenerate.
>>> Â Â Â* Makefile.in: Regenerate.
>>
>> Ok.
>
> Thanks, now committed.

On x86_64-unknown-linux-gnu bootstrap I see the following:


make[1]: Entering directory
`/home/janne/src/gfortran/trunk/objdir-git/x86_64-unknown-linux-gnu/libgfortran'
make  check-am
make[2]: Entering directory
`/home/janne/src/gfortran/trunk/objdir-git/x86_64-unknown-linux-gnu/libgfortran'
(CDPATH="${ZSH_VERSION+.}:" && cd ../../../trunk-git/libgfortran &&
/bin/bash /home/janne/src/gfortran/trunk/trunk-git/missing --run
autoheader)
true  DO=all multi-do # make
make[1]: Entering directory `/home/janne/src/gfortran/trunk/objdir-git/gcc'
Making a new config file...
echo "set tmpdir
/home/janne/src/gfortran/trunk/objdir-git/gcc/testsuite" >> ./site.tmp
autoheader: warning: missing template: HAVE_ACOS
autoheader: Use AC_DEFINE([HAVE_ACOS], [], [Description])
autoheader: warning: missing template: HAVE_ACOSF
autoheader: warning: missing template: HAVE_ACOSH
autoheader: warning: missing template: HAVE_ACOSHF
autoheader: warning: missing template: HAVE_ACOSHL
autoheader: warning: missing template: HAVE_ACOSL
autoheader: warning: missing template: HAVE_ASIN
autoheader: warning: missing template: HAVE_ASINF
autoheader: warning: missing template: HAVE_ASINH
autoheader: warning: missing template: HAVE_ASINHF
autoheader: warning: missing template: HAVE_ASINHL
autoheader: warning: missing template: HAVE_ASINL
autoheader: warning: missing template: HAVE_ATAN
autoheader: warning: missing template: HAVE_ATAN2
autoheader: warning: missing template: HAVE_ATAN2F
autoheader: warning: missing template: HAVE_ATAN2L
autoheader: warning: missing template: HAVE_ATANF
autoheader: warning: missing template: HAVE_ATANH
autoheader: warning: missing template: HAVE_ATANHF
autoheader: warning: missing template: HAVE_ATANHL
autoheader: warning: missing template: HAVE_ATANL
autoheader: warning: missing template: HAVE_CABS
autoheader: warning: missing template: HAVE_CABSF
autoheader: warning: missing template: HAVE_CABSL
autoheader: warning: missing template: HAVE_CACOS
autoheader: warning: missing template: HAVE_CACOSF
autoheader: warning: missing template: HAVE_CACOSH
autoheader: warning: missing template: HAVE_CACOSHF
autoheader: warning: missing template: HAVE_CACOSHL
autoheader: warning: missing template: HAVE_CACOSL
autoheader: warning: missing template: HAVE_CARG
autoheader: warning: missing template: HAVE_CARGF
autoheader: warning: missing template: HAVE_CARGL
autoheader: warning: missing template: HAVE_CASIN
autoheader: warning: missing template: HAVE_CASINF
autoheader: warning: missing template: HAVE_CASINH
autoheader: warning: missing template: HAVE_CASINHF
autoheader: warning: missing template: HAVE_CASINHL
autoheader: warning: missing template: HAVE_CASINL
autoheader: warning: missing template: HAVE_CATAN
autoheader: warning: missing template: HAVE_CATANF
autoheader: warning: missing template: HAVE_CATANH
autoheader: warning: missing template: HAVE_CATANHF
autoheader: warning: missing template: HAVE_CATANHL
autoheader: warning: missing template: HAVE_CATANL
autoheader: warning: missing template: HAVE_CCOS
autoheader: warning: missing template: HAVE_CCOSF
autoheader: warning: missing template: HAVE_CCOSH
autoheader: warning: missing template: HAVE_CCOSHF
autoheader: warning: missing template: HAVE_CCOSHL
autoheader: warning: missing template: HAVE_CCOSL
autoheader: warning: missing template: HAVE_CEIL
autoheader: warning: missing template: HAVE_CEILF
autoheader: warning: missing template: HAVE_CEILL
autoheader: warning: missing template: HAVE_CEXP
autoheader: warning: missing template: HAVE_CEXPF
autoheader: warning: missing template: HAVE_CEXPL
autoheader: warning: missing template: HAVE_CLOG10
autoheader: warning: missing template: HAVE_CLOG10F
autoheader: warning: missing template: HAVE_CLOG10L
autoheader: warning: missing template: HAVE_CLOGF
autoheader: warning: missing template: HAVE_CLOGL
autoheader: warning: missing template: HAVE_COPYSIGN
autoheader: warning: missing template: HAVE_COPYSIGNF
autoheader: warning: missing template: HAVE_COPYSIGNL
autoheader: warning: missing template: HAVE_COS
autoheader: warning: missing template: HAVE_COSF
autoheader: warning: missing template: HAVE_COSH
autoheader: warning: missing template: HAVE_COSHF
autoheader: warning: missing template: HAVE_COSHL
autoheader: warning: missing template: HAVE_COSL
autoheader: warning: missing template: HAVE_CPOW
autoheader: warning: missing template: HAVE_CPOWF
autoheader: warning: missing template: HAVE_CPOWL
autoheader: warning: missing template: HAVE_CSIN
autoheader: warning: missing template: HAVE_CSINF
autoheader: warning: missing template: HAVE_CSINH
autoheader: warning: missing template: HAVE_CSINHF
autoheader: warning: missing template: HAVE_CSINHL
autoheader: warning: missing template: HAVE_CSINL
autoheader: warning: missing template: HAVE_CSQRT
autoheader: warning: missing template: HAVE_CSQRTF
autoheader: warning: missing template: HAVE_CSQRTL
autoheader: warning: missing template: HAVE_CTAN
autoheader: warning: missing template: HAVE_CTANF
autoheader: warning: missing template: HAVE_CTANH
autoheader: warning: missing template: HAVE_CTANHF
autoheader: warning: missing template: HAVE_CTANHL
autoheader: warning: missing template: HAVE_CTANL
autoheader: warning: missing template: HAVE_ERF
autoheader: warning: missing template: HAVE_ERFC
autoheader: warning: missing template: HAVE_ERFCF
autoheader: warning: missing template: HAVE_ERFCL
autoheader: warning: missing template: HAVE_ERFF
autoheader: warning: missing template: HAVE_ERFL
autoheader: warning: missing template: HAVE_EXP
autoheader: warning: missing template: HAVE_EXPF
autoheader: warning: missing template: HAVE_EXPL
autoheader: warning: missing template: HAVE_FABS
autoheader: warning: missing template: HAVE_FABSF
autoheader: warning: missing template: HAVE_FABSL
autoheader: warning: missing template: HAVE_FLOOR
autoheader: warning: missing template: HAVE_FLOORF
autoheader: warning: missing template: HAVE_FLOORL
autoheader: warning: missing template: HAVE_FMOD
autoheader: warning: missing template: HAVE_FMODF
autoheader: warning: missing template: HAVE_FMODL
autoheader: warning: missing template: HAVE_FREXP
autoheader: warning: missing template: HAVE_FREXPF
autoheader: warning: missing template: HAVE_FREXPL
autoheader: warning: missing template: HAVE_HYPOT
autoheader: warning: missing template: HAVE_HYPOTF
autoheader: warning: missing template: HAVE_HYPOTL
autoheader: warning: missing template: HAVE_J0
autoheader: warning: missing template: HAVE_J0F
autoheader: warning: missing template: HAVE_J0L
autoheader: warning: missing template: HAVE_J1
autoheader: warning: missing template: HAVE_J1F
autoheader: warning: missing template: HAVE_J1L
autoheader: warning: missing template: HAVE_JN
autoheader: warning: missing template: HAVE_JNF
autoheader: warning: missing template: HAVE_JNL
autoheader: warning: missing template: HAVE_LDEXP
autoheader: warning: missing template: HAVE_LDEXPF
autoheader: warning: missing template: HAVE_LDEXPL
autoheader: warning: missing template: HAVE_LGAMMA
autoheader: warning: missing template: HAVE_LGAMMAF
autoheader: warning: missing template: HAVE_LGAMMAL
autoheader: warning: missing template: HAVE_LLROUND
autoheader: warning: missing template: HAVE_LLROUNDF
autoheader: warning: missing template: HAVE_LLROUNDL
autoheader: warning: missing template: HAVE_LOG
autoheader: warning: missing template: HAVE_LOG10
autoheader: warning: missing template: HAVE_LOG10F
autoheader: warning: missing template: HAVE_LOG10L
autoheader: warning: missing template: HAVE_LOGF
autoheader: warning: missing template: HAVE_LOGL
autoheader: warning: missing template: HAVE_LROUND
autoheader: warning: missing template: HAVE_LROUNDF
autoheader: warning: missing template: HAVE_LROUNDL
autoheader: warning: missing template: HAVE_NEXTAFTER
autoheader: warning: missing template: HAVE_NEXTAFTERF
autoheader: warning: missing template: HAVE_NEXTAFTERL
autoheader: warning: missing template: HAVE_POW
autoheader: warning: missing template: HAVE_POWF
autoheader: warning: missing template: HAVE_POWL
autoheader: warning: missing template: HAVE_ROUND
autoheader: warning: missing template: HAVE_ROUNDF
autoheader: warning: missing template: HAVE_ROUNDL
autoheader: warning: missing template: HAVE_SCALBN
autoheader: warning: missing template: HAVE_SCALBNF
autoheader: warning: missing template: HAVE_SCALBNL
autoheader: warning: missing template: HAVE_SIN
autoheader: warning: missing template: HAVE_SINF
autoheader: warning: missing template: HAVE_SINH
autoheader: warning: missing template: HAVE_SINHF
autoheader: warning: missing template: HAVE_SINHL
autoheader: warning: missing template: HAVE_SINL
autoheader: warning: missing template: HAVE_SQRT
autoheader: warning: missing template: HAVE_SQRTF
autoheader: warning: missing template: HAVE_SQRTL
autoheader: warning: missing template: HAVE_TAN
autoheader: warning: missing template: HAVE_TANF
autoheader: warning: missing template: HAVE_TANH
autoheader: warning: missing template: HAVE_TANHF
autoheader: warning: missing template: HAVE_TANHL
autoheader: warning: missing template: HAVE_TANL
autoheader: warning: missing template: HAVE_TGAMMA
autoheader: warning: missing template: HAVE_TGAMMAF
autoheader: warning: missing template: HAVE_TGAMMAL
autoheader: warning: missing template: HAVE_TRUNC
autoheader: warning: missing template: HAVE_TRUNCF
autoheader: warning: missing template: HAVE_TRUNCL
autoheader: warning: missing template: HAVE_Y0
autoheader: warning: missing template: HAVE_Y0F
autoheader: warning: missing template: HAVE_Y0L
autoheader: warning: missing template: HAVE_Y1
autoheader: warning: missing template: HAVE_Y1F
autoheader: warning: missing template: HAVE_Y1L
autoheader: warning: missing template: HAVE_YN
autoheader: warning: missing template: HAVE_YNF
autoheader: warning: missing template: HAVE_YNL
make[2]: *** [../../../trunk-git/libgfortran/config.h.in] Error 1
make[2]: Leaving directory
`/home/janne/src/gfortran/trunk/objdir-git/x86_64-unknown-linux-gnu/libgfortran'
make[1]: *** [check] Error 2
make[1]: Leaving directory
`/home/janne/src/gfortran/trunk/objdir-git/x86_64-unknown-linux-gnu/libgfortran'
make: *** [check-target-libgfortran] Error 2
make: *** Waiting for unfinished jobs....


Anybody else seeing something similar? The strange thing is that even
though there is an error the bootstrapping continues just fine. Though
I haven't had time to look into it deeper.



-- 
Janne Blomqvist


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]