From: Saul Wold <sgw@linux.intel.com>
To: rongqing.li@windriver.com
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] socat: enable termios
Date: Wed, 05 Jun 2013 09:39:17 -0700 [thread overview]
Message-ID: <51AF69B5.2000503@linux.intel.com> (raw)
In-Reply-To: <d4b82e1f0f05214985908f11d844899b31adf9fa.1370412765.git.rongqing.li@windriver.com>
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?
> +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
Can't this be handled differently by setting these on the EXTRA_OECONF?
> +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
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 () {
>
next prev parent reply other threads:[~2013-06-05 16:39 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 [this message]
2013-06-06 5:44 ` Rongqing Li
-- 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=51AF69B5.2000503@linux.intel.com \
--to=sgw@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=rongqing.li@windriver.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.