Skip to content

Commit

Permalink
add lxml as a possible recipe + ensure flags are reset after using ot…
Browse files Browse the repository at this point in the history
…her build-*
  • Loading branch information
tito committed Mar 11, 2012
1 parent e6ae3dc commit 0f2ab13
Show file tree
Hide file tree
Showing 4 changed files with 112 additions and 3 deletions.
6 changes: 3 additions & 3 deletions tools/build-freetype.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ fi

# lib not found, compile it
pushd $TMPROOT/freetype-$FT_VERSION
./configure --prefix=/usr/local/iphone \
try ./configure --prefix=/usr/local/iphone \
--host=arm-apple-darwin \
--enable-static=yes \
--enable-shared=no \
CC="$ARM_CC" AR="$ARM_AR" \
LDFLAGS="$ARM_LDFLAGS" CFLAGS="$ARM_CFLAGS"
make clean
make
try make clean
try make

# copy to buildroot
cp objs/.libs/libfreetype.a $BUILDROOT/lib/libfreetype.a
Expand Down
4 changes: 4 additions & 0 deletions tools/build-kivy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,13 @@ if [ "X$1" = "X-f" ] ; then
fi

pushd $TMPROOT/kivy
OLD_CFLAGS="$CFLAGS"
OLD_LDSHARED="$LDSHARED"
export LDSHARED="$KIVYIOSROOT/tools/liblink"
export CFLAGS="$ARM_CFLAGS"
try make ios
export LDSHARED="$OLD_LDSHARED"
export CFLAGS="$OLD_CFLAGS"
popd

# FIXME this part is build/cpu dependent :/
Expand Down
102 changes: 102 additions & 0 deletions tools/build-lxml.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
#!/bin/bash

. $(dirname $0)/environment.sh

if [ ! -f $CACHEROOT/libxml2-$XML2_VERSION.tar.gz ] ; then
try curl -L ftp://xmlsoft.org/libxml2/libxml2-$XML2_VERSION.tar.gz > $CACHEROOT/libxml2-$XML2_VERSION.tar.gz
fi
if [ ! -d $TMPROOT/libxml2-$XML2_VERSION ]; then
try tar xzf $CACHEROOT/libxml2-$XML2_VERSION.tar.gz
try rm -rf $TMPROOT/libxml2-$XML2_VERSION
try mv libxml2-$XML2_VERSION $TMPROOT

fi

if [ ! -f $CACHEROOT/libxslt-$XSLT_VERSION.tar.gz ] ; then
try curl -L ftp://xmlsoft.org/libxml2/libxslt-$XSLT_VERSION.tar.gz > $CACHEROOT/libxslt-$XSLT_VERSION.tar.gz
fi
if [ ! -d $TMPROOT/libxslt-$XSLT_VERSION ]; then
try tar xzf $CACHEROOT/libxslt-$XSLT_VERSION.tar.gz
try rm -rf $TMPROOT/libxslt-$XML2_VERSION
try mv libxslt-$XSLT_VERSION $TMPROOT
fi

if [ ! -f $CACHEROOT/lxml-$LXML_VERSION.tar.gz ]; then
try curl -L http://pypi.python.org/packages/source/l/lxml/lxml-$LXML_VERSION.tar.gz > $CACHEROOT/lxml-$LXML_VERSION.tar.gz
fi
if [ ! -d $TMPROOT/lxml-$LXML_VERSION ]; then
try tar xzf $CACHEROOT/lxml-$LXML_VERSION.tar.gz
try rm -rf $TMPROOT/lxml-$LXML_VERSION
try mv lxml-$LXML_VERSION $TMPROOT
fi

# build libxml2
pushd $TMPROOT/libxml2-$XML2_VERSION
if [ ! -f .libs/libxml2.a ]; then
try ./configure --prefix=/usr/local/iphone \
--host=arm-apple-darwin \
--enable-static=yes \
--enable-shared=no \
--without-modules \
--without-legacy \
--without-history \
--without-debug \
--without-docbook \
--without-python \
--without-iconv \
CC="$ARM_CC" AR="$ARM_AR" \
LDFLAGS="$ARM_LDFLAGS" CFLAGS="$ARM_CFLAGS"
try sed -i '' 's/ runtest\$(EXEEXT) \\/ \\/' Makefile
try sed -i '' 's/ testrecurse\$(EXEEXT)$//' Makefile
try make clean
try make
try cp .libs/libxml2.a $BUILDROOT/lib/libxml2.a
try cp -a include $BUILDROOT/include/libxml2
fi
popd

# build libxslt
pushd $TMPROOT/libxslt-$XSLT_VERSION
if [ ! -f libxslt/.libs/libxslt.a ]; then
try ./configure --build=i686-pc-linux-gnu --host=arm-linux-eabi \
--enable-static=yes \
--enable-shared=no \
--without-plugins \
--without-debug \
--without-python \
--without-crypto \
--with-libxml-src=$TMPROOT/libxml2-$XML2_VERSION \
CC="$ARM_CC" AR="$ARM_AR" \
LDFLAGS="$ARM_LDFLAGS" CFLAGS="$ARM_CFLAGS"

try make clean
try make

try cp libxslt/.libs/libxslt.a $BUILDROOT/lib/libxslt.a
try cp libexslt/.libs/libexslt.a $BUILDROOT/lib/libexslt.a
fi
popd

# build lxml
OLD_CC="$CC"
OLD_LDFLAGS="$LDFLAGS"
OLD_LDSHARED="$LDSHARED"
export CC="$ARM_CC -I$BUILDROOT/include -I$TMPROOT/libxslt-$XSLT_VERSION"
export LDFLAGS="$ARM_LDFLAGS -L$TMPROOT/libxslt-$XSLT_VERSION/libxslt/.libs"
export LDFLAGS="$LDFLAGS -L$TMPROOT/libxslt-$XSLT_VERSION/libexslt/.libs"
export LDFLAGS="$LDFLAGS -L$TMPROOT/libxml2-$XML2_VERSION/.libs"
export LDSHARED="$KIVYIOSROOT/tools/liblink"

pushd $TMPROOT/lxml-$LXML_VERSION
HOSTPYTHON=$TMPROOT/Python-$PYTHON_VERSION/hostpython
try $HOSTPYTHON setup.py build_ext
try $HOSTPYTHON setup.py install -O2
popd

export CC="$OLD_CC"
export LDFLAGS="$OLD_LDFLAGS"
export LDSHARED="$OLD_LDSHARED"

bd=$TMPROOT/lxml-$LXML_VERSION/build/lib.macosx-*/lxml
try $KIVYIOSROOT/tools/biglink $BUILDROOT/lib/liblxml.a $bd
deduplicate $BUILDROOT/lib/liblxml.a
3 changes: 3 additions & 0 deletions tools/environment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ export SDKROOT=$DEVROOT/SDKs/iPhoneOS$SDKVER.sdk
export PYTHON_VERSION=2.7.1
export SDLTTF_VERSION=2.0.10
export FT_VERSION=2.4.8
export XML2_VERSION=2.7.8
export XSLT_VERSION=1.1.26
export LXML_VERSION=2.3.1

# where the build will be located
export KIVYIOSROOT="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )/../" && pwd )"
Expand Down

0 comments on commit 0f2ab13

Please sign in to comment.