Re: configure patch for building with Solaris

Alexander Malysh <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Hi again,

Nikos Balkanas schrieb:
> Dear Alex,
> 
> It's their system (Solaris) and they can do whatever they want to it. 
> These include files are system files property of Sun.

If they say: "we support POSIX and C99" they _have_ to fix fix horrible 
bug...

> 
> The issue is whether kannel can build on Solaris or not. Right now it 
> can't, and I am not certain that this is a problem only with Solaris 10.
> 
> Granted it is not the first time that you make workarounds for 
> particular OS's "percularities". What's one more?

Hmm, I don't see any workarounds for any OS... just some defaults pre-set.

Anyway, I would commit a proper fix for this issue, but what you posted 
is not a proper fix because configure is always overwritten if autoconf 
called for kannel. So please try with some patch that changes only 
configure.in.

> 
> BTW, If I remove this constraint kannel builds fine on Solaris. Am I to 
> worry that I have a corrupted build? For what reason did C99 was 
> introduced after 1.4.1?
> 

kannel needs C99 at least for such structs:
static struct dlr_storage handles = {
     .type = "mysql",
     .dlr_add = dlr_mysql_add,
     .dlr_get = dlr_mysql_get,
     .dlr_update = dlr_mysql_update,
     .dlr_remove = dlr_mysql_remove,
     .dlr_shutdown = dlr_mysql_shutdown,
     .dlr_messages = dlr_mysql_messages,
     .dlr_flush = dlr_mysql_flush
};


> BR,
> Nikos
> ----- Original Message ----- From: "Alexander Malysh" <[email protected]>
> To: <[email protected]>
> Sent: Tuesday, November 18, 2008 10:57 AM
> Subject: Re: configure patch for building with Solaris
> 
> 
>> Hi,
>>
>> we definitely need C99, this is configure that checks for gnu99...
>> I think this is a bug in solaris and kannel has nothing todo with it.
>>
>> Thanks,
>> Alex
>>
>>
>> Nikos Balkanas schrieb:
>>> Hi list,
>>>  A couple of changes in configure so that it builds in Solaris. It 
>>> checks if os = solaris and CC = gcc and releaves the requirement for 
>>> gnu99 compiler (gcc after all is). Definition of gnu99 clashes with 
>>> Sun's definition of HUGE_VAL in /usr/include/iso/math_c99.h
>>>  Can someone explain me why the sudden interest for gnu99 compiler? 
>>> It didn't used to be so in 1.4.1 and kannel was compiling fine back 
>>> then.
>>>  BR,
>>> Nikos
>>>  *** configure.orig Tue Nov 18 02:36:50 2008
>>> --- configure Tue Nov 18 02:38:13 2008
>>> ***************
>>> *** 3210,3215 ****
>>> --- 3210,3221 ----
>>>     return 0;
>>>   }
>>>   _ACEOF
>>> + *os=${host##*-}
>>> + os=${os%%.*}
>>> + if [ "$os" == "solaris2" ] && [ "$CC" == "gcc" ]; then
>>> +   $as_echo "$as_me: failed program was:" >&5
>>> +   sed 's/^/| /' conftest.$ac_ext >&5
>>> + else
>>> *    for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all 
>>> -qlanglvl=extc99
>>>     do
>>>       CC="$ac_save_CC $ac_arg"
>>> ***************
>>> *** 3235,3247 ****
>>>   else
>>>     $as_echo "$as_me: failed program was:" >&5
>>>   sed 's/^/| /' conftest.$ac_ext >&5
>>> -
>>> -
>>>   fi
>>> -
>>>   rm -f core conftest.err conftest.$ac_objext
>>>     test "x$ac_cv_prog_cc_c99" != "xno" && break
>>>   done
>>>   rm -f conftest.$ac_ext
>>>   CC=$ac_save_CC
>>>  --- 3241,3251 ----
>>>   else
>>>     $as_echo "$as_me: failed program was:" >&5
>>>     sed 's/^/| /' conftest.$ac_ext >&5
>>>   fi
>>>   rm -f core conftest.err conftest.$ac_objext
>>>   test "x$ac_cv_prog_cc_c99" != "xno" && break
>>>   done
>>> + *fi
>>> *  rm -f conftest.$ac_ext
>>>   CC=$ac_save_CC
>>>
>>> ***************
>>> *** 3262,3268 ****
>>>  ! *if test "$ac_cv_prog_cc_c99" = "no"; then
>>> *      { { $as_echo "$as_me:$LINENO: error: \"Kannel requires a C 
>>> compiler that supports ISO C99.\"" >&5
>>>   $as_echo "$as_me: error: \"Kannel requires a C compiler that 
>>> supports ISO C99.\"" >&2;}
>>>      { (exit 1); exit 1; }; }
>>> --- 3266,3272 ----
>>>  ! *if [ "$ac_cv_prog_cc_c99" == "no" ] && !([ "$os" == "solaris2" ] 
>>> && [ "$CC" = "gcc" ]); then
>>> *      { { $as_echo "$as_me:$LINENO: error: \"Kannel requires a C 
>>> compiler that supports ISO C99.\"" >&5
>>>   $as_echo "$as_me: error: \"Kannel requires a C compiler that 
>>> supports ISO C99.\"" >&2;}
>>>      { (exit 1); exit 1; }; }
>>
>>
> 
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.