set(PARALLEL_DIRS)

set(PARALLEL_DIRS TimberWolfMC agrep allroots archie-client assembler bison cdecl compiler fixoutput football gnugo loader plot2fig simulator unix-smail unix-tbl)
if("${ARCH}" STREQUAL "Sparc")
  llvm_filter_out(TMP1 bison  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP1})
endif()
if("${ARCH}" STREQUAL "Alpha")
  llvm_filter_out(TMP2 bison  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP2})
endif()
if("${ARCH}" STREQUAL "XCore")
  llvm_filter_out(TMP3 archie-client  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP3})
  llvm_filter_out(TMP4 unix-smail  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP4})
endif()
if(DEFINED BENCHMARKING_ONLY)
  llvm_filter_out(TMP5 allroots  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP5})
  llvm_filter_out(TMP6 archie-client  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP6})
  llvm_filter_out(TMP7 assembler  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP7})
  llvm_filter_out(TMP8 cdecl  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP8})
  llvm_filter_out(TMP9 compiler  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP9})
  llvm_filter_out(TMP10 loader  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP10})
  llvm_filter_out(TMP11 fixoutput  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP11})
  llvm_filter_out(TMP12 football  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP12})
  llvm_filter_out(TMP13 plot2fig  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP13})
  llvm_filter_out(TMP14 simulator  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP14})
  llvm_filter_out(TMP15 TimberWolfMC  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP15})
  llvm_filter_out(TMP16 unix-smail  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP16})
  llvm_filter_out(TMP17 unix-tbl  ${PARALLEL_DIRS})
  set(PARALLEL_DIRS ${TMP17})
endif()

llvm_add_subdirectories(${PARALLEL_DIRS})
