diff --git a/dist-scripts/dist-cores.sh b/dist-scripts/dist-cores.sh index 0acb52bd8e..13f603c9b0 100755 --- a/dist-scripts/dist-cores.sh +++ b/dist-scripts/dist-cores.sh @@ -205,6 +205,9 @@ for f in `ls -v *_${platform}.${EXT}`; do whole_archive= big_stack= + if [ $PLATFORM = "emscripten" ]; then + async=1 #emscripten needs async to sleep + fi if [ $name = "nxengine" ] ; then echo "Applying whole archive linking..." whole_archive="WHOLE_ARCHIVE_LINK=1" diff --git a/libretro-common/include/retro_timers.h b/libretro-common/include/retro_timers.h index 04a860a26b..00e059e290 100644 --- a/libretro-common/include/retro_timers.h +++ b/libretro-common/include/retro_timers.h @@ -39,6 +39,8 @@ #include #elif defined(_3DS) #include <3ds.h> +#elif defined(EMSCRIPTEN) +#include #else #include #endif @@ -99,6 +101,8 @@ static int nanosleepDOS(const struct timespec *rqtp, struct timespec *rmtp) #define retro_sleep(msec) (usleep(1000 * (msec))) #elif defined(WIIU) #define retro_sleep(msec) (OSSleepTicks(ms_to_ticks((msec)))) +#elif defined(EMSCRIPTEN) +#define retro_sleep(msec) (emscripten_sleep(msec)) #else static INLINE void retro_sleep(unsigned msec) {