1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#!/bin/sh -e
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)BUILDFLAG=""
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#BUILDFLAG="--build=i686"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#export CC="i686-gcc"
7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)# -mpreferred-stack-boundary=2 can be used to prevent gcc 4.2.x
8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# from aligning stack to 16 bytes. (Which is gcc's way of supporting SSE).
9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# For me it saves about 6k of text segment.
10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch# This may be unsafe if your libc expects 16 byte stack alignment
117d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)# on function entry.
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)export CC="x86_64-gcc"
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)export CFLAGS="-Os\
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) -fomit-frame-pointer\
17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) -static\
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) -static-libgcc\
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) -ffunction-sections -fdata-sections\
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1\
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) -fno-unwind-tables\
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) -fno-asynchronous-unwind-tables\
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci -Wl,--gc-sections\
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) -Wl,-Map=strace.mapfile\
253240926e260ce088908e02ac07a6cf7b0c0cbf44Ben Murdoch"
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)./bootstrap
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)./configure $BUILDFLAG #--enable-maintainer-mode
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)make CC="$CC" CFLAGS="$CFLAGS"
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)