dnl Process this file with autoconf to produce a configure script AC_INIT(Singular/matpol.h) AC_PREFIX_DEFAULT(`pwd`) OUTPUT_MAKEFILES="Makefile doc/Makefile doc/version.texi" if test -d "rpm"; then OUTPUT_MAKEFILES=$OUTPUT_MAKEFILES" rpm/Makefile" OUTPUT_MAKEFILES=$OUTPUT_MAKEFILES" rpm/rpmrc rpm/Singular.spec" fi if test -d "modules"; then OUTPUT_MAKEFILES=$OUTPUT_MAKEFILES" modules/Makefile" fi if test -d "modules/tools"; then OUTPUT_MAKEFILES=$OUTPUT_MAKEFILES" modules/tools/Makefile" fi if test -d "emacs"; then OUTPUT_MAKEFILES=$OUTPUT_MAKEFILES" emacs/Makefile" fi dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl determine singuname dnl AC_MSG_CHECKING(uname for singular) AC_CACHE_VAL(ac_cv_singuname, ac_cv_singuname="unknown" if test -r "singuname.sh"; then if (/bin/sh singuname.sh >/dev/null 2>&1) then ac_cv_singuname=`/bin/sh singuname.sh` fi fi ) AC_MSG_RESULT($ac_cv_singuname) if test "$ac_cv_singuname" = unknown; then AC_MSG_ERROR(Unknown architecture: Check singuname.sh) else SINGUNAME=$ac_cv_singuname AC_SUBST(SINGUNAME) fi VERSION_SEP="-" dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Version business -- set these here dnl # make them to env variables # pass them indirectly to subsequent configures SINGULAR_MAJOR_VERSION=1 SINGULAR_MINOR_VERSION=3 SINGULAR_SUB_VERSION=4 SINGULAR_SHORT_VERSION="${SINGULAR_MAJOR_VERSION}${VERSION_SEP}${SINGULAR_MINOR_VERSION}" SINGULAR_VERSION="${SINGULAR_SHORT_VERSION}${VERSION_SEP}${SINGULAR_SUB_VERSION}" VERSION_DATE="July 1999" export SINGULAR_MINOR_VERSION export SINGULAR_MAJOR_VERSION export SINGULAR_SUB_VERSION export SINGULAR_VERSION export VERSION_DATE dnl substitue them into the Makefiles AC_SUBST(SINGULAR_VERSION) AC_SUBST(VERSION_DATE) AC_SUBST(SINGULAR_SHORT_VERSION) dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Those are needed to check for libs and headers, later on dnl AC_PROG_CC AC_PROG_CPP AC_AIX AC_CHECK_PROGS(PERL, perl5 perl) AC_CHECK_PROG(LATEX2HTML, latex2html, latex2html) AC_PROG_LN_S if test -d Texi2html; then if test -r ${T2H_HOME}/texi2html.init; then TEXI2HTML=`pwd`/Texi2html/texi2html.pl else TEXI2HTML=`pwd`/Texi2html/texi2html fi AC_SUBST(TEXI2HTML) else AC_MSG_WARN(could not find Texi2html/texi2html HTML generation might fail) AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html) fi if test "$ac_cv_prog_LATEX2HTML" = latex2html; then TEXI2HTML_OPTS="-l2h" fi AC_SUBST(TEXI2HTML_OPTS) dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Set exec_prefix, bindir, libdir, includedir to some sensible values dnl # expand prefix and pass it to subsequent configures if test "x$prefix" = xNONE; then prefix=${ac_default_prefix} ac_configure_args="$ac_configure_args --prefix=${prefix}" fi # expand exec_prefix if test "x$exec_prefix" = xNONE; then exec_prefix=${prefix}/${ac_cv_singuname} ac_configure_args="$ac_configure_args --exec_prefix=${exec_prefix}" fi # expand bindir if test "x$bindir" = 'x${exec_prefix}/bin'; then bindir="${exec_prefix}" ac_configure_args="$ac_configure_args --bindir=${bindir}" fi # expand libdir if test "x$libdir" = 'x${exec_prefix}/lib'; then libdir="${exec_prefix}/lib" ac_configure_args="$ac_configure_args --libdir=${libdir}" fi # expand includedir if test "x$includedir" = 'x${prefix}/include'; then includedir="${exec_prefix}/include" ac_configure_args="$ac_configure_args --includedir=${includedir}" fi # construct name of installed Singular executable SINGULAR=${bindir}/Singular-${SINGULAR_MAJOR_VERSION}${VERSION_SEP}${SINGULAR_MINOR_VERSION}${VERSION_SEP}${SINGULAR_SUB_VERSION} export SINGULAR AC_SUBST(SINGULAR) dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Check for various libraries and headers dnl dnl After this part, the variables 'ac__ok' is 'yes' dnl if '' is already existent on the system, otherwise dnl undefined. dnl # add -I to CPPFLAGS and -L to LDFLAGS, just to be sure LDFLAGS="-L${libdir} ${LDFLAGS}" CPPFLAGS="-I${includedir} ${CPPFLAGS}" # check for AIX AC_MSG_CHECKING(whether _AIX is defined) AC_CACHE_VAL(ac_cv_is_aix, AC_EGREP_CPP(yes, [#ifdef _AIX yes #endif ], ac_cv_is_aix=yes, ac_cv_is_aix=no, 1)) if test "$ac_cv_is_aix" = yes; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi AC_CHECK_LIB(m, atof) AC_CHECK_LIB(bsd, socket) AC_CHECK_LIB(socket, listen) AC_CHECK_LIB(nsl, gethostbyname) AC_CHECK_LIB(gmp, mpq_init) AC_CHECK_LIB(smallgmp, mpz_init) AC_CHECK_LIB(MP, IMP_PutGmpInt) AC_CHECK_LIB(MPT, MPT_GetTree) AC_CHECK_LIB(singcf, atof) AC_CHECK_LIB(singfac, atof) AC_CHECK_HEADERS(gmp.h smallgmp.h MP.h MPT.h factory.h factor.h) if test "$ac_cv_lib_gmp_mpq_init" = yes && \ test "$ac_cv_header_gmp_h" = yes; then ac_gmp_ok=yes fi if test "$ac_cv_lib_smallgmp_mpz_init" = yes && \ test "$ac_cv_header_smallgmp_h" = yes && \ test "$ac_cv_header_gmp_h" = yes; then ac_smallgmp_ok=yes fi if test "$ac_cv_lib_MP_IMP_PutGmpInt" = yes && \ test "$ac_cv_lib_MPT_MPT_GetTree" && \ test "$ac_cv_header_MP_h" = yes && \ test "$ac_cv_header_MPT_h" = yes; then ac_MP_ok=yes fi if test "$ac_cv_lib_singcf_atof" = yes && \ test "$ac_cv_header_factory_h" = yes; then ac_factory_ok=yes fi if test "$ac_cv_lib_singfac_atof" = yes && \ test "$ac_cv_header_factor_h" = yes; then ac_libfac_ok=yes fi dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Check command line arguments dnl AC_ARG_WITH(tmpdir, \ [ --with-tmpdir=DIR use DIR as temporary directory]) AC_ARG_WITH( perl5, [ --with-perl5=[PERL5,no] uses PERL5 as perl5 program, default is perl5]) AC_ARG_ENABLE(smallgmp, \ [ --enable-PACKAGE configure and build PACKAGE --disable-PACKAGE do not configure and build PACKAGE where PACKAGE can be: smallgmp minimal version of gmp written in C only]) AC_ARG_ENABLE(gmp, \ [ gmp Gnu Multiple Precision package]) AC_ARG_ENABLE(MP, \ [ MP Multi Protocol library]) AC_ARG_ENABLE(factory, \ [ factory polynomial factorization library]) AC_ARG_ENABLE(libfac, \ [ libfac char set and modp poly factorization library]) AC_ARG_ENABLE(sgroup, \ [ sgroup numerical semigroup computations]) AC_ARG_ENABLE(Singular, \ [ Singular CAS for Polynomial Computations]) AC_ARG_ENABLE(Texinfo, \ [ Texinfo Texinfo for info, texi2dvi, makeinfo]) AC_ARG_WITH(MP,\ [ --with-PACKAGE use PACKAGE, provide dependent functionality --without-PACKAGE do not use PACKAGE, disable dependent functionality where PACKAGE can be: MP Multi Protocol library]) AC_ARG_WITH(factory, \ [ factory polynomial factorization library]) AC_ARG_WITH(libfac, \ [ libfac char set and modp poly factorization library]) AC_ARG_WITH(gmp, \ [ --with-apint=PACKAGE use PACKAGE for arbitary integer arithmetic where PACKAGE can be gmp or smallgmp All additional --enable and --with options are passed to subsequent calls to configure of the packages to be built. See also configure --help in these packages (resp. subdirs). ]) dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Check what to use as tmp dir dnl AC_MSG_CHECKING(which tmp dir to use) if test "${with_tmpdir+set}" = set && test -d ${with_tmpdir}; then if (echo "${with_tmpdir}" | egrep "\." >/dev/null 2>&1) then TMP_DIR="/tmp" else TMP_DIR=${with_tmpdir} fi else TMP_DIR="/tmp" fi AC_MSG_RESULT($TMP_DIR) AC_SUBST(TMP_DIR) dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Check for perl 5 dnl # perl version 5 if test "${with_perl5+set}" != set; then AC_MSG_CHECKING(for perl5) changequote(<<,>>)dnl AC_CACHE_VAL(ac_cv_prog_perl5, if (perl5 -v >/dev/null 2>&1) then if (perl5 -v | egrep "version 5\.[0-9]" >/dev/null 2>&1 ) then ac_cv_prog_perl5=perl5 fi elif (perl -v >/dev/null 2>&1) then if (perl -v | egrep "version 5\.[0-9]" >/dev/null 2>&1 ) then ac_cv_prog_perl5=perl fi fi ) changequote([,])dnl if test "${ac_cv_prog_perl5+set}" = set; then AC_MSG_RESULT(${ac_cv_prog_perl5}) PERL5=${ac_cv_prog_perl5} AC_SUBST(PERL5) else AC_MSG_ERROR(can not find perl version 5) fi elif test "${with_perl5}" = no; then AC_MSG_WARN(building without perl5 -- make might fail) else unset PERL5 unset ac_cv_prog_PERL5 AC_CHECK_PROGS(PERL5, ${with_perl5}) if test "x${PERL5}" = x; then AC_MSG_WARN(building without perl5 -- make might fail) fi fi dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Check whether or not to configure and build various packages dnl AC_MSG_CHECKING(whether to configure and build texinfo) if test "$enable_texinfo" != no && test -d Texinfo; then AC_MSG_RESULT(yes) enable_texinfo=yes CONFIG_SUBDIRS="$CONFIG_SUBDIRS Texinfo" TEXI2DVI=${bindir}/texi2dvi MAKEINFO="${bindir}/makeinfo --force" TEXINDEX=${bindir}/texindex else AC_MSG_RESULT(no) AC_MSG_WARN(Building of doc might fail. Need Texinfo) enable_texinfo=no TEXI2DVI=texi2dvi MAKEINFO=makeinfo TEXINDEX=${bindir}/texindex fi AC_SUBST(TEXI2DVI) AC_SUBST(MAKEINFO) AC_SUBST(TEXINDEX) AC_MSG_CHECKING(whether to configure and build gmp lib) if test "$enable_gmp" != yes && test "$enable_gmp" != no; then if test "$ac_gmp_ok" != yes && test -d gmp; then AC_MSG_RESULT(yes) enable_gmp=yes CONFIG_SUBDIRS="$CONFIG_SUBDIRS gmp" ac_configure_args="$ac_configure_args --enable-gmp" OUTPUT_MAKEFILES="$OUTPUT_MAKEFILES gmp/Makefile.in" else AC_MSG_RESULT(no) enable_gmp=no fi elif test "$enable_gmp" = yes; then if test ! -d gmp; then AC_MSG_RESULT(no) AC_MSG_ERROR(Can not find gmp subdir) else AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS gmp" OUTPUT_MAKEFILES="$OUTPUT_MAKEFILES gmp/Makefile.in" fi else AC_MSG_RESULT(no) fi AC_MSG_CHECKING(whether to configure and build smallgmp lib) if test "$enable_smallgmp" != yes && test "$enable_smallgmp" != no; then if test "$ac_smallgmp_ok" != yes && test "$ac_gmp_ok" != yes && \ test "$enable_gmp" != yes && test -d smallgmp; then AC_MSG_RESULT(yes) enable_smallgmp=yes CONFIG_SUBDIRS="$CONFIG_SUBDIRS smallgmp" ac_configure_args="$ac_configure_args --enable-smallgmp --enable-gmp" else AC_MSG_RESULT(no) enable_smallgmp=no fi elif test "$enable_smallgmp" = yes; then if test ! -d smallgmp; then AC_MSG_RESULT(no) AC_MSG_ERROR(Can not find smallgmp subdir) else AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS smallgmp" if test "$ac_gmp_ok" != yes && test "$enable_gmp" != yes; then ac_configure_args="$ac_configure_args --enable-gmp" fi fi else AC_MSG_RESULT(${enable_smallgmp}) fi # Check whether we have at least one of smallgmp or gmp if test "$ac_smallgmp_ok" != yes && test "$ac_gmp_ok" != yes && \ test "$enable_smallgmp" != yes && test "$enable_gmp" != yes; then AC_MSG_ERROR(can neither find nor built gmp or smallgmp) fi # Check whether we need to cheat subsequent configures with --enable-gmp if test "$ac_smallgmp_ok" != yes && test "$ac_gmp_ok" != yes; then ac_configure_args="$ac_configure_args --enable-gmp" fi AC_MSG_CHECKING(whether to configure and build MP lib) if test "$enable_MP" != yes && test "$enable_MP" != no; then if test "$with_MP" != no && test "$ac_MP_ok" != yes && test -d MP && \ (test "$enable_gmp" = yes || test "$ac_gmp_ok" = yes); then AC_MSG_RESULT(yes) enable_MP=yes CONFIG_SUBDIRS="$CONFIG_SUBDIRS MP" ac_configure_args="$ac_configure_args --enable-MP" else AC_MSG_RESULT(no) enable_MP=no fi elif test "$enable_MP" = yes; then if test ! -d MP; then AC_MSG_RESULT(no) AC_MSG_ERROR(can not build MP without MP directory) fi if test "$enable_gmp" = yes || test "$ac_gmp_ok" = yes; then AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS MP" else AC_MSG_RESULT(no) AC_MSG_ERROR(can not build MP without gmp) fi else AC_MSG_RESULT(no) fi AC_MSG_CHECKING(whether to configure and build factory lib) if test "$enable_factory" != yes && test "$enable_factory" != no; then if test "$with_factory" != no && test "$ac_factory_ok" != yes && \ test -d factory; then enable_factory=yes AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS factory" ac_configure_args="$ac_configure_args --enable-factory" else enable_factory=no AC_MSG_RESULT(no) fi elif test "$enable_factory" = yes; then if test -d factory; then AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS factory" else AC_MSG_RESULT(no) AC_MSG_ERROR(can not build factory without factory directory) fi else AC_MSG_RESULT(no) fi AC_MSG_CHECKING(whether to configure and build libfac lib) if test "$enable_libfac" != yes && test "$enable_libfac" != no; then if test "$with_libfac" != no && test "$ac_libfac_ok" != yes && \ test -d libfac && \ (test "$ac_factory_ok" = yes || test "$enable_factory" = yes); then enable_libfac=yes AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS libfac" ac_configure_args="$ac_configure_args --enable-libfac" else enable_libfac=no AC_MSG_RESULT(no) fi elif test "$enable_libfac" = yes; then if test ! -d libfac; then AC_MSG_RESULT(no) AC_MSG_ERROR(can not build libfac without libfac directory) fi if test "$ac_factory_ok" = yes || test "$enable_factory" = yes; then AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS libfac" else AC_MSG_RESULT(no) AC_MSG_ERROR(Can not build libfac without factory) fi else AC_MSG_RESULT(no) fi AC_MSG_CHECKING(whether to configure and build sgroup lib) if test "$enable_sgroup" != yes && test "$enable_sgroup" != no; then if test "$with_sgroup" != no && test "$ac_sgroup_ok" != yes && \ test -d sgroup && \ (test "$ac_MP_ok" = yes || test "$enable_MP" = yes); then enable_sgroup=yes AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS sgroup" ac_configure_args="$ac_configure_args --enable-sgroup" else enable_sgroup=no AC_MSG_RESULT(no) fi elif test "$enable_sgroup" = yes; then if test ! -d sgroup; then AC_MSG_RESULT(no) AC_MSG_ERROR(can not build sgroup without sgroup directory) fi if test "$ac_MP_ok" = yes || test "$enable_MP" = yes; then AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS sgroup" else AC_MSG_RESULT(no) AC_MSG_ERROR(Can not build sgroup without MP) fi else AC_MSG_RESULT(no) fi AC_MSG_CHECKING(whether to configure and build Singular) if test "$enable_Singular" != yes && test "$enable_Singular" != no; then if test "$with_Singular" != no && test -d Singular; then enable_Singular=yes AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS Singular" ac_configure_args="$ac_configure_args --enable-Singular" else enable_Singular=no AC_MSG_RESULT(no) fi elif test "$enable_Singular" = yes; then if test -d Singular; then AC_MSG_RESULT(yes) CONFIG_SUBDIRS="$CONFIG_SUBDIRS Singular" else AC_MSG_RESULT(no) AC_MSG_ERROR(can not build Singular without Singular directory) fi else AC_MSG_RESULT(no) fi dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Check whether or not to use various packages dnl AC_MSG_CHECKING(which apint package to use) if test "$with_apint" = gmp; then if test "$ac_gmp_ok" = yes || test "$enable_gmp" = yes; then AC_MSG_RESULT(gmp) else AC_MSG_RESULT(none) AC_MSG_ERROR(can not use with gmp without finding or building it) fi elif test "$with_apint" = smallgmp; then if test "$ac_smallgmp_ok" = yes || test "$enable_smallgmp" = yes; then AC_MSG_RESULT(smallgmp) else AC_MSG_RESULT(none) AC_MSG_ERROR(can not use with smallgmp without finding or building it) fi elif test "$ac_gmp_ok" = yes || test "$enable_gmp"; then AC_MSG_RESULT(gmp) ac_configure_args="$ac_configure_args --with-apint=gmp" else dnl now we are sure that we have the smallgmp --otherwise enable dnl checks had thrown an error AC_MSG_RESULT(smallgmp) ac_configure_args="$ac_configure_args --with-apint=smallgmp" fi AC_MSG_CHECKING(whether to use with MP) if test "$with_MP" = yes; then if test "$ac_MP_ok" = yes || test "$enable_MP" = yes; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(none) AC_MSG_ERROR(can not use with MP without finding or building it) fi elif test "$with_MP" = no; then AC_MSG_RESULT(no) elif test "$ac_MP_ok" = yes || test "$enable_MP" = yes; then AC_MSG_RESULT(yes) ac_configure_args="$ac_configure_args --with-MP" else AC_MSG_RESULT(no) ac_configure_args="$ac_configure_args --without-MP" fi AC_MSG_CHECKING(whether to use with factory) if test "$with_factory" = yes; then if test "$ac_factory_ok" = yes || test "$enable_factory" = yes; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(none) AC_MSG_ERROR(can not use with factory without finding or building it) fi elif test "$with_factory" = no; then AC_MSG_RESULT(no) elif test "$ac_factory_ok" = yes || test "$enable_factory" = yes; then AC_MSG_RESULT(yes) ac_configure_args="$ac_configure_args --with-factory" else AC_MSG_RESULT(no) ac_configure_args="$ac_configure_args --without-factory" fi AC_MSG_CHECKING(whether to use with libfac) if test "$with_libfac" = yes; then if test "$ac_libfac_ok" = yes || test "$enable_libfac" = yes; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(none) AC_MSG_ERROR(can not use with libfac without finding or building it) fi elif test "$with_libfac" = no; then AC_MSG_RESULT(no) elif test "$ac_libfac_ok" = yes || test "$enable_libfac" = yes; then AC_MSG_RESULT(yes) ac_configure_args="$ac_configure_args --with-libfac" else AC_MSG_RESULT(no) ac_configure_args="$ac_configure_args --without-libfac" fi AC_MSG_CHECKING(whether to use mtrack) if test -d mpr && test "$ac_cv_singuname" = ix86-Linux; then AC_MSG_RESULT(yes) ac_configure_args="$ac_configure_args --with-mtrack" OUTPUT_MAKEFILES=$OUTPUT_MAKEFILES" mpr/Makefile" BUILD_SUBDIRS="$BUILD_SUBDIRS mpr" fi AC_MSG_CHECKING(whether to use with Singular) if test "$with_Singular" != no && test "$with_Singular" != yes; then if test "$enable_Singular" = yes; then with_Singular=yes else with_Singular=no fi ac_configure_args="$ac_configure_args --with-Singular=$with_Singular" fi if test "$with_Singular" != no; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Check for known subdirs dnl SUBDIRS="" if test -d doc; then SUBDIRS="$SUBDIRS doc" fi if test -d smallgmp; then SUBDIRS="$SUBDIRS smallgmp" fi if test -d gmp; then SUBDIRS="$SUBDIRS gmp" fi if test -d MP; then SUBDIRS="$SUBDIRS MP" fi if test -d factory; then SUBDIRS="$SUBDIRS factory" fi if test -d libfac; then SUBDIRS="$SUBDIRS libfac" fi if test -d rpm; then SUBDIRS="$SUBDIRS rpm" fi if test -d mpr; then SUBDIRS="$SUBDIRS mpr" fi if test -d Singular; then SUBDIRS="$SUBDIRS Singular" fi if test -d emacs; then SUBDIRS="$SUBDIRS emacs" BUILD_SUBDIRS="$BUILD_SUBDIRS emacs" fi if test -d Texi2html; then SUBDIRS="$SUBDIRS Texi2html" BUILD_SUBDIRS="$BUILD_SUBDIRS Texi2html" fi if test -d sgroup; then SUBDIRS="$SUBDIRS sgroup" fi dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll dnl Enough -- wrap it up dnl AC_PROG_MAKE_SET AC_SUBST(SUBDIRS) AC_SUBST(BUILD_SUBDIRS) AC_SUBST(CONFIG_SUBDIRS) AC_CONFIG_SUBDIRS($CONFIG_SUBDIRS) AC_OUTPUT(${OUTPUT_MAKEFILES})