[Pixman] pixman on iOS

Andrea Canciani ranma42 at gmail.com
Sun Feb 19 02:02:15 PST 2012


On Sun, Feb 19, 2012 at 10:21 AM, Siarhei Siamashka
<siarhei.siamashka at gmail.com> wrote:
> On Sun, Feb 19, 2012 at 6:37 AM, cu <cairouser at yahoo.com> wrote:
>> Siarhei Siamashka wrote:
>>> It should be not necessary to compile on linux. Having no OS X, I have
>>> never tried it, but chances should be good for successful compilation
>>> of crossbinutils on OS X targeting arm linux. Which could a part of a
>>> fully automated pixman iOS build script like I tried to suggest here:
>>>     http://lists.freedesktop.org/archives/pixman/2011-August/001362.html
>>
>> I know we've discussed this previously, but just in case - until such
>> time as iOS gets an appropriate assembler, perhaps it might be possible
>> to include the "pre-compiled" (i.e. compiled-decompiled into basic
>> assembly without macros) version of NEON code with pixman distribution?
>> This could be made a part of release process, especially if appropriate
>> binutils are available on the release system somwhere.
>
> Yes, just this "release process" should not require any extra manual
> labour and be fully scriptable. If there is manual labour involved,
> then:
> a) somebody has to do this for each release
> b) there is a much higher chance to screw up something
>
> BTW, could somebody try to run the following steps on OS X and check
> if "pixman-arm-neon-asm.txt" disassembly listing can be successfully
> generated?

Yes, it works (except for wget not being available, which can easily
be solved by using curl).
Here is the script I ran and the assembly file it generates:
http://people.freedesktop.org/~ranma42/ios-neon-asm/

I'm running XCode 4.2.1, which ships with:
$ clang --version
Apple clang version 3.0 (tags/Apple/clang-211.12) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin11.3.0
Thread model: posix

I just noticed that there is also a newer XCode version (4.3).
I'll upgrade and check if anything breaks.

Andrea

>
> #!/bin/sh
>
> # build crossbinutils
>
> export BINUTILSVERSION=2.22
> export CROSSDIRECTORY=`pwd`
> export TARGET=arm-none-linux-gnueabi
>
> mkdir ${CROSSDIRECTORY}/binutils
>
> wget http://ftp.gnu.org/gnu/binutils/binutils-${BINUTILSVERSION}.tar.bz2
> tar -xjf binutils-${BINUTILSVERSION}.tar.bz2
>
> cd binutils-${BINUTILSVERSION}
> ./configure --prefix=${CROSSDIRECTORY}/binutils --target=$TARGET
> make -j8
> make install
> cd ..
>
> # clone pixman sources and get disassembly listing from pixman-arm-neon-asm.S
>
> git clone git://anongit.freedesktop.org/pixman
> # gcc can be also used here if clang is not available
> clang -E pixman/pixman/pixman-arm-neon-asm.S > tmp.s
> binutils/bin/arm-none-linux-gnueabi-as -o tmp.o tmp.s
> binutils/bin/arm-none-linux-gnueabi-objdump -d tmp.o > pixman-arm-neon-asm.txt
>
>
> --
> Best regards,
> Siarhei Siamashka
> _______________________________________________
> Pixman mailing list
> Pixman at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pixman


More information about the Pixman mailing list