From 40b8bf0cac5acf933b6e26b90f5b6bada637708f Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 4 Sep 2013 00:21:17 +0200 Subject: [PATCH] xbmc: rework texturepacker patch Signed-off-by: Stephan Raue --- packages/mediacenter/xbmc/package.mk | 6 + .../xbmc-321-PR3190-texturepacker.patch | 714 ++++++++++++++++++ ...1-texturepacker-hostflags-and-rework.patch | 169 ----- 3 files changed, 720 insertions(+), 169 deletions(-) create mode 100644 packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-321-PR3190-texturepacker.patch delete mode 100644 packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-321-texturepacker-hostflags-and-rework.patch diff --git a/packages/mediacenter/xbmc/package.mk b/packages/mediacenter/xbmc/package.mk index 9960bf0993..b59707326e 100644 --- a/packages/mediacenter/xbmc/package.mk +++ b/packages/mediacenter/xbmc/package.mk @@ -342,6 +342,12 @@ else XBMC_CRYSTALHD="--disable-crystalhd" fi +export CXX_FOR_BUILD="$HOST_CXX" +export CC_FOR_BUILD="$HOST_CC" +export CXXFLAGS_FOR_BUILD="$HOST_CXXFLAGS" +export CFLAGS_FOR_BUILD="$HOST_CFLAGS" +export LDFLAGS_FOR_BUILD="$HOST_LDFLAGS" + export PYTHON_VERSION="2.7" export PYTHON_CPPFLAGS="-I$SYSROOT_PREFIX/usr/include/python$PYTHON_VERSION" export PYTHON_LDFLAGS="-L$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION -lpython$PYTHON_VERSION" diff --git a/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-321-PR3190-texturepacker.patch b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-321-PR3190-texturepacker.patch new file mode 100644 index 0000000000..566812e05a --- /dev/null +++ b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-321-PR3190-texturepacker.patch @@ -0,0 +1,714 @@ +From 70199b49c92d0ca58b09f948794e637ed1bc963c Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Tue, 3 Sep 2013 05:16:54 +0200 +Subject: [PATCH 1/5] configure: add initial support for CC_FOR_BUILD, + CXX_FOR_BUILD, CFLAGS_FOR_BUILD, CXXFLAGS_FOR_BUILD, LDFLAGS_FOR_BUILD + +--- + Makefile.include.in | 5 ++ + configure.in | 15 ++++-- + m4/ax_prog_cc_for_build.m4 | 125 ++++++++++++++++++++++++++++++++++++++++++++ + m4/ax_prog_cxx_for_build.m4 | 110 ++++++++++++++++++++++++++++++++++++++ + 4 files changed, 252 insertions(+), 3 deletions(-) + create mode 100644 m4/ax_prog_cc_for_build.m4 + create mode 100644 m4/ax_prog_cxx_for_build.m4 + +diff --git a/Makefile.include.in b/Makefile.include.in +index 2b7b89a..2afe6ba 100644 +--- a/Makefile.include.in ++++ b/Makefile.include.in +@@ -28,10 +28,15 @@ dvidir=@dvidir@ + pdfdir=@pdfdir@ + psdir=@psdir@ + CXX=@CXX@ ++CXX_FOR_BUILD=@CXX_FOR_BUILD@ + CC=@CC@ ++CC_FOR_BUILD=@CC_FOR_BUILD@ + CXXFLAGS+=@CXXFLAGS@ ++CXXFLAGS_FOR_BUILD+=@CXXFLAGS_FOR_BUILD@ + CFLAGS+=@CFLAGS@ ++CFLAGS_FOR_BUILD+=@CFLAGS_FOR_BUILD@ + LDFLAGS+=@LDFLAGS@ ++LDFLAGS_FOR_BUILD+=@LDFLAGS_FOR_BUILD@ + INCLUDES+=-I@abs_top_srcdir@/lib + INCLUDES+=-I@abs_top_srcdir@/xbmc + INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.gui +diff --git a/configure.in b/configure.in +index a6153ad..ef0e051 100644 +--- a/configure.in ++++ b/configure.in +@@ -5,6 +5,8 @@ AC_PREREQ(2.59) + AC_INIT([xbmc], [12.9.8], [http://trac.xbmc.org]) + AC_CONFIG_HEADERS([xbmc/config.h]) + AH_TOP([#pragma once]) ++m4_include([m4/ax_prog_cc_for_build.m4]) ++m4_include([m4/ax_prog_cxx_for_build.m4]) + m4_include([m4/ax_python_devel.m4]) + m4_include([m4/xbmc_arch.m4]) + +@@ -579,13 +581,15 @@ if test "x$host_vendor" != "xapple"; then + fi + + # Checks for programs. ++PASSED_CFLAGS=$CFLAGS # Hack to override autoconf default values ++AC_PROG_CC ++AX_PROG_CC_FOR_BUILD ++CFLAGS="$PASSED_CFLAGS $DEFAULT_COMPILE_FLAGS" + PASSED_CXXFLAGS=$CXXFLAGS # Hack to override autoconf default values + AC_PROG_CXX ++AX_PROG_CXX_FOR_BUILD + CXXFLAGS="$PASSED_CXXFLAGS $DEFAULT_COMPILE_FLAGS" +-PASSED_CFLAGS=$CFLAGS # Hack to override autoconf default values +-AC_PROG_CC + AC_PROG_LIBTOOL +-CFLAGS="$PASSED_CFLAGS $DEFAULT_COMPILE_FLAGS" + AC_PROG_AWK + AC_PROG_LN_S + AC_PROG_MAKE_SET +@@ -2467,6 +2471,11 @@ AC_SUBST(CFLAGS) + AC_SUBST(CXXFLAGS) + AC_SUBST(INCLUDES) + AC_SUBST(LDFLAGS) ++AC_SUBST(CXX_FOR_BUILD) ++AC_SUBST(CC_FOR_BUILD) ++AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(CXXFLAGS_FOR_BUILD) ++AC_SUBST(LDFLAGS_FOR_BUILD) + AC_SUBST(SDL_DEFINES) + AC_SUBST(BUILD_DVDCSS) + AC_SUBST(DISABLE_WAVEFORM) +diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4 +new file mode 100644 +index 0000000..77fd346 +--- /dev/null ++++ b/m4/ax_prog_cc_for_build.m4 +@@ -0,0 +1,125 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_PROG_CC_FOR_BUILD ++# ++# DESCRIPTION ++# ++# This macro searches for a C compiler that generates native executables, ++# that is a C compiler that surely is not a cross-compiler. This can be ++# useful if you have to generate source code at compile-time like for ++# example GCC does. ++# ++# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything ++# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD). ++# The value of these variables can be overridden by the user by specifying ++# a compiler with an environment variable (like you do for standard CC). ++# ++# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object ++# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if ++# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are ++# substituted in the Makefile. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Paolo Bonzini ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 8 ++ ++AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) ++AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl ++AC_REQUIRE([AC_PROG_CC])dnl ++AC_REQUIRE([AC_PROG_CPP])dnl ++AC_REQUIRE([AC_EXEEXT])dnl ++AC_REQUIRE([AC_CANONICAL_HOST])dnl ++ ++dnl Use the standard macros, but make them use other variable names ++dnl ++pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl ++pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl ++pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl ++pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl ++pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl ++pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl ++pushdef([ac_cv_objext], ac_cv_build_objext)dnl ++pushdef([ac_exeext], ac_build_exeext)dnl ++pushdef([ac_objext], ac_build_objext)dnl ++pushdef([CC], CC_FOR_BUILD)dnl ++pushdef([CPP], CPP_FOR_BUILD)dnl ++pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl ++pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl ++pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl ++pushdef([host], build)dnl ++pushdef([host_alias], build_alias)dnl ++pushdef([host_cpu], build_cpu)dnl ++pushdef([host_vendor], build_vendor)dnl ++pushdef([host_os], build_os)dnl ++pushdef([ac_cv_host], ac_cv_build)dnl ++pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl ++pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl ++pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl ++pushdef([ac_cv_host_os], ac_cv_build_os)dnl ++pushdef([ac_cpp], ac_build_cpp)dnl ++pushdef([ac_compile], ac_build_compile)dnl ++pushdef([ac_link], ac_build_link)dnl ++ ++save_cross_compiling=$cross_compiling ++save_ac_tool_prefix=$ac_tool_prefix ++cross_compiling=no ++ac_tool_prefix= ++ ++AC_PROG_CC ++AC_PROG_CPP ++AC_EXEEXT ++ ++ac_tool_prefix=$save_ac_tool_prefix ++cross_compiling=$save_cross_compiling ++ ++dnl Restore the old definitions ++dnl ++popdef([ac_link])dnl ++popdef([ac_compile])dnl ++popdef([ac_cpp])dnl ++popdef([ac_cv_host_os])dnl ++popdef([ac_cv_host_vendor])dnl ++popdef([ac_cv_host_cpu])dnl ++popdef([ac_cv_host_alias])dnl ++popdef([ac_cv_host])dnl ++popdef([host_os])dnl ++popdef([host_vendor])dnl ++popdef([host_cpu])dnl ++popdef([host_alias])dnl ++popdef([host])dnl ++popdef([LDFLAGS])dnl ++popdef([CPPFLAGS])dnl ++popdef([CFLAGS])dnl ++popdef([CPP])dnl ++popdef([CC])dnl ++popdef([ac_objext])dnl ++popdef([ac_exeext])dnl ++popdef([ac_cv_objext])dnl ++popdef([ac_cv_exeext])dnl ++popdef([ac_cv_prog_cc_g])dnl ++popdef([ac_cv_prog_cc_cross])dnl ++popdef([ac_cv_prog_cc_works])dnl ++popdef([ac_cv_prog_gcc])dnl ++popdef([ac_cv_prog_CPP])dnl ++ ++dnl Finally, set Makefile variables ++dnl ++BUILD_EXEEXT=$ac_build_exeext ++BUILD_OBJEXT=$ac_build_objext ++AC_SUBST(BUILD_EXEEXT)dnl ++AC_SUBST(BUILD_OBJEXT)dnl ++AC_SUBST([CFLAGS_FOR_BUILD])dnl ++AC_SUBST([CPPFLAGS_FOR_BUILD])dnl ++AC_SUBST([LDFLAGS_FOR_BUILD])dnl ++]) +diff --git a/m4/ax_prog_cxx_for_build.m4 b/m4/ax_prog_cxx_for_build.m4 +new file mode 100644 +index 0000000..8cc0f73 +--- /dev/null ++++ b/m4/ax_prog_cxx_for_build.m4 +@@ -0,0 +1,110 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_prog_cxx_for_build.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_PROG_CXX_FOR_BUILD ++# ++# DESCRIPTION ++# ++# This macro searches for a C++ compiler that generates native ++# executables, that is a C++ compiler that surely is not a cross-compiler. ++# This can be useful if you have to generate source code at compile-time ++# like for example GCC does. ++# ++# The macro sets the CXX_FOR_BUILD and CXXCPP_FOR_BUILD macros to anything ++# needed to compile or link (CXX_FOR_BUILD) and preprocess ++# (CXXCPP_FOR_BUILD). The value of these variables can be overridden by ++# the user by specifying a compiler with an environment variable (like you ++# do for standard CXX). ++# ++# LICENSE ++# ++# Copyright (c) 2008 Paolo Bonzini ++# Copyright (c) 2012 Avionic Design GmbH ++# ++# Based on the AX_PROG_CC_FOR_BUILD macro by Paolo Bonzini. ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 2 ++ ++AU_ALIAS([AC_PROG_CXX_FOR_BUILD], [AX_PROG_CXX_FOR_BUILD]) ++AC_DEFUN([AX_PROG_CXX_FOR_BUILD], [dnl ++AC_REQUIRE([AX_PROG_CC_FOR_BUILD])dnl ++AC_REQUIRE([AC_PROG_CXX])dnl ++AC_REQUIRE([AC_PROG_CXXCPP])dnl ++AC_REQUIRE([AC_CANONICAL_HOST])dnl ++ ++dnl Use the standard macros, but make them use other variable names ++dnl ++pushdef([ac_cv_prog_CXXCPP], ac_cv_build_prog_CXXCPP)dnl ++pushdef([ac_cv_prog_gxx], ac_cv_build_prog_gxx)dnl ++pushdef([ac_cv_prog_cxx_works], ac_cv_build_prog_cxx_works)dnl ++pushdef([ac_cv_prog_cxx_cross], ac_cv_build_prog_cxx_cross)dnl ++pushdef([ac_cv_prog_cxx_g], ac_cv_build_prog_cxx_g)dnl ++pushdef([CXX], CXX_FOR_BUILD)dnl ++pushdef([CXXCPP], CXXCPP_FOR_BUILD)dnl ++pushdef([CXXFLAGS], CXXFLAGS_FOR_BUILD)dnl ++pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl ++pushdef([CXXCPPFLAGS], CXXCPPFLAGS_FOR_BUILD)dnl ++pushdef([host], build)dnl ++pushdef([host_alias], build_alias)dnl ++pushdef([host_cpu], build_cpu)dnl ++pushdef([host_vendor], build_vendor)dnl ++pushdef([host_os], build_os)dnl ++pushdef([ac_cv_host], ac_cv_build)dnl ++pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl ++pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl ++pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl ++pushdef([ac_cv_host_os], ac_cv_build_os)dnl ++pushdef([ac_cxxcpp], ac_build_cxxcpp)dnl ++pushdef([ac_compile], ac_build_compile)dnl ++pushdef([ac_link], ac_build_link)dnl ++ ++save_cross_compiling=$cross_compiling ++save_ac_tool_prefix=$ac_tool_prefix ++cross_compiling=no ++ac_tool_prefix= ++ ++AC_PROG_CXX ++AC_PROG_CXXCPP ++ ++ac_tool_prefix=$save_ac_tool_prefix ++cross_compiling=$save_cross_compiling ++ ++dnl Restore the old definitions ++dnl ++popdef([ac_link])dnl ++popdef([ac_compile])dnl ++popdef([ac_cxxcpp])dnl ++popdef([ac_cv_host_os])dnl ++popdef([ac_cv_host_vendor])dnl ++popdef([ac_cv_host_cpu])dnl ++popdef([ac_cv_host_alias])dnl ++popdef([ac_cv_host])dnl ++popdef([host_os])dnl ++popdef([host_vendor])dnl ++popdef([host_cpu])dnl ++popdef([host_alias])dnl ++popdef([host])dnl ++popdef([CXXCPPFLAGS])dnl ++popdef([CPPFLAGS])dnl ++popdef([CXXFLAGS])dnl ++popdef([CXXCPP])dnl ++popdef([CXX])dnl ++popdef([ac_cv_prog_cxx_g])dnl ++popdef([ac_cv_prog_cxx_cross])dnl ++popdef([ac_cv_prog_cxx_works])dnl ++popdef([ac_cv_prog_gxx])dnl ++popdef([ac_cv_prog_CXXCPP])dnl ++ ++dnl Finally, set Makefile variables ++dnl ++AC_SUBST([CXXFLAGS_FOR_BUILD])dnl ++AC_SUBST([CXXCPPFLAGS_FOR_BUILD])dnl ++]) +-- +1.8.4 + + +From 3a03d3cfc95f8d8b77a583d8556000fafce358c0 Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Tue, 3 Sep 2013 05:31:39 +0200 +Subject: [PATCH 2/5] configure/depends: rename 'USE_TEXTUREPACKER_NATIVE_ROOT' + to 'NATIVE_ROOT' for general usage to use with other hostbuilt tools. Add + $NATIVE_ROOT/lib to LDFLAGS_FOR_BUILD and $NATIVE_ROOT/include to + CFLAGS_FOR_BUILD and CXXFLAGS_FOR_BUILD + +--- + configure.in | 14 ++++++++++---- + tools/TexturePacker/Makefile.in | 2 +- + tools/depends/target/config.site.in | 2 +- + tools/rbp/depends/depends.mk | 4 ++-- + 4 files changed, 14 insertions(+), 8 deletions(-) + +diff --git a/configure.in b/configure.in +index ef0e051..daf5477 100644 +--- a/configure.in ++++ b/configure.in +@@ -695,7 +695,7 @@ case $host in + esac + AC_SUBST([ARCH]) + +-check_sdl_arch=[`file $USE_TEXTUREPACKER_NATIVE_ROOT/lib/libSDL_image.dylib | awk '{print $NF}'`] ++check_sdl_arch=[`file $NATIVE_ROOT/lib/libSDL_image.dylib | awk '{print $NF}'`] + if test "x$check_sdl_arch" = "xi386" ; then + DARWIN_NATIVE_ARCH=-m32 + elif test "x$check_sdl_arch" = "xx86_64" ; then +@@ -1960,6 +1960,12 @@ AC_C_BIGENDIAN + + if test "$cross_compiling" = "yes"; then + final_message="$final_message\n Crosscomp.:\tYes" ++ if [[ -d "$NATIVE_ROOT" ]]; then ++ CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -I$NATIVE_ROOT/include" ++ CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -I$NATIVE_ROOT/include" ++ LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -L$NATIVE_ROOT/lib" ++ final_message="$final_message\n Native Root:\t$NATIVE_ROOT" ++ fi + else + final_message="$final_message\n Crosscomp.:\tNo" + fi +@@ -2103,8 +2109,8 @@ if test "x$use_texturepacker" != "xno"; then + USE_TEXTUREPACKER=1 + if test "x$use_texturepacker_native" = "xyes"; then + USE_TEXTUREPACKER_NATIVE=1 +- if [[ ! -d "$USE_TEXTUREPACKER_NATIVE_ROOT" ]]; then +- USE_TEXTUREPACKER_NATIVE_ROOT= ++ if [[ ! -d "$NATIVE_ROOT" ]]; then ++ NATIVE_ROOT= + fi + fi + else +@@ -2517,7 +2523,7 @@ AC_SUBST(USE_XRANDR) + AC_SUBST(USE_ALSA) + AC_SUBST(USE_TEXTUREPACKER) + AC_SUBST(USE_TEXTUREPACKER_NATIVE) +-AC_SUBST(USE_TEXTUREPACKER_NATIVE_ROOT) ++AC_SUBST(NATIVE_ROOT) + AC_SUBST(USE_AIRTUNES) + AC_SUBST(USE_LIBUDEV) + AC_SUBST(USE_LIBUSB) +diff --git a/tools/TexturePacker/Makefile.in b/tools/TexturePacker/Makefile.in +index 71e3d4a..343182c 100644 +--- a/tools/TexturePacker/Makefile.in ++++ b/tools/TexturePacker/Makefile.in +@@ -12,7 +12,7 @@ CXXFLAGS+= \ + RPATH=-Wl,-rpath=$(NATIVE_ROOT_PATH)/lib + + ifeq (@USE_TEXTUREPACKER_NATIVE@,1) +-NATIVE_ROOT_PATH=@USE_TEXTUREPACKER_NATIVE_ROOT@ ++NATIVE_ROOT_PATH=@NATIVE_ROOT@ + ifdef NATIVE_ROOT_PATH + ifeq ($(findstring Darwin,$(shell uname -s)),Darwin) + DEFINES += -DTARGET_DARWIN +diff --git a/tools/depends/target/config.site.in b/tools/depends/target/config.site.in +index 7cc470d..207748a 100644 +--- a/tools/depends/target/config.site.in ++++ b/tools/depends/target/config.site.in +@@ -39,7 +39,7 @@ PYTHON_LDFLAGS="-L@prefix@/@deps_dir@/lib -lpython${PYTHON_VERSION} -lc -ldl -lm + PYTHON_CPPFLAGS=-I@prefix@/@deps_dir@/include/python${PYTHON_VERSION} + PYTHON_SITE_PKG=@prefix@/@deps_dir@/lib/python${PYTHON_VERSION}/site-packages + PYTHON_NOVERSIONCHECK=no-check +-USE_TEXTUREPACKER_NATIVE_ROOT=@prefix@/@tool_dir@ ++NATIVE_ROOT=@prefix@/@tool_dir@ + + #afps-ng and libomxil-bellagio + ac_cv_func_malloc_0_nonnull=yes +diff --git a/tools/rbp/depends/depends.mk b/tools/rbp/depends/depends.mk +index bafa99c..d805001 100644 +--- a/tools/rbp/depends/depends.mk ++++ b/tools/rbp/depends/depends.mk +@@ -19,7 +19,7 @@ ifeq ($(USE_BUILDROOT),1) + export PKG_CONFIG_PATH=$(PREFIX)/lib/pkgconfig + export PYTHON_VERSION=2.7 + export PATH:=$(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH) +- export USE_TEXTUREPACKER_NATIVE_ROOT=/usr ++ export NATIVE_ROOT=/usr + export PYTHON_LDFLAGS=-L$(SDKSTAGE)/usr/lib -lpython$(PYTHON_VERSION) -lpthread -ldl -lutil -lm + else + export CFLAGS=-pipe -O3 -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=softfp -mfpu=vfp -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated -Wno-deprecated-declarations +@@ -47,7 +47,7 @@ else + export PKG_CONFIG_PATH=$(PREFIX)/bin/pkg-config + export PYTHON_VERSION=2.6 + export PATH:=${PREFIX}/bin:$(PATH):${TOOLCHAIN}/bin +- export USE_TEXTUREPACKER_NATIVE_ROOT=/usr ++ export NATIVE_ROOT=/usr + export PYTHON_LDFLAGS=-L$(SDKSTAGE)/usr/lib -lpython$(PYTHON_VERSION) + endif + export PYTHON_CPPFLAGS=-I$(SDKSTAGE)/usr/include/python$(PYTHON_VERSION) +-- +1.8.4 + + +From 59109579ecfe7622fea2283d1391ca4da07aa9a7 Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Tue, 3 Sep 2013 05:37:05 +0200 +Subject: [PATCH 3/5] libsquish: rework to support native builds with + *_FOR_BUILD + +--- + lib/libsquish/Makefile.in | 22 ++++++++++------------ + 1 file changed, 10 insertions(+), 12 deletions(-) + +diff --git a/lib/libsquish/Makefile.in b/lib/libsquish/Makefile.in +index 34f93bd..ef57bb8 100644 +--- a/lib/libsquish/Makefile.in ++++ b/lib/libsquish/Makefile.in +@@ -11,26 +11,24 @@ SRCS= \ + singlecolourfit.cpp \ + squish.cpp + +-CXXFLAGS+=-I. +- +-LIB=libsquish.a +- +-ifeq (@USE_TEXTUREPACKER_NATIVE@,1) +-NATIVE_LIB=libsquish-native.so +-CLEAN_FILES+=$(NATIVE_LIB) ++CXXFLAGS += -I. ++CXXFLAGS_FOR_BUILD += -I. ++LIB = libsquish.a ++NATIVE_LIB = libsquish-native.so ++CLEAN_FILES += $(NATIVE_LIB) + + ifeq ($(findstring Darwin,$(shell uname -s)),Darwin) +-NATIVE_ARCH=@DARWIN_NATIVE_ARCH@ ++ CXXFLAGS_FOR_BUILD += @DARWIN_NATIVE_ARCH@ + endif + +-all: $(LIB) $(NATIVE_LIB) ++all: $(LIB) ++ + # TexturePacker links to libsquish and needs to run on build system, so make a native flavor. + $(NATIVE_LIB): $(SRCS) + ifeq ($(findstring Darwin,$(shell uname -s)),Darwin) +- g++ $(NATIVE_ARCH) -I. $(SRCS) -dynamiclib -install_name `pwd`/libsquish-native.so -o $@ ++ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $(SRCS) -dynamiclib -install_name `pwd`/$(NATIVE_LIB) -o $@ + else +- g++ -I. $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@ +-endif ++ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/$(NATIVE_LIB) -o $@ + endif + + include ../../Makefile.include +-- +1.8.4 + + +From 2108f29aa7f60ed03afea65b262cec5ca1ed5ab9 Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Tue, 3 Sep 2013 05:44:33 +0200 +Subject: [PATCH 4/5] Texturepacker: rework to support native builds with + *_FOR_BUILD, Texturepacker builds always against libsquish-native.so, which + is ok because CXX_FOR_BUILD=CXX, CXXFLAGS_FOR_BUILD=CXXFLAGS and + LDFLAGS_FOR_BUILD=LDFLAGS on non crosscompiled builds, sothere + libsquish-native is the same like libsquish + +--- + Makefile.in | 2 +- + configure.in | 3 ++ + tools/TexturePacker/Makefile.in | 62 +++++++++++++---------------------------- + 3 files changed, 23 insertions(+), 44 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 8162f64..3b21d50 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -520,7 +520,7 @@ else + $(SILENT_LD) $(CC) $(CFLAGS) $(LDFLAGS) -o xbmc-xrandr xbmc-xrandr.c -lXrandr -lX11 -lm + endif + +-tools/TexturePacker/TexturePacker: lib/libsquish/libsquish.a xbmc/guilib/XBTF.h ++tools/TexturePacker/TexturePacker: xbmc/guilib/XBTF.h + $(MAKE) -C tools/TexturePacker/ + + +diff --git a/configure.in b/configure.in +index daf5477..dda18ea 100644 +--- a/configure.in ++++ b/configure.in +@@ -1964,6 +1964,9 @@ if test "$cross_compiling" = "yes"; then + CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -I$NATIVE_ROOT/include" + CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -I$NATIVE_ROOT/include" + LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -L$NATIVE_ROOT/lib" ++ if test "$host_vendor" != "apple" ; then ++ LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -Wl,-rpath=$NATIVE_ROOT/lib" ++ fi + final_message="$final_message\n Native Root:\t$NATIVE_ROOT" + fi + else +diff --git a/tools/TexturePacker/Makefile.in b/tools/TexturePacker/Makefile.in +index 343182c..4f0b610 100644 +--- a/tools/TexturePacker/Makefile.in ++++ b/tools/TexturePacker/Makefile.in +@@ -1,61 +1,37 @@ +-DEFINES += -DTARGET_POSIX -DUSE_LZO_PACKING ++DEFINES += -DTARGET_POSIX -DUSE_LZO_PACKING + ifneq ($(or $(findstring powerpc,@ARCH@),$(findstring ppc, @ARCH@)),) +-DEFINES += -DHOST_BIGENDIAN ++DEFINES += -DHOST_BIGENDIAN + endif + +-CXXFLAGS+= \ ++SRCS = \ ++ md5.cpp \ ++ SDL_anigif.cpp \ ++ XBTFWriter.cpp \ ++ XBMCTex.cpp \ ++ @abs_top_srcdir@/xbmc/guilib/XBTF.cpp ++ ++TARGET = TexturePacker ++CLEAN_FILES = $(TARGET) ++ ++CXXFLAGS_FOR_BUILD += \ + -I. \ + -I@abs_top_srcdir@/lib \ + -I@abs_top_srcdir@/xbmc \ + -I@abs_top_srcdir@/xbmc/linux + +-RPATH=-Wl,-rpath=$(NATIVE_ROOT_PATH)/lib ++LDFLAGS_FOR_BUILD += -lSDL_image -lSDL -llzo2 ++LDFLAGS_FOR_BUILD += -L@abs_top_srcdir@/lib/libsquish -lsquish-native + +-ifeq (@USE_TEXTUREPACKER_NATIVE@,1) +-NATIVE_ROOT_PATH=@NATIVE_ROOT@ +-ifdef NATIVE_ROOT_PATH + ifeq ($(findstring Darwin,$(shell uname -s)),Darwin) + DEFINES += -DTARGET_DARWIN + NATIVE_ARCH=@DARWIN_NATIVE_ARCH@ +-RPATH= +-endif +-NATIVE_CXXFLAGS+= -I. \ +- -I$(NATIVE_ROOT_PATH)/include \ +- -I@abs_top_srcdir@/lib \ +- -I@abs_top_srcdir@/xbmc \ +- -I@abs_top_srcdir@/xbmc/linux +-NATIVE_LIBS += -L$(NATIVE_ROOT_PATH)/lib +-endif +-NATIVE_LIBS += -lSDL_image -lSDL -llzo2 +-NATIVE_LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish-native +-else +-LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish + endif + +-LIBS += -lSDL_image -lSDL -llzo2 +- +-SRCS = \ +- md5.cpp \ +- SDL_anigif.cpp \ +- XBTFWriter.cpp \ +- XBMCTex.cpp \ +- @abs_top_srcdir@/xbmc/guilib/XBTF.cpp +- +- +-TARGET = TexturePacker +-CLEAN_FILES=$(TARGET) +- + all: $(TARGET) + +-ifeq (@USE_TEXTUREPACKER_NATIVE@,1) +-# TexturePacker run native on build system, build it with native tools + $(TARGET): $(SRCS) @abs_top_srcdir@/xbmc/guilib/XBTF.h +- g++ $(DEFINES) $(NATIVE_ARCH) $(NATIVE_CXXFLAGS) $(SRCS) $(NATIVE_LIBS) $(RPATH) -o $(TARGET) +-clean: +- rm -f $(TARGET) +-else +-include @abs_top_srcdir@/Makefile.include ++# TexturePacker run native on build system, build it with native tools ++ make -C @abs_top_srcdir@/lib/libsquish/ libsquish-native.so ++ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $(DEFINES) $(NATIVE_ARCH) $(SRCS) $(LDFLAGS_FOR_BUILD) -o $(TARGET) + +-$(TARGET): $(SRCS) @abs_top_srcdir@/xbmc/guilib/XBTF.h +- $(CXX) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(SRCS) $(LDFLAGS) $(LIBS) -o $(TARGET) +-endif ++include @abs_top_srcdir@/Makefile.include +-- +1.8.4 + + +From ed1cd08fd1e93f3af283eb522082c8c8dbaf2ee7 Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Tue, 3 Sep 2013 05:55:37 +0200 +Subject: [PATCH 5/5] configure: cleanup, we dont need + 'use_texturepacker_native' anymore and dont need to force 'use_texturepacker' + (its enabled by default). + +--- + configure.in | 15 --------------- + 1 file changed, 15 deletions(-) + +diff --git a/configure.in b/configure.in +index dda18ea..0337705 100644 +--- a/configure.in ++++ b/configure.in +@@ -637,7 +637,6 @@ case $host in + use_dvdcss=no + use_gles=yes + use_cpu=cortex-a8 +- use_texturepacker_native=yes + ARCH="arm-osx" + use_arch="arm" + PYTHON_VERSION="2.6" +@@ -649,7 +648,6 @@ case $host in + *86*-apple-darwin*) + use_joystick=no + use_vtbdecoder=no +- use_texturepacker_native=yes + ARCH="x86-osx" + ;; + powerpc-apple-darwin*) +@@ -666,7 +664,6 @@ case $host in + ARCH="powerpc64-linux" + ;; + arm*-*-linux-gnu*) +- use_texturepacker=no + ARCH="arm" + use_arch="arm" + ffmpeg_target_os=linux +@@ -705,7 +702,6 @@ AC_SUBST([DARWIN_NATIVE_ARCH]) + + if test "$target_platform" = "target_android" ; then + USE_ANDROID=1 +- use_texturepacker_native=yes + webserver_checkdepends=yes + CFLAGS="$CFLAGS -Wno-psabi" + CXXFLAGS="$CXXFLAGS -Wno-psabi" +@@ -716,8 +712,6 @@ case $use_platform in + raspberry-pi) + target_platform=target_raspberry_pi + use_neon=no +- use_texturepacker=yes +- use_texturepacker_native=yes + use_arch="arm" + use_cpu=arm1176jzf-s + use_hardcoded_tables="yes" +@@ -2106,16 +2100,9 @@ else + final_message="$final_message\n Bluray:\tNo" + fi + +-USE_TEXTUREPACKER_NATIVE=0 + if test "x$use_texturepacker" != "xno"; then + final_message="$final_message\n TexturePacker:Yes" + USE_TEXTUREPACKER=1 +- if test "x$use_texturepacker_native" = "xyes"; then +- USE_TEXTUREPACKER_NATIVE=1 +- if [[ ! -d "$NATIVE_ROOT" ]]; then +- NATIVE_ROOT= +- fi +- fi + else + final_message="$final_message\n TexturePacker:No" + USE_TEXTUREPACKER=0 +@@ -2525,8 +2512,6 @@ AC_SUBST(USE_PULSE) + AC_SUBST(USE_XRANDR) + AC_SUBST(USE_ALSA) + AC_SUBST(USE_TEXTUREPACKER) +-AC_SUBST(USE_TEXTUREPACKER_NATIVE) +-AC_SUBST(NATIVE_ROOT) + AC_SUBST(USE_AIRTUNES) + AC_SUBST(USE_LIBUDEV) + AC_SUBST(USE_LIBUSB) +-- +1.8.4 + diff --git a/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-321-texturepacker-hostflags-and-rework.patch b/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-321-texturepacker-hostflags-and-rework.patch deleted file mode 100644 index 93fead20be..0000000000 --- a/packages/mediacenter/xbmc/patches/13.alpha-2435cf3/xbmc-321-texturepacker-hostflags-and-rework.patch +++ /dev/null @@ -1,169 +0,0 @@ -diff -Naur xbmc-frodo-0ff0d2e/configure.in xbmc-frodo-0ff0d2e.patch/configure.in ---- xbmc-frodo-0ff0d2e/configure.in 2012-10-11 15:45:44.000000000 +0200 -+++ xbmc-frodo-0ff0d2e.patch/configure.in 2012-10-11 16:49:08.872850880 +0200 -@@ -452,6 +452,12 @@ - [use_texturepacker=$enableval], - [use_texturepacker=auto]) - -+AC_ARG_WITH([texturepacker-root], -+ [AS_HELP_STRING([--with-texturepacker-root], -+ [root dir to search for librarys and includes if building native TexturePacker (default is \$prefix)])], -+ [use_texturepacker_root=$withval], -+ [use_texturepacker_root=$prefix]) -+ - AC_ARG_WITH([lirc-device], - [AS_HELP_STRING([--with-lirc-device=file], - [specify the default LIRC device (default is /dev/lircd)])], -@@ -2000,13 +2006,13 @@ - - USE_TEXTUREPACKER_NATIVE=0 - if test "x$use_texturepacker" != "xno"; then -- final_message="$final_message\n TexturePacker:Yes" - USE_TEXTUREPACKER=1 -- if test "x$use_texturepacker_native" = "xyes"; then -+ if test "x$cross_compiling" = "xyes"; then - USE_TEXTUREPACKER_NATIVE=1 -- if [[ ! -d "$USE_TEXTUREPACKER_NATIVE_ROOT" ]]; then -- USE_TEXTUREPACKER_NATIVE_ROOT= -- fi -+ USE_TEXTUREPACKER_NATIVE_ROOT="$use_texturepacker_root" -+ final_message="$final_message\n TexturePacker:Native ($USE_TEXTUREPACKER_NATIVE_ROOT)" -+ else -+ final_message="$final_message\n TexturePacker:Yes" - fi - else - final_message="$final_message\n TexturePacker:No" -diff -Naur xbmc-frodo-0ff0d2e/lib/libsquish/Makefile.in xbmc-frodo-0ff0d2e.patch/lib/libsquish/Makefile.in ---- xbmc-frodo-0ff0d2e/lib/libsquish/Makefile.in 2012-10-11 15:47:26.000000000 +0200 -+++ xbmc-frodo-0ff0d2e.patch/lib/libsquish/Makefile.in 2012-10-11 16:49:08.873850900 +0200 -@@ -11,26 +11,25 @@ - singlecolourfit.cpp \ - squish.cpp - --CXXFLAGS+=-I. -- --LIB=libsquish.a -- --ifeq (@USE_TEXTUREPACKER_NATIVE@,1) --NATIVE_LIB=libsquish-native.so --CLEAN_FILES+=$(NATIVE_LIB) -+LIB = libsquish.a -+NATIVE_LIB = libsquish-native.so -+CLEAN_FILES += $(NATIVE_LIB) -+ -+HOST_CXX ?= g++ -+CXXFLAGS += -I. -+HOST_CXXFLAGS += -I. - - ifeq ($(findstring Darwin,$(shell uname -s)),Darwin) --NATIVE_ARCH=@DARWIN_NATIVE_ARCH@ -+ HOST_CXXFLAGS += @DARWIN_NATIVE_ARCH@ - endif - --all: $(LIB) $(NATIVE_LIB) -+$(LIB): $(SRCS) - # TexturePacker links to libsquish and needs to run on build system, so make a native flavor. - $(NATIVE_LIB): $(SRCS) - ifeq ($(findstring Darwin,$(shell uname -s)),Darwin) -- g++ $(NATIVE_ARCH) -I. $(SRCS) -dynamiclib -install_name `pwd`/libsquish-native.so -o $@ -+ $(HOST_CXX) $(HOST_CXXFLAGS) $(SRCS) -dynamiclib -install_name `pwd`/libsquish-native.so -o $@ - else -- g++ -I. $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@ --endif -+ $(HOST_CXX) $(HOST_CXXFLAGS) $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@ - endif - - include ../../Makefile.include -diff -Naur xbmc-frodo-0ff0d2e/tools/TexturePacker/Makefile.in xbmc-frodo-0ff0d2e.patch/tools/TexturePacker/Makefile.in ---- xbmc-frodo-0ff0d2e/tools/TexturePacker/Makefile.in 2012-10-11 15:47:05.000000000 +0200 -+++ xbmc-frodo-0ff0d2e.patch/tools/TexturePacker/Makefile.in 2012-10-11 16:49:08.874850920 +0200 -@@ -1,56 +1,54 @@ --DEFINES += -DTARGET_POSIX -DUSE_LZO_PACKING -+DEFINES += -DTARGET_POSIX -DUSE_LZO_PACKING - ifneq ($(or $(findstring powerpc,@ARCH@),$(findstring ppc, @ARCH@)),) --DEFINES += -DHOST_BIGENDIAN -+DEFINES += -DHOST_BIGENDIAN - endif - --CXXFLAGS+= \ -+SRCS = \ -+ md5.cpp \ -+ SDL_anigif.cpp \ -+ XBTFWriter.cpp \ -+ XBMCTex.cpp \ -+ @abs_top_srcdir@/xbmc/guilib/XBTF.cpp -+ -+TARGET = TexturePacker -+CLEAN_FILES = $(TARGET) -+ -+all: $(TARGET) -+ -+HOST_CXX ?= g++ -+HOST_ROOT_PATH = @USE_TEXTUREPACKER_NATIVE_ROOT@ -+ -+LIBS += -lSDL_image -lSDL -llzo2 -+LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish -+HOST_LIBS += -L$(HOST_ROOT_PATH)/lib -lSDL_image -lSDL -llzo2 -+HOST_LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish-native -+ -+CXXFLAGS += \ - -I. \ - -I@abs_top_srcdir@/lib \ - -I@abs_top_srcdir@/xbmc \ - -I@abs_top_srcdir@/xbmc/linux - --RPATH=-Wl,-rpath=$(NATIVE_ROOT_PATH)/lib -+HOST_CXXFLAGS += \ -+ -I. \ -+ -I@abs_top_srcdir@/lib \ -+ -I@abs_top_srcdir@/xbmc \ -+ -I@abs_top_srcdir@/xbmc/linux \ -+ -I$(HOST_ROOT_PATH)/include -+ -+RPATH=-Wl,-rpath=$(HOST_ROOT_PATH)/lib - --ifeq (@USE_TEXTUREPACKER_NATIVE@,1) --NATIVE_ROOT_PATH=@USE_TEXTUREPACKER_NATIVE_ROOT@ --ifdef NATIVE_ROOT_PATH - ifeq ($(findstring Darwin,$(shell uname -s)),Darwin) - DEFINES += -DTARGET_DARWIN - NATIVE_ARCH=@DARWIN_NATIVE_ARCH@ - RPATH= - endif --NATIVE_CXXFLAGS+= -I. \ -- -I$(NATIVE_ROOT_PATH)/include \ -- -I@abs_top_srcdir@/lib \ -- -I@abs_top_srcdir@/xbmc \ -- -I@abs_top_srcdir@/xbmc/linux --NATIVE_LIBS += -L$(NATIVE_ROOT_PATH)/lib --endif --NATIVE_LIBS += -lSDL_image -lSDL -llzo2 --NATIVE_LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish-native --else --LIBS += -L@abs_top_srcdir@/lib/libsquish -lsquish --endif -- --LIBS += -lSDL_image -lSDL -llzo2 -- --SRCS = \ -- md5.cpp \ -- SDL_anigif.cpp \ -- XBTFWriter.cpp \ -- XBMCTex.cpp \ -- @abs_top_srcdir@/xbmc/guilib/XBTF.cpp -- -- --TARGET = TexturePacker --CLEAN_FILES=$(TARGET) -- --all: $(TARGET) - - ifeq (@USE_TEXTUREPACKER_NATIVE@,1) - # TexturePacker run native on build system, build it with native tools - $(TARGET): $(SRCS) @abs_top_srcdir@/xbmc/guilib/XBTF.h -- g++ $(DEFINES) $(NATIVE_ARCH) $(NATIVE_CXXFLAGS) $(SRCS) $(NATIVE_LIBS) $(RPATH) -o $(TARGET) -+ make -C @abs_top_srcdir@/lib/libsquish libsquish-native.so -+ $(HOST_CXX) $(DEFINES) $(NATIVE_ARCH) $(HOST_CXXFLAGS) $(SRCS) $(HOST_LIBS) $(RPATH) -o $(TARGET) - clean: - rm -f $(TARGET) - else