Bug 739188 - Allow crosscompiling for Windows without NSIS r=ted
--- a/browser/Makefile.in
+++ b/browser/Makefile.in
@@ -51,23 +51,24 @@ PARALLEL_DIRS = \
themes \
$(NULL)
DIRS = \
devtools \
app \
$(NULL)
-ifeq ($(OS_ARCH),WINNT)
+ifdef MAKENSISU
DIRS += installer/windows
endif
include $(topsrcdir)/config/rules.mk
-ifeq ($(OS_ARCH),WINNT)
+ifdef MAKENSISU
+
# For Windows build the uninstaller during the application build since the
# uninstaller is included with the application for mar file generation.
libs::
$(MAKE) -C installer/windows uninstaller
ifdef MOZ_MAINTENANCE_SERVICE
$(MAKE) -C installer/windows maintenanceservice_installer
endif
endif
--- a/browser/makefiles.sh
+++ b/browser/makefiles.sh
@@ -97,17 +97,17 @@ security/manager/locales/Makefile
"
if [ "$MOZ_SAFE_BROWSING" ]; then
add_makefiles "
browser/components/safebrowsing/Makefile
"
fi
-if [ "$MOZ_WIDGET_TOOLKIT" = "windows" ]; then
+if [ "$MAKENSISU" ]; then
add_makefiles "
browser/installer/windows/Makefile
"
fi
if [ "$MOZ_WIDGET_TOOLKIT" = "gtk2" -o "$MOZ_WIDGET_TOOLKIT" = "qt" ]; then
add_makefiles "
browser/themes/gnomestripe/Makefile
--- a/configure.in
+++ b/configure.in
@@ -6314,39 +6314,48 @@ if test -n "$MOZ_TREE_FREETYPE"; then
AC_DEFINE(HAVE_FT_LOAD_SFNT_TABLE)
AC_SUBST(CAIRO_FT_CFLAGS)
fi
dnl ========================================================
dnl Installer
dnl ========================================================
dnl Abort Windows build if the required major version and
-dnl minimum minor version of Unicode NSIS isn't in the path.
+dnl minimum minor version of Unicode NSIS isn't in the path
+dnl (unless in case of cross compiling, for which Unicode
+dnl is not yet sufficient).
if test "$OS_ARCH" = "WINNT"; then
REQ_NSIS_MAJOR_VER=2
MIN_NSIS_MINOR_VER=33
MOZ_PATH_PROGS(MAKENSISU, $MAKENSISU makensisu-2.46 makensisu makensis)
- if test -z "$MAKENSISU" -o "$MAKENSISU" = ":"; then
- AC_MSG_ERROR([To build the installer you must have the latest MozillaBuild or Unicode NSIS with a major version of $REQ_NSIS_MAJOR_VER and a minimum minor version of $MIN_NSIS_MINOR_VER in your path.])
- fi
- changequote(,)
- MAKENSISU_VER=`"$MAKENSISU" -version 2>/dev/null | sed -e '/-Unicode/!s/.*//g' -e 's/^v\([0-9]\+\.[0-9]\+\)\-Unicode$/\1/g'`
- changequote([,])
- if test ! "$MAKENSISU_VER" = ""; then
- MAKENSISU_MAJOR_VER=`echo $MAKENSISU_VER | $AWK -F\. '{ print $1 }'`
- MAKENSISU_MINOR_VER=`echo $MAKENSISU_VER | $AWK -F\. '{ print $2 }'`
- fi
- AC_MSG_CHECKING([for Unicode NSIS with major version == $REQ_NSIS_MAJOR_VER and minor version >= $MIN_NSIS_MINOR_VER])
- if test "$MAKENSISU_VER" = "" ||
- test ! "$MAKENSISU_MAJOR_VER" = "$REQ_NSIS_MAJOR_VER" -o \
- ! "$MAKENSISU_MINOR_VER" -ge $MIN_NSIS_MINOR_VER; then
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([To build the installer you must have the latest MozillaBuild or Unicode NSIS with a major version of $REQ_NSIS_MAJOR_VER and a minimum minor version of $MIN_NSIS_MINOR_VER in your path.])
- fi
- AC_MSG_RESULT([yes])
+ if test -n "$MAKENSISU" -a "$MAKENSISU" != ":"; then
+ AC_MSG_RESULT([yes])
+ changequote(,)
+ MAKENSISU_VER=`"$MAKENSISU" -version 2>/dev/null | sed -e '/-Unicode/!s/.*//g' -e 's/^v\([0-9]\+\.[0-9]\+\)\-Unicode$/\1/g'`
+ changequote([,])
+ if test ! "$MAKENSISU_VER" = ""; then
+ MAKENSISU_MAJOR_VER=`echo $MAKENSISU_VER | $AWK -F\. '{ print $1 }'`
+ MAKENSISU_MINOR_VER=`echo $MAKENSISU_VER | $AWK -F\. '{ print $2 }'`
+ fi
+ AC_MSG_CHECKING([for Unicode NSIS with major version == $REQ_NSIS_MAJOR_VER and minor version >= $MIN_NSIS_MINOR_VER])
+ if test "$MAKENSISU_VER" = "" || \
+ test ! "$MAKENSISU_MAJOR_VER" = "$REQ_NSIS_MAJOR_VER" -o \
+ ! "$MAKENSISU_MINOR_VER" -ge $MIN_NSIS_MINOR_VER; then
+ AC_MSG_RESULT([no])
+ if test -z "$CROSS_COMPILE"; then
+ AC_MSG_ERROR([To build the installer you must have the latest MozillaBuild or Unicode NSIS with a major version of $REQ_NSIS_MAJOR_VER and a minimum minor version of $MIN_NSIS_MINOR_VER in your path.])
+ else
+ MAKENSISU=
+ fi
+ fi
+ elif test -z "$CROSS_COMPILE"; then
+ AC_MSG_ERROR([To build the installer you must have the latest MozillaBuild or Unicode NSIS with a major version of $REQ_NSIS_MAJOR_VER and a minimum minor version of $MIN_NSIS_MINOR_VER in your path.])
+ else
+ MAKENSISU=
+ fi
fi
AC_MSG_CHECKING([for tar archiver])
AC_CHECK_PROGS(TAR, gnutar gtar tar, "")
if test -z "$TAR"; then
AC_MSG_ERROR([no tar archiver found in \$PATH])
fi
AC_MSG_RESULT([$TAR])
--- a/xulrunner/Makefile.in
+++ b/xulrunner/Makefile.in
@@ -45,17 +45,17 @@ include $(DEPTH)/config/autoconf.mk
PARALLEL_DIRS = \
app \
setup \
stub \
examples \
$(NULL)
-ifeq ($(OS_ARCH),WINNT)
+ifdef MAKENSISU
DIRS += installer/windows
endif
ifeq ($(OS_ARCH),WINNT)
PARALLEL_DIRS += tools/redit
endif
include $(topsrcdir)/config/rules.mk
--- a/xulrunner/makefiles.sh
+++ b/xulrunner/makefiles.sh
@@ -47,17 +47,17 @@ xulrunner/examples/simple/Makefile
xulrunner/examples/simple/components/Makefile
xulrunner/examples/simple/components/public/Makefile
xulrunner/examples/simple/components/src/Makefile
xulrunner/setup/Makefile
xulrunner/stub/Makefile
xulrunner/installer/Makefile
"
-if [ "$OS_ARCH" = "WINNT" ]; then
+if [ "$MAKENSISU" ]; then
add_makefiles "
xulrunner/installer/windows/Makefile
"
fi
if [ "$OS_ARCH" = "Darwin" ]; then
add_makefiles "
xulrunner/installer/mac/Makefile