Kaydet (Commit) 2800d336 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Do build cairo for Android, will likely be needed

üst 0ef8beed
--- misc/cairo-1.10.2/build/ltmain.sh
+++ misc/build/cairo-1.10.2/build/ltmain.sh
@@ -3228,6 +3228,10 @@
fi
else
+ # Force no versioning suffix for Android
+
+ version_type=none
+
# Parse the version information argument.
save_ifs="$IFS"; IFS=':'
set dummy $vinfo 0 0 0
...@@ -70,12 +70,21 @@ ...@@ -70,12 +70,21 @@
@mkdir -p $(CFG) @mkdir -p $(CFG)
--- misc/cairo-1.10.2/build/config.sub 2009-08-14 23:33:32.000000000 +0200 --- misc/cairo-1.10.2/build/config.sub 2009-08-14 23:33:32.000000000 +0200
+++ misc/build/cairo-1.10.2/build/config.sub 2009-08-14 23:33:32.000000000 +0200 +++ misc/build/cairo-1.10.2/build/config.sub 2009-08-14 23:33:32.000000000 +0200
@@ -120,7 +120,7 @@
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
@@ -1272,7 +1272,7 @@ @@ -1272,7 +1272,7 @@
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -udi* | -linux-androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \ | -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
......
...@@ -35,7 +35,7 @@ EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ...@@ -35,7 +35,7 @@ EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
.INCLUDE : settings.mk .INCLUDE : settings.mk
.IF "$(SYSTEM_CAIRO)" == "YES" || "$(GUIBASE)" == "android" .IF "$(SYSTEM_CAIRO)" == "YES"
all: all:
@echo "Not building cairo." @echo "Not building cairo."
.ENDIF .ENDIF
...@@ -58,6 +58,10 @@ PATCH_FILES+=..$/$(TARFILE_NAME).no-atsui.patch ...@@ -58,6 +58,10 @@ PATCH_FILES+=..$/$(TARFILE_NAME).no-atsui.patch
PATCH_FILES+=..$/$(TARFILE_NAME).ios.patch PATCH_FILES+=..$/$(TARFILE_NAME).ios.patch
.ENDIF .ENDIF
.IF "$(OS)" == "ANDROID"
PATCH_FILES+=..$/$(TARFILE_NAME).android.patch
.ENDIF
cairo_CFLAGS=$(SOLARINC) cairo_CFLAGS=$(SOLARINC)
cairo_LDFLAGS=-L$(SOLARVER)$/$(INPATH)$/lib cairo_LDFLAGS=-L$(SOLARVER)$/$(INPATH)$/lib
...@@ -163,17 +167,33 @@ CONFIGURE_ACTION=.$/configure ...@@ -163,17 +167,33 @@ CONFIGURE_ACTION=.$/configure
.ENDIF .ENDIF
.IF "$(OS)"=="IOS" .IF "$(OS)"=="IOS"
CONFIGURE_FLAGS=--disable-valgrind --disable-shared --disable-xlib --enable-quartz --enable-quartz-font CONFIGURE_FLAGS=--disable-shared
.ELSE .ELSE
CONFIGURE_FLAGS=--disable-valgrind --disable-static --enable-xlib CONFIGURE_FLAGS=--disable-static
.ENDIF .ENDIF
.IF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" .IF "$(OS)"=="IOS" || "$(OS)"=="ANDROID"
CONFIGURE_FLAGS+=--disable-ft PKG_CONFIG=./dummy_pkg_config CONFIGURE_FLAGS+=--disable-xlib
.ELSE
CONFIGURE_FLAGS+=--enable-xlib
.ENDIF
.IF "$(OS)"=="IOS"
CONFIGURE_FLAGS+=--enable-quartz --enable-quartz-font
.ENDIF
CONFIGURE_FLAGS+=--disable-valgrind
.IF "$(OS)"=="IOS"
CONFIGURE_FLAGS+=--disable-ft
.ELSE .ELSE
CONFIGURE_FLAGS+=--enable-ft CONFIGURE_FLAGS+=--enable-ft
.ENDIF .ENDIF
.IF "$(OS)"=="IOS" || "$(OS)"=="ANDROID"
CONFIGURE_FLAGS+=PKG_CONFIG=./dummy_pkg_config
.ENDIF
CONFIGURE_FLAGS+=--disable-svg --enable-gtk-doc=no --enable-test-surfaces=no ZLIB3RDLIB=$(ZLIB3RDLIB) COMPRESS=$(cairo_COMPRESS) CONFIGURE_FLAGS+=--disable-svg --enable-gtk-doc=no --enable-test-surfaces=no ZLIB3RDLIB=$(ZLIB3RDLIB) COMPRESS=$(cairo_COMPRESS)
.IF "$(CROSS_COMPILING)"=="YES" .IF "$(CROSS_COMPILING)"=="YES"
...@@ -237,7 +257,7 @@ OUT2BIN+=src$/.libs$/*.dll ...@@ -237,7 +257,7 @@ OUT2BIN+=src$/.libs$/*.dll
OUT2LIB+=src$/release$/*.lib OUT2LIB+=src$/release$/*.lib
OUT2BIN+=src$/release$/*.dll OUT2BIN+=src$/release$/*.dll
.ENDIF .ENDIF
.ELIF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" .ELIF "$(OS)"=="IOS"
OUT2LIB+=src$/.libs$/libcairo*.a OUT2LIB+=src$/.libs$/libcairo*.a
.ELSE .ELSE
OUT2LIB+=src$/.libs$/libcairo.so* OUT2LIB+=src$/.libs$/libcairo.so*
......
--- misc/pixman-0.24.0/ltmain.sh
+++ misc/build/pixman-0.24.0/ltmain.sh
@@ -3228,6 +3228,10 @@
fi
else
+ # Force no versioning suffix for Android
+
+ version_type=none
+
# Parse the version information argument.
save_ifs="$IFS"; IFS=':'
set dummy $vinfo 0 0 0
...@@ -69,12 +69,21 @@ ...@@ -69,12 +69,21 @@
GPGKEY = 6FF7C1A8 GPGKEY = 6FF7C1A8
--- misc/pixman-0.24.0/config.sub 2008-08-30 00:27:25.000000000 +0200 --- misc/pixman-0.24.0/config.sub 2008-08-30 00:27:25.000000000 +0200
+++ misc/build/pixman-0.24.0/config.sub 2011-12-16 09:05:14.595773609 +0100 +++ misc/build/pixman-0.24.0/config.sub 2011-12-16 09:05:14.595773609 +0100
@@ -120,7 +120,7 @@
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
@@ -1247,7 +1247,7 @@ @@ -1247,7 +1247,7 @@
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -udi* | -linux-androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \ | -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
...@@ -103,3 +112,14 @@ ...@@ -103,3 +112,14 @@
{ $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; } $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
if test "${ac_cv_c_bigendian+set}" = set; then if test "${ac_cv_c_bigendian+set}" = set; then
--- misc/pixman-0.24.0/pixman/pixman-utils.c
+++ misc/build/pixman-0.24.0/pixman/pixman-utils.c
@@ -27,6 +27,7 @@
#endif
#include <stdio.h>
#include <stdlib.h>
+#include <limits.h>
#include "pixman-private.h"
...@@ -35,7 +35,7 @@ EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ...@@ -35,7 +35,7 @@ EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
.INCLUDE : settings.mk .INCLUDE : settings.mk
.IF "$(SYSTEM_CAIRO)" == "YES" || "$(GUIBASE)" == "android" .IF "$(SYSTEM_CAIRO)" == "YES"
all: all:
@echo "Not building pixman." @echo "Not building pixman."
...@@ -52,6 +52,10 @@ ADDITIONAL_FILES=Makefile.win32.common ...@@ -52,6 +52,10 @@ ADDITIONAL_FILES=Makefile.win32.common
PATCH_FILES=..$/$(TARFILE_NAME).patch PATCH_FILES=..$/$(TARFILE_NAME).patch
.IF "$(OS)"=="ANDROID"
PATCH_FILES+=..$/$(TARFILE_NAME).android.patch
.ENDIF
# Note: we are building static pixman library to avoid linking problems. # Note: we are building static pixman library to avoid linking problems.
# However, for Unix dynamic library must be used (especially due to 64bit issues) # However, for Unix dynamic library must be used (especially due to 64bit issues)
...@@ -121,15 +125,32 @@ pixman_CFLAGS+=-fPIC ...@@ -121,15 +125,32 @@ pixman_CFLAGS+=-fPIC
CONFIGURE_DIR= CONFIGURE_DIR=
CONFIGURE_ACTION=.$/configure CONFIGURE_ACTION=.$/configure
.IF "$(OS)"=="IOS" .IF "$(OS)"=="IOS"
CONFIGURE_FLAGS=--disable-shared CONFIGURE_FLAGS=--disable-shared
.ELSE .ELSE
CONFIGURE_FLAGS=--disable-static CONFIGURE_FLAGS=--disable-static
.ENDIF .ENDIF
CONFIGURE_FLAGS+=CFLAGS="$(pixman_CFLAGS)" CONFIGURE_FLAGS+=CFLAGS="$(pixman_CFLAGS)"
.IF "$(OS)"=="ANDROID"
# The pixman-cpu.c code wants to read /proc/<pid>/auxv, but
# the Android headers don't define Elf32_auxv_t.
# Maybe we should instead just patch the arm_has_* booleans in
# pixman-cpu.c to be hardcoded as TRUE and patch out the run-time
# check?
CONFIGURE_FLAGS+=--disable-arm-simd --disable-arm-neon --disable-arm-iwmmxt
.ENDIF
.IF "$(CROSS_COMPILING)"=="YES" .IF "$(CROSS_COMPILING)"=="YES"
CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ENDIF .ENDIF
BUILD_ACTION=$(GNUMAKE) BUILD_ACTION=$(GNUMAKE)
BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_FLAGS+= -j$(EXTMAXPROCESS)
BUILD_DIR=$(CONFIGURE_DIR) BUILD_DIR=$(CONFIGURE_DIR)
...@@ -150,7 +171,7 @@ OUT2LIB+=pixman$/.libs$/*.a ...@@ -150,7 +171,7 @@ OUT2LIB+=pixman$/.libs$/*.a
.ELSE .ELSE
OUT2LIB+=pixman$/release$/*.lib OUT2LIB+=pixman$/release$/*.lib
.ENDIF .ENDIF
.ELIF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" .ELIF "$(OS)"=="IOS"
OUT2LIB+=pixman$/.libs$/libpixman-1.a OUT2LIB+=pixman$/.libs$/libpixman-1.a
.ELSE .ELSE
OUT2LIB+=pixman$/.libs$/libpixman-1.so* OUT2LIB+=pixman$/.libs$/libpixman-1.so*
......
...@@ -8800,11 +8800,7 @@ if test "$with_system_cairo" = "yes"; then ...@@ -8800,11 +8800,7 @@ if test "$with_system_cairo" = "yes"; then
else else
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
if test $_os = Android; then if test $_os = WINNT; then
dnl For Android cairo isn't
dnl buildable yet.
:
elif test $_os = WINNT; then
dnl We only need cairo for Windows if we dnl We only need cairo for Windows if we
dnl build librsvg or directx disabled dnl build librsvg or directx disabled
if test "$ENABLE_LIBRSVG" != NO -o -z "$ENABLE_DIRECTX"; then if test "$ENABLE_LIBRSVG" != NO -o -z "$ENABLE_DIRECTX"; then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment