From d80fca527a6618595a118381a2cd2a569f85889f Mon Sep 17 00:00:00 2001 From: Spencer Oliver Date: Wed, 17 Nov 2010 10:26:21 +0000 Subject: [PATCH] build: add autobuild jimtcl to configure scripts 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 --- Makefile.am | 8 +++++++- common.mk | 5 +++++ configure.in | 14 ++++++++++++++ jimtcl | 2 +- src/Makefile.am | 8 +++++++- 5 files changed, 34 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 7d42fd3f..b31bcea9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 \ diff --git a/common.mk b/common.mk index d2273d78..c1a5e6c6 100644 --- 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 diff --git a/configure.in b/configure.in index 70dddb95..c5e81a28 100644 --- a/configure.in +++ b/configure.in @@ -2,6 +2,7 @@ AC_PREREQ(2.60) AC_INIT([openocd], [0.5.0-dev], [OpenOCD Mailing List ]) 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 fbbc8e0b..9c8bcfe4 160000 --- a/jimtcl +++ b/jimtcl @@ -1 +1 @@ -Subproject commit fbbc8e0b402adb4b0c8d3976015fe4a82c94560f +Subproject commit 9c8bcfe4e6f8ec12552edae7b2afa0a9a21d8861 diff --git a/src/Makefile.am b/src/Makefile.am index c2d37c10..77449862 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -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 \ -- 2.39.5