Commit 794c2c99 authored by Ryan VanderMeulen's avatar Ryan VanderMeulen
Browse files

Backed out changeset 9d86b9442f0b (bug 975011) for Windows debug test bustage...

Backed out changeset 9d86b9442f0b (bug 975011) for Windows debug test bustage that only appears on clobber builds.
CLOSED TREE
parent 9f140ae3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -22,4 +22,4 @@
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
# don't change CLOBBER for WebIDL changes any more.

Clobber for bug 1022262.
Clobber to make sure any residual damage from bug 975011 is gone.
+0 −1
Original line number Diff line number Diff line
@@ -11,7 +11,6 @@ builtin(include, build/autoconf/toolchain.m4)dnl
builtin(include, build/autoconf/ccache.m4)dnl
builtin(include, build/autoconf/wrapper.m4)dnl
builtin(include, build/autoconf/nspr.m4)dnl
builtin(include, build/autoconf/nspr-build.m4)dnl
builtin(include, build/autoconf/nss.m4)dnl
builtin(include, build/autoconf/pkg.m4)dnl
builtin(include, build/autoconf/codeset.m4)dnl

build/autoconf/nspr-build.m4

deleted100644 → 0
+0 −269
Original line number Diff line number Diff line
dnl This Source Code Form is subject to the terms of the Mozilla Public
dnl License, v. 2.0. If a copy of the MPL was not distributed with this
dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.

AC_DEFUN([MOZ_CONFIG_NSPR], [

ifelse([$1],,define(CONFIGURING_JS,yes))

dnl Possible ways this can be called:
dnl   from toplevel configure:
dnl     JS_STANDALONE=  BUILDING_JS=
dnl   from js/src/configure invoked by toplevel configure:
dnl     JS_STANDALONE=  BUILDING_JS=1
dnl   from standalone js/src/configure:
dnl     JS_STANDALONE=1 BUILDING_JS=1

dnl ========================================================
dnl = Find the right NSPR to use.
dnl ========================================================
MOZ_ARG_WITH_STRING(nspr-cflags,
[  --with-nspr-cflags=FLAGS
                          Pass FLAGS to CC when building code that uses NSPR.
                          Use this when there's no accurate nspr-config
                          script available.  This is the case when building
                          SpiderMonkey as part of the Mozilla tree: the
                          top-level configure script computes NSPR flags
                          that accomodate the quirks of that environment.],
    NSPR_CFLAGS=$withval)
MOZ_ARG_WITH_STRING(nspr-libs,
[  --with-nspr-libs=LIBS   Pass LIBS to LD when linking code that uses NSPR.
                          See --with-nspr-cflags for more details.],
    NSPR_LIBS=$withval)

ifdef([CONFIGURING_JS],[
    MOZ_ARG_ENABLE_BOOL(nspr-build,
[  --enable-nspr-build     Configure and build NSPR from source tree],
        MOZ_BUILD_NSPR=1,
        MOZ_BUILD_NSPR=)
])

if test -z "$BUILDING_JS" || test -n "$JS_STANDALONE"; then
  _IS_OUTER_CONFIGURE=1
fi

MOZ_ARG_WITH_BOOL(system-nspr,
[  --with-system-nspr      Use an NSPR that is already built and installed.
                          Use the 'nspr-config' script in the current path,
                          or look for the script in the directories given with
                          --with-nspr-exec-prefix or --with-nspr-prefix.
                          (Those flags are only checked if you specify
                          --with-system-nspr.)],
    _USE_SYSTEM_NSPR=1 )

if test -z "$BUILDING_JS"; then
    JS_THREADSAFE=1
fi

JS_POSIX_NSPR=unset
ifdef([CONFIGURING_JS],[
    if test -n "$JS_STANDALONE"; then
      case "$target" in
        *linux*|*darwin*|*dragonfly*|*freebsd*|*netbsd*|*openbsd*)
          if test -z "$_HAS_NSPR" && test "$JS_THREADSAFE"; then
            JS_POSIX_NSPR_DEFAULT=1
          fi
          ;;
      esac
    fi

    MOZ_ARG_ENABLE_BOOL(posix-nspr-emulation,
[  --enable-posix-nspr-emulation
                          Enable emulation of NSPR for POSIX systems],
    JS_POSIX_NSPR=1,
    JS_POSIX_NSPR=)
])

dnl Pass at most one of
dnl   --with-system-nspr
dnl   --with-nspr-cflags/libs
dnl   --enable-nspr-build
dnl   --enable-posix-nspr-emulation

AC_MSG_CHECKING([NSPR selection])
nspr_opts=
which_nspr=default
if test -n "$_USE_SYSTEM_NSPR"; then
    nspr_opts="x$nspr_opts"
    which_nspr="system"
fi
if test -n "$NSPR_CFLAGS" -o -n "$NSPR_LIBS"; then
    nspr_opts="x$nspr_opts"
    which_nspr="command-line"
fi
if test -n "$MOZ_BUILD_NSPR"; then
    nspr_opts="x$nspr_opts"
    which_nspr="source-tree"
fi
if test "$JS_POSIX_NSPR" = unset; then
    JS_POSIX_NSPR=
else
    nspr_opts="x$nspr_opts"
    which_nspr="posix-wrapper"
fi

if test -z "$nspr_opts"; then
    if test -z "$BUILDING_JS"; then
      dnl Toplevel configure defaults to using nsprpub from the source tree
      MOZ_BUILD_NSPR=1
      which_nspr="source-tree"
    else
      dnl JS configure defaults to emulated NSPR if available, falling back
      dnl to nsprpub.
      if test -n "$JS_THREADSAFE"; then
          JS_POSIX_NSPR="$JS_POSIX_NSPR_DEFAULT"
          if test -z "$JS_POSIX_NSPR"; then
             MOZ_BUILD_NSPR=1
             which_nspr="source-tree"
          else
             which_nspr="posix-wrapper"
          fi
      else
          which_nspr="none"
      fi
   fi
fi

if test -z "$nspr_opts" || test "$nspr_opts" = x; then
    AC_MSG_RESULT($which_nspr)
else
    AC_MSG_ERROR([only one way of using NSPR may be selected. See 'configure --help'.])
fi

AC_SUBST(MOZ_BUILD_NSPR)

if test -n "$BUILDING_JS"; then
  if test "$JS_POSIX_NSPR" = 1; then
    AC_DEFINE(JS_POSIX_NSPR)
  fi
  AC_SUBST(JS_POSIX_NSPR)
fi

# A (sub)configure invoked by the toplevel configure will always receive
# --with-nspr-libs on the command line. It will never need to figure out
# anything itself.
if test -n "$_IS_OUTER_CONFIGURE"; then

if test -n "$_USE_SYSTEM_NSPR"; then
    AM_PATH_NSPR($NSPR_MINVER, [MOZ_NATIVE_NSPR=1], [AC_MSG_ERROR([you do not have NSPR installed or your version is older than $NSPR_MINVER.])])
fi

if test -n "$MOZ_NATIVE_NSPR" -o -n "$NSPR_CFLAGS" -o -n "$NSPR_LIBS"; then
    _SAVE_CFLAGS=$CFLAGS
    CFLAGS="$CFLAGS $NSPR_CFLAGS"
    AC_TRY_COMPILE([#include "prtypes.h"],
                [#ifndef PR_STATIC_ASSERT
                 #error PR_STATIC_ASSERT not defined or requires including prtypes.h
                 #endif],
                ,
                AC_MSG_ERROR([system NSPR does not support PR_STATIC_ASSERT or including prtypes.h does not provide it]))
    AC_TRY_COMPILE([#include "prtypes.h"],
                [#ifndef PR_UINT64
                 #error PR_UINT64 not defined or requires including prtypes.h
                 #endif],
                ,
                AC_MSG_ERROR([system NSPR does not support PR_UINT64 or including prtypes.h does not provide it]))
    CFLAGS=$_SAVE_CFLAGS
elif test -z "$JS_POSIX_NSPR" -a -n "$JS_THREADSAFE"; then
    if test -z "$LIBXUL_SDK"; then
        NSPR_CFLAGS="-I${LIBXUL_DIST}/include/nspr"
        if test -n "$GNU_CC"; then
            NSPR_LIBS="-L${LIBXUL_DIST}/lib -lnspr${NSPR_VERSION} -lplc${NSPR_VERSION} -lplds${NSPR_VERSION}"
        else
            NSPR_LIBS="${LIBXUL_DIST}/lib/nspr${NSPR_VERSION}.lib ${LIBXUL_DIST}/lib/plc${NSPR_VERSION}.lib ${LIBXUL_DIST}/lib/plds${NSPR_VERSION}.lib "
        fi
    else
        NSPR_CFLAGS=`"${LIBXUL_DIST}"/sdk/bin/nspr-config --prefix="${LIBXUL_DIST}" --includedir="${LIBXUL_DIST}/include/nspr" --cflags`
        NSPR_LIBS=`"${LIBXUL_DIST}"/sdk/bin/nspr-config --prefix="${LIBXUL_DIST}" --libdir="${LIBXUL_DIST}"/lib --libs`
    fi
fi

AC_SUBST(NSPR_CFLAGS)
AC_SUBST(NSPR_LIBS)

NSPR_PKGCONF_CHECK="nspr"
if test -n "$MOZ_NATIVE_NSPR"; then
    # piggy back on $MOZ_NATIVE_NSPR to set a variable for the nspr check for js.pc
    NSPR_PKGCONF_CHECK="nspr >= $NSPR_MINVER"

    _SAVE_CFLAGS=$CFLAGS
    CFLAGS="$CFLAGS $NSPR_CFLAGS"
    AC_TRY_COMPILE([#include "prlog.h"],
                [#ifndef PR_STATIC_ASSERT
                 #error PR_STATIC_ASSERT not defined
                 #endif],
                ,
                AC_MSG_ERROR([system NSPR does not support PR_STATIC_ASSERT]))
    CFLAGS=$_SAVE_CFLAGS
fi
AC_SUBST(NSPR_PKGCONF_CHECK)

fi # _IS_OUTER_CONFIGURE

])

AC_DEFUN([MOZ_SUBCONFIGURE_NSPR], [

if test -z "$MOZ_NATIVE_NSPR"; then
    ac_configure_args="$_SUBDIR_CONFIG_ARGS --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla"
    if test -z "$MOZ_DEBUG"; then
        ac_configure_args="$ac_configure_args --disable-debug"
    else
        ac_configure_args="$ac_configure_args --enable-debug"
    fi
    if test "$MOZ_OPTIMIZE" = "1"; then
        ac_configure_args="$ac_configure_args --enable-optimize"
    elif test -z "$MOZ_OPTIMIZE"; then
        ac_configure_args="$ac_configure_args --disable-optimize"
    fi
    if test -n "$HAVE_64BIT_OS"; then
        ac_configure_args="$ac_configure_args --enable-64bit"
    fi
    if test -n "$USE_ARM_KUSER"; then
        ac_configure_args="$ac_configure_args --with-arm-kuser"
    fi
    # A configure script generated by autoconf 2.68 does not allow the cached
    # values of "precious" variables such as CFLAGS and LDFLAGS to differ from
    # the values passed to the configure script. Since we modify CFLAGS and
    # LDFLAGS before passing them to NSPR's configure script, we cannot share
    # config.cache with NSPR. As a result, we cannot pass AS, CC, CXX, etc. to
    # NSPR via a shared config.cache file and must pass them to NSPR on the
    # configure command line.
    for var in AS CC CXX CPP LD AR RANLIB STRIP; do
        ac_configure_args="$ac_configure_args $var='`eval echo \\${${var}}`'"
    done
    # A configure script generated by autoconf 2.68 warns if --host is
    # specified but --build isn't. So we always pass --build to NSPR's
    # configure script.
    ac_configure_args="$ac_configure_args --build=$build"
    ac_configure_args="$ac_configure_args $NSPR_CONFIGURE_ARGS"

    # Save these, so we can mess with them for the subconfigure ..
    _SAVE_CFLAGS="$CFLAGS"
    _SAVE_CPPFLAGS="$CPPFLAGS"
    _SAVE_LDFLAGS="$LDFLAGS"

    if test -n "$MOZ_LINKER" -a "$ac_cv_func_dladdr" = no ; then
      # dladdr is supported by the new linker, even when the system linker doesn't
      # support it. Trick nspr into using dladdr when it's not supported.
      export CPPFLAGS="-include $_topsrcdir/mozglue/linker/dladdr.h $CPPFLAGS"
    fi
    export LDFLAGS="$LDFLAGS $NSPR_LDFLAGS"
    export CFLAGS="$CFLAGS $MOZ_FRAMEPTR_FLAGS"

    # Use a separate cache file for NSPR since it uses autoconf 2.68.
    _save_cache_file="$cache_file"
    cache_file=$_objdir/nsprpub/config.cache

    AC_OUTPUT_SUBDIRS(nsprpub)

    # .. and restore them
    cache_file="$_save_cache_file"
    CFLAGS="$_SAVE_CFLAGS"
    CPPFLAGS="$_SAVE_CPPFLAGS"
    LDFLAGS="$_SAVE_LDFLAGS"

    ac_configure_args="$_SUBDIR_CONFIG_ARGS"
fi

])
+106 −10
Original line number Diff line number Diff line
@@ -53,7 +53,6 @@ dnl ========================================================
MOZJPEG=62
MOZPNG=10610
NSPR_VERSION=4
NSPR_MINVER=4.10.3
NSS_VERSION=3

dnl Set the minimum version of toolkit libs used by mozilla
@@ -132,7 +131,7 @@ EOF
  exit 1
  break
fi
MOZ_BUILD_ROOT=`pwd -W 2>/dev/null || pwd`
MOZ_BUILD_ROOT=`pwd`

MOZ_PYTHON

@@ -2201,6 +2200,7 @@ ia64*-hpux*)

    case "$host" in
    *-mingw*)
        MOZ_BUILD_ROOT=`cd $MOZ_BUILD_ROOT && pwd -W`
        if test -n "$L10NBASEDIR"; then
            L10NBASEDIR=`cd $L10NBASEDIR && pwd -W`
        fi
@@ -3443,7 +3443,47 @@ MOZ_ARG_WITH_BOOL(system-libxul,
[  --with-system-libxul    Use system installed libxul SDK],
    SYSTEM_LIBXUL=1)

MOZ_CONFIG_NSPR()
dnl ========================================================
dnl = If NSPR was not detected in the system,
dnl = use the one in the source tree (mozilla/nsprpub)
dnl ========================================================
MOZ_ARG_WITH_BOOL(system-nspr,
[  --with-system-nspr      Use system installed NSPR],
    _USE_SYSTEM_NSPR=1 )

if test -n "$_USE_SYSTEM_NSPR"; then
    AM_PATH_NSPR(4.10.6, [MOZ_NATIVE_NSPR=1], [AC_MSG_ERROR([your don't have NSPR installed or your version is too old])])
fi

if test -n "$MOZ_NATIVE_NSPR"; then
    _SAVE_CFLAGS=$CFLAGS
    CFLAGS="$CFLAGS $NSPR_CFLAGS"
    AC_TRY_COMPILE([#include "prtypes.h"],
                [#ifndef PR_STATIC_ASSERT
                 #error PR_STATIC_ASSERT not defined or requires including prtypes.h
                 #endif],
                [MOZ_NATIVE_NSPR=1],
                AC_MSG_ERROR([system NSPR does not support PR_STATIC_ASSERT or including prtypes.h does not provide it]))
    AC_TRY_COMPILE([#include "prtypes.h"],
                [#ifndef PR_UINT64
                 #error PR_UINT64 not defined or requires including prtypes.h
                 #endif],
                [MOZ_NATIVE_NSPR=1],
                AC_MSG_ERROR([system NSPR does not support PR_UINT64 or including prtypes.h does not provide it]))
    CFLAGS=$_SAVE_CFLAGS
else
    if test -z "$LIBXUL_SDK"; then
        NSPR_CFLAGS="-I${LIBXUL_DIST}/include/nspr"
        if test -n "$GNU_CC"; then
            NSPR_LIBS="-L${LIBXUL_DIST}/lib -lnspr${NSPR_VERSION} -lplc${NSPR_VERSION} -lplds${NSPR_VERSION}"
        else
            NSPR_LIBS="${LIBXUL_DIST}/lib/nspr${NSPR_VERSION}.lib ${LIBXUL_DIST}/lib/plc${NSPR_VERSION}.lib ${LIBXUL_DIST}/lib/plds${NSPR_VERSION}.lib "
        fi
    else
        NSPR_CFLAGS=`"${LIBXUL_DIST}"/sdk/bin/nspr-config --prefix="${LIBXUL_DIST}" --includedir="${LIBXUL_DIST}/include/nspr" --cflags`
        NSPR_LIBS=`"${LIBXUL_DIST}"/sdk/bin/nspr-config --prefix="${LIBXUL_DIST}" --libdir="${LIBXUL_DIST}"/lib --libs`
    fi
fi

dnl set GRE_MILESTONE
dnl ========================================================
@@ -9136,10 +9176,70 @@ if test -n "$_WRAP_MALLOC"; then
    _SUBDIR_CONFIG_ARGS="`echo $_SUBDIR_CONFIG_ARGS | sed -e 's/--enable-wrap-malloc *//'`"
fi

MOZ_SUBCONFIGURE_NSPR()
if test -z "$MOZ_NATIVE_NSPR"; then
    ac_configure_args="$_SUBDIR_CONFIG_ARGS --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla"
    if test -z "$MOZ_DEBUG"; then
        ac_configure_args="$ac_configure_args --disable-debug"
    else
        ac_configure_args="$ac_configure_args --enable-debug"
        if test -n "$MOZ_NO_DEBUG_RTL"; then
            ac_configure_args="$ac_configure_args --disable-debug-rtl"
        fi
    fi
    if test "$MOZ_OPTIMIZE" = "1"; then
        ac_configure_args="$ac_configure_args --enable-optimize"
    elif test -z "$MOZ_OPTIMIZE"; then
        ac_configure_args="$ac_configure_args --disable-optimize"
    fi
    if test -n "$HAVE_64BIT_OS"; then
        ac_configure_args="$ac_configure_args --enable-64bit"
    fi
    if test -n "$USE_ARM_KUSER"; then
        ac_configure_args="$ac_configure_args --with-arm-kuser"
    fi
    # A configure script generated by autoconf 2.68 does not allow the cached
    # values of "precious" variables such as CFLAGS and LDFLAGS to differ from
    # the values passed to the configure script. Since we modify CFLAGS and
    # LDFLAGS before passing them to NSPR's configure script, we cannot share
    # config.cache with NSPR. As a result, we cannot pass AS, CC, CXX, etc. to
    # NSPR via a shared config.cache file and must pass them to NSPR on the
    # configure command line.
    for var in AS CC CXX CPP LD AR RANLIB STRIP; do
        ac_configure_args="$ac_configure_args $var='`eval echo \\${${var}}`'"
    done
    # A configure script generated by autoconf 2.68 warns if --host is
    # specified but --build isn't. So we always pass --build to NSPR's
    # configure script.
    ac_configure_args="$ac_configure_args --build=$build"
    ac_configure_args="$ac_configure_args $NSPR_CONFIGURE_ARGS"

    # Save these, so we can mess with them for the subconfigure ..
    _SAVE_CFLAGS="$CFLAGS"
    _SAVE_CPPFLAGS="$CPPFLAGS"
    _SAVE_LDFLAGS="$LDFLAGS"

    if test -n "$MOZ_LINKER" -a "$ac_cv_func_dladdr" = no ; then
      # dladdr is supported by the new linker, even when the system linker doesn't
      # support it. Trick nspr into using dladdr when it's not supported.
      export CPPFLAGS="-include $_topsrcdir/mozglue/linker/dladdr.h $CPPFLAGS"
    fi
    export LDFLAGS="$LDFLAGS $NSPR_LDFLAGS"
    export CFLAGS="$CFLAGS $MOZ_FRAMEPTR_FLAGS"

    # Use a separate cache file for NSPR since it uses autoconf 2.68.
    _save_cache_file="$cache_file"
    cache_file=$_objdir/nsprpub/config.cache

    AC_OUTPUT_SUBDIRS(nsprpub)

    # .. and restore them
    cache_file="$_save_cache_file"
    CFLAGS="$_SAVE_CFLAGS"
    CPPFLAGS="$_SAVE_CPPFLAGS"
    LDFLAGS="$_SAVE_LDFLAGS"

    ac_configure_args="$_SUBDIR_CONFIG_ARGS"
fi

dnl ========================================================
dnl = Setup a nice relatively clean build environment for
@@ -9162,14 +9262,10 @@ if test -n "$ENABLE_CLANG_PLUGIN"; then
    AC_OUTPUT_SUBDIRS(build/clang-plugin)
fi


# Run the SpiderMonkey 'configure' script.
dist=$MOZ_BUILD_ROOT/dist
ac_configure_args="$_SUBDIR_CONFIG_ARGS"

# --with-system-nspr will have been converted into the relevant $NSPR_CFLAGS
# and $NSPR_LIBS.
ac_configure_args="`echo $ac_configure_args | sed -e 's/--with-system-nspr\S* *//'`"

ac_configure_args="$ac_configure_args --enable-threadsafe"

if test "$_INTL_API" = no; then
@@ -9192,7 +9288,7 @@ fi
if test -z "$JSGC_GENERATIONAL" ; then
    ac_configure_args="$ac_configure_args --disable-gcgenerational"
fi
if test -n "$NSPR_CFLAGS" -o -n "$NSPR_LIBS"; then
if test -z "$MOZ_NATIVE_NSPR"; then
    ac_configure_args="$ac_configure_args --with-nspr-cflags='$NSPR_CFLAGS'"
    ac_configure_args="$ac_configure_args --with-nspr-libs='$NSPR_LIBS'"
fi
+0 −1
Original line number Diff line number Diff line
@@ -12,7 +12,6 @@ builtin(include, ../../build/autoconf/ccache.m4)dnl
builtin(include, ../../build/autoconf/wrapper.m4)dnl
builtin(include, ../../build/autoconf/pkg.m4)dnl
builtin(include, ../../build/autoconf/nspr.m4)dnl
builtin(include, ../../build/autoconf/nspr-build.m4)dnl
builtin(include, ../../build/autoconf/codeset.m4)dnl
builtin(include, ../../build/autoconf/altoptions.m4)dnl
builtin(include, ../../build/autoconf/mozprog.m4)dnl
Loading