From 2b71f5f2ce41deb9baf91df2db9ec568e98814e8 Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@intel.com>
Date: Tue, 27 May 2014 12:50:58 -0700
Subject: [PATCH] Fix compilation under precompiled headers: define _CRT_RAND_S

If the macro _CRT_RAND_S is defined, #include <stdlib.h> will define the
rand_s function. All was well before the precompiled headers because
wtf/config.h was always the first header included in WTF and it #defined
at the right place. With precompiled headers, stdlib.h got included from
qglobal.h before the #define took place.

This was a latent bug because the non-JSC parts of QtScript could have
included RandomNumberSeed.h and caused the error.

RandomNumberSeed.h(82) : error C3861: 'rand_s': identifier not found

Change-Id: I88b4b8670604b35ca694c02522324ac3083ed2b4
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
---
 src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
index 2298de39..6ee0aed2 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
@@ -41,6 +41,8 @@ DEFINES += BUILDING_QT__ BUILDING_JavaScriptCore BUILDING_WTF
 win32-* {
 #   Prevent definition of min, max macros in windows.h
     DEFINES+=NOMINMAX
+#   Enables rand_s
+    msvc: DEFINES += _CRT_RAND_S
     LIBS_PRIVATE += -lwinmm
 }
 contains(JAVASCRIPTCORE_JIT,yes) {
-- 
GitLab