autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: problem with cached values


From: Vincent Torri
Subject: Re: problem with cached values
Date: Wed, 27 Dec 2006 11:06:01 +0100 (CET)


Thank you for your answers

On Tue, 26 Dec 2006, Eric Blake wrote:

dnl
dnl AM_CHECK_STLPORT(platform, prefix [, ACTION-IF-FOUND [, 
ACTION-IF-NOT-FOUND]]])

You should not need to pass platform to the macro, as it is already
available as a shell variable.

ok, fixed.

dnl Test for STLport 5.0 and define STLPORT_LIBS and STLPORT_CFLAGS.
dnl
AC_DEFUN([AM_CHECK_STLPORT],

The AM_* namespace is reserved for automake.  You should not reuse that
prefix, but invent one more appropriate for your package; perhaps
STL_CHECK_STLPORT.

ok (not fixed yet, it's a minor problem)

    case "$1" in
       *bsd* | linux* | irix* | solaris* )

Gross.  Have you considered using libtool?  And even if you don't use
libtool, hard-coding platforms like this is not very portable, and
severely limits the utility of your macro.

I don't want to use libtool. libtool is slow, checks unneeded things (at least for me). In addition, my project is intended to be used in a small number of platform (mainly windows, linux, bsd, solaris (and mac os x, which almost a bsd)).

       [[cC]][[yY]][[gG]][[wW]][[iI]][[nN]]* | mingw32* | mks*)
          if test x"${core_debug_mode}" = x"yes" ; then
             if test x"${with_stlport_lib_debug_name_arg}" = x"yes" ; then
                STLPORT_LIB_NAME=${with_stlport_lib_name}
             else
                STLPORT_LIB_NAME="libstlportg.5.1.a"

This only finds a static library, but cygwin supports shared libraries
(and in your case, you probably want to prefer the shared version).

I agree, but i've not succeeded in having the stlport dll with mingw. I have files ending with .dll.a. I don't know if they are shared lib or not.

    dnl We check the headers, then the library.
    stlport_lib_fullname=${stlport_libdir_path}/${STLPORT_LIB_NAME}
    saved_CPPFLAGS="${CPPFLAGS}"
    CPPFLAGS="${CPPFLAGS} -I${stlport_includedir_path}"
    AC_CHECK_HEADERS(

Here's where your caching occurs.  Your nested invocation is remembering
the results of the outer invocation, because AC_CHECK_* is given the same
parameters between the two runs.  I'm not sure how I would improve things,
but you are right that calling your current macro in a nested manner runs
afoul of caching rules.

Ok. I've tried that check :

have_stlport_in_usr="no"
AM_CHECK_STLPORT(
   [/usr],
   [have_stlport_in_usr="yes"],
   [])

if test "x${have_stlport_in_usr} = "xno" ; then
   AM_CHECK_STLPORT(
      [/usr/local],
      [],
      [AC_MSG_ERROR("STLport is needed !")])
fi

But I have that error during the execution of configure:

checking stl/config/user_config.h usability... no
checking stl/config/user_config.h presence... no
checking for stl/config/user_config.h... no
configure: WARNING: STLport headers not in /usr/include/stlport
./configure: line 5680: syntax error near unexpected token `"(c'
./configure: line 5680: `  echo $ECHO_N "(cached) $ECHO_C" >&6'


Vincent




reply via email to

[Prev in Thread] Current Thread [Next in Thread]