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; }; }
>>
>>
>
>
>