Re: [OE-core] [PATCH V2] tcl: Install header into 8.6 instead of PN-PV in user/include

2014-01-16 Thread Robert Yang


On 11/12/2013 12:07 PM, Khem Raj wrote:

This helps in compiling other programs like expect which
depend on private headers but 8.5, 8.6 and so on is enough
granularity and currently we had 8.6.x and so on which
means that expect recipe will need to be touched whenever there
is minor update of tcl.

Additionally the encode creating symlink to shared object in
patch and remove it from recipe

Refresh patches after making changes to Configure.in we
propertly generate configure and not patch is directly as
was the case.

Signed-off-by: Khem Raj raj.k...@gmail.com
---
  .../tcltk/tcl/alter-includedir.patch   | 46 
  .../tcl/fix_issue_with_old_distro_glibc.patch  | 12 ++--
  .../tcltk/tcl/fix_non_native_build_issue.patch | 12 ++--
  meta/recipes-devtools/tcltk/tcl/no_packages.patch  | 16 +++---
  .../tcltk/tcl/tcl-add-soname.patch | 64 ++
  .../tcl/tcl-remove-hardcoded-install-path.patch| 26 ++---
  meta/recipes-devtools/tcltk/tcl_8.6.1.bb   | 26 +
  7 files changed, 127 insertions(+), 75 deletions(-)
  create mode 100644 meta/recipes-devtools/tcltk/tcl/alter-includedir.patch

diff --git a/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch 
b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
new file mode 100644
index 000..f543910
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
@@ -0,0 +1,46 @@
+Lets install the include header and private header files into
+usr/include/tcl8.6 when version of tcl is 8.6.x
+
+Upstream-Status: Inappropriate [Configuration Specific]
+
+Signed-off-by: Khem Raj raj.k...@gmai.com
+
+Index: unix/Makefile.in
+===
+--- unix.orig/Makefile.in  2013-11-11 01:00:36.431550403 -0800
 unix/Makefile.in   2013-11-11 01:05:09.587557282 -0800
+@@ -53,7 +53,7 @@
+ SCRIPT_INSTALL_DIR= $(INSTALL_ROOT)$(TCL_LIBRARY)
+
+ # Directory in which to install the include file tcl.h:
+-INCLUDE_INSTALL_DIR   = $(INSTALL_ROOT)$(includedir)
++INCLUDE_INSTALL_DIR   = $(INSTALL_ROOT)$(includedir)/tcl$(VERSION)
+


Hi Khem,

I think that the tcl headers like tcl.h wass installed to:

/usr/include/tcl.h

with this patch, it will be installed:

/usr/include/tcl8.6/tcl.h

The problem is that, the tcl.h can't be found normally now, it breaks
the recipe which depends on tcl, the recipe which depends on tcl
has to use something like:

--with-tclinclude=${STAGING_INCDIR}/tcl8.6

once we upgrade the tcl to 8.7, then the recipe has to use:


--with-tclinclude=${STAGING_INCDIR}/tcl8.7

Seems that this is not good, can we change it back, please ?

// Robert




+ # Path to the private tcl header dir:
+ PRIVATE_INCLUDE_DIR   = @PRIVATE_INCLUDE_DIR@
+Index: unix/configure.in
+===
+--- unix.orig/configure.in 2013-11-11 01:00:36.467550403 -0800
 unix/configure.in  2013-11-11 01:00:36.503550404 -0800
+@@ -791,7 +791,7 @@
+ eval TCL_LIB_FILE=${TCL_LIB_FILE}
+
+ TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-PRIVATE_INCLUDE_DIR='$(includedir)'
++PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
+ HTML_DIR='$(DISTDIR)/html'
+
+ # Note:  in the following variable, it's important to use the absolute
+Index: unix/configure
+===
+--- unix.orig/configure2013-11-11 01:00:36.467550403 -0800
 unix/configure 2013-11-11 01:00:36.503550404 -0800
+@@ -19134,7 +19134,7 @@
+ eval TCL_LIB_FILE=${TCL_LIB_FILE}
+
+ TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-PRIVATE_INCLUDE_DIR='$(includedir)'
++PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
+ HTML_DIR='$(DISTDIR)/html'
+
+ # Note:  in the following variable, it's important to use the absolute
diff --git 
a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch 
b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
index ed58175..be27341 100644
--- a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
+++ b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
@@ -15,11 +15,11 @@ Fixes tcl target recipe build on old distros which have 
glibc older than 2.14
  Signed-Off-By: Nitin A Kamble nitin.a.kam...@intel.com
  2012/04/26

-diff --git unix.orig/Makefile.in unix/Makefile.in
-index 571d53f..16351f6 100644
 unix.orig/Makefile.in
-+++ unix/Makefile.in
-@@ -679,7 +679,7 @@ topDirName:
+Index: unix/Makefile.in
+===
+--- unix.orig/Makefile.in  2013-11-10 23:38:01.787425628 -0800
 unix/Makefile.in   2013-11-10 23:37:59.807425578 -0800
+@@ -686,7 +686,7 @@
   # tcltest executable gets the build directory burned into its ld search path.
   # This keeps tcltest from picking up an already installed version of the Tcl
   # library.
@@ -28,7 +28,7 @@ index 571d53f..16351f6 100644

Re: [OE-core] [PATCH V2] tcl: Install header into 8.6 instead of PN-PV in user/include

2014-01-16 Thread Robert Yang



On 01/16/2014 04:31 PM, Robert Yang wrote:


On 11/12/2013 12:07 PM, Khem Raj wrote:

This helps in compiling other programs like expect which
depend on private headers but 8.5, 8.6 and so on is enough
granularity and currently we had 8.6.x and so on which
means that expect recipe will need to be touched whenever there
is minor update of tcl.

+ # Directory in which to install the include file tcl.h:
+-INCLUDE_INSTALL_DIR= $(INSTALL_ROOT)$(includedir)
++INCLUDE_INSTALL_DIR= $(INSTALL_ROOT)$(includedir)/tcl$(VERSION)
+


Hi Khem,

I think that the tcl headers like tcl.h wass installed to:

/usr/include/tcl.h

with this patch, it will be installed:

/usr/include/tcl8.6/tcl.h



And what's worse is that some recipe like rrdtool may use:

#include tcl.h

will fail to, it has to use #include tcl8.6/tcl.h or something else similar.

I think that we'd better change it back, I'd like to send a patch for this if
you are fine with it.

// Robert



The problem is that, the tcl.h can't be found normally now, it breaks
the recipe which depends on tcl, the recipe which depends on tcl
has to use something like:

--with-tclinclude=${STAGING_INCDIR}/tcl8.6

once we upgrade the tcl to 8.7, then the recipe has to use:


--with-tclinclude=${STAGING_INCDIR}/tcl8.7

Seems that this is not good, can we change it back, please ?

// Robert




+ # Path to the private tcl header dir:
+ PRIVATE_INCLUDE_DIR= @PRIVATE_INCLUDE_DIR@
+Index: unix/configure.in
+===
+--- unix.orig/configure.in2013-11-11 01:00:36.467550403 -0800
 unix/configure.in2013-11-11 01:00:36.503550404 -0800
+@@ -791,7 +791,7 @@
+ eval TCL_LIB_FILE=${TCL_LIB_FILE}
+
+ TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-PRIVATE_INCLUDE_DIR='$(includedir)'
++PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
+ HTML_DIR='$(DISTDIR)/html'
+
+ # Note:  in the following variable, it's important to use the absolute
+Index: unix/configure
+===
+--- unix.orig/configure2013-11-11 01:00:36.467550403 -0800
 unix/configure2013-11-11 01:00:36.503550404 -0800
+@@ -19134,7 +19134,7 @@
+ eval TCL_LIB_FILE=${TCL_LIB_FILE}
+
+ TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-PRIVATE_INCLUDE_DIR='$(includedir)'
++PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
+ HTML_DIR='$(DISTDIR)/html'
+
+ # Note:  in the following variable, it's important to use the absolute
diff --git
a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
index ed58175..be27341 100644
--- a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
+++ b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
@@ -15,11 +15,11 @@ Fixes tcl target recipe build on old distros which have
glibc older than 2.14
  Signed-Off-By: Nitin A Kamble nitin.a.kam...@intel.com
  2012/04/26

-diff --git unix.orig/Makefile.in unix/Makefile.in
-index 571d53f..16351f6 100644
 unix.orig/Makefile.in
-+++ unix/Makefile.in
-@@ -679,7 +679,7 @@ topDirName:
+Index: unix/Makefile.in
+===
+--- unix.orig/Makefile.in2013-11-10 23:38:01.787425628 -0800
 unix/Makefile.in2013-11-10 23:37:59.807425578 -0800
+@@ -686,7 +686,7 @@
   # tcltest executable gets the build directory burned into its ld search path.
   # This keeps tcltest from picking up an already installed version of the Tcl
   # library.
@@ -28,7 +28,7 @@ index 571d53f..16351f6 100644
   TCLLIBPATH=@abs_builddir@/pkgs \
   TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}

-@@ -705,7 +705,7 @@ test-tcl: ${TCLTEST_EXE}
+@@ -712,7 +712,7 @@
   $(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS)

   gdb-test: ${TCLTEST_EXE}
diff --git a/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
index 80d718c..c60eb75 100644
--- a/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
+++ b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
@@ -1,10 +1,10 @@
  Upstream-Status: Pending

-diff --git unix.orig/Makefile.in unix/Makefile.in
-index df05759..571d53f 100644
 unix.orig/Makefile.in
-+++ unix/Makefile.in
-@@ -702,23 +702,23 @@ tcltest-real:
+Index: unix/Makefile.in
+===
+--- unix.orig/Makefile.in2013-11-10 23:37:34.243424934 -0800
 unix/Makefile.in2013-11-10 23:37:34.243424934 -0800
+@@ -709,23 +709,23 @@
   test: test-tcl test-packages

   test-tcl: ${TCLTEST_EXE}
@@ -32,7 +32,7 @@ index df05759..571d53f 100644

   # The following target generates the shared libraries in dltest/ that are 
used
   # for testing; they are included as part of the tcltest target (via the
-@@ -736,23 +736,23 @@ dltest.marker: ${STUB_LIB_FILE}
+@@ -743,23 +743,23 @@
   # This 

Re: [OE-core] [PATCH V2] tcl: Install header into 8.6 instead of PN-PV in user/include

2014-01-16 Thread Robert Yang



On 01/16/2014 11:24 PM, Khem Raj wrote:

On Thu, Jan 16, 2014 at 12:42 AM, Robert Yang liezhi.y...@windriver.com wrote:



On 01/16/2014 04:31 PM, Robert Yang wrote:



On 11/12/2013 12:07 PM, Khem Raj wrote:


This helps in compiling other programs like expect which
depend on private headers but 8.5, 8.6 and so on is enough
granularity and currently we had 8.6.x and so on which
means that expect recipe will need to be touched whenever there
is minor update of tcl.

+ # Directory in which to install the include file tcl.h:
+-INCLUDE_INSTALL_DIR= $(INSTALL_ROOT)$(includedir)
++INCLUDE_INSTALL_DIR= $(INSTALL_ROOT)$(includedir)/tcl$(VERSION)
+



Hi Khem,

I think that the tcl headers like tcl.h wass installed to:

/usr/include/tcl.h

with this patch, it will be installed:

/usr/include/tcl8.6/tcl.h



And what's worse is that some recipe like rrdtool may use:

#include tcl.h

will fail to, it has to use #include tcl8.6/tcl.h or something else
similar.

I think that we'd better change it back, I'd like to send a patch for this
if
you are fine with it.


from build aspect it might sound like that but you will have runtime problems
if you silently upgraded tcl many applications don't upgrade to newer
versions immediately. compile failures are easier to detect then
runtime
issues. But if all apps that we have use 8.6 right now and you are sure
that as you move to 8.7 all of them will work with it. I am fine with moving
it back to /usr/include



I just took it as an example, I won't upgrade it, the currently affected recipes
are expect which has used this:

--with-tclinclude=${STAGING_INCDIR}/tcl8.6

And the rrdtools from the meta-openembedded is failed since it uses:

#include tcl.h

, now it should be tcl8.6/tcl.h.

I looked at Fedora 19 and Ubuntu 13.04, while F19 puts in /usr/include/tcl.h,
and Ubuntu to /usr/include/tcl8.5/tcl.h, I think that Ubuntu does this because
it provides multi versions tcl (8.5 and 8.4), we only provide 8.6, according
to these, I think that we'd better put it to /usr/include/tcl.h

// Robert





// Robert



The problem is that, the tcl.h can't be found normally now, it breaks
the recipe which depends on tcl, the recipe which depends on tcl
has to use something like:

--with-tclinclude=${STAGING_INCDIR}/tcl8.6

once we upgrade the tcl to 8.7, then the recipe has to use:


--with-tclinclude=${STAGING_INCDIR}/tcl8.7

Seems that this is not good, can we change it back, please ?

// Robert




+ # Path to the private tcl header dir:
+ PRIVATE_INCLUDE_DIR= @PRIVATE_INCLUDE_DIR@
+Index: unix/configure.in
+===
+--- unix.orig/configure.in2013-11-11 01:00:36.467550403 -0800
 unix/configure.in2013-11-11 01:00:36.503550404 -0800
+@@ -791,7 +791,7 @@
+ eval TCL_LIB_FILE=${TCL_LIB_FILE}
+
+ TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-PRIVATE_INCLUDE_DIR='$(includedir)'
++PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
+ HTML_DIR='$(DISTDIR)/html'
+
+ # Note:  in the following variable, it's important to use the absolute
+Index: unix/configure
+===
+--- unix.orig/configure2013-11-11 01:00:36.467550403 -0800
 unix/configure2013-11-11 01:00:36.503550404 -0800
+@@ -19134,7 +19134,7 @@
+ eval TCL_LIB_FILE=${TCL_LIB_FILE}
+
+ TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-PRIVATE_INCLUDE_DIR='$(includedir)'
++PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
+ HTML_DIR='$(DISTDIR)/html'
+
+ # Note:  in the following variable, it's important to use the absolute
diff --git
a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
index ed58175..be27341 100644
---
a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
+++
b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
@@ -15,11 +15,11 @@ Fixes tcl target recipe build on old distros which
have
glibc older than 2.14
   Signed-Off-By: Nitin A Kamble nitin.a.kam...@intel.com
   2012/04/26

-diff --git unix.orig/Makefile.in unix/Makefile.in
-index 571d53f..16351f6 100644
 unix.orig/Makefile.in
-+++ unix/Makefile.in
-@@ -679,7 +679,7 @@ topDirName:
+Index: unix/Makefile.in
+===
+--- unix.orig/Makefile.in2013-11-10 23:38:01.787425628 -0800
 unix/Makefile.in2013-11-10 23:37:59.807425578 -0800
+@@ -686,7 +686,7 @@
# tcltest executable gets the build directory burned into its ld
search path.
# This keeps tcltest from picking up an already installed version of
the Tcl
# library.
@@ -28,7 +28,7 @@ index 571d53f..16351f6 100644
TCLLIBPATH=@abs_builddir@/pkgs \
TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}

-@@ -705,7 +705,7 @@ test-tcl: ${TCLTEST_EXE}
+@@ -712,7 +712,7 @@
$(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS)

gdb-test: ${TCLTEST_EXE}
diff 

Re: [OE-core] [PATCH V2] tcl: Install header into 8.6 instead of PN-PV in user/include

2014-01-16 Thread Robert Yang



On 01/17/2014 10:28 AM, Robert Yang wrote:



On 01/16/2014 11:24 PM, Khem Raj wrote:

On Thu, Jan 16, 2014 at 12:42 AM, Robert Yang liezhi.y...@windriver.com wrote:



On 01/16/2014 04:31 PM, Robert Yang wrote:



On 11/12/2013 12:07 PM, Khem Raj wrote:


This helps in compiling other programs like expect which
depend on private headers but 8.5, 8.6 and so on is enough
granularity and currently we had 8.6.x and so on which
means that expect recipe will need to be touched whenever there
is minor update of tcl.

+ # Directory in which to install the include file tcl.h:
+-INCLUDE_INSTALL_DIR= $(INSTALL_ROOT)$(includedir)
++INCLUDE_INSTALL_DIR= $(INSTALL_ROOT)$(includedir)/tcl$(VERSION)
+



Hi Khem,

I think that the tcl headers like tcl.h wass installed to:

/usr/include/tcl.h

with this patch, it will be installed:

/usr/include/tcl8.6/tcl.h



And what's worse is that some recipe like rrdtool may use:

#include tcl.h

will fail to, it has to use #include tcl8.6/tcl.h or something else
similar.

I think that we'd better change it back, I'd like to send a patch for this
if
you are fine with it.


from build aspect it might sound like that but you will have runtime problems
if you silently upgraded tcl many applications don't upgrade to newer
versions immediately. compile failures are easier to detect then
runtime
issues. But if all apps that we have use 8.6 right now and you are sure
that as you move to 8.7 all of them will work with it. I am fine with moving
it back to /usr/include



I just took it as an example, I won't upgrade it, the currently affected recipes
are expect which has used this:

--with-tclinclude=${STAGING_INCDIR}/tcl8.6

And the rrdtools from the meta-openembedded is failed since it uses:

#include tcl.h

, now it should be tcl8.6/tcl.h.

I looked at Fedora 19 and Ubuntu 13.04, while F19 puts in /usr/include/tcl.h,
and Ubuntu to /usr/include/tcl8.5/tcl.h, I think that Ubuntu does this because
it provides multi versions tcl (8.5 and 8.4), we only provide 8.6, according
to these, I think that we'd better put it to /usr/include/tcl.h



Hi Khem,

I'd like to fix TCL_INCLUDE_SPEC rather than change it back since
meta-openembedded had removed the tcl from rrdtools, and otherwise we need do
more testing.

I will send a patch to fix the TCL_INCLUDE_SPEC sooner.

// Robert


// Robert





// Robert



The problem is that, the tcl.h can't be found normally now, it breaks
the recipe which depends on tcl, the recipe which depends on tcl
has to use something like:

--with-tclinclude=${STAGING_INCDIR}/tcl8.6

once we upgrade the tcl to 8.7, then the recipe has to use:


--with-tclinclude=${STAGING_INCDIR}/tcl8.7

Seems that this is not good, can we change it back, please ?

// Robert




+ # Path to the private tcl header dir:
+ PRIVATE_INCLUDE_DIR= @PRIVATE_INCLUDE_DIR@
+Index: unix/configure.in
+===
+--- unix.orig/configure.in2013-11-11 01:00:36.467550403 -0800
 unix/configure.in2013-11-11 01:00:36.503550404 -0800
+@@ -791,7 +791,7 @@
+ eval TCL_LIB_FILE=${TCL_LIB_FILE}
+
+ TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-PRIVATE_INCLUDE_DIR='$(includedir)'
++PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
+ HTML_DIR='$(DISTDIR)/html'
+
+ # Note:  in the following variable, it's important to use the absolute
+Index: unix/configure
+===
+--- unix.orig/configure2013-11-11 01:00:36.467550403 -0800
 unix/configure2013-11-11 01:00:36.503550404 -0800
+@@ -19134,7 +19134,7 @@
+ eval TCL_LIB_FILE=${TCL_LIB_FILE}
+
+ TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-PRIVATE_INCLUDE_DIR='$(includedir)'
++PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
+ HTML_DIR='$(DISTDIR)/html'
+
+ # Note:  in the following variable, it's important to use the absolute
diff --git
a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
index ed58175..be27341 100644
---
a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
+++
b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
@@ -15,11 +15,11 @@ Fixes tcl target recipe build on old distros which
have
glibc older than 2.14
   Signed-Off-By: Nitin A Kamble nitin.a.kam...@intel.com
   2012/04/26

-diff --git unix.orig/Makefile.in unix/Makefile.in
-index 571d53f..16351f6 100644
 unix.orig/Makefile.in
-+++ unix/Makefile.in
-@@ -679,7 +679,7 @@ topDirName:
+Index: unix/Makefile.in
+===
+--- unix.orig/Makefile.in2013-11-10 23:38:01.787425628 -0800
 unix/Makefile.in2013-11-10 23:37:59.807425578 -0800
+@@ -686,7 +686,7 @@
# tcltest executable gets the build directory burned into its ld
search path.
# This keeps tcltest from picking up an already installed version of
the Tcl
# library.
@@ -28,7 +28,7 @@ index 

[OE-core] [PATCH V2] tcl: Install header into 8.6 instead of PN-PV in user/include

2013-11-11 Thread Khem Raj
This helps in compiling other programs like expect which
depend on private headers but 8.5, 8.6 and so on is enough
granularity and currently we had 8.6.x and so on which
means that expect recipe will need to be touched whenever there
is minor update of tcl.

Additionally the encode creating symlink to shared object in
patch and remove it from recipe

Refresh patches after making changes to Configure.in we
propertly generate configure and not patch is directly as
was the case.

Signed-off-by: Khem Raj raj.k...@gmail.com
---
 .../tcltk/tcl/alter-includedir.patch   | 46 
 .../tcl/fix_issue_with_old_distro_glibc.patch  | 12 ++--
 .../tcltk/tcl/fix_non_native_build_issue.patch | 12 ++--
 meta/recipes-devtools/tcltk/tcl/no_packages.patch  | 16 +++---
 .../tcltk/tcl/tcl-add-soname.patch | 64 ++
 .../tcl/tcl-remove-hardcoded-install-path.patch| 26 ++---
 meta/recipes-devtools/tcltk/tcl_8.6.1.bb   | 26 +
 7 files changed, 127 insertions(+), 75 deletions(-)
 create mode 100644 meta/recipes-devtools/tcltk/tcl/alter-includedir.patch

diff --git a/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch 
b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
new file mode 100644
index 000..f543910
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
@@ -0,0 +1,46 @@
+Lets install the include header and private header files into 
+usr/include/tcl8.6 when version of tcl is 8.6.x
+
+Upstream-Status: Inappropriate [Configuration Specific]
+
+Signed-off-by: Khem Raj raj.k...@gmai.com
+
+Index: unix/Makefile.in
+===
+--- unix.orig/Makefile.in  2013-11-11 01:00:36.431550403 -0800
 unix/Makefile.in   2013-11-11 01:05:09.587557282 -0800
+@@ -53,7 +53,7 @@
+ SCRIPT_INSTALL_DIR= $(INSTALL_ROOT)$(TCL_LIBRARY)
+ 
+ # Directory in which to install the include file tcl.h:
+-INCLUDE_INSTALL_DIR   = $(INSTALL_ROOT)$(includedir)
++INCLUDE_INSTALL_DIR   = $(INSTALL_ROOT)$(includedir)/tcl$(VERSION)
+ 
+ # Path to the private tcl header dir:
+ PRIVATE_INCLUDE_DIR   = @PRIVATE_INCLUDE_DIR@
+Index: unix/configure.in
+===
+--- unix.orig/configure.in 2013-11-11 01:00:36.467550403 -0800
 unix/configure.in  2013-11-11 01:00:36.503550404 -0800
+@@ -791,7 +791,7 @@
+ eval TCL_LIB_FILE=${TCL_LIB_FILE}
+ 
+ TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-PRIVATE_INCLUDE_DIR='$(includedir)'
++PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
+ HTML_DIR='$(DISTDIR)/html'
+ 
+ # Note:  in the following variable, it's important to use the absolute
+Index: unix/configure
+===
+--- unix.orig/configure2013-11-11 01:00:36.467550403 -0800
 unix/configure 2013-11-11 01:00:36.503550404 -0800
+@@ -19134,7 +19134,7 @@
+ eval TCL_LIB_FILE=${TCL_LIB_FILE}
+ 
+ TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-PRIVATE_INCLUDE_DIR='$(includedir)'
++PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
+ HTML_DIR='$(DISTDIR)/html'
+ 
+ # Note:  in the following variable, it's important to use the absolute
diff --git 
a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch 
b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
index ed58175..be27341 100644
--- a/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
+++ b/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
@@ -15,11 +15,11 @@ Fixes tcl target recipe build on old distros which have 
glibc older than 2.14
 Signed-Off-By: Nitin A Kamble nitin.a.kam...@intel.com
 2012/04/26
 
-diff --git unix.orig/Makefile.in unix/Makefile.in
-index 571d53f..16351f6 100644
 unix.orig/Makefile.in
-+++ unix/Makefile.in
-@@ -679,7 +679,7 @@ topDirName:
+Index: unix/Makefile.in
+===
+--- unix.orig/Makefile.in  2013-11-10 23:38:01.787425628 -0800
 unix/Makefile.in   2013-11-10 23:37:59.807425578 -0800
+@@ -686,7 +686,7 @@
  # tcltest executable gets the build directory burned into its ld search path.
  # This keeps tcltest from picking up an already installed version of the Tcl
  # library.
@@ -28,7 +28,7 @@ index 571d53f..16351f6 100644
TCLLIBPATH=@abs_builddir@/pkgs \
TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}
  
-@@ -705,7 +705,7 @@ test-tcl: ${TCLTEST_EXE}
+@@ -712,7 +712,7 @@
$(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS)
  
  gdb-test: ${TCLTEST_EXE}
diff --git a/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch 
b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
index 80d718c..c60eb75 100644
--- a/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
+++ b/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
@@ -1,10 +1,10 @@
 Upstream-Status: Pending