On 06/06/2013 12:39 AM, Saul Wold wrote:
On 06/05/2013 12:30 AM, rongqing...@windriver.com wrote:
From: "Roy.Li" <rongqing...@windriver.com>
fix two cross-compile issue to enable termios
Signed-off-by: Roy.Li <rongqing...@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.ouy...@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
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core