mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Merge pull request #4663 from xsacha/master
Travis: add Blackberry. Improve Blackberry out-of-box compile.
This commit is contained in:
commit
d5705e503c
8 changed files with 77 additions and 36 deletions
45
.travis.yml
45
.travis.yml
|
@ -5,32 +5,51 @@ language: cpp
|
|||
env:
|
||||
- PPSSPP_BUILD_TYPE=Linux
|
||||
- PPSSPP_BUILD_TYPE=Android
|
||||
- PPSSPP_BUILD_TYPE=Blackberry
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
|
||||
before_install:
|
||||
- sudo add-apt-repository -y ppa:ubuntu-sdk-team/ppa
|
||||
- sudo apt-get update
|
||||
- sudo apt-get install cmake libsdl1.2-dev openjdk-7-jdk ant lib32z1-dev lib32stdc++6
|
||||
- git submodule update --init --recursive
|
||||
- if [ "$PPSSPP_BUILD_TYPE" == "Android" ]; then wget --timeout=30 http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -O ndk.tar.bz2 && tar -xf ndk.tar.bz2; fi
|
||||
- sudo apt-get install lib32z1-dev lib32stdc++6 -qq
|
||||
# Travis uses CMake 2.8.7. We require 2.8.8. Grab latest
|
||||
- wget http://www.cmake.org/files/v2.8/cmake-2.8.12.1-Linux-i386.sh
|
||||
- chmod a+x cmake-2.8.12.1-Linux-i386.sh
|
||||
- sudo ./cmake-2.8.12.1-Linux-i386.sh --skip-license --prefix=/usr
|
||||
# Linux Setup
|
||||
- if [ "$PPSSPP_BUILD_TYPE" == "Linux" ]; then sudo apt-get install libsdl1.2-dev -qq; fi
|
||||
# Android NDK
|
||||
- if [ "$PPSSPP_BUILD_TYPE" == "Android" ]; then
|
||||
sudo apt-get install openjdk-7-jdk ant -qq &&
|
||||
wget --timeout=30 http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -O ndk.tar.bz2 &&
|
||||
tar -xf ndk.tar.bz2 &&
|
||||
export ANDROID_HOME=$(pwd)/android-ndk-r9 NDK=$(pwd)/android-ndk-r9;
|
||||
fi
|
||||
- if [[ "$CXX" == *clang* ]]; then export NDK_TOOLCHAIN_VERSION=clang; fi
|
||||
- export ANDROID_HOME=$(pwd)/android-ndk-r9 NDK=$(pwd)/android-ndk-r9
|
||||
|
||||
before_script:
|
||||
- mkdir build-travis
|
||||
- cd build-travis
|
||||
- cmake -DHEADLESS=ON ..
|
||||
- cd ..
|
||||
# Blackberry NDK
|
||||
- if [ "$PPSSPP_BUILD_TYPE" == "Blackberry" ]; then
|
||||
BB_NDK=http://downloads.blackberry.com/upr/developers/update/bbndk/ndktarget_10.2.0.1155/ndktargetrepo_10.2.0.1155/packages/bbndk.linux. &&
|
||||
wget --timeout=30 ${BB_NDK}libraries.10.2.0.1155.tar.gz -O libs.tar.gz &&
|
||||
tar -xf libs.tar.gz &&
|
||||
wget --timeout=30 ${BB_NDK}tools.10.2.0.15.tar.gz -O tools.tar.gz &&
|
||||
tar -xf tools.tar.gz &&
|
||||
export QNX_TARGET="$(pwd)/target_10_2_0_1155/qnx6" QNX_HOST="$(pwd)/host_10_2_0_15/linux/x86" MAKEFLAGS="-I$QNX_TARGET/usr/include" LD_LIBRARY_PATH="$QNX_TARGET/armle-v7/lib/:$QNX_HOST/usr/lib/:$LD_LIBRARY_PATH" PATH="$QNX_HOST/usr/bin:$PATH";
|
||||
fi
|
||||
|
||||
script:
|
||||
- if [ "$PPSSPP_BUILD_TYPE" == "Linux" ]; then cd build-travis && make && cd ..; else cd android && ./ab.sh && cd ..; fi
|
||||
# Compile PPSSPP
|
||||
- if [ "$PPSSPP_BUILD_TYPE" == "Linux" ]; then ./b.sh --headless; fi
|
||||
- if [ "$PPSSPP_BUILD_TYPE" == "Android" ]; then pushd android && ./ab.sh && popd; fi
|
||||
- if [ "$PPSSPP_BUILD_TYPE" == "Blackberry" ]; then pushd Blackberry && ./build.sh --no-package && popd; fi
|
||||
|
||||
after_success:
|
||||
- if [ "$PPSSPP_BUILD_TYPE" == "Linux" ]; then ./test.py; fi
|
||||
|
||||
# For now, Android clang seems to be failing to build.
|
||||
matrix:
|
||||
exclude:
|
||||
- compiler: clang
|
||||
env: PPSSPP_BUILD_TYPE=Android
|
||||
- compiler: clang
|
||||
env: PPSSPP_BUILD_TYPE=Blackberry
|
||||
|
|
25
Blackberry/bb.toolchain.cmake
Normal file
25
Blackberry/bb.toolchain.cmake
Normal file
|
@ -0,0 +1,25 @@
|
|||
# Standard settings
|
||||
set (CMAKE_SYSTEM_NAME QNX)
|
||||
set (CMAKE_SYSTEM_VERSION 1)
|
||||
if (SIMULATOR)
|
||||
set (CMAKE_SYSTEM_PROCESSOR x86)
|
||||
else()
|
||||
set (CMAKE_SYSTEM_PROCESSOR armv7)
|
||||
endif()
|
||||
set (UNIX True)
|
||||
|
||||
include (CMakeForceCompiler)
|
||||
CMAKE_FORCE_C_COMPILER (nto${CMAKE_SYSTEM_PROCESSOR}-gcc nto${CMAKE_SYSTEM_PROCESSOR}-gcc)
|
||||
CMAKE_FORCE_CXX_COMPILER (nto${CMAKE_SYSTEM_PROCESSOR}-g++ nto${CMAKE_SYSTEM_PROCESSOR}-g++)
|
||||
set (CMAKE_COMPILER_IS_GNUCXX True)
|
||||
execute_process( COMMAND nto${CMAKE_SYSTEM_PROCESSOR}-gcc --version
|
||||
OUTPUT_VARIABLE GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE )
|
||||
string( REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" GCC_VERSION "${GCC_VERSION}" )
|
||||
set (CMAKE_C_COMPILER_VERSION ${GCC_VERSION})
|
||||
set (CMAKE_CXX_COMPILER_VERSION ${GCC_VERSION})
|
||||
|
||||
# Skip the platform compiler checks for cross compiling
|
||||
set (CMAKE_CROSSCOMPILING TRUE)
|
||||
set (CMAKE_C_COMPILER_WORKS TRUE)
|
||||
set (CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
|
|
@ -7,9 +7,15 @@ if [ -z "$BB_OS" ]; then
|
|||
fi
|
||||
echo "Building for Blackberry ${BB_OS}"
|
||||
|
||||
# Set up cmake with GCC 4.6.3 cross-compiler from PATH
|
||||
CC=ntoarmv7-gcc CXX=ntoarmv7-g++ cmake -DBLACKBERRY=${BB_OS} ..
|
||||
if [[ "$1" == "--simulator" ]]; then
|
||||
SIM="-DSIMULATOR=ON"
|
||||
fi
|
||||
|
||||
cmake ${SIM} -DCMAKE_TOOLCHAIN_FILE=bb.toolchain.cmake -DBLACKBERRY=${BB_OS} .. | grep -v '^-- '
|
||||
|
||||
# Compile and create unsigned PPSSPP.bar with debugtoken
|
||||
DEBUG="-devMode -debugToken ${HOME}/debugtoken.bar"
|
||||
make -j4 && blackberry-nativepackager -package PPSSPP.bar bar-descriptor.xml $DEBUG
|
||||
make -j4
|
||||
if [[ "$1" != "--no-package" ]]; then
|
||||
DEBUG="-devMode -debugToken ${HOME}/debugtoken.bar"
|
||||
blackberry-nativepackager -package PPSSPP.bar bar-descriptor.xml $DEBUG
|
||||
fi
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
BB_OS=`cat ${QNX_TARGET}/etc/qversion 2>/dev/null`
|
||||
if [ -z "$BB_OS" ]; then
|
||||
echo "Could not find your Blackberry NDK. Please source bbndk-env.sh"
|
||||
exit 1
|
||||
fi
|
||||
echo "Building for Blackberry ${BB_OS} Simulator"
|
||||
|
||||
# Set up cmake with GCC 4.6.3 cross-compiler from PATH
|
||||
CC=ntox86-gcc CXX=ntox86-g++ cmake -DSIMULATOR=ON -DBLACKBERRY=${BB_OS} ..
|
||||
|
||||
# Compile and create unsigned PPSSPP.bar with debugtoken
|
||||
DEBUG="-devMode -debugToken ${HOME}/debugtoken.bar"
|
||||
make -j4 && blackberry-nativepackager -package PPSSPP.bar bar-descriptor.xml $DEBUG
|
|
@ -10,7 +10,6 @@ if(ANDROID)
|
|||
endif()
|
||||
|
||||
if(BLACKBERRY)
|
||||
set(CMAKE_SYSTEM_NAME "QNX")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
|
||||
endif()
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
|
||||
|
||||
#include "base/logging.h"
|
||||
#include "Common/ArmEmitter.h"
|
||||
#include "Common/CPUDetect.h"
|
||||
#include "Core/MIPS/ARM/ArmRegCacheFPU.h"
|
||||
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
|
||||
#include "../MIPS.h"
|
||||
#include "../MIPSAnalyst.h"
|
||||
#include "Common/ArmEmitter.h"
|
||||
#include "Core/MIPS/ARM/ArmRegCache.h"
|
||||
#include "Core/MIPS/MIPSVFPUUtils.h"
|
||||
#include "Common/ArmEmitter.h"
|
||||
|
||||
using namespace ArmGen;
|
||||
|
||||
|
|
10
b.sh
10
b.sh
|
@ -1,3 +1,11 @@
|
|||
cp -r android/assets .
|
||||
mkdir -p build
|
||||
(cd build; cmake .. && make -j3 $1; cd ..)
|
||||
if [[ "$1" == "--headless" ]]; then
|
||||
HEADLESS="-DHEADLESS=ON"
|
||||
else
|
||||
MAKE_OPT="$1"
|
||||
fi
|
||||
pushd build
|
||||
cmake $HEADLESS .. | grep -v '^-- '
|
||||
make -j4 $MAKE_OPT
|
||||
popd
|
||||
|
|
Loading…
Add table
Reference in a new issue