Unverified Commit 1877dbbd authored by Georg Koppen's avatar Georg Koppen
Browse files

Bug 30323: Adapt macOS toolchain for esr68

There are already included some simplifications as done in
https://bugzilla.mozilla.org/show_bug.cgi?id=1513798 but not all of them
as some break our current setup. This needs to get investigated in a
different bug.
parent 4792ed52
Loading
Loading
Loading
Loading
+21 −27
Original line number Diff line number Diff line
@@ -52,24 +52,23 @@ EOF
  wine wineboot -i
[% END -%]

[% IF c("var/linux") %]
mkdir -p /var/tmp/dist
  tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/binutils') %]
  tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/python') %]
  tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/node') %]
  export PATH="/var/tmp/dist/binutils/bin:/var/tmp/dist/python/bin:/var/tmp/dist/node/bin:$PATH"
  # Use clang for everything on Linux now.
tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/cbindgen') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/nasm') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/python') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/node') %]
export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:/var/tmp/dist/python/bin:/var/tmp/dist/node/bin:$PATH"
tar -C /var/tmp/dist -xf [% c('input_files_by_name/clang') %]
export LLVM_CONFIG="/var/tmp/dist/clang/bin/llvm-config"

[% IF c("var/linux") %]
  tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/binutils') %]
  export PATH="/var/tmp/dist/binutils/bin:$PATH"
  # Use clang for everything on Linux now.
  export PATH="/var/tmp/dist/clang/bin:$PATH"
[% END -%]

mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/cbindgen') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/nasm') %]
export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:$PATH"

tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz

[% IF c("var/osx") %]
@@ -226,26 +225,21 @@ cp -p config/createprecomplete.py $MARTOOLS/
cp -p tools/update-packaging/*.sh $MARTOOLS/
cp -p obj-*/dist/host/bin/mar $MARTOOLS/
cp -p obj-*/dist/host/bin/mbsdiff $MARTOOLS/
[% IF c("var/linux") %]
[% IF c("var/linux") || c("var/osx") %]
  cp -p obj-*/dist/bin/signmar $MARTOOLS/
  cp -p obj-*/dist/bin/certutil $MARTOOLS/
  cp -p obj-*/dist/bin/modutil $MARTOOLS/
  cp -p obj-*/dist/bin/pk12util $MARTOOLS/
  cp -p obj-*/dist/bin/shlibsign $MARTOOLS/
  [% IF c("var/linux") %]
    NSS_LIBS="libfreeblpriv3.so libmozsqlite3.so libnss3.so libnssckbi.so libnssdbm3.so libnssutil3.so libsmime3.so libsoftokn3.so libssl3.so"
    NSPR_LIBS="libnspr4.so libplc4.so libplds4.so"
  for LIB in $NSS_LIBS $NSPR_LIBS; do
      cp -p obj-*/dist/bin/$LIB $MARTOOLS/
  done
[% END %]
[% IF c("var/osx") %]
  cp -p obj-*/modules/libmar/tool/signmar $MARTOOLS/
  cp -p obj-*/security/nss/cmd/certutil/certutil_certutil/certutil $MARTOOLS/
  cp -p obj-*/security/nss/cmd/modutil/modutil_modutil/modutil $MARTOOLS/
  cp -p obj-*/security/nss/cmd/pk12util/pk12util_pk12util/pk12util $MARTOOLS/
  cp -p obj-*/security/nss/cmd/shlibsign/shlibsign_shlibsign/shlibsign $MARTOOLS/
  [% ELSE %]
    NSS_LIBS="libfreebl3.dylib libmozglue.dylib libnss3.dylib libnssckbi.dylib libnssdbm3.dylib libsoftokn3.dylib"
  for LIB in $NSS_LIBS; do
    # No NSPR_LIBS for macOS
    NSPR_LIBS=""
  [% END %]
  for LIB in $NSS_LIBS $NSPR_LIBS; do
    cp -p obj-*/dist/bin/$LIB $MARTOOLS/
  done
[% END %]
+0 −1
Original line number Diff line number Diff line
@@ -152,7 +152,6 @@ input_files:
    name: python
  - project: clang
    name: clang
    enable: '[% c("var/linux") %]'
  - project: fxc2
    name: fxc2
    enable: '[% c("var/windows") %]'
+6 −9
Original line number Diff line number Diff line
@@ -11,21 +11,18 @@ FLAGS="-target x86_64-apple-darwin11 -B $CROSS_CCTOOLS_PATH/bin -isysroot $CROSS

export CC="$TOOLCHAIN_DIR/clang/bin/clang $FLAGS"
export CXX="$TOOLCHAIN_DIR/clang/bin/clang++ $FLAGS"
export CPP="$TOOLCHAIN_DIR/clang/bin/clang $FLAGS -E"
export LLVMCONFIG=$TOOLCHAIN_DIR/clang/bin/llvm-config
export LDFLAGS="-Wl,-syslibroot,$CROSS_SYSROOT -Wl,-dead_strip -Wl,-pie"
export LDFLAGS="-Wl,-syslibroot,$CROSS_SYSROOT -Wl,-pie"
export BINDGEN_CFLAGS="$FLAGS"
export TOOLCHAIN_PREFIX=$CROSS_CCTOOLS_PATH/bin/x86_64-apple-darwin11-
export DSYMUTIL="$TOOLCHAIN_DIR/clang/bin/llvm-dsymutil"
export DSYMUTIL="$TOOLCHAIN_DIR/clang/bin/dsymutil"

export HOST_CC="$TOOLCHAIN_DIR/clang/bin/clang"
export HOST_CXX="$TOOLCHAIN_DIR/clang/bin/clang++"
export HOST_CPP="$TOOLCHAIN_DIR/clang/bin/clang -E"
export HOST_CFLAGS="-g"
export HOST_CXXFLAGS="-g"
export HOST_LDFLAGS="-g"

ac_add_options --target=x86_64-apple-darwin
ac_add_options --target=x86_64-apple-darwin11
ac_add_options --with-macos-sdk=$CROSS_SYSROOT
ac_add_options --with-macos-private-frameworks=$CROSS_PRIVATE_FRAMEWORKS

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-macos
@@ -41,14 +38,14 @@ ac_add_options --enable-optimize
ac_add_options --disable-debug

ac_add_options --enable-tor-browser-data-outside-app-dir
ac_add_options --enable-tor-browser-update
#ac_add_options --enable-tor-browser-update
ac_add_options --enable-signmar
ac_add_options --enable-verify-mar

ac_add_options --disable-crashreporter
ac_add_options --disable-maintenance-service
ac_add_options --disable-webrtc
ac_add_options --disable-tests
# Let's make sure no preference is enabling either Adobe's or Google's CDM.
ac_add_options --disable-eme
ac_add_options --enable-proxy-bypass-protection
# ac_add_options --disable-ctypes
+2 −5
Original line number Diff line number Diff line
@@ -4,15 +4,12 @@ distdir="/var/tmp/dist/[% project %]"
mkdir -p "$distdir"
tar xjf [% c('input_files_by_name/SDK') %]
mv MacOSX10.11.sdk "$distdir/SDK"
tar xf [% c('input_files_by_name/llvm') %]
mv llvm "$distdir/clang"
tar xf [% c('input_files_by_name/clang') %]
mv clang "$distdir/clang"
tar -C $distdir -xf [% c('input_files_by_name/cctools') %]
cd $distdir/cctools/bin
ln -s ../../clang/bin/clang x86_64-apple-darwin11-clang
ln -s ../../clang/bin/clang++ x86_64-apple-darwin11-clang++
# "go link", libevent, and the jemalloc cross-compilation during the Rust build
# expect to find a program called "dsymutil" exactly.
ln -s ../../clang/bin/llvm-dsymutil dsymutil

cd "/var/tmp/dist"
[% c('tar', {
+2 −2
Original line number Diff line number Diff line
@@ -17,8 +17,8 @@ var:

input_files:
  - project: container-image
  - name: llvm
    project: llvm
  - name: clang
    project: clang
  - name: cctools
    project: cctools
  - name: SDK