blob: ef09727c96fda70129c9663104464809bfc41a48 [file] [log] [blame]
# We will be sourcing mozconfig files, which end up calling mk_add_options with
# various settings. We only need the variable settings they create along the
# way.
mk_add_options() {
: do nothing
}
topsrcdir="$SOURCE"
# When running on a developer machine, several variables will already
# have the right settings and we will need to keep them since the
# Windows mozconfigs overwrite them.
export OLD_INCLUDE=$(IFS=';'; for d in $INCLUDE; do ( cd "$d" && echo -n $(pwd): ); done)
export OLD_LIB=$(IFS=';'; for d in $LIB; do ( cd "$d" && echo -n $(pwd): ); done)
export OLD_LIBPATH=$(IFS=';'; for d in $LIBPATH; do ( cd "$d" && echo -n $(pwd): ); done)
# The various browser/config/mozconfigs/win32/* files use these checks to pick
# the compiler.
if $USE_64BIT; then
. $topsrcdir/build/win64/mozconfig.vs2013
elif test "$PROCESSOR_ARCHITECTURE" = "AMD64" -o "$PROCESSOR_ARCHITEW6432" = "AMD64"; then
. $topsrcdir/build/win32/mozconfig.vs2013-win64
else
. $topsrcdir/build/win32/mozconfig.vs2010
fi
# If PATH starts with a directory beginning with /d that does not
# exist, it messes up cl.exe invocation (probably by passing in a
# bogus option or something. I don't know why exactly.)
export PATH="$(perl -le 'print join ":", grep { -d $_ } split ":", $ENV{PATH}')"
# PATH also needs to point to mozmake.exe, which can come from either
# newer mozilla-build or tooltool.
if ! which mozmake 2>/dev/null; then
export PATH="$PATH:$SOURCE/.."
if ! which mozmake 2>/dev/null; then
TT_SERVER=${TT_SERVER:-https://api.pub.build.mozilla.org/tooltool/}
( cd $SOURCE/..; ./scripts/scripts/tooltool/tooltool_wrapper.sh $SOURCE/browser/config/tooltool-manifests/${platform:-win32}/releng.manifest $TT_SERVER setup.sh c:/mozilla-build/python27/python.exe C:/mozilla-build/tooltool.py )
fi
fi
# Set INCLUDE to any existing directories from either the INCLUDE set by the
# mozconfig, or pre-existing directories. I have observed cases where extra
# nonexistent directories in the INCLUDE search path causes the compiler to
# fail to find files that show up later in the search path.
#
# Note that the mozconfig will use msys-style paths and OLD_INCLUDE will use
# Windows-style paths, but perl and cl.exe both seem ok with either.
export INCLUDE="$(perl -le 'print join ":", grep { -d $_ } split(":", $ENV{INCLUDE}),split(":", $ENV{OLD_INCLUDE})')"
export LIB="$(perl -le 'print join ":", grep { -d $_ } split(":", $ENV{LIB}),split(":", $ENV{OLD_LIB})')"
export LIBPATH="$(perl -le 'print join ":", grep { -d $_ } split(":", $ENV{LIBPATH}),split(":", $ENV{OLD_LIBPATH})')"