Last Comment Bug 504735 - --disable-threadsafe/--enable-threadsafe confusion in configure
: --disable-threadsafe/--enable-threadsafe confusion in configure
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: x86 Linux
: -- minor (vote)
: mozilla16
Assigned To: Terrence Cole [:terrence]
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-07-16 20:45 PDT by Alex Earl
Modified: 2012-07-05 14:45 PDT (History)
3 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
v0: copied from comment (1.15 KB, patch)
2012-06-19 15:52 PDT, Terrence Cole [:terrence]
ted: review+
Details | Diff | Review

Description Alex Earl 2009-07-16 20:45:39 PDT
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11
Build Identifier: tip

The configure.in file has the following:

AC_ARG_ENABLE(threadsafe,
              [  --enable-threadsafe     Enable support for multiple threads.],
              [AC_DEFINE(JS_THREADSAFE)],)

The AC_DEFINE(JS_THREADSAFE) is used even if --disable-threadsafe is called. The enableval is set to no, but the value is defined anyway. A solution which might work better is as follows:

AC_ARG_ENABLE(threadsafe,
  [  --enable-threadsafe     Enable support for multiple threads.],
  [if test "x$enableval" = "xyes"; then
  AC_DEFINE(JS_THREADSAFE)
fi],)

This checks the value of enableval to see if it is yes and only sets the define if it is yes.

Since threadsafe is disabled by default, it might also be good to show this in the --help listing.

Reproducible: Always

Steps to Reproduce:
1. Run autoconf2.13
2. Run ./configure --disable-threadsafe

Actual Results:  
grep for JS_THREADSAFE and it is defined in js-config.h to be 1

Expected Results:  
JS_THREADSAFE should not be defined at all
Comment 1 Martin Stránský 2011-05-24 03:46:59 PDT
Yes, I can reproduce it. Regards to https://developer.mozilla.org/en/JS_THREADSAFE, JS_THREADSAFE is always on (and sources are really built with -DJS_THREADSAFE).

But without --enable-threadsafe config option the js-config.h file says JS_THREADSAFE is disabled.
Comment 2 Terrence Cole [:terrence] 2012-06-19 15:52:46 PDT
Created attachment 634635 [details] [diff] [review]
v0: copied from comment
Comment 3 Terrence Cole [:terrence] 2012-06-22 16:45:00 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/e077c138cd5d
Comment 4 Ryan VanderMeulen [:RyanVM] 2012-06-23 05:44:22 PDT
https://hg.mozilla.org/mozilla-central/rev/e077c138cd5d

Note You need to log in before you can comment on or make changes to this bug.