mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Now builds on Playbook and Dev Alpha Make emulator more compatible with other OS (case sensitivity, defines, includes) Uses Android's code paths and backend
122 lines
4.7 KiB
Bash
122 lines
4.7 KiB
Bash
#!/bin/bash
|
|
|
|
BUILD_TYPE=Release
|
|
if [ -z "$PPSSPP_ROOT" ]; then
|
|
PPSSPP_ROOT=${PWD}/..
|
|
fi
|
|
if [ -z "$PROJECT_ROOT" ]; then
|
|
PROJECT_ROOT=${PPSSPP_ROOT}/..
|
|
fi
|
|
PKG_CONFIG_PATH=${PROJECT_ROOT}/install/lib/pkgconfig
|
|
PKG_CONFIG_LIBDIR=${PROJECT_ROOT}/install/lib/pkgconfig
|
|
|
|
SDL_PROJECT=${PROJECT_ROOT}/SDL
|
|
SDLIMAGE_PROJECT=${PROJECT_ROOT}/SDL_image
|
|
SDLMIXER_PROJECT=${PROJECT_ROOT}/SDL_mixer
|
|
SDLNET_PROJECT=${PROJECT_ROOT}/SDL_net
|
|
SDLTTF_PROJECT=${PROJECT_ROOT}/SDL_ttf
|
|
|
|
while true; do
|
|
case "$1" in
|
|
-h | --help )
|
|
echo "Build script for BlackBerry PlayBook"
|
|
echo "For normal usage, please use the NDK to build."
|
|
echo
|
|
echo "Options: "
|
|
echo " -d, --debug Create a debug build. (default is release)"
|
|
echo " -h, --help Show this help message."
|
|
echo " -r, --root PATH Specify the root directory of PPSSPP. (default is PWD parent)"
|
|
echo " -p, --project-root PATH Specify the root directory containing all projects. (default is root dirs parent)"
|
|
echo " If specific projects are in different directories, you can specify them below."
|
|
echo " --pkg-config PATH Specify the pkgconfig directory. (default is PPSSPP_ROOT/../install/lib/pkgconfig)"
|
|
echo
|
|
echo "Dependency Paths (defaults are under project root): "
|
|
echo " --sdl PATH SDL 1.2 project directory (default is SDL)"
|
|
echo " --tco PATH TouchControlOverlay project directory (default is TouchControlOverlay)"
|
|
echo " --sdl_image PATH SDL_image project directory (default is SDL_image)"
|
|
echo " --sdl_mixer PATH SDL_mixer project directory (default is SDL_mixer)"
|
|
echo " --sdl_net PATH SDL_net project directory (default is SDL_net)"
|
|
echo " --sdl_ttf PATH SDL_ttf project directory (default is SDL_ttf)"
|
|
echo " --ogg PATH ogg project directory (default is ogg)"
|
|
echo " --vorbis PATH vorbis project directory (default is vorbis)"
|
|
exit 0
|
|
;;
|
|
-d | --debug ) BUILD_TYPE=Debug; shift ;;
|
|
-r | --root ) PPSSPP_ROOT="$2"; shift 2 ;;
|
|
-p | --project-root ) PROJECT_ROOT="$2"; shift 2 ;;
|
|
--pkg-config ) PKG_CONFIG_PATH="$2"; PKG_CONFIG_LIBDIR="$2"; shift 2 ;;
|
|
--sdl ) SDL_PROJECT="$2"; shift 2 ;;
|
|
--sdl_image ) SDLIMAGE_PROJECT="$2"; shift 2 ;;
|
|
--sdl_mixer ) SDLMIXER_PROJECT="$2"; shift 2 ;;
|
|
--sdl_net ) SDLNET_PROJECT="$2"; shift 2 ;;
|
|
--sdl_ttf ) SDLTTF_PROJECT="$2"; shift 2 ;;
|
|
--tco ) TCO_PROJECT="$2"; shift 2 ;;
|
|
--ogg ) OGG_PROJECT="$2"; shift 2 ;;
|
|
--vorbis ) VORBIS_PROJECT="$2"; shift 2 ;;
|
|
-- ) shift; break ;;
|
|
* ) break ;;
|
|
esac
|
|
done
|
|
|
|
if [ -z "$SDL_PROJECT" ]; then
|
|
SDL_PROJECT="$PROJECT_ROOT/SDL"
|
|
fi
|
|
if [ -z "$SDLIMAGE_PROJECT" ]; then
|
|
SDLIMAGE_PROJECT="$PROJECT_ROOT/SDL_image"
|
|
fi
|
|
if [ -z "$SDLMIXER_PROJECT" ]; then
|
|
SDLMIXER_PROJECT="$PROJECT_ROOT/SDL_mixer"
|
|
fi
|
|
if [ -z "$SDLNET_PROJECT" ]; then
|
|
SDLNET_PROJECT="$PROJECT_ROOT/SDL_net"
|
|
fi
|
|
if [ -z "$SDLTTF_PROJECT" ]; then
|
|
SDLTTF_PROJECT="$PROJECT_ROOT/SDL_ttf"
|
|
fi
|
|
if [ -z "$TCO_PROJECT" ]; then
|
|
TCO_PROJECT="$PROJECT_ROOT/TouchControlOverlay"
|
|
fi
|
|
if [ -z "$OGG_PROJECT" ]; then
|
|
OGG_PROJECT="$PROJECT_ROOT/ogg"
|
|
fi
|
|
if [ -z "$VORBIS_PROJECT" ]; then
|
|
VORBIS_PROJECT="$PROJECT_ROOT/vorbis"
|
|
fi
|
|
|
|
export PKG_CONFIG_PATH
|
|
export PKG_CONFIG_LIBDIR
|
|
|
|
echo "Build type: ${BUILD_TYPE}"
|
|
|
|
cmake \
|
|
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
|
-DCMAKE_SYSTEM_NAME=QNX \
|
|
-DCMAKE_C_COMPILER="${QNX_HOST}/usr/bin/ntoarmv7-gcc" \
|
|
-DCMAKE_CXX_COMPILER="${QNX_HOST}/usr/bin/ntoarmv7-g++" \
|
|
-DTHREADS_PTHREAD_ARG="" \
|
|
-DLIBINTL_INCLUDE_DIR="${QNX_TARGET}/usr/include" \
|
|
-DLIBINTL_LIB_FOUND=TRUE \
|
|
-DLIBINTL_LIBRARIES="${QNX_TARGET}/armle-v7/usr/lib/libintl.so" \
|
|
-DLIBINTL_LIBC_HAS_DGETTEXT=FALSE \
|
|
-DSDL_INCLUDE_DIR="${SDL_PROJECT}/include" \
|
|
-DSDL_LIBRARY="${SDL_PROJECT}/Device-${BUILD_TYPE}/libSDL12.so;${TCO_PROJECT}/Device-${BUILD_TYPE}/libTouchControlOverlay.so" \
|
|
-DSDL_FOUND=ON \
|
|
-DSDLIMAGE_INCLUDE_DIR="${SDLIMAGE_PROJECT}" \
|
|
-DSDLIMAGE_LIBRARY="${SDLIMAGE_PROJECT}/Device-${BUILD_TYPE}/libSDL_image.so" \
|
|
-DSDLIMAGE_FOUND=ON \
|
|
-DSDLMIXER_INCLUDE_DIR="${SDLMIXER_PROJECT}" \
|
|
-DSDLMIXER_LIBRARY="${SDLMIXER_PROJECT}/Device-${BUILD_TYPE}/libSDL_mixer.so;${OGG_PROJECT}/Device-${BUILD_TYPE}/libogg.so;${VORBIS_PROJECT}/Device-${BUILD_TYPE}/libvorbis.so" \
|
|
-DSDLMIXER_FOUND=ON \
|
|
-DSDLNET_INCLUDE_DIR="${SDLNET_PROJECT}" \
|
|
-DSDLNET_LIBRARY="${SDLNET_PROJECT}/Device-${BUILD_TYPE}/libSDL_net.so;${QNX_TARGET}/armle-v7/lib/libsocket.so" \
|
|
-DSDLNET_FOUND=ON \
|
|
-DSDLTTF_INCLUDE_DIR="${SDLTTF_PROJECT}" \
|
|
-DSDLTTF_LIBRARY="${SDLTTF_PROJECT}/Device-${BUILD_TYPE}/libSDL_ttf.so" \
|
|
-DSDLTTF_FOUND=ON \
|
|
-DPNG_LIBRARY="${QNX_TARGET}/armle-v7/usr/lib/libpng.so" \
|
|
-DPNG_PNG_INCLUDE_DIR="${QNX_TARGET}/usr/include" \
|
|
-DBLACKBERRY=10.0.9 \
|
|
-DARM=7 \
|
|
${PWD}
|
|
|
|
make -j4
|