From: oharboe Date: Tue, 22 Jul 2008 11:06:09 +0000 (+0000) Subject: Spen: startup.tcl cross compile support X-Git-Tag: v0.1.0~443 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=7ccfcdea0b51de1cd23694dee1e72682fc6d757d Spen: startup.tcl cross compile support git-svn-id: svn://svn.berlios.de/openocd/trunk@856 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- diff --git a/configure.in b/configure.in index 343b52c624..6f67a4a38a 100644 --- a/configure.in +++ b/configure.in @@ -291,6 +291,46 @@ AC_LANG_C AC_PROG_CC AC_PROG_RANLIB +# Setup for compiling build tools +AC_MSG_CHECKING([for a C compiler for build tools]) +if test $cross_compiling = yes; then + AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc) + CFLAGS_FOR_BUILD=-g -O2 +else + CC_FOR_BUILD=$CC + CFLAGS_FOR_BUILD=$CFLAGS +fi +AC_MSG_RESULT([$CC_FOR_BUILD]) +AC_SUBST(CC_FOR_BUILD) +AC_SUBST(CFLAGS_FOR_BUILD) + +AC_MSG_CHECKING([for suffix of executable build tools]) +if test $cross_compiling = yes; then + cat >conftest.c <<\_______EOF +int main () +{ + exit (0); +} +_______EOF +for i in .exe ""; do + compile="$CC_FOR_BUILD conftest.c -o conftest$i" + if AC_TRY_EVAL(compile); then + if (./conftest) 2>&AC_FD_CC; then + EXEEXT_FOR_BUILD=$i + break + fi + fi +done + rm -f conftest* + if test "${EXEEXT_FOR_BUILD+set}" != set; then + AC_MSG_ERROR([Cannot determine suffix of executable build tools]) + fi +else + EXEEXT_FOR_BUILD=$EXEEXT +fi +AC_MSG_RESULT([$EXEEXT_FOR_BUILD]) +AC_SUBST(EXEEXT_FOR_BUILD) + AC_SUBST(WITH_FTD2XX, $with_ftd2xx) AC_OUTPUT(Makefile src/Makefile src/helper/Makefile src/jtag/Makefile src/xsvf/Makefile src/target/Makefile src/server/Makefile src/flash/Makefile src/pld/Makefile doc/Makefile) diff --git a/src/helper/Makefile.am b/src/helper/Makefile.am index 6e1af8fd9e..64d051d268 100644 --- a/src/helper/Makefile.am +++ b/src/helper/Makefile.am @@ -15,14 +15,12 @@ libhelper_a_SOURCES = binarybuffer.c $(CONFIGFILES) configuration.c log.c comman noinst_HEADERS = binarybuffer.h configuration.h types.h log.h command.h \ time_support.h replacements.h fileio.h jim.h +bin2char$(EXEEXT_FOR_BUILD): bin2char.c + ${CC_FOR_BUILD} ${CFLAGS_FOR_BUILD} $(srcdir)/bin2char.c -o $@ # Convert .tcl to cfile -# -# Fix!!! how do we make this more automake friendly? -# -startup_tcl.c: startup.tcl - gcc -o bin2char $(srcdir)/bin2char.c - ./bin2char startup_tcl < $(srcdir)/startup.tcl > $@ +startup_tcl.c: startup.tcl bin2char$(EXEEXT_FOR_BUILD) + ./bin2char$(EXEEXT_FOR_BUILD) startup_tcl < $(srcdir)/startup.tcl > $@ # add startup_tcl.c to make clean list -CLEANFILES = startup_tcl.c +CLEANFILES = startup_tcl.c bin2char$(EXEEXT_FOR_BUILD)