AC_LIBTOOL_TAGS([])
AC_PROG_LIBTOOL
AM_PROG_AS
+AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([orc/orc.h])
;;
esac
+AC_ARG_ENABLE(backend,
+ AC_HELP_STRING([--enable-backend=[sse,mmx,neon,arm,all]], [include backend (default=all)]),
+ [], [enable_backend=all])
+case "${enable_backend}" in
+ sse)
+ ENABLE_BACKEND_SSE=yes
+ AC_DEFINE(ENABLE_BACKEND_SSE, 1, [Enable SSE backend])
+ ;;
+ mmx)
+ ENABLE_BACKEND_MMX=yes
+ AC_DEFINE(ENABLE_BACKEND_MMX, 1, [Enable MMX backend])
+ ;;
+ altivec)
+ ENABLE_BACKEND_ALTIVEC=yes
+ AC_DEFINE(ENABLE_BACKEND_ALTIVEC, 1, [Enable Altivec backend])
+ ;;
+ neon)
+ ENABLE_BACKEND_NEON=yes
+ AC_DEFINE(ENABLE_BACKEND_NEON, 1, [Enable NEON backend])
+ ;;
+ arm)
+ ENABLE_BACKEND_ARM=yes
+ AC_DEFINE(ENABLE_BACKEND_ARM, 1, [Enable Arm backend])
+ ;;
+ c64x)
+ ENABLE_BACKEND_C64X=yes
+ AC_DEFINE(ENABLE_BACKEND_C64X, 1, [Enable c64x backend])
+ ;;
+ all|auto)
+ ENABLE_BACKEND_SSE=yes
+ AC_DEFINE(ENABLE_BACKEND_SSE, 1, [Enable SSE backend])
+ ENABLE_BACKEND_MMX=yes
+ AC_DEFINE(ENABLE_BACKEND_MMX, 1, [Enable MMX backend])
+ ENABLE_BACKEND_ALTIVEC=yes
+ AC_DEFINE(ENABLE_BACKEND_ALTIVEC, 1, [Enable Altivec backend])
+ ENABLE_BACKEND_NEON=yes
+ AC_DEFINE(ENABLE_BACKEND_NEON, 1, [Enable NEON backend])
+ ENABLE_BACKEND_ARM=yes
+ AC_DEFINE(ENABLE_BACKEND_ARM, 1, [Enable Arm backend])
+ ENABLE_BACKEND_C64X=yes
+ AC_DEFINE(ENABLE_BACKEND_C64X, 1, [Enable c64x backend])
+ ;;
+esac
+AM_CONDITIONAL(ENABLE_BACKEND_SSE, test "x$ENABLE_BACKEND_SSE" = "xyes")
+AM_CONDITIONAL(ENABLE_BACKEND_MMX, test "x$ENABLE_BACKEND_MMX" = "xyes")
+AM_CONDITIONAL(ENABLE_BACKEND_ALTIVEC, test "x$ENABLE_BACKEND_ALTIVEC" = "xyes")
+AM_CONDITIONAL(ENABLE_BACKEND_NEON, test "x$ENABLE_BACKEND_NEON" = "xyes")
+AM_CONDITIONAL(ENABLE_BACKEND_ARM, test "x$ENABLE_BACKEND_ARM" = "xyes")
+AM_CONDITIONAL(ENABLE_BACKEND_C64X, test "x$ENABLE_BACKEND_C64X" = "xyes")
+
AC_DEFINE(ORC_EXPORTS, 1, [Defined for compiling internal code])
orccodemem.c \
orcprogram.c \
orccompiler.c \
- orcprogram-arm.c \
orcprogram-c.c \
- orcprogram-c64x-c.c \
- orcprogram-altivec.c \
- orcprogram-mmx.c \
- orcprogram-sse.c \
orcprogram.h \
orcopcodes.c \
orcparse.c \
orconce.c \
- orcrules-altivec.c \
- orcrules-mmx.c \
- orcrules-sse.c \
- orcrules-arm.c \
- orcprogram-neon.c \
- orcrules-neon.c \
- orcdebug.c \
- orcpowerpc.c \
- orcsse.c \
- orcmmx.c \
- orcx86.c \
- orcarm.c
+ orcdebug.c
+
+if ENABLE_BACKEND_SSE
+liborc_@ORC_MAJORMINOR@_la_SOURCES += orcsse.c orcrules-sse.c orcprogram-sse.c
+liborc_@ORC_MAJORMINOR@_la_SOURCES += orcx86.c
+endif
+if ENABLE_BACKEND_MMX
+liborc_@ORC_MAJORMINOR@_la_SOURCES += orcmmx.c orcrules-mmx.c orcprogram-mmx.c
+if ENABLE_BACKEND_SSE
+else
+liborc_@ORC_MAJORMINOR@_la_SOURCES += orcx86.c
+endif
+endif
+if ENABLE_BACKEND_ALTIVEC
+liborc_@ORC_MAJORMINOR@_la_SOURCES += \
+ orcrules-altivec.c orcprogram-altivec.c orcpowerpc.c
+endif
+if ENABLE_BACKEND_NEON
+liborc_@ORC_MAJORMINOR@_la_SOURCES += orcprogram-neon.c orcrules-neon.c
+liborc_@ORC_MAJORMINOR@_la_SOURCES += orcarm.c
+endif
+if ENABLE_BACKEND_ARM
+liborc_@ORC_MAJORMINOR@_la_SOURCES += orcprogram-arm.c orcrules-arm.c
+if ENABLE_BACKEND_NEON
+else
+liborc_@ORC_MAJORMINOR@_la_SOURCES += orcarm.c
+endif
+endif
+if ENABLE_BACKEND_C64X
+liborc_@ORC_MAJORMINOR@_la_SOURCES += orcprogram-c64x-c.c
+endif
if HAVE_I386
liborc_@ORC_MAJORMINOR@_la_SOURCES += orccpu-x86.c
orconce.h \
orcsse.h \
orcmmx.h \
+ orcneon.h \
orcx86.h \
orcpowerpc.h \
orcarm.h