From 7fe60435bce6595a9c58a9bfd8244d74b5320e96 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 15 Jan 2013 08:46:13 +0100 Subject: Import DirectFB141_2k11R3_beta5 --- build_for_iphoneos_30.sh | 134 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100755 build_for_iphoneos_30.sh (limited to 'build_for_iphoneos_30.sh') diff --git a/build_for_iphoneos_30.sh b/build_for_iphoneos_30.sh new file mode 100755 index 0000000..27088b1 --- /dev/null +++ b/build_for_iphoneos_30.sh @@ -0,0 +1,134 @@ +#!/bin/bash + +################################################################################ +# +# Copyright (c) 2008-2009 Christopher J. Stawarz +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# +################################################################################ + +# originally from http://pseudogreen.org/blog/build%5Fautoconfed%5Flibs%5Ffor%5Fiphone.html +# added symbolic link in my dev like described in http://vonluck.wordpress.com/2009/09/16/mac-osx-10-6-iphone-os-3-1-simulator-linking-errors/ +# for clinkc I manually adapted the makefile and replaced 386 by 686 (based on curl config file) +# curl built without-zlib + +# Disallow undefined variables +set -u + + +default_gcc_version=4.2 +default_iphoneos_version=3.0 +default_macos_version=10.6 + +GCC_VERSION="${GCC_VERSION:-$default_gcc_version}" +export IPHONEOS_DEPLOYMENT_TARGET="${IPHONEOS_DEPLOYMENT_TARGET:-$default_iphoneos_version}" +export MACOSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET:-$default_macos_version}" + + +usage () +{ + cat >&2 << EOF +Usage: ${0##*/} [-ht] [-p prefix] target [configure_args] + -h Print help message + -p Installation prefix (default: \$HOME/Developer/Platforms/...) + -t Use 16-bit Thumb instruction set (instead of 32-bit ARM) + +The target must be "device" or "simulator". Any additional arguments +are passed to configure. + +The following environment variables affect the build process: + + GCC_VERSION (default: $default_gcc_version) + IPHONEOS_DEPLOYMENT_TARGET (default: $default_iphoneos_version) + MACOSX_DEPLOYMENT_TARGET (default: $default_macos_version) + +EOF +} + + +while getopts ":hp:t" opt; do + case $opt in + h ) usage ; exit 0 ;; + p ) prefix="$OPTARG" ;; + t ) thumb_opt=thumb ;; + \? ) usage ; exit 2 ;; + esac +done +shift $(( $OPTIND - 1 )) + +if (( $# < 1 )); then + usage + exit 2 +fi + +target=$1 +shift + +case $target in + + device ) + arch=armv6 + platform=iPhoneOS + extra_cflags="-m${thumb_opt:-no-thumb} -mthumb-interwork" + ;; + + simulator ) + arch=i386 + platform=iPhoneSimulator + extra_cflags="-D__IPHONE_OS_VERSION_MIN_REQUIRED=${IPHONEOS_DEPLOYMENT_TARGET%%.*}0000" + ;; + + * ) + usage + exit 2 + +esac + + +platform_dir="/Developer/Platforms/${platform}.platform/Developer" +platform_bin_dir="${platform_dir}/usr/bin" +platform_sdk_dir="${platform_dir}/SDKs/${platform}${IPHONEOS_DEPLOYMENT_TARGET}.sdk" +prefix="${prefix:-${HOME}${platform_sdk_dir}}" + +#added some stuff so the libraries can also use already built libraries +export LD="${platform_bin_dir}/ld" +export CC="${platform_bin_dir}/gcc" +export CFLAGS="-arch ${arch} -pipe -Os -gdwarf-2 -isysroot ${platform_sdk_dir} ${extra_cflags} -I${prefix}/include" +# added -L${prefix}/lib to include built libraries +export LDFLAGS="-arch ${arch} -L${prefix}/lib" +export CXX="${platform_bin_dir}/g++" +export CXXFLAGS="${CFLAGS}" +export CPP="${platform_bin_dir}/cpp" +export CXXCPP="${CPP}" +# added to include pc files of built libraries +export PKG_CONFIG_PATH="${prefix}/lib/pkgconfig" +# added to include headers of built libraries + +#./configure \ +# --prefix="${prefix}" \ +# --host="${arch}-apple-darwin" \ +# --disable-shared \ +# --enable-static \ +# "$@" || exit + +make -f makefile.voodoo.iphone +make -f makefile.voodoo.iphone package -- cgit