This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

host-side configury


Fix up some issues related to linking with Tcl, reported by Andrew.
Also improve a couple of package-specific configure.in scripts so that
it will just issue a warning if you are trying to use an antiquated
version of Tcl, and decline to build the code, rather than fail the
configure step. This allows you to still build the generic host-side
without having to upgrade your Tcl installation.

The affected configure scripts have been updated as well.

Bart


Index: ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/acsupport/ChangeLog,v
retrieving revision 1.2
diff -u -u -r1.2 ChangeLog
--- ChangeLog	27 Aug 2002 20:05:42 -0000	1.2
+++ ChangeLog	22 Sep 2002 19:17:40 -0000
@@ -1,3 +1,10 @@
+2002-09-22  Bart Veer  <bartv@ecoscentric.com>
+
+	* acinclude.m4:
+	Add the Tcl library path to ecos_LDADD (patch provided by Andrew
+	Lunn). Also add a reminder about ecos_tcl_version issues and
+	fix up Tk support.
+
 2002-08-27  Robin Farine  <robin.farine@acn-group.ch>
 
 	* acinclude.m4 (ECOS_PATH_TCL): having found tclConfig.sh in
Index: acinclude.m4
===================================================================
RCS file: /cvs/ecos/ecos/acsupport/acinclude.m4,v
retrieving revision 1.2
diff -u -u -r1.2 acinclude.m4
--- acinclude.m4	27 Aug 2002 20:05:42 -0000	1.2
+++ acinclude.m4	22 Sep 2002 19:08:25 -0000
@@ -405,6 +405,7 @@
     ecos_tcl_incdir=""
     ecos_tcl_libdir=""
     ecos_tk_libs=""
+    ecos_tk_libdir=""
 
     dnl Look for the version of Tcl. If none is specified, default to
     dnl 8.0 under VC++ and cygwin, nothing under Unix. A version has to be
@@ -501,7 +502,19 @@
             AC_MSG_ERROR(unable to locate Tcl config file tclConfig.sh)
         else
             . ${ecos_tcl_libdir}/tclConfig.sh
+            dnl Arguably if ecos_tcl_version is not set then it should be
+            dnl here using TCL_VERSION, tying executables to a specific
+            dnl release. That avoids problems if the system has multiple
+            dnl Tcl installations, e.g. the system install plus a more
+            dnl recent private install. However it would introduce a
+            dnl problem if the system install gets upgraded, executables
+            dnl would still try to use the old version and would need
+            dnl to be rebuilt.
+            dnl
+            dnl For now, do not set ecos_tcl_version automatically. The
+            dnl user can override this.
             ecos_LIBS="${ecos_LIBS} -ltcl${ecos_tcl_version} ${TCL_LIBS}"
+            ecos_LDADD="${ecos_LDADD} -L${ecos_tcl_libdir}"
         fi
 
         possible_tk_libdir=`echo ${ecos_tcl_libdir} | sed -e 's,tcl,tk,'`
@@ -511,7 +524,7 @@
             AC_MSG_ERROR(unable to locate Tk config file tkConfig.sh)
         else
             . ${ecos_tk_libdir}/tkConfig.sh
-            ecos_tk_libs="-ltk${ecos_tcl_version} ${TK_LIBS}"
+            ecos_tk_libs="-L${ecos_tk_libdir} -ltk${ecos_tcl_version} ${TK_LIBS}"
             dnl Remove any library duplicates. It is not quite clear why,
             dnl but they seem to cause problems.
             for lib in ${TCL_LIBS} ; do
Index: ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/eth/synth/ecosynth/current/ChangeLog,v
retrieving revision 1.1
diff -u -u -r1.1 ChangeLog
--- ChangeLog	15 Sep 2002 17:48:35 -0000	1.1
+++ ChangeLog	22 Sep 2002 19:08:58 -0000
@@ -1,3 +1,9 @@
+2002-09-22  Bart Veer  <bartv@ecoscentric.com>
+
+	* host/configure.in:
+	Remove Tcl-related checks, the ethernet package only requires
+	the functionality of the architectural HAL support
+
 2002-08-07  Bart Veer  <bartv@ecoscentric.com>
 
 	* synthetic target ethernet driver package created
Index: configure.in
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/eth/synth/ecosynth/current/host/configure.in,v
retrieving revision 1.1
diff -u -u -r1.1 configure.in
--- configure.in	15 Sep 2002 17:49:21 -0000	1.1
+++ configure.in	22 Sep 2002 19:09:10 -0000
@@ -62,7 +62,6 @@
     i[[34567]]86-*-linux-gnu* ) SUPPORTED="yes";;
     * ) SUPPORTED="no"
 esac
-AM_CONDITIONAL(SUPPORTED, test "${SUPPORTED}" = "yes")
 
 if test "${SUPPORTED}" = "yes" ; then
     AC_PROG_CC
@@ -71,19 +70,10 @@
     AC_EXEEXT
     ECOS_PROG_MSVC
     ECOS_PROG_STANDARD_COMPILER_FLAGS
-
-    ECOS_PATH_TCL
-    dnl Check that the version of tk is sufficiently recent.
-    dnl For example the text widget's tag -elide facility was
-    dnl added between 8.2 and 8.3. Initial development of
-    dnl the synthetic target used 8.3.1
-    if test "${TK_MAJOR_VERSION}" = "8" ; then
-        if test ${TK_MINOR_VERSION} -lt 3 ; then
-            AC_MSG_ERROR([The synthetic target ethernet support requires at least version 8.3 of Tcl/Tk])
-        fi
-    fi
     ECOS_PACKAGE_DIRS
 fi
+
+AM_CONDITIONAL(SUPPORTED, test "${SUPPORTED}" = "yes")
 
 dnl There is no real need for a config.h file at this time, since the code
 dnl is specific to x86 Linux. This may change in future.
Index: ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/synth/arch/current/ChangeLog,v
retrieving revision 1.9
diff -u -u -r1.9 ChangeLog
--- ChangeLog	21 Sep 2002 22:06:18 -0000	1.9
+++ ChangeLog	22 Sep 2002 19:09:44 -0000
@@ -1,3 +1,10 @@
+2002-09-22  Bart Veer  <bartv@ecoscentric.com>
+
+	* host/configure.in:
+	If the installed version of Tcl is too old, issue a warning and
+	suppress the build, rather than fail. Other bits of the system,
+	e.g. the generic host-side tools, can still be built.
+	
 2002-09-21  Bart Veer  <bartv@ecoscentric.com>
 
 	* host/ecosynth.c:
Index: configure.in
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/synth/arch/current/host/configure.in,v
retrieving revision 1.1
diff -u -u -r1.1 configure.in
--- configure.in	15 Sep 2002 17:52:52 -0000	1.1
+++ configure.in	22 Sep 2002 19:10:02 -0000
@@ -63,7 +63,6 @@
     i[[34567]]86-*-linux-gnu* ) SUPPORTED="yes";;
     * ) SUPPORTED="no"
 esac
-AM_CONDITIONAL(SUPPORTED, test "${SUPPORTED}" = "yes")
 
 if test "${SUPPORTED}" = "yes" ; then
     AC_PROG_CC
@@ -80,11 +79,15 @@
     dnl the synthetic target used 8.3.1
     if test "${TK_MAJOR_VERSION}" = "8" ; then
         if test ${TK_MINOR_VERSION} -lt 3 ; then
-            AC_MSG_ERROR([The synthetic target support requires at least version 8.3 of Tcl/Tk])
+            AC_MSG_WARN([The synthetic target support requires at least version 8.3 of Tcl/Tk])
+	    AC_MSG_WARN([Synthetic target host-side support will not be built])
+	    SUPPORTED="no"
         fi
     fi
     ECOS_PACKAGE_DIRS
 fi
+
+AM_CONDITIONAL(SUPPORTED, test "${SUPPORTED}" = "yes")
 
 dnl There is no real need for a config.h file at this time, since the code
 dnl is specific to x86 Linux. This may change in future.
Index: README.host
===================================================================
RCS file: /cvs/ecos/ecos/README.host,v
retrieving revision 1.1
diff -u -u -r1.1 README.host
--- README.host	13 Aug 2002 20:10:16 -0000	1.1
+++ README.host	22 Sep 2002 19:18:12 -0000
@@ -90,9 +90,12 @@
 
 Much of the host-side software has a dependency on Tcl. This is not
 supplied with the sources since many users will already have a
-suitable installation, for example it is shipped as standard with
-all major Linux distributions. Any release of Tcl from 8.0 onwards
-should  be usable.
+suitable installation, for example it is shipped as standard with all
+major Linux distributions. The generic host-side software should work
+with any release of Tcl from 8.0 onwards. The package-specific
+software requires a more recent version, 8.3 or later. If no suitable
+Tcl installation is available then the configure step will still
+succeed but some of the package-specific software will not be built.
 
 There are two main approaches to building the host-side software:
 
@@ -217,6 +220,13 @@
    to specify a different version using --with-tcl-version, e.g.:
 
    $ <path>configure --with-tcl=/usr/local/scriptics --with-tcl-version=8.1 <args>
+
+   It may be necessary to specify --with-tcl-version if there are
+   multiple installs in different locations. For example the
+   system may have a default install in /usr and a more up to date
+   install in /usr/local/tcl8.4. To use the latter it will usually
+   be necessary to specify both --with-tcl=/usr/local/tcl8.4 and
+   --with-tcl-version=8.4.
 
 Following the configure step the build tree should be set up
 correctly. All that remains is the actual build and install:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]