source: rtems/aclocal/enable-rtemsbsp.m4 @ 9964895

5
Last change on this file since 9964895 was 7ff743d, checked in by Chris Johns <chrisj@…>, on 04/10/18 at 00:32:25

Generate an error if a BSP in the --enable-rtemsbsp list is not valid

Also generate an error if the architecure does not match the --target
architecture given to configure's command line.

Close #2641.

  • Property mode set to 100644
File size: 1.8 KB
Line 
1dnl Override the set of BSPs to be built.
2dnl used by the toplevel configure script
3dnl RTEMS_ENABLE_RTEMSBSP(rtems_bsp_list)
4AC_DEFUN([RTEMS_ENABLE_RTEMSBSP],
5[
6AC_BEFORE([$0], [RTEMS_ENV_RTEMSBSP])
7AC_ARG_ENABLE(rtemsbsp,
8[AS_HELP_STRING([--enable-rtemsbsp="bsp1 bsp2 .."],
9[BSPs to include in build, required for SMP and MP builds])],
10[case "${enable_rtemsbsp}" in
11  yes ) enable_rtemsbsp="" ;;
12  no ) enable_rtemsbsp="no" ;;
13  *) enable_rtemsbsp="$enable_rtemsbsp"
14     srctop=${srcdir}
15     while test x${srctop} != x/
16     do
17       if test -d ${srctop}/cpukit -a -d ${srctop}/c/src/lib/libbsp; then
18         break
19       fi
20       srctop=$(dirname ${srctop})
21     done
22     if test x${srctop} = x/; then
23       AC_MSG_ERROR([Cannot find the top of source tree, please report to devel@rtems.org])
24     fi
25     target_arch=$(echo ${target_alias} | sed -e "s/\-.*//g")
26     libbsp=${srctop}/c/src/lib/libbsp
27     libbsp_e=$(echo ${libbsp} | sed -e 's/\//\\\//g')
28     cfg_list=$(LANG=C LC_COLLATE=C find ${libbsp} -mindepth 5 -name \*.cfg)
29     for bsp in ${enable_rtemsbsp};
30     do
31       found=no
32       for bsp_path in ${cfg_list};
33       do
34         cfg_bsp=$(echo ${bsp_path} | sed -e "s/.*\///" -e 's/\.cfg//')
35         if test x$bsp = x$cfg_bsp; then
36           cfg_arch=$(echo ${bsp_path} | sed -e "s/${libbsp_e}*\///" -e 's/\/.*//')
37           if test x${target_arch} != x${cfg_arch}; then
38             AC_MSG_ERROR([BSP '$bsp' architecture does not match the --target architecture, run 'rtems-bsp' (in the top of the source tree) for a valid BSP list])
39           fi
40           found=yes
41           break
42         fi
43       done
44       if test $found = no; then
45         AC_MSG_ERROR([BSP '$bsp' not found, run 'rtems-bsp' (in the top of the source tree) for a valid BSP list])
46       fi
47     done
48     ;;
49esac],[enable_rtemsbsp=""])
50])
Note: See TracBrowser for help on using the repository browser.