build: add autobuild jimtcl to configure scripts
authorSpencer Oliver <ntfreak@users.sourceforge.net>
Wed, 17 Nov 2010 10:26:21 +0000 (10:26 +0000)
committerSpencer Oliver <ntfreak@users.sourceforge.net>
Thu, 18 Nov 2010 14:05:57 +0000 (14:05 +0000)
Rather than having to configure/build jimtcl openocd
will do this as part of its own build.

To use an external jimtcl lib specify disable-internal-jimtcl
to the configure step.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
Makefile.am
common.mk
configure.in
jimtcl
src/Makefile.am

index 7d42fd3..b31bcea 100644 (file)
@@ -9,7 +9,13 @@ nobase_dist_pkgdata_DATA = \
        contrib/libdcc/README \
        contrib/openocd.udev
 
-SUBDIRS = src doc
+if INTERNAL_JIMTCL
+SUBDIRS = jimtcl
+else
+SUBDIRS =
+endif
+
+SUBDIRS += src doc
 
 EXTRA_DIST = \
        Doxyfile.in \
index d2273d7..c1a5e6c 100644 (file)
--- a/common.mk
+++ b/common.mk
@@ -3,3 +3,8 @@
 AM_CPPFLAGS = -I$(top_srcdir)/src \
                          -I$(top_builddir)/src \
                          -DPKGDATADIR=\"$(pkgdatadir)\"
+
+if INTERNAL_JIMTCL
+AM_CPPFLAGS += -I$(top_srcdir)/jimtcl \
+                          -I$(top_builddir)/jimtcl
+endif
index 70dddb9..c5e81a2 100644 (file)
@@ -2,6 +2,7 @@ AC_PREREQ(2.60)
 AC_INIT([openocd], [0.5.0-dev],
   [OpenOCD Mailing List <openocd-development@lists.berlios.de>])
 AC_CONFIG_SRCDIR([src/openocd.c])
+AC_CONFIG_AUX_DIR([.])
 
 AM_INIT_AUTOMAKE([-Wall -Wno-portability dist-bzip2 dist-zip])
 AM_MAINTAINER_MODE
@@ -482,6 +483,9 @@ AC_ARG_ENABLE(minidriver_dummy,
   AS_HELP_STRING([--enable-minidriver-dummy], [Enable the dummy minidriver.]),
   [build_minidriver_dummy=$enableval], [build_minidriver_dummy=no])
 
+AC_ARG_ENABLE(internal-jimtcl,
+  AS_HELP_STRING([--enable-internal-jimtcl], [Enable internal jimtcl]),
+  [use_internal_jimtcl=$enableval], [use_internal_jimtcl=yes])
 
 build_minidriver=no
 AC_MSG_CHECKING([whether to enable ZY1000 minidriver])
@@ -757,6 +761,14 @@ else
   AC_DEFINE(BUILD_BUSPIRATE, 0, [0 if you don't want the Buspirate JTAG driver.])
 fi
 
+if test "$use_internal_jimtcl" = yes; then
+  if test -f "$srcdir/jimtcl/configure.ac"; then
+    AC_CONFIG_SUBDIRS([jimtcl])
+  else
+    AC_MSG_ERROR([jimtcl not found, run git submodule init and git submodule update.])
+  fi
+fi
+
 #-- Deal with MingW/Cygwin FTD2XX issues
 
 if test $is_win32 = yes; then
@@ -1062,6 +1074,8 @@ AM_CONDITIONAL(BITQ, test $build_bitq = yes)
 AM_CONDITIONAL(MINIDRIVER, test $build_minidriver = yes)
 AM_CONDITIONAL(MINIDRIVER_DUMMY, test $build_minidriver_dummy = yes)
 
+AM_CONDITIONAL(INTERNAL_JIMTCL, test $use_internal_jimtcl = yes)
+
 # Look for environ alternatives.  Possibility #1: is environ in unistd.h or stdlib.h?
 AC_MSG_CHECKING([for environ in unistd.h and stdlib.h])
 AC_COMPILE_IFELSE([
diff --git a/jimtcl b/jimtcl
index fbbc8e0..9c8bcfe 160000 (submodule)
--- a/jimtcl
+++ b/jimtcl
@@ -1 +1 @@
-Subproject commit fbbc8e0b402adb4b0c8d3976015fe4a82c94560f
+Subproject commit 9c8bcfe4e6f8ec12552edae7b2afa0a9a21d8861
index c2d37c1..7744986 100644 (file)
@@ -20,7 +20,13 @@ MAINFILE = main.c
 endif
 
 openocd_SOURCES = $(MAINFILE)
-openocd_LDADD = libopenocd.la -ljim
+openocd_LDADD = libopenocd.la
+
+if INTERNAL_JIMTCL
+openocd_LDADD += $(top_builddir)/jimtcl/libjim.a
+else
+openocd_LDADD += -ljim
+endif
 
 libopenocd_la_SOURCES = \
        hello.c \