From 7e6d628456af3e99ebcb9a01a27e1461585082a4 Mon Sep 17 00:00:00 2001
From: Till Schneidereit <till@tillschneidereit.net>
Date: Thu, 1 Oct 2015 12:59:09 +0200
Subject: [PATCH] Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on all
 platforms

Otherwise, build fails not being able to find HashBytes.

Patch ported forward to mozjs52 by Philip Chimento
<philip.chimento@gmail.com>.

https://bugzilla.mozilla.org/show_bug.cgi?id=1176787
---
 js/src/old-configure.in | 23 ++++++++++++++---------
 mozglue/build/moz.build |  2 +-
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/js/src/old-configure.in b/js/src/old-configure.in
index 1c5c9e21..ff0617e3 100644
--- a/js/src/old-configure.in
+++ b/js/src/old-configure.in
@@ -1623,16 +1623,21 @@ dnl ========================================================
 dnl = Enable jemalloc
 dnl ========================================================
 
-case "${OS_TARGET}" in
-Android|WINNT|Darwin)
+dnl In stand-alone builds we always only want to link executables against mozglue.
+if test "$JS_STANDALONE"; then
   MOZ_GLUE_IN_PROGRAM=
-  ;;
-*)
-  dnl On !Android !Windows !OSX, we only want to link executables against mozglue
-  MOZ_GLUE_IN_PROGRAM=1
-  AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
-  ;;
-esac
+else
+  case "${OS_TARGET}" in
+  Android|WINNT|Darwin)
+    MOZ_GLUE_IN_PROGRAM=
+    ;;
+  *)
+    dnl On !Android !Windows !OSX, we only want to link executables against mozglue
+    MOZ_GLUE_IN_PROGRAM=1
+    AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
+    ;;
+  esac
+fi
 
 if test "$MOZ_MEMORY"; then
   if test "x$MOZ_DEBUG" = "x1"; then
diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build
index d2897477..e3be5a2b 100644
--- a/mozglue/build/moz.build
+++ b/mozglue/build/moz.build
@@ -6,7 +6,7 @@
 
 # Build mozglue as a shared lib on Windows, OSX and Android.
 # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
-if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
+if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']:
     SharedLibrary('mozglue')
 else:
     Library('mozglue')

