X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=configure.ac;h=bad8ecc8e3c8d08b5978acdf663d81535eb076be;hb=ab0b591ca59d99a2370bf9f579b091c5edf09ae5;hp=aa0111de8aec8119c31963c6433ac3f56a643e3e;hpb=9ba3fa0ba37c3b11b7129c3092a379711fd128e4;p=mono.git diff --git a/configure.ac b/configure.ac index aa0111de8ae..bad8ecc8e3c 100644 --- a/configure.ac +++ b/configure.ac @@ -40,8 +40,8 @@ MONO_VERSION_BUILD=`echo $VERSION | cut -d . -f 3` # This can be reset to 0 when Mono's version number is bumped # since it's part of the corlib version (the prefix '1' in the full # version number is to ensure the number isn't treated as octal in C) -MONO_CORLIB_COUNTER=0 -MONO_CORLIB_VERSION=`printf "1%02d%02d%02d%03d" $MONO_VERSION_MAJOR $MONO_VERSION_MINOR $MONO_VERSION_BUILD $MONO_CORLIB_COUNTER` +MONO_CORLIB_COUNTER=1 +MONO_CORLIB_VERSION=`printf "1%02d%02d%02d%03d" $MONO_VERSION_MAJOR $MONO_VERSION_MINOR 0 $MONO_CORLIB_COUNTER` AC_DEFINE_UNQUOTED(MONO_CORLIB_VERSION,$MONO_CORLIB_VERSION,[Version of the corlib-runtime interface]) AC_SUBST(MONO_CORLIB_VERSION) @@ -96,8 +96,15 @@ need_link_unlink=no #Set to extra linker flags to be passed to the runtime binaries (mono /mono-sgen) extra_runtime_ldflags="" + +# Hack for WASM +# Current autotools (v1.15) doesn't have a triplet we can use for wasm so the kludge we do is to +# work around it by using a feature flag instead +AC_ARG_ENABLE(wasm,[ --enable-wasm Hack to set the current runtime to target wasm], enable_wasm=$enableval) + # Thread configuration inspired by sleepycat's db AC_MSG_CHECKING([host platform characteristics]) + libgc_threads=no has_dtrace=no parallel_mark=yes @@ -107,6 +114,16 @@ host_win32=no target_win32=no platform_android=no host_darwin=no + + +if test "x$enable_wasm" = "xyes"; then +CFLAGS="$CFLAGS -D_REENTRANT -D_GNU_SOURCE -DNO_UNALIGNED_ACCESS -s WASM=1" +CPPFLAGS="$CPPFLAGS -D_REENTRANT -DUSE_MMAP -D_GNU_SOURCE -DNO_UNALIGNED_ACCESS -s WASM=1" +libdl="-ldl" +libgc_threads=pthreads + +else + case "$host" in *-mingw*|*-*-cygwin*) AC_DEFINE(DISABLE_PORTABILITY,1,[Disable the io-portability layer]) @@ -350,6 +367,10 @@ case "$host" in libdl="-ldl" ;; esac + +# WASM hack +fi + AC_MSG_RESULT(ok) if test x$need_link_unlink = xyes; then @@ -534,7 +555,18 @@ AC_CHECK_FUNCS(_finite, , AC_MSG_CHECKING(for _finite in math.h) AC_CHECK_HEADERS(linux/magic.h) # not 64 bit clean in cross-compile -AC_CHECK_SIZEOF(void *, 4) +if test "x$enable_wasm" = "xyes"; then +AC_DEFINE(SIZEOF_VOID_P,4) +AC_DEFINE(SIZEOF_LONG,4) +ac_cv_sizeof_void_p="4" +ac_cv_sizeof_long="4" +else +AC_CHECK_SIZEOF(void *) +AC_CHECK_SIZEOF(long) +fi + +AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(long long) AC_CACHE_CHECK([for clang], mono_cv_clang,[ @@ -1481,6 +1513,8 @@ if test x$host_win32 = xno; then AC_CHECK_FUNCS(getpwuid_r) fi + AC_FUNC_STRERROR_R() + dnl **************************************************************** dnl *** Check for sched_setaffinity from glibc versions before *** dnl *** 2.3.4. The older versions of the function only take 2 *** @@ -3038,6 +3072,19 @@ jit_wanted=true boehm_supported=true BTLS_SUPPORTED=no BTLS_PLATFORM= + +if test "x$enable_wasm" = "xyes"; then +TARGET=WASM +HOST=WASM +arch_target=wasm +AC_DEFINE(TARGET_WASM, 1, [Target wasm]) +AC_DEFINE(HOST_WASM, 1, [Host wasm]) +BTLS_SUPPORTED=no +with_tls=pthread +target_mach=no + +else + case "$host" in mips*) TARGET=MIPS; @@ -3440,6 +3487,8 @@ SPARC64) ;; esac +#WASM hack +fi dnl ************* @@ -3715,10 +3764,6 @@ AC_SUBST(PIDTYPE) AC_DEFINE(HAVE_CLASSIC_WINAPI_SUPPORT, 1, [Use classic Windows API support]) AC_DEFINE(HAVE_UWP_WINAPI_SUPPORT, 0, [Don't use UWP Windows API support]) -AC_CHECK_SIZEOF(int) -AC_CHECK_SIZEOF(void *) -AC_CHECK_SIZEOF(long) -AC_CHECK_SIZEOF(long long) AC_CHECK_FUNCS(strlcpy stpcpy strtok_r rewinddir vasprintf strerror_r) AC_CHECK_FUNCS(getrlimit) AC_CHECK_FUNCS(fork execv execve) @@ -4305,10 +4350,13 @@ AM_CONDITIONAL(POWERPC64, test x$TARGET = xPOWERPC64) AM_CONDITIONAL(ARM, test x$TARGET = xARM) AM_CONDITIONAL(ARM64, test x$TARGET = xARM64) AM_CONDITIONAL(S390X, test x$TARGET = xS390X) +AM_CONDITIONAL(WASM, test x$TARGET = xWASM) AM_CONDITIONAL(HOST_X86, test x$HOST = xX86) AM_CONDITIONAL(HOST_AMD64, test x$HOST = xAMD64) AM_CONDITIONAL(HOST_ARM, test x$HOST = xARM) AM_CONDITIONAL(HOST_ARM64, test x$HOST = xARM64) +AM_CONDITIONAL(HOST_WASM, test x$HOST = xWASM) + AM_CONDITIONAL(CROSS_COMPILE, test "x$host" != "x$target") AC_SUBST(LIBC) @@ -4334,7 +4382,7 @@ AC_SUBST(mono_build_root) mono_runtime=mono/mini/mono AC_SUBST(mono_runtime) -CSC_LOCATION=`cd $srcdir && pwd`/external/roslyn-binaries/Microsoft.Net.Compilers/Microsoft.Net.Compilers.2.3.1/tools/csc.exe +CSC_LOCATION=`cd $srcdir && pwd`/external/roslyn-binaries/Microsoft.Net.Compilers/Microsoft.Net.Compilers.2.3.2/tools/csc.exe if test $csc_compiler = mcs; then CSC=$mcs_topdir/class/lib/build/mcs.exe