From: Rongqing Li <rongqing.li@windriver.com>
To: Saul Wold <sgw@linux.intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] socat: enable termios
Date: Thu, 6 Jun 2013 13:44:20 +0800 [thread overview]
Message-ID: <51B021B4.4040406@windriver.com> (raw)
In-Reply-To: <51AF69B5.2000503@linux.intel.com>
On 06/06/2013 12:39 AM, Saul Wold wrote:
> On 06/05/2013 12:30 AM, rongqing.li@windriver.com wrote:
>> From: "Roy.Li" <rongqing.li@windriver.com>
>>
>> fix two cross-compile issue to enable termios
>>
>> Signed-off-by: Roy.Li <rongqing.li@windriver.com>
>> ---
>> .../socat/files/fix-xxx_SHIFT-autoheader.patch | 40 +++++++++
>> .../socat/files/fix_termios.patch | 85
>> ++++++++++++++++++++
>> meta/recipes-connectivity/socat/socat_1.7.2.1.bb | 8 +-
>> 3 files changed, 129 insertions(+), 4 deletions(-)
>> create mode 100644
>> meta/recipes-connectivity/socat/files/fix-xxx_SHIFT-autoheader.patch
>> create mode 100644
>> meta/recipes-connectivity/socat/files/fix_termios.patch
>>
>> diff --git
>> a/meta/recipes-connectivity/socat/files/fix-xxx_SHIFT-autoheader.patch
>> b/meta/recipes-connectivity/socat/files/fix-xxx_SHIFT-autoheader.patch
>> new file mode 100644
>> index 0000000..6f7b30b
>> --- /dev/null
>> +++
>> b/meta/recipes-connectivity/socat/files/fix-xxx_SHIFT-autoheader.patch
>> @@ -0,0 +1,40 @@
>> +Subject: [PATCH] fix autoheader for *_SHIFT values.
>> +
>> +Upstream-Status: Inappropriate [configuration]
>> +
> I am wondering if this could be submitted upstream?
>
>
OK, I send the upstream.
>> +autoheader would not generate C `#define' statements if
>> +the first param of AC_DEFINE_UNQUOTED is a shell variable.
>> +This will cause build failures while enable termios, so
>> +expand these AC_DEFINE_UNQUOTED from the macro.
>> +
>> +Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
>> +---
>> + configure.in | 5 +++--
>> + 1 file changed, 3 insertions(+), 2 deletions(-)
>> +
>> +diff --git a/configure.in b/configure.in
>> +index c54e4c4..13bae64 100644
>> +--- a/configure.in
>> ++++ b/configure.in
>> +@@ -1335,8 +1335,6 @@ AC_CACHE_CHECK(shift offset of $1, $2,
>> + [$2=-1]
>> + )
>> + LIBS="$LIBS1"])
>> +-SHIFT_NAME="$1"_SHIFT
>> +-AC_DEFINE_UNQUOTED($SHIFT_NAME, ${$2}, [foo])
>> + if test "$2" = -1; then
>> + AC_MSG_WARN(please determine $1_SHIFT manually)
>> + fi
>> +@@ -1346,6 +1344,9 @@ AC_SHIFT_OFFSET(CRDLY, sc_cv_sys_crdly_shift)
>> + AC_SHIFT_OFFSET(TABDLY, sc_cv_sys_tabdly_shift)
>> + AC_SHIFT_OFFSET(CSIZE, sc_cv_sys_csize_shift)
>> +
>> ++AC_DEFINE_UNQUOTED(CRDLY_SHIFT, ${sc_cv_sys_crdly_shift}, [shift for
>> CRDLY, carriage return delay])
>> ++AC_DEFINE_UNQUOTED(TABDLY_SHIFT, ${sc_cv_sys_tabdly_shift}, [shift
>> for TABDLY, horizontal tab delay])
>> ++AC_DEFINE_UNQUOTED(CSIZE_SHIFT, ${sc_cv_sys_csize_shift}, [shift for
>> CSIZE, character size])
>> +
>> + dnl find what physical type (basic C type) is equivalent to the
>> given type.
>> + dnl arg1: include file(s)
>> +--
>> +1.7.9.5
>> +
>> diff --git a/meta/recipes-connectivity/socat/files/fix_termios.patch
>> b/meta/recipes-connectivity/socat/files/fix_termios.patch
>> new file mode 100644
>> index 0000000..c16949c
>> --- /dev/null
>> +++ b/meta/recipes-connectivity/socat/files/fix_termios.patch
>> @@ -0,0 +1,85 @@
>> +Make sure ISPEED_OFFSET and OSPEED_OFFSET gets defined.
>> +
>> +Upstream-Status: Inappropriate [configuration]
>> +
>> +AC_TRY_RUN() can not work on a cross-compile environment, so
>> +define them directly.
>> +
> No Signed-off-by: tag
>
Fix it in Version 2.
> Can't this be handled differently by setting these on the EXTRA_OECONF?
Thanks. I will fix it.
>
>> +Index: socat-1.7.2.0/configure.in
>> +===================================================================
>> +--- socat-1.7.2.0.orig/configure.in
>> ++++ socat-1.7.2.0/configure.in
>> +@@ -893,39 +893,43 @@
>> + [sc_cv_termios_ispeed=no])])
>> + if test $sc_cv_termios_ispeed = yes; then
>> + AC_DEFINE(HAVE_TERMIOS_ISPEED, [1], [have ispeed])
>> ++ if test "x$ac_cv_ispeed_offset" != "x"; then
>> ++ AC_DEFINE_UNQUOTED(ISPEED_OFFSET, $ac_cv_ispeed_offset, [have
>> ispeed offset])
>> ++ AC_DEFINE(OSPEED_OFFSET, (ISPEED_OFFSET+1) , [have ospeed offset])
>> ++ fi
>> + fi
>> + AC_MSG_RESULT($sc_cv_termios_ispeed)
>> +
>> +-if test $sc_cv_termios_ispeed = yes; then
>> +-AC_MSG_CHECKING(for offset of c_ispeed in struct termios)
>> +-LIBS1="$LIBS"; LIBS="" # avoid libwrap allow_severity undefined
>> +-AC_CACHE_VAL(ac_cv_ispeed_offset,
>> +- [conftestspeedoff="conftestspeedoff.out"
>> +- AC_TRY_RUN([
>> +- #include <errno.h>
>> +- #include <stdio.h>
>> +- #include <termios.h>
>> +- #include <string.h>
>> +- main(){
>> +- struct termios t;
>> +- FILE *f;
>> +- if ((f=fopen("$conftestspeedoff","w"))==NULL){
>> +- fprintf(stderr,"\\"$conftestspeedoff\\":
>> %s\n",strerror(errno)); exit(-1);
>> +- }
>> +- fprintf(f, "%d", ((char*)&t.c_ispeed-(char*)&t)/sizeof(speed_t));
>> +- exit(0);
>> +- }
>> +- ],
>> +- [ac_cv_ispeed_offset=`cat $conftestspeedoff`],
>> +- [ac_cv_ispeed_offset=-1],
>> +- [ac_cv_ispeed_offset=-1] #!
>> +-)])
>> +-LIBS="$LIBS1"
>> +-AC_MSG_RESULT($ac_cv_ispeed_offset)
>> +- if test $ac_cv_ispeed_offset -ge 0; then
>> +- AC_DEFINE_UNQUOTED(ISPEED_OFFSET, $ac_cv_ispeed_offset, [have
>> ispeed])
>> +- fi
>> +-fi
>> ++# if test $sc_cv_termios_ispeed = yes; then
>> ++# AC_MSG_CHECKING(for offset of c_ispeed in struct termios)
>> ++# LIBS1="$LIBS"; LIBS="" # avoid libwrap allow_severity undefined
>> ++# AC_CACHE_VAL(ac_cv_ispeed_offset,
>> ++# [conftestspeedoff="conftestspeedoff.out"
>> ++# AC_TRY_RUN([
>> ++# #include <errno.h>
>> ++# #include <stdio.h>
>> ++# #include <termios.h>
>> ++# #include <string.h>
>> ++# main(){
>> ++# struct termios t;
>> ++# FILE *f;
>> ++# if ((f=fopen("$conftestspeedoff","w"))==NULL){
>> ++# fprintf(stderr,"\\"$conftestspeedoff\\":
>> %s\n",strerror(errno)); exit(-1);
>> ++# }
>> ++# fprintf(f, "%d", ((char*)&t.c_ispeed-(char*)&t)/sizeof(speed_t));
>> ++# exit(0);
>> ++# }
>> ++# ],
>> ++# [ac_cv_ispeed_offset=`cat $conftestspeedoff`],
>> ++# [ac_cv_ispeed_offset=-1],
>> ++# [ac_cv_ispeed_offset=-1] #!
>> ++# )])
>> ++# LIBS="$LIBS1"
>> ++# AC_MSG_RESULT($ac_cv_ispeed_offset)
>> ++# if test $ac_cv_ispeed_offset -ge 0; then
>> ++# AC_DEFINE_UNQUOTED(ISPEED_OFFSET, $ac_cv_ispeed_offset, [have
>> ispeed])
>> ++# fi
>> ++# fi
>> +
>> + # there is another issue with termios: OSR requires "#define _SVID3
>> ..."
>> + # for reasonable termios support. We check this situation using IMAXBEL
>> diff --git a/meta/recipes-connectivity/socat/socat_1.7.2.1.bb
>> b/meta/recipes-connectivity/socat/socat_1.7.2.1.bb
>> index 950e1e5..a3b5f7a 100644
>> --- a/meta/recipes-connectivity/socat/socat_1.7.2.1.bb
>> +++ b/meta/recipes-connectivity/socat/socat_1.7.2.1.bb
>> @@ -11,15 +11,15 @@ LIC_FILES_CHKSUM =
>> "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
>>
>> file://README;beginline=252;endline=282;md5=79246f11a1db0b6ccec54d1fb711c01e"
>>
>>
>>
>> -PR = "r0"
>> +PR = "r1"
> No PR Bump required anymore
>
Fix it on version 2
Thanks.
-Roy
>
> Sau!
>
>> SRC_URI =
>> "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2;name=src
>> \
>> - file://compile.patch"
>> + file://compile.patch \
>> + file://fix_termios.patch \
>> + file://fix-xxx_SHIFT-autoheader.patch"
>>
>> SRC_URI[src.md5sum] = "7ddfea7e9e85f868670f94d3ea08358b"
>> SRC_URI[src.sha256sum] =
>> "faea2ed6c63bb97a59237fd43b7c35ad248317297e8bfeb2e6f2ec1e6bc58277"
>>
>> -EXTRA_OECONF = " --disable-termios "
>> -
>> inherit autotools
>>
>> do_install_prepend () {
>>
>
>
--
Best Reagrds,
Roy | RongQing Li
next prev parent reply other threads:[~2013-06-06 5:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-05 7:30 [PATCH 0/1] socat enable termios rongqing.li
2013-06-05 7:30 ` [PATCH 1/1] socat: " rongqing.li
2013-06-05 16:39 ` Saul Wold
2013-06-06 5:44 ` Rongqing Li [this message]
-- strict thread matches above, loose matches on Subject: below --
2013-06-06 8:32 [PATCH 0/1 v2] " rongqing.li
2013-06-06 8:32 ` [PATCH 1/1] " rongqing.li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51B021B4.4040406@windriver.com \
--to=rongqing.li@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=sgw@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.