diff --git a/tools/build-environment/win32/cvs-1.11.22.tar.bz2 b/tools/build-environment/win32/cvs-1.11.22.tar.bz2 new file mode 100644 index 000000000000..a6206e310da0 Binary files /dev/null and b/tools/build-environment/win32/cvs-1.11.22.tar.bz2 differ diff --git a/tools/build-environment/win32/libiconv-build.patch b/tools/build-environment/win32/libiconv-build.patch new file mode 100644 index 000000000000..a7cc08e4e2dc --- /dev/null +++ b/tools/build-environment/win32/libiconv-build.patch @@ -0,0 +1,16 @@ +--- src/Makefile.in Fri Jul 14 09:19:07 2006 ++++ ../_obj/libiconv-1.11/src/Makefile.in Fri Mar 9 16:16:21 2007 +@@ -95,11 +95,11 @@ + if [ ! -d $(DESTDIR)$(exec_prefix) ] ; then $(mkinstalldirs) $(DESTDIR)$(exec_prefix) ; fi + if [ ! -d $(DESTDIR)$(bindir) ] ; then $(mkinstalldirs) $(DESTDIR)$(bindir) ; fi + case "@host_os@" in \ + hpux*) $(CC) $(LDFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a -L$(DESTDIR)$(libdir) -liconv @LIBINTL@ `if test -n '$(DESTDIR)'; then echo " -Wl,+b -Wl,$(libdir)"; fi` -o iconv;; \ +- *) $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a $(DESTDIR)$(libdir)/libiconv.la @LTLIBINTL@ -o iconv;; \ ++ *) $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a ../lib/libiconv.la @LTLIBINTL@ -o iconv;; \ + esac +- $(INSTALL_PROGRAM_ENV) $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) iconv $(DESTDIR)$(bindir)/iconv ++ $(INSTALL_PROGRAM_ENV) $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) iconv$(EXEEXT) $(DESTDIR)$(bindir)/iconv$(EXEEXT) + + installdirs : force + if [ ! -d $(DESTDIR)$(prefix) ] ; then $(mkinstalldirs) $(DESTDIR)$(prefix) ; fi + if [ ! -d $(DESTDIR)$(exec_prefix) ] ; then $(mkinstalldirs) $(DESTDIR)$(exec_prefix) ; fi diff --git a/tools/build-environment/win32/make-3.81-MSYS-1.0.11-snapshot.tar.bz2 b/tools/build-environment/win32/make-3.81-MSYS-1.0.11-snapshot.tar.bz2 deleted file mode 100644 index 4292fb86e645..000000000000 Binary files a/tools/build-environment/win32/make-3.81-MSYS-1.0.11-snapshot.tar.bz2 and /dev/null differ diff --git a/tools/build-environment/win32/make-3.81.90.tar.bz2 b/tools/build-environment/win32/make-3.81.90.tar.bz2 new file mode 100644 index 000000000000..0e2787849206 Binary files /dev/null and b/tools/build-environment/win32/make-3.81.90.tar.bz2 differ diff --git a/tools/build-environment/win32/make-msys.patch b/tools/build-environment/win32/make-msys.patch new file mode 100644 index 000000000000..3af084e4b705 --- /dev/null +++ b/tools/build-environment/win32/make-msys.patch @@ -0,0 +1,45 @@ +Only in ../_obj/make-3.81.90/config: Makefile +diff -u4 -r config/config.guess ../_obj/make-3.81.90/config/config.guess +--- config/config.guess Fri Mar 9 09:32:15 2007 ++++ ../_obj/make-3.81.90/config/config.guess Fri Mar 9 09:56:53 2007 +@@ -783,8 +783,11 @@ + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; ++ *:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys32 ++ exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; +Only in ../_obj/make-3.81.90/config: config.guess~ +diff -u4 -r config/config.sub ../_obj/make-3.81.90/config/config.sub +--- config/config.sub Fri Mar 9 09:32:15 2007 ++++ ../_obj/make-3.81.90/config/config.sub Fri Mar 9 09:57:38 2007 +@@ -682,8 +682,12 @@ + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; ++ msys32) ++ basic_machine=i386-pc ++ os=-msys32 ++ ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) +@@ -1213,9 +1217,9 @@ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ +- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ ++ | -mingw32* | -msys32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ +Only in ../_obj/make-3.81.90/config: config.sub~ diff --git a/tools/build-environment/win32/make.exe b/tools/build-environment/win32/make.exe deleted file mode 100755 index 8620ade4ab11..000000000000 Binary files a/tools/build-environment/win32/make.exe and /dev/null differ diff --git a/tools/build-environment/win32/msysCORE-1.0.11-2007.01.19-1.tar.bz2 b/tools/build-environment/win32/msysCORE-1.0.11-2007.01.19-1.tar.bz2 new file mode 100644 index 000000000000..840e63e87449 Binary files /dev/null and b/tools/build-environment/win32/msysCORE-1.0.11-2007.01.19-1.tar.bz2 differ diff --git a/tools/build-environment/win32/packageit-msys.sh b/tools/build-environment/win32/packageit-msys.sh index e832c79440b6..7d135350dda4 100644 --- a/tools/build-environment/win32/packageit-msys.sh +++ b/tools/build-environment/win32/packageit-msys.sh @@ -13,6 +13,8 @@ fi MSYS_SRCDIR=$(cd "$MOZ_SRCDIR" && pwd) MSYS_STAGEDIR=$(cd "$MOZ_STAGEDIR" && pwd) +rm -rf "${MSYS_STAGEDIR}"{MIME_Base64-3.07,Time-HiRes-1.9707,make-3.81.90,cvs-1.11.22} + tar -xzf "${MSYS_SRCDIR}/MIME-Base64-3.07.tar.gz" -C "${MSYS_STAGEDIR}" pushd "${MSYS_STAGEDIR}/MIME-Base64-3.07" perl Makefile.pl @@ -29,6 +31,21 @@ make LD="gcc -shared" make install PREFIX="${MSYS_STAGEDIR}/mozilla-build/msys" popd +tar -xjf "${MSYS_SRCDIR}/make-3.81.90.tar.bz2" -C "${MSYS_STAGEDIR}" +pushd "${MSYS_STAGEDIR}/make-3.81.90" +patch -p0 < "${MSYS_SRCDIR}/make-msys.patch" +./configure --prefix=/local +make +make install prefix="${MSYS_STAGEDIR}/mozilla-build/msys/local" +popd + +tar -xjf "${MSYS_SRCDIR}/cvs-1.11.22.tar.bz2" -C "${MSYS_STAGEDIR}" +pushd "${MSYS_STAGEDIR}/cvs-1.11.22" +./configure --prefix=/local +make +make install prefix="${MSYS_STAGEDIR}/mozilal-build/msys/local" +popd + # In order for this to actually work, we now need to rebase # the DLL. Since I can't figure out how to rebase just one # DLL to avoid conflicts with a set of others, we just diff --git a/tools/build-environment/win32/packageit.py b/tools/build-environment/win32/packageit.py index fa2763fc0c39..59c7b6455d5a 100644 --- a/tools/build-environment/win32/packageit.py +++ b/tools/build-environment/win32/packageit.py @@ -20,6 +20,7 @@ # specify the installed location of MSYS (default c:\msys\1.0) # An MSYS build toolchain. This is described in: # http://www.mingw.org/MinGWiki/index.php/MSYSBuildEnvironment +# The msysCORE package must match that provided here. from subprocess import check_call from os import getcwd, remove, environ diff --git a/tools/build-environment/win32/packageit.sh b/tools/build-environment/win32/packageit.sh index fffefaa41496..2d81889d99f9 100644 --- a/tools/build-environment/win32/packageit.sh +++ b/tools/build-environment/win32/packageit.sh @@ -1,4 +1,5 @@ set -e +set -v # This script expects these to be absolute paths in win32 format if test -z "$MOZ_SRCDIR"; then @@ -13,10 +14,12 @@ fi MSYS_SRCDIR=$(cd "$MOZ_SRCDIR" && pwd) MSYS_STAGEDIR=$(cd "$MOZ_STAGEDIR" && pwd) -# install make-3.81 -tar -xjf "${MSYS_SRCDIR}/make-3.81-MSYS-1.0.11-snapshot.tar.bz2" -C "${MSYS_STAGEDIR}/mozilla-build" -# install the uber-new make.exe from Earnie Boyd -cp "${MSYS_SRCDIR}/make.exe" "${MSYS_STAGEDIR}/mozilla-build/make-3.81/bin" +# "rm.exe" from the msysCORE package is broken pretty badly. Use the "old" one +cp "${MSYS_STAGEDIR}/mozilla-build/msys/bin/rm.exe" "${MSYS_STAGEDIR}" + +# Install msysCORE update +tar -xjf "${MSYS_SRCDIR}/msysCORE-1.0.11-2007.01.19-1.tar.bz2" -C "${MSYS_STAGEDIR}/mozilla-build/msys" +cp "${MSYS_STAGEDIR}/rm.exe" "${MSYS_STAGEDIR}/mozilla-build/msys/bin" # copy /bin/sh to /bin/bash cp "${MSYS_STAGEDIR}/mozilla-build/msys/bin/sh.exe" "${MSYS_STAGEDIR}/mozilla-build/msys/bin/bash.exe" @@ -43,9 +46,10 @@ rm -rf "${MSYS_STAGEDIR}/libiconv-1.11" tar -xzf "${MSYS_SRCDIR}/libiconv-1.11.tar.gz" -C "${MSYS_STAGEDIR}" pushd "${MSYS_STAGEDIR}/libiconv-1.11" -./configure --prefix=/local +patch -p0 < "${MSYS_SRCDIR}/libiconv-build.patch" +./configure --prefix=/local --enable-static --disable-shared make -make install DESTDIR="${MSYS_STAGEDIR}/mozilla-build/msys" +make install DESTDIR="${MSYS_STAGEDIR}/mozilla-build/msys" LIBTOOL_INSTALL= popd # build and install atlthunk_compat diff --git a/tools/build-environment/win32/profile-extrapaths.sh b/tools/build-environment/win32/profile-extrapaths.sh index b2bd0762b6af..209e481a365c 100755 --- a/tools/build-environment/win32/profile-extrapaths.sh +++ b/tools/build-environment/win32/profile-extrapaths.sh @@ -2,7 +2,7 @@ if test -n "$MOZILLABUILD"; then MSYS_MOZBUILD=$(cd "$MOZILLABUILD" && pwd) - PATH="/local/bin:$MSYS_MOZBUILD/wget:$MSYS_MOZBUILD/7zip:$MSYS_MOZBUILD/blat261/full:$MSYS_MOZBUILD/make-3.81/bin:$MSYS_MOZBUILD/python25:$MSYS_MOZBUILD/svn-win32-1.4.2/bin:$MSYS_MOZBUILD/upx203w:$MSYS_MOZBUILD/xemacs/XEmacs-21.4.19/i586-pc-win32:$MSYS_MOZBUILD/info-zip:$MSYS_MOZBUILD/nsis-2.22:$PATH" + PATH="/local/bin:$MSYS_MOZBUILD/wget:$MSYS_MOZBUILD/7zip:$MSYS_MOZBUILD/blat261/full:$MSYS_MOZBUILD/python25:$MSYS_MOZBUILD/svn-win32-1.4.2/bin:$MSYS_MOZBUILD/upx203w:$MSYS_MOZBUILD/xemacs/XEmacs-21.4.19/i586-pc-win32:$MSYS_MOZBUILD/info-zip:$MSYS_MOZBUILD/nsis-2.22:$PATH" EDITOR=xemacs.exe CVS_RSH=ssh export PATH EDITOR CVS_RSH