gitian: Windows 64 bit support
- Build a 64 bit version of all dependencies - Show 32/64 bit version in "About..." for x86 - Export 64-bit .exes and installer from gitian build
This commit is contained in:
56
contrib/gitian-descriptors/protobuf-win.yml
Normal file
56
contrib/gitian-descriptors/protobuf-win.yml
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
name: "protobuf-win32"
|
||||
suites:
|
||||
- "precise"
|
||||
architectures:
|
||||
- "amd64"
|
||||
packages:
|
||||
- "mingw-w64"
|
||||
- "g++-mingw-w64"
|
||||
- "zip"
|
||||
- "faketime"
|
||||
reference_datetime: "2013-04-15 00:00:00"
|
||||
remotes: []
|
||||
files:
|
||||
- "protobuf-2.5.0.tar.bz2"
|
||||
script: |
|
||||
#
|
||||
export TZ=UTC
|
||||
INDIR=$HOME/build
|
||||
OPTFLAGS="-O2"
|
||||
# Integrity Check
|
||||
echo "13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 protobuf-2.5.0.tar.bz2" | sha256sum -c
|
||||
|
||||
for BITS in 32 64; do # for architectures
|
||||
#
|
||||
INSTALLPREFIX=$HOME/staging${BITS}
|
||||
BUILDDIR=$HOME/build${BITS}
|
||||
if [ "$BITS" == "32" ]; then
|
||||
HOST=i686-w64-mingw32
|
||||
else
|
||||
HOST=x86_64-w64-mingw32
|
||||
fi
|
||||
#
|
||||
mkdir -p $INSTALLPREFIX $BUILDDIR
|
||||
cd $BUILDDIR
|
||||
#
|
||||
tar xjf $INDIR/protobuf-2.5.0.tar.bz2
|
||||
cd protobuf-2.5.0
|
||||
# First: build a native (linux) protoc
|
||||
./configure --enable-shared=no --disable-dependency-tracking
|
||||
make
|
||||
mkdir -p $INSTALLPREFIX/host/bin
|
||||
cp src/protoc $INSTALLPREFIX/host/bin
|
||||
# Now recompile with the mingw cross-compiler:
|
||||
make distclean
|
||||
./configure --prefix=$INSTALLPREFIX --enable-shared=no --disable-dependency-tracking --with-protoc=$INSTALLPREFIX/host/bin/protoc --host=$HOST CXXFLAGS="-frandom-seed=11 ${OPTFLAGS}"
|
||||
make
|
||||
make install
|
||||
#
|
||||
cd $INSTALLPREFIX
|
||||
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
|
||||
export FAKETIME=$REFERENCE_DATETIME
|
||||
zip -r $OUTDIR/protobuf-win$BITS-2.5.0-gitian-r4.zip include lib host
|
||||
unset LD_PRELOAD
|
||||
unset FAKETIME
|
||||
done # for BITS in
|
||||
Reference in New Issue
Block a user