2017-10-20 15:59:50 -04:00
#!/bin/bash
2015-02-16 19:19:30 -08:00
# vim: set ts=3 sw=3 noet ft=sh : bash
2016-03-17 23:16:42 -05:00
# ----- setup -----
2014-11-08 12:28:26 -08:00
2017-10-20 21:24:29 -04:00
# This will use an overridden value from the command-line if provided, otherwise just use the current date
2017-11-13 09:01:34 -08:00
BOT = " ${ BOT :- . } "
LOGDATE = " ${ LOGDATE :- $( date +%Y-%m-%d) } "
2017-11-11 16:51:29 -08:00
TMPDIR = " ${ TMPDIR :- /tmp } "
2017-11-12 16:41:41 -08:00
if [ -z " ${ 1 } " ] ; then
echo 'No recipe target, exiting.' >& 2
exit 1
fi
2017-11-11 16:51:29 -08:00
mkdir -p -- " $TMPDIR /log/ ${ BOT } / ${ LOGDATE } "
2017-10-20 21:24:29 -04:00
2014-11-08 12:28:26 -08:00
ORIGPATH = $PATH
2014-12-17 18:59:08 -05:00
WORK = $PWD
2016-03-17 23:13:41 -05:00
RECIPE = $1
2016-03-22 17:36:43 -05:00
BRANCH = ""
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2014-11-08 12:28:26 -08:00
2016-01-14 18:16:40 -05:00
# ----- read variables from recipe config -----
2014-11-08 12:28:26 -08:00
while read line; do
2017-11-13 07:59:24 -08:00
[ -z " ${ line } " ] && continue
2017-11-16 13:20:12 -08:00
KEY = " ${ line % * } "
VALUE = " ${ line #* } "
2017-11-13 07:49:09 -08:00
rm -f -- " $TMPDIR /vars "
2015-03-09 05:28:13 -07:00
if [ " ${ KEY } " = "PATH" ] ; then
2015-02-16 19:19:30 -08:00
export PATH = ${ VALUE } :${ ORIGPATH }
2017-06-04 20:05:51 -05:00
echo PATH = ${ VALUE } :${ ORIGPATH } >> $TMPDIR /vars
2015-02-16 19:19:30 -08:00
else
export ${ KEY } = ${ VALUE }
2017-06-04 20:05:51 -05:00
echo ${ KEY } = ${ VALUE } >> $TMPDIR /vars
2015-02-16 19:19:30 -08:00
fi
2017-11-16 13:20:12 -08:00
echo " Setting: ${ KEY } ${ VALUE } "
2017-11-16 09:34:35 -08:00
done < $RECIPE .conf
2014-11-08 12:28:26 -08:00
2015-10-23 00:55:25 -05:00
read_link( )
{
TARGET_FILE = " $1 "
cd $( dirname " $TARGET_FILE " )
TARGET_FILE = $( basename " $TARGET_FILE " )
while [ -L " $TARGET_FILE " ] ; do
TARGET_FILE = $( readlink " $TARGET_FILE " )
cd $( dirname " $TARGET_FILE " )
TARGET_FILE = $( basename " $TARGET_FILE " )
done
PHYS_DIR = $( pwd -P)
RESULT = " $PHYS_DIR / $TARGET_FILE "
echo $RESULT
}
2016-10-10 22:46:50 +01:00
convert_xmb_assets( )
{
2017-06-04 20:05:51 -05:00
local src_dir = $1
local dst_dir = $2
local scale_icon = $3
local scale_bg = $4
# dots per inch, a value of 90 seems to produce a 64x64 resolution for most icons
local density = $5
mkdir -p " $dst_dir "
IFS_old = $IFS
IFS = $( echo -en "\n\b" )
for theme in ` ls $src_dir ` ; do
if [ -d $src_dir /$theme ] ; then
theme = ` basename " $theme " `
cp $src_dir /$theme /*.* $dst_dir /$theme /
mkdir -p " $dst_dir / $theme /png "
for png in ` ls $src_dir /$theme /png/*.png -d` ; do
local name = ` basename " $png " .png`
local src_file = " $src_dir / $theme /src/ $name .svg "
local is_svg = 1
if [ ! -e $src_file ] ; then
src_file = " $src_dir / $theme /png/ $name .png "
is_svg =
fi
local dst_file = " $dst_dir / $theme /png/ $name .png "
if [ ! -e $src_file ] || [ $src_file -nt $dst_file ] ; then
local scale_factor = $scale_icon
if [ $name = "bg" ] ; then
scale_factor = $scale_bg
fi
if [ $is_svg ] ; then
echo convert -background none -density $density " $src_file " -resize $scale_factor " $dst_file "
convert -background none -density $density " $src_file " -resize $scale_factor " $dst_file "
else
echo convert -background none " $src_file " -resize $scale_factor " $dst_file "
convert -background none " $src_file " -resize $scale_factor " $dst_file "
fi
fi
done
fi
done
IFS = $IFS_old
2016-10-10 22:46:50 +01:00
}
2015-10-21 17:51:31 -05:00
2016-01-14 18:16:40 -05:00
if [ " ${ CORE_JOB } " = = "YES" ] ; then
2016-01-18 12:59:40 -05:00
# ----- set target -----
2015-10-21 17:51:31 -05:00
[ [ " ${ ARM_NEON } " ] ] && echo 'ARM NEON opts enabled...' && export FORMAT_COMPILER_TARGET = " ${ FORMAT_COMPILER_TARGET } -neon "
[ [ " ${ CORTEX_A8 } " ] ] && echo 'Cortex A8 opts enabled...' && export FORMAT_COMPILER_TARGET = " ${ FORMAT_COMPILER_TARGET } -cortexa8 "
[ [ " ${ CORTEX_A9 } " ] ] && echo 'Cortex A9 opts enabled...' && export FORMAT_COMPILER_TARGET = " ${ FORMAT_COMPILER_TARGET } -cortexa9 "
[ [ " ${ ARM_HARDFLOAT } " ] ] && echo 'ARM hardfloat ABI enabled...' && export FORMAT_COMPILER_TARGET = " ${ FORMAT_COMPILER_TARGET } -hardfloat "
[ [ " ${ ARM_SOFTFLOAT } " ] ] && echo 'ARM softfloat ABI enabled...' && export FORMAT_COMPILER_TARGET = " ${ FORMAT_COMPILER_TARGET } -softfloat "
[ [ " ${ IOS } " ] ] && echo 'iOS detected...'
2015-10-21 17:59:19 -05:00
. $WORK /libretro-config.sh
2016-01-14 18:16:40 -05:00
# ----- create dirs -----
2015-10-23 01:36:13 -05:00
SCRIPT = $( read_link " $0 " )
echo " SCRIPT: $SCRIPT "
BASE_DIR = $( dirname " $SCRIPT " )
if [ -z " $RARCH_DIST_DIR " ] ; then
RARCH_DIR = " $BASE_DIR /dist "
RARCH_DIST_DIR = " $RARCH_DIR / $DIST_DIR "
fi
2015-10-21 17:51:31 -05:00
mkdir -v -p " $RARCH_DIST_DIR "
if [ " ${ PLATFORM } " = "android" ] ; then
2017-06-04 20:21:47 -05:00
if [ -n " $ABI_OVERRIDE " ] ; then
echo ABIS-pre: $TARGET_ABIS
echo OVERRIDE: ${ ABI_OVERRIDE }
2017-06-04 20:05:51 -05:00
TARGET_ABIS = ${ ABI_OVERRIDE }
export TARGET_ABIS = ${ ABI_OVERRIDE }
2017-06-04 20:21:47 -05:00
echo ABIS-post: $TARGET_ABIS
2017-06-04 20:05:51 -05:00
fi
2015-10-21 17:51:31 -05:00
IFS = ' ' read -ra ABIS <<< " $TARGET_ABIS "
for a in " ${ ABIS [@] } " ; do
echo $a
if [ -d $RARCH_DIST_DIR /${ a } ] ; then
echo " Directory $RARCH_DIST_DIR / ${ a } already exists, skipping creation... "
else
2017-12-02 17:38:12 -05:00
mkdir -p $RARCH_DIST_DIR /${ a }
2015-10-21 17:51:31 -05:00
fi
done
fi
2016-01-18 12:59:40 -05:00
# ----- set compilers -----
2015-10-21 17:51:31 -05:00
if [ " $HOST_CC " ] ; then
CC = " ${ HOST_CC } -gcc "
CXX = " ${ HOST_CC } -g++ "
CXX11 = " ${ HOST_CC } -g++ "
STRIP = " ${ HOST_CC } -strip "
fi
2016-08-27 22:49:49 -05:00
if [ -z " ${ HELPER } ${ MAKE } " ] ; then
2015-10-21 17:51:31 -05:00
if uname -s | grep -i MINGW32 > /dev/null 2>& 1; then
MAKE = mingw32-make
else
if type gmake > /dev/null 2>& 1; then
MAKE = gmake
else
MAKE = make
fi
fi
fi
if [ -z " $CC " ] ; then
if [ $FORMAT_COMPILER_TARGET = "osx" ] ; then
CC = cc
elif uname -s | grep -i MINGW32 > /dev/null 2>& 1; then
CC = mingw32-gcc
else
CC = gcc
fi
fi
if [ -z " $CXX " ] ; then
if [ $FORMAT_COMPILER_TARGET = "osx" ] ; then
CXX = c++
2017-10-09 18:13:08 -05:00
CXX11 = clang++
2015-10-21 17:51:31 -05:00
elif uname -s | grep -i MINGW32 > /dev/null 2>& 1; then
2016-05-16 00:12:49 -05:00
CXX = mingw32-g++f
2015-10-21 17:51:31 -05:00
CXX11 = mingw32-g++
else
CXX = g++
CXX11 = g++
fi
fi
if [ " ${ CC } " ] && [ " ${ CXX } " ] ; then
2015-10-31 13:31:18 -05:00
COMPILER = "CC=" \" " ${ CC } " \" " CXX=" \" " ${ CXX } " \" ""
2015-10-21 17:51:31 -05:00
else
COMPILER = ""
fi
RESET_FORMAT_COMPILER_TARGET = $FORMAT_COMPILER_TARGET
RESET_FORMAT_COMPILER_TARGET_ALT = $FORMAT_COMPILER_TARGET_ALT
2015-10-23 01:36:13 -05:00
else
2016-03-01 23:58:42 -05:00
SCRIPT = $( read_link " $0 " )
2015-10-23 01:36:13 -05:00
echo " SCRIPT: $SCRIPT "
BASE_DIR = $( dirname " $SCRIPT " )
if [ -z " $RARCH_DIST_DIR " ] ; then
RARCH_DIR = " $BASE_DIR /dist "
RARCH_DIST_DIR = " $RARCH_DIR / $PLATFORM "
fi
2015-10-21 17:51:31 -05:00
fi
2016-01-18 12:59:40 -05:00
# ----- set jobs -----
2015-08-29 04:24:40 +01:00
if [ -z " $JOBS " ] ; then
2016-02-08 12:15:25 -05:00
JOBS = 6
2015-08-29 04:24:40 +01:00
fi
2015-09-11 00:14:34 +01:00
2016-01-18 12:59:40 -05:00
# ----- set forceful rebuild on/off -----
2015-09-10 06:39:29 +01:00
if [ -z " $FORCE " ] ; then
2015-09-13 17:52:57 +01:00
FORCE = NO
2015-09-10 06:39:29 +01:00
fi
2016-01-14 18:16:40 -05:00
if [ -z " $FORCE_RETROARCH_BUILD " ] ; then
FORCE_RETROARCH_BUILD = NO
fi
2015-09-11 00:14:34 +01:00
2016-01-22 12:05:34 -05:00
# ----- set release on/off -----
if [ -z " $RELEASE " ] ; then
RELEASE = NO
fi
2016-01-18 12:59:40 -05:00
# ----- set cleanup rules -----
2015-11-01 13:21:25 -05:00
CLEANUP = NO
2015-10-31 15:13:01 -05:00
DAY = ` date '+%d' `
2015-11-01 16:24:27 -05:00
HOUR = ` date '+%H' `
if [ $DAY = = 01 -a $HOUR = = 06 ] ; then
2015-10-31 15:11:26 -05:00
FORCE = YES
2015-11-01 13:21:25 -05:00
CLEANUP = NO
2015-10-31 15:11:26 -05:00
fi
2016-01-18 12:59:40 -05:00
# ----- use to keep track of built cores -----
2015-09-13 18:02:40 +01:00
CORES_BUILT = NO
2015-09-11 00:14:34 +01:00
2016-01-14 18:16:40 -05:00
FORCE_ORIG = $FORCE
JOBS_ORIG = $JOBS
2015-08-29 04:24:40 +01:00
2014-11-05 19:40:39 -08:00
cd " ${ BASE_DIR } "
2015-02-01 14:48:09 -05:00
buildbot_log( ) {
2016-01-14 18:32:14 -05:00
echo buildbot message: $MESSAGE
2015-10-18 14:30:45 -05:00
MESSAGE = ` echo -e $1 `
2015-03-05 19:50:45 -05:00
2017-10-20 15:59:50 -04:00
if [ -n " $LOGURL " ] ; then
2017-10-20 13:15:06 -04:00
HASH = ` echo -n " $MESSAGE " | openssl sha1 -hmac $SIG | cut -f 2 -d " " `
curl --max-time 30 --data " message= $MESSAGE &sign= $HASH " $LOGURL
fi
}
buildbot_handle_message( ) {
RET = $1
ENTRY_ID = $2
2017-12-24 15:08:01 -08:00
CORE_NAME = $3
2017-10-20 13:15:06 -04:00
jobid = $4
ERROR = $5
if [ $RET -eq 0 ] ; then
2017-10-20 15:59:50 -04:00
if [ -n " $LOGURL " ] ; then
2017-10-20 13:15:06 -04:00
curl -X POST -d type = "finish" -d index = " $ENTRY_ID " -d status = "done" http://buildbot.fiveforty.net/build_entry/
fi
2017-12-24 15:08:01 -08:00
MESSAGE = " $CORE_NAME : [status: done] [ $jobid ] "
2017-10-20 13:15:06 -04:00
else
2017-10-20 15:59:50 -04:00
if [ -n " $LOGURL " ] ; then
2017-11-09 01:31:03 +00:00
HASTE = "n/a"
if [ -n " $ERROR " ] ; then
gzip -9fk $ERROR
HASTE = ` curl -X POST http://p.0bl.net/ --data-binary @${ ERROR } .gz`
fi
2017-12-24 15:08:01 -08:00
MESSAGE = " $CORE_NAME : [status: fail] [ $jobid ] LOG: $HASTE "
2017-10-20 13:15:06 -04:00
curl -X POST -d type = "finish" -d index = " $ENTRY_ID " -d status = "fail" -d log = " $HASTE " http://buildbot.fiveforty.net/build_entry/
else
2017-12-24 15:08:01 -08:00
MESSAGE = " $CORE_NAME : [status: fail] [ $jobid ] "
2017-10-20 13:15:06 -04:00
fi
fi
echo buildbot job: $MESSAGE
buildbot_log " $MESSAGE "
2017-10-20 15:59:50 -04:00
2017-10-20 21:24:29 -04:00
# used by Travis-CI to exit immediately if a core build fails, instead of trying to build RA anyways (for static/console builds)
2017-10-20 21:39:03 -04:00
if [ $RET -ne 0 ] && [ " $EXIT_ON_ERROR " = "1" ] ; then
2017-10-20 16:09:26 -04:00
exit 1
2017-10-20 15:59:50 -04:00
fi
2015-02-01 14:48:09 -05:00
}
2014-11-05 16:25:06 -08:00
build_libretro_generic_makefile( ) {
2015-02-16 19:19:30 -08:00
NAME = $1
DIR = $2
SUBDIR = $3
MAKEFILE = $4
PLATFORM = $5
ARGS = $6
2015-10-13 16:30:56 -05:00
2017-10-20 13:15:06 -04:00
ENTRY_ID = ""
2017-10-20 15:59:50 -04:00
if [ -n " $LOGURL " ] ; then
2017-10-20 13:15:06 -04:00
ENTRY_ID = ` curl -X POST -d type = "start" -d master_log = " $MASTER_LOG_ID " -d platform = " $jobid " -d name = " $NAME " http://buildbot.fiveforty.net/build_entry/`
fi
2017-03-09 06:01:59 +00:00
2017-11-15 14:14:35 -08:00
cd " ${ DIR } "
if [ " ${ COMMAND } " = "CMAKE" ] && [ " ${ SUBDIR } " != . ] ; then
rm -rf -- " $SUBDIR "
mkdir -p -- " $SUBDIR "
2017-12-06 14:13:56 -08:00
elif [ " ${ COMMAND } " = "GENERIC_GL" ] && [ " ${ BUILD_LIBRETRO_GL } " ] ; then
if [ " ${ ENABLE_GLES } " ] ; then
export FORMAT_COMPILER_TARGET = " ${ FORMAT_COMPILER_TARGET } -gles "
export FORMAT_COMPILER_TARGET_ALT = " ${ FORMAT_COMPILER_TARGET } "
else
export FORMAT_COMPILER_TARGET = " ${ FORMAT_COMPILER_TARGET } -opengl "
export FORMAT_COMPILER_TARGET_ALT = " ${ FORMAT_COMPILER_TARGET } "
fi
2015-10-06 06:29:39 +01:00
fi
2015-02-16 19:19:30 -08:00
2017-12-24 17:41:55 -08:00
case " { $NAME } " in
*higan_sfc*| *bsnes* ) OUT = "out" ; ;
* ) OUT = . ; ;
esac
2017-11-15 14:14:35 -08:00
cd " ${ SUBDIR } "
2017-12-24 15:08:01 -08:00
if [ " ${ NAME } " = "bsnes" ] || [ " ${ NAME } " = "bsnes_mercury" ] ; then
2017-12-23 10:36:21 -08:00
CORE = " ${ CORE :- ${ NAME } _accuracy ${ NAME } _balanced ${ NAME } _performance } "
2017-12-21 09:21:12 -08:00
elif [ " ${ NAME } " = "mame2014" ] ; then
2017-12-23 10:36:21 -08:00
CORE = " ${ CORE :- ${ NAME } mess2014 ume2014 } "
2017-12-05 11:27:10 -08:00
else
CORE = " ${ NAME } "
fi
2016-12-08 21:27:12 -05:00
2017-12-05 11:27:10 -08:00
eval " set -- $CORE "
for core do
2017-12-27 07:59:37 +01:00
CORENAM = " ${ core } _libretro ${ FORMAT } ${ LIBSUFFIX } . ${ FORMAT_EXT } "
2017-12-24 15:08:01 -08:00
LOGFILE = " $TMPDIR /log/ ${ BOT } / ${ LOGDATE } / ${ LOGDATE } _ ${ core } _ ${ PLATFORM } .log "
2017-12-21 09:08:23 -08:00
2017-12-24 15:08:01 -08:00
if [ " ${ NAME } " = "bsnes" ] || [ " ${ NAME } " = "bsnes_mercury" ] ; then
2017-12-21 09:08:23 -08:00
CORE_ARGS = " profile= ${ core ##*_ } ${ ARGS } "
2017-12-24 15:08:01 -08:00
elif [ " ${ NAME } " = "mame2014" ] ; then
2017-12-21 09:21:12 -08:00
CORE_ARGS = " TARGET= ${ core %%[0-9]* } ${ ARGS } "
2017-12-21 09:08:23 -08:00
else
CORE_ARGS = " ${ ARGS } "
fi
2017-12-05 11:27:10 -08:00
2017-12-27 07:59:37 +01:00
echo -------------------------------------------------- | tee " $LOGFILE "
2017-12-24 16:43:21 -08:00
cat $TMPDIR /vars | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
2017-12-27 07:59:37 +01:00
echo -------------------------------------------------- | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
if [ -z " ${ NOCLEAN } " ] && [ -f " ${ MAKEFILE } " ] && [ " ${ COMMAND } " != "CMAKE" ] ; then
2017-12-24 17:41:55 -08:00
if [ " ${ NAME } " = "higan_sfc" ] || [ " ${ NAME } " = "higan_sfc_balanced" ] ; then
2017-12-24 16:43:21 -08:00
rm -fv obj/*.{ o," ${ FORMAT_EXT } " } 2>& 1 | tee -a " $LOGFILE "
rm -fv out/*.{ o," ${ FORMAT_EXT } " } 2>& 1 | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
else
2017-12-21 09:08:23 -08:00
eval " set -- ${ HELPER } ${ MAKE } -f ${ MAKEFILE } platform= ${ PLATFORM } -j ${ JOBS } ${ CORE_ARGS } clean "
2017-12-24 16:43:21 -08:00
echo " CLEANUP CMD: $@ " 2>& 1 | tee -a " $LOGFILE "
" $@ " 2>& 1 | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
fi
if [ $? -eq 0 ] ; then
2017-12-24 15:08:01 -08:00
echo buildbot job: $jobid ${ core } cleanup success!
2017-12-05 11:27:10 -08:00
else
2017-12-24 15:08:01 -08:00
echo buildbot job: $jobid ${ core } cleanup failed!
2017-12-05 11:27:10 -08:00
fi
2016-05-30 16:54:13 -05:00
fi
2017-06-15 15:36:20 +01:00
2017-12-27 07:59:37 +01:00
echo -------------------------------------------------- | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
if [ " ${ COMMAND } " = "CMAKE" ] ; then
if [ " ${ PLATFORM } " = "android" ] ; then
2017-12-27 07:59:37 +01:00
EXTRAARGS = " -DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_SYSTEM_VERSION= ${ API_LEVEL } \
-DCMAKE_ANDROID_ARCH_ABI= ${ ABI_OVERRIDE } \
-DCMAKE_ANDROID_NDK= ${ NDK_ROOT } "
2017-12-05 11:27:10 -08:00
fi
2015-10-16 00:24:41 -05:00
2017-12-21 09:08:23 -08:00
eval " set -- ${ EXTRAARGS } ${ CORE_ARGS } "
2017-12-24 16:43:21 -08:00
echo " BUILD CMD: ${ CMAKE } $@ " 2>& 1 | tee -a " $LOGFILE "
echo " $@ " .. | xargs ${ CMAKE } 2>& 1 | tee -a " $LOGFILE "
echo " BUILD CMD: ${ HELPER } ${ MAKE } -f ${ MAKEFILE } -j ${ JOBS } " 2>& 1 | tee -a " $LOGFILE "
${ HELPER } ${ MAKE } -f ${ MAKEFILE } -j${ JOBS } 2>& 1 | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
2017-12-27 07:59:37 +01:00
find . -mindepth 2 -name " ${ CORENAM } " -exec cp -f "{}" . \;
2017-12-24 17:41:55 -08:00
elif [ " ${ NAME } " = "higan_sfc" ] || [ " ${ NAME } " = "higan_sfc_balanced" ] ; then
2017-12-05 11:27:10 -08:00
platform = ""
2017-12-24 16:43:21 -08:00
echo " BUILD CMD: ${ HELPER } ${ MAKE } -f ${ MAKEFILE } -j ${ JOBS } " ${ CORE_ARGS } 2>& 1 | tee -a " $LOGFILE "
${ HELPER } ${ MAKE } -f ${ MAKEFILE } -j${ JOBS } ${ CORE_ARGS } 2>& 1 | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
else
2017-12-21 09:08:23 -08:00
eval " set -- ${ HELPER } ${ MAKE } -f ${ MAKEFILE } platform= ${ PLATFORM } -j ${ JOBS } ${ CORE_ARGS } "
2017-12-24 16:43:21 -08:00
echo " BUILD CMD: $@ " 2>& 1 | tee -a " $LOGFILE "
" $@ " 2>& 1 | tee -a " $LOGFILE "
2017-09-27 13:42:48 -05:00
fi
2017-12-05 09:43:07 -08:00
2017-12-05 11:27:10 -08:00
if [ " ${ MAKEPORTABLE } " = = "YES" ] ; then
2017-12-27 07:59:37 +01:00
echo " BUILD CMD $WORK /retrolink.sh ${ OUT } / ${ CORENAM } " 2>& 1 | tee -a " $LOGFILE "
$WORK /retrolink.sh ${ OUT } /${ CORENAM } 2>& 1 | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
fi
2015-10-16 00:20:40 -05:00
2017-12-05 11:27:10 -08:00
if [ " ${ PLATFORM } " = "windows" ] || [ " ${ PLATFORM } " = "unix" ] ; then
2017-12-27 07:59:37 +01:00
${ STRIP : =strip } -s ${ OUT } /${ CORENAM }
2017-12-05 11:27:10 -08:00
fi
2017-06-12 22:31:49 +01:00
2017-12-27 07:59:37 +01:00
echo " COPY CMD: cp -v ${ OUT } / ${ CORENAM } $RARCH_DIST_DIR / ${ DIST } / ${ CORENAM } " 2>& 1 | tee -a " $LOGFILE "
cp -v ${ OUT } /${ CORENAM } $RARCH_DIST_DIR /${ DIST } /${ CORENAM } 2>& 1 | tee -a " $LOGFILE "
cp -v ${ OUT } /${ CORENAM } $RARCH_DIST_DIR /${ DIST } /${ CORENAM }
2016-07-10 10:57:51 -05:00
2017-12-05 11:27:10 -08:00
RET = $?
2017-12-24 15:08:01 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " " $core " " $jobid " " $LOGFILE "
2017-12-05 11:27:10 -08:00
done
2015-10-13 16:34:31 -05:00
2017-12-06 14:13:56 -08:00
if [ " ${ COMMAND } " = "GENERIC_GL" ] ; then
export FORMAT_COMPILER_TARGET = $RESET_FORMAT_COMPILER_TARGET
export FORMAT_COMPILER_TARGET_ALT = $RESET_FORMAT_COMPILER_TARGET_ALT
fi
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2014-11-05 16:25:06 -08:00
}
2015-06-17 19:49:20 -04:00
build_libretro_leiradel_makefile( ) {
NAME = $1
DIR = $2
SUBDIR = $3
MAKEFILE = $4
PLATFORM = $5
ARGS = $6
2017-10-20 13:15:06 -04:00
ENTRY_ID = ""
2017-10-20 15:59:50 -04:00
if [ -n " $LOGURL " ] ; then
2017-10-20 13:15:06 -04:00
ENTRY_ID = ` curl -X POST -d type = "start" -d master_log = " $MASTER_LOG_ID " -d platform = " $jobid " -d name = " $NAME " http://buildbot.fiveforty.net/build_entry/`
fi
2017-03-09 06:01:59 +00:00
2017-11-16 13:20:12 -08:00
ARG1 = " ${ ARGS %% * } "
2017-12-27 19:55:55 -08:00
CORENAM = " ${ NAME } _libretro ${ LIBSUFFIX } . ${ FORMAT_EXT } "
LOGFILE = " $TMPDIR /log/ ${ BOT } / ${ LOGDATE } / ${ LOGDATE } _ ${ NAME } _ ${ PLATFORM } .log "
ORIGNAM = " ${ NAME } _libretro. ${ PLATFORM } _ ${ ARG1 } . ${ FORMAT_EXT } "
2015-09-13 17:52:57 +01:00
mkdir -p $RARCH_DIST_DIR /${ DIST } /${ ARG1 }
2015-08-13 23:11:51 +01:00
2015-06-17 19:49:20 -04:00
cd $DIR
cd $SUBDIR
2017-12-27 19:55:55 -08:00
echo -------------------------------------------------- | tee " $LOGFILE "
cat $TMPDIR /vars | tee -a " $LOGFILE "
2016-12-08 21:27:12 -05:00
2017-12-27 19:55:55 -08:00
echo -------------------------------------------------- | tee -a " $LOGFILE "
2015-06-17 19:49:20 -04:00
if [ -z " ${ NOCLEAN } " ] ; then
2017-12-27 19:55:55 -08:00
echo " CLEANUP CMD: ${ HELPER } ${ MAKE } -f ${ MAKEFILE } . ${ PLATFORM } _ ${ ARGS } platform= ${ PLATFORM } _ ${ ARGS } -j ${ JOBS } clean " 2>& 1 | tee -a " $LOGFILE "
${ HELPER } ${ MAKE } -f ${ MAKEFILE } .${ PLATFORM } _${ ARGS } platform = ${ PLATFORM } _${ ARGS } -j${ JOBS } clean 2>& 1 | tee -a " $LOGFILE "
2017-12-05 09:43:07 -08:00
2015-06-17 19:49:20 -04:00
if [ $? -eq 0 ] ; then
2017-12-05 09:43:07 -08:00
echo buildbot job: $jobid ${ NAME } cleanup success!
2015-06-17 19:49:20 -04:00
else
2017-12-05 09:43:07 -08:00
echo buildbot job: $jobid ${ NAME } cleanup failed!
2015-06-17 19:49:20 -04:00
fi
fi
2017-12-27 19:55:55 -08:00
echo -------------------------------------------------- | tee -a " $LOGFILE "
echo " BUILD CMD: ${ HELPER } ${ MAKE } -f ${ MAKEFILE } . ${ PLATFORM } _ ${ ARGS } platform= ${ PLATFORM } _ ${ ARGS } -j ${ JOBS } " 2>& 1 | tee -a " $LOGFILE "
${ HELPER } ${ MAKE } -f ${ MAKEFILE } .${ PLATFORM } _${ ARGS } platform = ${ PLATFORM } _${ ARGS } -j${ JOBS } 2>& 1 | tee -a " $LOGFILE "
2015-06-17 19:49:20 -04:00
2017-12-27 19:55:55 -08:00
echo " COPY CMD: cp -v ${ ORIGNAM } $RARCH_DIST_DIR / ${ DIST } / ${ ARG1 } / ${ CORENAM } " 2>& 1 | tee -a " $LOGFILE "
cp -v ${ ORIGNAM } $RARCH_DIST_DIR /${ DIST } /${ ARG1 } /${ CORENAM } 2>& 1 | tee -a " $LOGFILE "
cp -v ${ ORIGNAM } $RARCH_DIST_DIR /${ DIST } /${ ARG1 } /${ CORENAM }
2016-03-23 21:46:15 -05:00
2017-10-20 13:15:06 -04:00
RET = $?
2017-12-27 19:55:55 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " " $NAME " " $jobid " " $LOGFILE "
2015-11-01 12:28:14 -05:00
2017-10-20 13:15:06 -04:00
ENTRY_ID = ""
2016-07-10 11:14:49 -05:00
}
2014-12-23 18:11:56 -05:00
build_libretro_generic_jni( ) {
2015-02-16 19:19:30 -08:00
NAME = $1
DIR = $2
SUBDIR = $3
MAKEFILE = $4
PLATFORM = $5
ARGS = $6
2017-10-20 13:15:06 -04:00
ENTRY_ID = ""
2017-12-05 11:27:10 -08:00
LIBNAM = "libretro"
2017-10-20 13:15:06 -04:00
2017-10-20 15:59:50 -04:00
if [ -n " $LOGURL " ] ; then
2017-10-20 13:15:06 -04:00
ENTRY_ID = ` curl -X POST -d type = "start" -d master_log = " $MASTER_LOG_ID " -d platform = " $jobid " -d name = " $NAME " http://buildbot.fiveforty.net/build_entry/`
fi
2017-03-09 06:01:59 +00:00
2017-12-24 17:33:21 -08:00
if [ " ${ NAME } " = "bsnes" ] || [ " ${ NAME } " = "bsnes_mercury" ] ; then
2017-12-23 10:36:21 -08:00
CORE = " ${ CORE :- ${ NAME } _accuracy ${ NAME } _balanced ${ NAME } _performance } "
2017-12-03 16:11:49 -08:00
else
2017-12-05 11:27:10 -08:00
CORE = " ${ NAME } "
2017-12-03 16:11:49 -08:00
fi
2017-12-02 15:37:50 -08:00
cd ${ DIR }
cd ${ SUBDIR }
2017-12-05 09:43:07 -08:00
2017-12-05 11:27:10 -08:00
eval " set -- $CORE "
for core do
2017-12-27 19:55:55 -08:00
CORENAM = " ${ core } _libretro ${ FORMAT } ${ LIBSUFFIX } . ${ FORMAT_EXT } "
2017-12-24 17:33:21 -08:00
if [ " ${ NAME } " = "bsnes" ] || [ " ${ NAME } " = "bsnes_mercury" ] ; then
2017-12-21 09:08:23 -08:00
CORE_ARGS = " profile= ${ core ##*_ } ${ ARGS } "
2017-12-25 09:08:07 -08:00
LIBNAM = " libretro_ ${ core } "
2017-12-21 09:08:23 -08:00
else
CORE_ARGS = " ${ ARGS } "
2015-02-16 19:19:30 -08:00
fi
2017-12-05 11:27:10 -08:00
for a in " ${ ABIS [@] } " ; do
2017-12-24 17:33:21 -08:00
LOGFILE = " $TMPDIR /log/ ${ BOT } / ${ LOGDATE } / ${ LOGDATE } _ ${ core } _ ${ PLATFORM } _ ${ a } .log "
2017-12-27 07:59:37 +01:00
echo -------------------------------------------------- | tee " $LOGFILE "
2017-12-24 16:43:21 -08:00
cat $TMPDIR /vars | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
2017-12-27 07:59:37 +01:00
echo -------------------------------------------------- | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
if [ -z " ${ NOCLEAN } " ] ; then
2017-12-24 16:43:21 -08:00
echo " CLEANUP CMD: ${ NDK } -j ${ JOBS } ${ CORE_ARGS } APP_ABI= ${ a } clean " 2>& 1 | tee -a " $LOGFILE "
${ NDK } -j${ JOBS } ${ CORE_ARGS } APP_ABI = ${ a } clean 2>& 1 | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
if [ $? -eq 0 ] ; then
2017-12-24 17:33:21 -08:00
echo buildbot job: $jobid $a ${ core } cleanup success!
2017-12-05 11:27:10 -08:00
else
2017-12-24 17:33:21 -08:00
echo buildbot job: $jobid $a ${ core } cleanup failed!
2017-12-05 11:27:10 -08:00
fi
fi
2015-10-16 00:40:30 -05:00
2017-12-27 07:59:37 +01:00
echo -------------------------------------------------- | tee -a " $LOGFILE "
2017-12-21 09:08:23 -08:00
eval " set -- ${ NDK } -j ${ JOBS } APP_ABI= ${ a } ${ CORE_ARGS } "
2017-12-24 16:43:21 -08:00
echo " BUILD CMD: $@ " 2>& 1 | tee -a " $LOGFILE "
" $@ " 2>& 1 | tee -a " $LOGFILE "
2016-12-31 14:31:30 -06:00
2015-10-18 14:22:02 -05:00
2017-12-05 11:27:10 -08:00
if [ " ${ NAME } " = = "mupen64plus" ] ; then
2017-12-24 16:43:21 -08:00
echo " COPY CMD: cp -v ../libs/ ${ a } /libparallel_retro. ${ FORMAT_EXT } $RARCH_DIST_DIR / ${ a } /parallel_libretro ${ FORMAT } ${ LIBSUFFIX } . ${ FORMAT_EXT } " 2>& 1 | tee -a " $LOGFILE "
cp -v ../libs/${ a } /libparallel_retro.${ FORMAT_EXT } $RARCH_DIST_DIR /${ a } /parallel_libretro${ FORMAT } ${ LIBSUFFIX } .${ FORMAT_EXT } 2>& 1 | tee -a " $LOGFILE "
2017-12-05 11:27:10 -08:00
cp -v ../libs/${ a } /libparallel_retro.${ FORMAT_EXT } $RARCH_DIST_DIR /${ a } /parallel_libretro${ FORMAT } ${ LIBSUFFIX } .${ FORMAT_EXT }
fi
2016-07-10 11:14:49 -05:00
2017-12-27 07:59:37 +01:00
echo " COPY CMD: cp -v ../libs/ ${ a } / $LIBNAM . ${ FORMAT_EXT } $RARCH_DIST_DIR / ${ a } / ${ CORENAM } " 2>& 1 | tee -a " $LOGFILE "
cp -v ../libs/${ a } /$LIBNAM .${ FORMAT_EXT } $RARCH_DIST_DIR /${ a } /${ CORENAM } 2>& 1 | tee -a " $LOGFILE "
cp -v ../libs/${ a } /$LIBNAM .${ FORMAT_EXT } $RARCH_DIST_DIR /${ a } /${ CORENAM }
2016-03-23 21:46:15 -05:00
2017-10-20 13:15:06 -04:00
2017-12-05 11:27:10 -08:00
RET = $?
2017-12-24 17:33:21 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " " $core " " $jobid " " $LOGFILE "
2017-12-05 11:27:10 -08:00
done
2015-02-16 19:19:30 -08:00
done
2017-12-05 11:27:10 -08:00
ENTRY_ID = ""
2014-12-25 19:49:47 -05:00
}
2016-01-14 18:16:40 -05:00
# ----- buildbot -----
2014-11-05 16:25:06 -08:00
2016-01-14 18:16:40 -05:00
echo buildbot starting
echo --------------------------------------------------
echo Variables:
2016-03-01 23:58:42 -05:00
echo CC $CC
echo CXX $CXX
echo STRIP $STRIP
2016-01-14 18:16:40 -05:00
echo DISTDIR $RARCH_DIST_DIR
2016-03-01 23:58:42 -05:00
echo JOBS $JOBS
2016-01-14 18:16:40 -05:00
echo
echo
2015-10-13 18:18:23 -05:00
2015-01-17 12:52:59 -05:00
export jobid = $1
2015-01-17 00:56:23 -05:00
2016-01-14 18:16:40 -05:00
# ----- fetch a project -----
2014-11-05 21:34:54 -08:00
echo
echo
2014-11-05 16:25:06 -08:00
while read line; do
2017-11-14 06:09:22 -08:00
eval "set -- \$line"
NAME = " $1 "
DIR = " $2 "
URL = " $3 "
GIT_BRANCH = " $4 "
2017-12-20 09:56:06 -08:00
ENABLED = " $5 "
COMMAND = " $6 "
MAKEFILE = " $7 "
SUBDIR = " $8 "
2017-11-14 06:09:22 -08:00
ARGS = ""
2017-12-20 09:56:06 -08:00
shift 8
2017-11-14 06:09:22 -08:00
while [ $# -gt 0 ] ; do
ARGS = " ${ ARGS } ${ 1 } "
shift
done
ARGS = " ${ ARGS # } "
ARGS = " ${ ARGS % " ${ ARGS ##*[![ : space : ]] } " } "
2015-02-16 19:19:30 -08:00
2017-12-23 11:14:37 -08:00
if [ -z " ${ SINGLE_CORE :- } " ] ; then
CORE = ""
elif [ " $NAME " != " $SINGLE_CORE " ] ; then
2017-11-06 20:34:03 -08:00
continue
2017-10-30 21:16:58 -07:00
fi
2017-12-23 08:37:31 -08:00
[ " ${ ENABLED } " != "YES" ] && { echo " ${ NAME } is disabled, skipping " ; continue ; }
echo -ne "buildbot job started at: "
date
echo
echo " buildbot job: $jobid processing $NAME "
echo --------------------------------------------------
echo Variables:
echo URL $URL
echo ENABLED $ENABLED
echo COMMAND $COMMAND
echo MAKEFILE $MAKEFILE
echo DIR $DIR
echo SUBDIR $SUBDIR
echo
echo
BUILD = "NO"
BUILD_ORIG = $BUILD
FORCE_ORIG = $FORCE
if [ ! -d " ${ DIR } /.git " ] || [ " ${ CLEANUP } " = "YES" ] ; then
rm -rfv -- " $DIR "
echo " cloning repo $URL ... "
git clone --depth= 1 -b " $GIT_BRANCH " " $URL " " $DIR "
BUILD = "YES"
else
if [ -f " $DIR /.forcebuild " ] ; then
echo " found $DIR /.forcebuild file, building $NAME "
2017-11-10 17:44:42 -08:00
BUILD = "YES"
2017-11-11 07:28:51 -08:00
fi
2015-02-16 19:19:30 -08:00
2017-12-23 08:37:31 -08:00
HEAD = " $( git --work-tree= " $DIR " --git-dir= " $DIR /.git " rev-parse HEAD) " || \
{ echo " git directory broken, removing $DIR and skipping $NAME . " ; \
rm -rfv -- " $DIR " && continue ; }
echo " pulling changes from repo $URL ... "
git --work-tree= " $DIR " --git-dir= " $DIR /.git " pull
2017-12-02 10:55:16 -08:00
2017-12-23 08:37:31 -08:00
if [ " $HEAD " = " $( git --work-tree= " $DIR " --git-dir= " $DIR /.git " rev-parse HEAD) " ] && [ " ${ BUILD } " != "YES" ] ; then
BUILD = "NO"
else
echo " resetting repo state $URL ... "
git --work-tree= " $DIR " --git-dir= " $DIR /.git " reset --hard FETCH_HEAD
git --work-tree= " $DIR " --git-dir= " $DIR /.git " clean -xdf
2017-12-02 10:55:16 -08:00
BUILD = "YES"
2017-11-10 17:44:42 -08:00
fi
2017-12-23 08:37:31 -08:00
fi
2015-03-17 23:46:52 -04:00
2017-12-23 08:37:31 -08:00
CURRENT_BRANCH = " $( git --work-tree= " $DIR " --git-dir= " $DIR /.git " rev-parse --abbrev-ref HEAD) "
2017-12-22 14:48:34 -08:00
2017-12-23 08:37:31 -08:00
if [ " ${ GIT_BRANCH } " != " ${ CURRENT_BRANCH } " ] && [ " ${ TRAVIS :- 0 } " = "0" ] ; then
echo " Changing to the branch ${ GIT_BRANCH } from ${ CURRENT_BRANCH } "
git --work-tree= " $DIR " --git-dir= " $DIR /.git " remote set-branches origin " ${ GIT_BRANCH } "
git --work-tree= " $DIR " --git-dir= " $DIR /.git " fetch --depth 1 origin " ${ GIT_BRANCH } "
git --work-tree= " $DIR " --git-dir= " $DIR /.git " checkout " ${ GIT_BRANCH } "
git --work-tree= " $DIR " --git-dir= " $DIR /.git " branch -D " ${ CURRENT_BRANCH } "
BUILD = "YES"
fi
2015-02-16 19:19:30 -08:00
2017-12-23 08:37:31 -08:00
if git config --file " $DIR /.gitmodules " --name-only --get-regexp path 2>& 1 >/dev/null; then
git --work-tree= "." --git-dir= ".git" -C " $DIR " submodule update --init --recursive
fi
for core in 81 emux_nes emux_sms fuse gw mgba; do
if [ " ${ PREVCORE } " = " $core " ] && [ " ${ PREVBUILD } " = "YES" ] && [ " ${ NAME } " = " $core " ] ; then
FORCE = "YES"
BUILD = "YES"
2015-02-16 19:19:30 -08:00
fi
2017-12-23 08:37:31 -08:00
done
if [ " ${ BUILD } " = "YES" ] || [ " ${ FORCE } " = "YES" ] ; then
touch $TMPDIR /built-cores
CORES_BUILT = YES
echo " buildbot job: building $NAME "
case " ${ COMMAND } " in
2017-12-24 17:41:55 -08:00
CMAKE| GENERIC| GENERIC_GL )
2017-12-24 17:33:21 -08:00
build_libretro_generic_makefile $NAME $DIR $SUBDIR $MAKEFILE ${ FORMAT_COMPILER_TARGET } " ${ ARGS } " ; ;
GENERIC_JNI ) build_libretro_generic_jni $NAME $DIR $SUBDIR $MAKEFILE ${ FORMAT_COMPILER_TARGET_ALT } " ${ ARGS } " ; ;
GENERIC_ALT ) build_libretro_generic_makefile $NAME $DIR $SUBDIR $MAKEFILE ${ FORMAT_COMPILER_TARGET_ALT } " ${ ARGS } " ; ;
LEIRADEL ) build_libretro_leiradel_makefile $NAME $DIR $SUBDIR $MAKEFILE ${ PLATFORM } " ${ ARGS } " ; ;
* ) : ; ;
2017-12-23 08:37:31 -08:00
esac
echo " Cleaning repo state after build $URL ... "
git --work-tree= " ${ BASE_DIR } / ${ DIR } " --git-dir= " ${ BASE_DIR } / ${ DIR } /.git " clean -xdf
else
echo " buildbot job: building $NAME up-to-date "
2015-02-16 19:19:30 -08:00
fi
2017-12-23 08:37:31 -08:00
echo
echo -ne "buildbot job finished at: "
date
2015-02-16 19:19:30 -08:00
cd " ${ BASE_DIR } "
PREVCORE = $NAME
PREVBUILD = $BUILD
2015-03-17 23:46:52 -04:00
2017-12-22 14:14:43 -08:00
BUILD = $BUILD_ORIG
2016-01-14 18:16:40 -05:00
FORCE = $FORCE_ORIG
2017-11-16 09:34:35 -08:00
done < $RECIPE
2014-11-05 16:25:06 -08:00
2016-03-17 23:06:49 -05:00
buildbot_pull( ) {
2017-11-13 09:19:02 -08:00
[ ! -f " $RECIPE .ra " ] && return 0
2016-03-17 23:22:20 -05:00
while read line; do
2017-11-14 06:09:22 -08:00
eval "set -- \$line"
NAME = " $1 "
DIR = " $2 "
URL = " $3 "
TYPE = " $4 "
ENABLED = " $5 "
PARENTDIR = " $6 "
ARGS = ""
shift 6
while [ $# -gt 0 ] ; do
ARGS = " ${ ARGS } ${ 1 } "
shift
done
ARGS = " ${ ARGS # } "
ARGS = " ${ ARGS % " ${ ARGS ##*[![ : space : ]] } " } "
2015-02-16 19:19:30 -08:00
2016-03-17 23:06:49 -05:00
if [ " ${ ENABLED } " = "YES" ] ; then
2016-01-14 18:32:14 -05:00
echo " buildbot job: $jobid Processing $NAME "
2016-03-17 23:06:49 -05:00
echo
2015-02-16 19:19:30 -08:00
echo NAME: $NAME
echo DIR: $DIR
echo PARENT: $PARENTDIR
echo URL: $URL
echo REPO TYPE: $TYPE
echo ENABLED: $ENABLED
2016-03-17 23:06:49 -05:00
if [ -d " ${ PARENTDIR } / ${ DIR } /.git " ] ; then
2015-02-16 19:19:30 -08:00
cd $PARENTDIR
cd $DIR
2017-03-15 10:20:56 -07:00
if [ -f .forcebuild ] ; then
echo " found .forcebuild file, building $NAME "
BUILD = "YES"
fi
2017-03-09 06:01:59 +00:00
echo " pulling changes from repo $URL ... "
2017-11-29 17:45:17 -08:00
HEAD = " $( git rev-parse HEAD) "
git pull
2017-03-17 22:19:04 -04:00
2016-03-17 22:26:09 -05:00
if [ " ${ TYPE } " = "PROJECT" ] ; then
RADIR = $DIR
2017-11-29 17:45:17 -08:00
if [ " $HEAD " = " $( git rev-parse HEAD) " ] && [ " ${ BUILD } " != "YES" ] ; then
2016-03-17 22:26:09 -05:00
BUILD = "NO"
else
2017-04-10 05:58:49 +01:00
echo " resetting repo state $URL ... "
2017-04-16 17:36:01 +01:00
git reset --hard FETCH_HEAD
2017-04-10 05:58:49 +01:00
git clean -xdf
2016-03-17 22:26:09 -05:00
BUILD = "YES"
fi
2015-02-16 19:19:30 -08:00
fi
2015-10-21 17:18:38 -05:00
cd $WORK
2015-02-16 19:19:30 -08:00
else
2017-03-09 06:01:59 +00:00
echo " cloning repo $URL ... "
2015-02-16 19:19:30 -08:00
cd $PARENTDIR
2016-03-25 16:36:33 -05:00
if [ ! -z " $BRANCH " -a " ${ NAME } " = = "retroarch" ] ; then
2017-04-15 18:33:30 -05:00
git clone " $URL " " $DIR "
2017-04-15 18:41:39 -05:00
cd $DIR
2017-04-15 18:33:30 -05:00
git checkout " $BRANCH "
2017-04-15 16:52:36 -05:00
elif [ ! -z " $GIT_BRANCH " ] ; then
2017-04-15 14:02:54 -04:00
git clone -b " $GIT_BRANCH " " $URL " " $DIR " --depth= 1
2017-04-15 16:52:36 -05:00
else
git clone -b master " $URL " " $DIR " --depth= 1
2016-03-22 17:36:43 -05:00
fi
2016-03-23 12:20:23 -05:00
cd $WORK
2016-03-17 22:26:09 -05:00
if [ " ${ TYPE } " = "PROJECT" ] ; then
2015-02-16 19:19:30 -08:00
BUILD = "YES"
RADIR = $DIR
fi
cd $WORK
fi
fi
echo
2016-03-23 12:20:23 -05:00
echo RADIR = $RADIR
2016-03-17 23:13:41 -05:00
done < $RECIPE .ra
2016-03-25 16:36:33 -05:00
cd $WORK
2016-03-17 23:06:49 -05:00
}
2017-11-14 09:24:17 -08:00
compile_filters( )
2017-01-07 07:36:33 +01:00
{
2017-11-14 09:24:17 -08:00
FILTER = " $1 "
HELPER = " $2 "
MAKE = " $3 "
case " $FILTER " in
audio ) FILTERDIR = 'libretro-common/audio/dsp_filters' ; ;
video ) FILTERDIR = 'gfx/video_filters' ; ;
esac
echo " compile $FILTER filters "
2017-11-14 11:16:59 -08:00
echo " $FILTER filter BUILD CMD: ${ HELPER } ${ MAKE } "
( cd " $FILTERDIR " ; ${ HELPER } ${ MAKE } )
2017-01-07 07:36:33 +01:00
if [ $? -eq 0 ] ; then
2017-11-14 09:24:17 -08:00
echo " buildbot job: $jobid $FILTER filter build success! "
2017-01-07 07:36:33 +01:00
else
2017-11-14 09:24:17 -08:00
echo " buildbot job: $jobid $FILTER filter: [status: fail]! "
2017-01-07 07:36:33 +01:00
fi
}
2017-11-15 15:30:39 -08:00
if [ " ${ RA } " = "YES" ] ; then
echo " buildbot job: $jobid Building Retroarch- $PLATFORM "
echo --------------------------------------------------
echo
BUILD = ""
2016-03-17 23:06:49 -05:00
2016-03-17 23:22:20 -05:00
echo WORKINGDIR = $PWD
2017-11-15 15:30:39 -08:00
echo RELEASE = $RELEASE
echo FORCE = $FORCE_RETROARCH_BUILD
2016-03-17 23:22:20 -05:00
echo RADIR = $RADIR
2017-11-15 15:30:39 -08:00
echo BRANCH = $BRANCH
2016-12-31 14:31:30 -06:00
2017-11-15 15:30:39 -08:00
buildbot_pull
2016-03-17 22:35:16 -05:00
2017-11-15 15:30:39 -08:00
if [ " ${ BUILD } " = "YES" ] || [ " ${ FORCE } " = "YES" ] || [ " ${ FORCE_RETROARCH_BUILD } " = "YES" ] || [ " ${ CORES_BUILT } " = "YES" ] ; then
cd " $RADIR "
git clean -xdf
echo WORKINGDIR = $PWD
echo RADIR = $RADIR
echo " buildbot job: $jobid Building "
echo
if [ -n " ${ LOGURL } " ] ; then
ENTRY_ID = " $( curl -X POST -d type = "start" -d master_log = " $MASTER_LOG_ID " -d platform = " $jobid " -d name = "retroarch" http://buildbot.fiveforty.net/build_entry/) "
fi
2017-11-21 15:51:14 -08:00
2017-12-05 14:34:35 -08:00
LOGFILE = " $TMPDIR /log/ ${ BOT } / ${ LOGDATE } / ${ LOGDATE } _RetroArch_ ${ RECIPE ##*/ } .log "
2017-11-11 09:18:59 -08:00
fi
fi
2015-03-09 05:23:17 -07:00
2017-11-11 09:18:59 -08:00
if [ " ${ PLATFORM } " = = "osx" ] && [ " ${ RA } " = = "YES" ] ; then
2017-10-20 13:15:06 -04:00
2017-11-11 09:18:59 -08:00
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2017-03-09 06:01:59 +00:00
2015-10-21 17:18:38 -05:00
cd pkg/apple
2016-01-14 18:43:18 -05:00
2017-11-21 15:51:14 -08:00
xcodebuild -project RetroArch.xcodeproj -target RetroArch -configuration Release | tee " $LOGFILE "
2015-07-03 10:40:27 -04:00
2017-10-20 13:15:06 -04:00
RET = $?
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2015-03-09 05:23:17 -07:00
2017-10-20 15:59:50 -04:00
if [ -n " $LOGURL " ] ; then
2017-10-20 15:12:03 -04:00
ENTRY_ID = ` curl -X POST -d type = "start" -d master_log = " $MASTER_LOG_ID " -d platform = " $jobid " -d name = "retroarch" http://buildbot.fiveforty.net/build_entry/`
fi
2017-03-09 06:01:59 +00:00
2016-12-31 14:31:30 -06:00
xcodebuild -project RetroArch.xcodeproj -target "RetroArch Cg" -configuration Release | tee $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_CG_${ PLATFORM } .log
2015-10-21 11:02:46 -05:00
2017-10-20 13:15:06 -04:00
RET = $?
ERROR = $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_CG_${ PLATFORM } .log
2017-11-01 04:07:48 +00:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $ERROR "
2015-10-21 17:18:38 -05:00
cd $WORK /$RADIR
echo "Packaging"
2015-02-16 19:19:30 -08:00
fi
2014-12-17 13:32:42 -05:00
fi
2015-10-21 17:18:38 -05:00
if [ " ${ PLATFORM } " = = "ios" ] && [ " ${ RA } " = = "YES" ] ; then
2015-02-16 19:19:30 -08:00
2015-10-21 17:18:38 -05:00
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2017-03-09 06:01:59 +00:00
2015-10-21 17:18:38 -05:00
cd pkg/apple
2017-11-21 15:51:14 -08:00
xcodebuild clean build CODE_SIGN_IDENTITY = "" CODE_SIGNING_REQUIRED = NO -project RetroArch_iOS.xcodeproj -configuration Release & > " $LOGFILE "
2017-10-20 13:15:06 -04:00
RET = $?
2017-11-20 20:26:06 -05:00
if [ $RET -eq 0 ] ; then
touch $TMPDIR /built-frontend
fi
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2015-06-17 00:28:53 -04:00
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2015-10-21 17:18:38 -05:00
cd $WORK /$RADIR
2015-04-06 23:57:26 -05:00
2015-10-21 17:18:38 -05:00
echo "Packaging"
2015-03-24 22:15:09 -04:00
2015-10-21 17:18:38 -05:00
fi
fi
2015-03-24 22:15:09 -04:00
2015-04-16 11:40:42 -05:00
2015-10-28 18:42:23 -05:00
if [ " ${ PLATFORM } " = = "ios9" ] && [ " ${ RA } " = = "YES" ] ; then
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2017-03-09 06:01:59 +00:00
2015-10-28 18:42:23 -05:00
cd pkg/apple
2017-11-21 15:51:14 -08:00
xcodebuild clean build CODE_SIGN_IDENTITY = "" CODE_SIGNING_REQUIRED = NO -project RetroArch_iOS.xcodeproj -configuration Release -target "RetroArch iOS9" & > " $LOGFILE "
2015-10-28 18:42:23 -05:00
2017-10-20 13:15:06 -04:00
RET = $?
if [ $RET -eq 0 ] ; then
2016-12-28 11:17:26 -05:00
touch $TMPDIR /built-frontend
2015-10-30 01:23:19 -05:00
cd build/Release-iphoneos
security unlock-keychain -p buildbot /Users/buildbot/Library/Keychains/login.keychain
2015-10-30 01:50:30 -05:00
codesign -fs "buildbot" RetroArch.app
2015-10-28 18:42:23 -05:00
fi
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2017-10-20 13:15:06 -04:00
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2015-10-28 18:42:23 -05:00
cd $WORK /$RADIR
echo "Packaging"
fi
fi
2015-10-21 17:18:38 -05:00
if [ " ${ PLATFORM } " = "android" ] && [ " ${ RA } " = "YES" ] ; then
2015-10-28 18:42:23 -05:00
2016-03-17 23:06:49 -05:00
if [ " ${ BUILD } " = "YES" -o " ${ FORCE } " = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" ] ; then
2017-11-11 09:18:59 -08:00
2017-04-15 17:12:40 -05:00
#${HELPER} ${MAKE} -f Makefile.griffin shaders-convert-glsl PYTHON3=$PYTHON
2015-02-25 20:32:07 -05:00
2016-03-17 23:06:49 -05:00
echo " buildbot job: $jobid processing assets "
echo
2015-02-25 20:32:07 -05:00
2016-03-17 23:06:49 -05:00
rm -rf pkg/android/phoenix/assets/assets
rm -rf pkg/android/phoenix/assets/cores
rm -rf pkg/android/phoenix/assets/info
rm -rf pkg/android/phoenix/assets/overlays
rm -rf pkg/android/phoenix/assets/shaders/shaders_glsl/
rm -rf pkg/android/phoenix/assets/database
rm -rf pkg/android/phoenix/assets/autoconfig
rm -rf pkg/android/phoenix/assets/cheats
rm -rf pkg/android/phoenix/assets/playlists
rm -rf pkg/android/phoenix/assets/dowloads
rm -rf pkg/android/phoenix/assets/remaps
rm -rf pkg/android/phoenix/assets/system
2015-10-21 17:18:38 -05:00
mkdir -p pkg/android/phoenix/assets
mkdir -p pkg/android/phoenix/assets/
mkdir -p pkg/android/phoenix/assets/assets
2017-07-31 18:15:57 +01:00
mkdir -p pkg/android/phoenix/assets/assets/xmb/monochrome
2015-10-21 17:18:38 -05:00
mkdir -p pkg/android/phoenix/assets/cores
mkdir -p pkg/android/phoenix/assets/info
mkdir -p pkg/android/phoenix/assets/overlays
2016-01-13 10:22:13 -05:00
mkdir -p pkg/android/phoenix/assets/shaders/shaders_glsl
mkdir -p pkg/android/phoenix/assets/database/cursors
mkdir -p pkg/android/phoenix/assets/database/rdb
2015-10-21 17:18:38 -05:00
mkdir -p pkg/android/phoenix/assets/autoconfig
mkdir -p pkg/android/phoenix/assets/cheats
mkdir -p pkg/android/phoenix/assets/playlists
mkdir -p pkg/android/phoenix/assets/dowloads
mkdir -p pkg/android/phoenix/assets/remaps
mkdir -p pkg/android/phoenix/assets/saves/
mkdir -p pkg/android/phoenix/assets/states/
mkdir -p pkg/android/phoenix/assets/system/
2015-11-27 21:04:43 -05:00
mkdir -p pkg/android/phoenix/assets/filters/video
mkdir -p pkg/android/phoenix/assets/filters/audio
2016-01-12 13:36:22 -05:00
2016-03-01 23:58:42 -05:00
cp -rf media/assets/glui pkg/android/phoenix/assets/assets/
2017-07-31 18:15:57 +01:00
cp -rf media/assets/xmb/monochrome pkg/android/phoenix/assets/assets/xmb
2015-10-28 03:37:32 +01:00
cp -rf media/assets/zarch pkg/android/phoenix/assets/assets/
2017-03-07 00:30:00 -05:00
cp -rf media/assets/s* pkg/android/phoenix/assets/assets/
2015-10-21 17:18:38 -05:00
cp -rf media/autoconfig/* pkg/android/phoenix/assets/autoconfig/
cp -rf media/overlays/* pkg/android/phoenix/assets/overlays/
2016-01-13 10:22:13 -05:00
cp -rf media/shaders_glsl/* pkg/android/phoenix/assets/shaders/shaders_glsl/
cp -rf media/libretrodb/cursors/* pkg/android/phoenix/assets/database/cursors/
cp -rf media/libretrodb/rdb/* pkg/android/phoenix/assets/database/rdb/
2017-01-09 12:32:32 +01:00
cp -rf libretro-common/audio/dsp_filters/*.dsp pkg/android/phoenix/assets/filters/audio/
2015-11-27 21:04:43 -05:00
cp -rf gfx/video_filters/*.filt pkg/android/phoenix/assets/filters/video/
2017-04-15 18:08:24 -05:00
find pkg/android/phoenix/assets/assets/ -type d -name src -exec rm -rf { } \;
2015-11-27 21:04:43 -05:00
2016-01-13 10:22:13 -05:00
2017-04-15 18:08:24 -05:00
#cp -rf media/shaders_glsl $TMPDIR/
2016-03-02 00:11:49 -05:00
touch pkg/android/phoenix/assets/cheats/.empty-folder
touch pkg/android/phoenix/assets/saves/.empty-folder
touch pkg/android/phoenix/assets/states/.empty-folder
touch pkg/android/phoenix/assets/system/.empty-folder
2015-10-21 17:18:38 -05:00
cp -rf $RARCH_DIR /info/* pkg/android/phoenix/assets/info/
2016-01-14 18:32:14 -05:00
echo " buildbot job: $jobid Building "
2015-09-13 17:37:15 +01:00
echo
2015-10-21 17:18:38 -05:00
cd pkg/android/phoenix
rm bin/*.apk
2016-02-23 18:13:07 +01:00
cat << EOF > local.properties
2016-02-20 13:59:34 -05:00
sdk.dir= /home/buildbot/tools/android/android-sdk-linux
key.store= /home/buildbot/.android/release.keystore
key.alias= buildbot
key.store.password= buildbot
key.alias.password= buildbot
2016-03-02 00:13:43 -05:00
2016-02-20 13:59:34 -05:00
EOF
2015-02-25 20:32:07 -05:00
2016-03-05 13:13:31 -05:00
if [ " ${ RELEASE } " = = "NO" ] ; then
python ./version_increment.py
2016-03-17 22:35:16 -05:00
else
2016-03-17 23:22:20 -05:00
git reset --hard
2016-03-05 13:13:31 -05:00
fi
2017-11-21 15:51:14 -08:00
ant clean | tee -a " $LOGFILE "
android update project --path . --target android-24 | tee -a " $LOGFILE "
android update project --path libs/googleplay --target android-24 | tee -a " $LOGFILE "
android update project --path libs/appcompat --target android-24 | tee -a " $LOGFILE "
ant release | tee -a " $LOGFILE "
2016-03-22 17:44:32 -05:00
if [ -z " $BRANCH " ] ; then
2017-11-21 15:51:14 -08:00
cp -rv bin/retroarch-release.apk $RARCH_DIR /retroarch-release.apk | tee -a " $LOGFILE "
2016-03-22 17:44:32 -05:00
cp -rv bin/retroarch-release.apk $RARCH_DIR /retroarch-release.apk
2016-03-22 18:13:33 -05:00
else
2017-11-21 15:51:14 -08:00
cp -rv bin/retroarch-release.apk $RARCH_DIR /retroarch-$BRANCH -release.apk | tee -a " $LOGFILE "
2017-07-24 12:05:01 -05:00
cp -rv bin/retroarch-release.apk $RARCH_DIR /retroarch-$BRANCH -release.apk
2016-03-22 17:44:32 -05:00
fi
2017-10-20 13:15:06 -04:00
RET = $?
2017-11-23 16:35:52 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2016-02-23 18:19:16 +01:00
2017-10-20 13:15:06 -04:00
if [ $RET -eq 0 ] ; then
2016-12-28 11:17:26 -05:00
touch $TMPDIR /built-frontend
2016-02-09 19:30:13 -05:00
fi
2017-10-20 13:15:06 -04:00
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2015-02-25 20:32:07 -05:00
fi
fi
2015-10-23 02:22:01 -05:00
if [ " ${ PLATFORM } " = "MINGW64" ] || [ " ${ PLATFORM } " = "MINGW32" ] || [ " ${ PLATFORM } " = "windows" ] && [ " ${ RA } " = "YES" ] ; then
2016-03-17 23:10:46 -05:00
2015-10-21 17:18:38 -05:00
if [ " ${ BUILD } " = "YES" -o " ${ FORCE } " = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" ] ; then
2017-03-09 06:01:59 +00:00
2017-11-14 09:24:17 -08:00
compile_filters audio ${ HELPER } ${ MAKE }
compile_filters video ${ HELPER } ${ MAKE }
2015-03-10 21:38:12 -05:00
2015-10-21 17:18:38 -05:00
echo "configuring..."
2017-12-07 21:45:33 -05:00
echo " configure command: $CONFIGURE "
${ CONFIGURE }
2015-03-10 21:38:12 -05:00
2015-10-21 17:18:38 -05:00
echo "cleaning up..."
2017-12-07 21:45:33 -05:00
echo " CLEANUP CMD: ${ HELPER } ${ MAKE } ${ ARGS } clean "
${ HELPER } ${ MAKE } ${ ARGS } clean
2016-12-31 14:31:30 -06:00
2016-06-04 19:56:19 -05:00
rm -rf windows
mkdir -p windows
2015-03-10 21:38:12 -05:00
2015-10-21 17:18:38 -05:00
if [ $? -eq 0 ] ; then
2016-01-14 18:32:14 -05:00
echo buildbot job: $jobid retroarch cleanup success!
2015-10-21 17:18:38 -05:00
else
2016-01-14 18:32:14 -05:00
echo buildbot job: $jobid retroarch cleanup failed!
2015-03-10 21:38:12 -05:00
fi
2015-10-21 17:18:38 -05:00
if [ $? -eq 0 ] ; then
2016-01-14 18:32:14 -05:00
echo buildbot job: $jobid retroarch configure success!
2015-03-10 21:38:12 -05:00
else
2016-01-14 18:32:14 -05:00
echo buildbot job: $jobid retroarch configure failed!
2015-03-10 21:38:12 -05:00
fi
2015-10-21 17:18:38 -05:00
echo "building..."
2017-12-07 21:45:33 -05:00
echo " BUILD CMD: ${ HELPER } ${ MAKE } -j ${ JOBS } ${ ARGS } "
${ HELPER } ${ MAKE } -j${ JOBS } ${ ARGS } 2>& 1 | tee -a " $LOGFILE "
2017-03-14 00:16:57 -07:00
if [ -n ${ CUSTOM_BUILD } ] ; then
2017-11-21 15:51:14 -08:00
${ CUSTOM_BUILD } 2>& 1 | tee -a " $LOGFILE "
2017-03-14 00:16:57 -07:00
fi
2015-10-21 17:18:38 -05:00
strip -s retroarch.exe
2017-03-15 07:22:17 -07:00
cp -v retroarch.exe.manifest windows/retroarch.exe.manifest 2>/dev/null
2017-11-21 15:51:14 -08:00
cp -v retroarch.exe windows/retroarch.exe | tee -a " $LOGFILE "
2016-06-04 11:27:25 -05:00
cp -v retroarch.exe windows/retroarch.exe
2016-12-31 14:31:30 -06:00
2016-06-04 19:47:00 -05:00
status = $?
2016-06-04 19:45:36 -05:00
echo $status
2015-06-17 00:28:53 -04:00
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $status " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2017-10-20 13:15:06 -04:00
2016-06-04 19:45:36 -05:00
if [ $status -eq 0 ] ; then
2016-12-28 11:20:06 -05:00
touch $TMPDIR /built-frontend
2017-11-21 15:51:14 -08:00
echo buildbot job: $MESSAGE >> " $LOGFILE "
2016-06-04 11:27:25 -05:00
2017-12-07 21:45:33 -05:00
${ HELPER } ${ MAKE } ${ ARGS } clean
2016-12-31 14:53:13 -06:00
2017-10-20 15:59:50 -04:00
if [ -n " $LOGURL " ] ; then
2017-10-20 13:15:06 -04:00
ENTRY_ID = ` curl -X POST -d type = "start" -d master_log = " $MASTER_LOG_ID " -d platform = " $jobid " -d name = "retroarch-debug" http://buildbot.fiveforty.net/build_entry/`
fi
2017-03-09 06:01:59 +00:00
2017-12-07 21:45:33 -05:00
${ HELPER } ${ MAKE } -j${ JOBS } ${ ARGS } DEBUG = 1 GL_DEBUG = 1 2>& 1 | tee -a $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_DEBUG_${ PLATFORM } .log
2016-12-28 23:05:52 -06:00
for i in $( seq 3) ; do for bin in $( ntldd -R *exe | grep -i mingw | cut -d">" -f2 | cut -d" " -f2) ; do cp -vu " $bin " . ; done ; done
2016-12-24 16:12:37 -05:00
2017-03-14 11:28:54 -07:00
if [ -n ${ CUSTOM_BUILD_DEBUG } ] ; then
2017-03-15 07:22:17 -07:00
${ CUSTOM_BUILD_DEBUG } 2>& 1 | tee -a $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_DEBUG_${ PLATFORM } .log
2017-03-14 11:28:54 -07:00
fi
2017-03-15 07:22:17 -07:00
cp -v retroarch.exe.manifest windows/retroarch_debug.exe.manifest 2>/dev/null
cp -v retroarch.exe windows/retroarch_debug.exe | tee -a $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_DEBUG_${ PLATFORM } .log
2016-12-24 12:11:13 -05:00
cp -v *.dll windows/
2016-06-04 13:09:58 -05:00
cp -v retroarch.exe windows/retroarch_debug.exe
2017-03-09 06:01:59 +00:00
2017-10-20 13:15:06 -04:00
status = $?
ERROR = $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_DEBUG_${ PLATFORM } .log
2017-11-01 04:07:48 +00:00
buildbot_handle_message " $status " " $ENTRY_ID " "retroarch" " $jobid " " $ERROR "
2017-10-20 13:15:06 -04:00
if [ $status -eq 0 ] ; then
2016-06-04 11:27:25 -05:00
MESSAGE = " retroarch debug: [status: done] [ $jobid ] "
2017-10-20 13:15:06 -04:00
echo buildbot job: $MESSAGE >>$TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_DEBUG_${ PLATFORM } .log
2017-03-15 07:22:17 -07:00
buildbot_log " $MESSAGE "
else
2017-10-20 13:15:06 -04:00
MESSAGE = " retroarch-debug: [status: fail] [ $jobid ] "
echo buildbot job: $MESSAGE >>$TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_DEBUG_${ PLATFORM } .log
2016-06-04 11:27:25 -05:00
fi
2017-03-15 07:22:17 -07:00
ENTRY_ID = ""
2015-10-21 17:18:38 -05:00
echo "Packaging"
cp retroarch.cfg retroarch.default.cfg
mkdir -p windows/filters
mkdir -p windows/filters/video
mkdir -p windows/filters/audio
2016-04-30 14:41:08 -05:00
mkdir -p windows/saves
mkdir -p windows/states
mkdir -p windows/system
2016-05-01 12:35:17 -05:00
mkdir -p windows/screenshots
2016-04-30 07:15:44 -05:00
2015-10-21 17:18:38 -05:00
cp -v retroarch.default.cfg windows/
2016-06-04 11:27:25 -05:00
cp -v tools/*.exe windows/
2017-01-09 12:32:32 +01:00
cp -rf libretro-common/audio/dsp_filters/*.dll windows/filters/audio
cp -rf libretro-common/audio/dsp_filters/*.dsp windows/filters/audio
2015-10-21 17:18:38 -05:00
cp -rf gfx/video_filters/*.dll windows/filters/video
cp -rf gfx/video_filters/*.filt windows/filters/video
2015-10-28 18:42:23 -05:00
2015-09-13 17:52:57 +01:00
else
2017-10-20 13:15:06 -04:00
MESSAGE = " retroarch: [status: fail] [ $jobid ] "
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2017-11-21 15:51:14 -08:00
echo buildbot job: $MESSAGE >> " $LOGFILE "
2015-03-10 21:38:12 -05:00
fi
fi
fi
2015-10-21 17:18:38 -05:00
if [ " ${ PLATFORM } " = "psp1" ] && [ " ${ RA } " = "YES" ] ; then
2015-09-07 20:39:28 +01:00
2015-09-13 18:02:40 +01:00
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2016-12-31 14:31:30 -06:00
2015-09-13 17:54:11 +01:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR /*.a .
2015-09-07 20:39:28 +01:00
2017-11-21 15:51:14 -08:00
time sh ./dist-cores.sh psp1 2>& 1 | tee -a " $LOGFILE "
2017-10-20 13:15:06 -04:00
RET = ${ PIPESTATUS [0] }
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2017-10-20 13:15:06 -04:00
if [ $RET -eq 0 ] ; then
2016-12-28 11:20:06 -05:00
touch $TMPDIR /built-frontend
2015-09-07 20:39:28 +01:00
fi
2017-10-20 13:15:06 -04:00
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2015-09-07 20:39:28 +01:00
echo "Packaging"
2016-01-14 18:32:14 -05:00
2015-10-21 17:18:38 -05:00
cd $WORK /$RADIR
2015-09-07 20:39:28 +01:00
cp retroarch.cfg retroarch.default.cfg
2015-10-21 17:18:38 -05:00
mkdir -p pkg/psp1/
2016-09-04 00:00:22 -05:00
mkdir -p pkg/psp1/info
2016-09-03 23:59:16 -05:00
cp -v $RARCH_DIST_DIR /../info/*.info pkg/psp1/info/
2015-10-21 17:18:38 -05:00
2015-09-07 20:39:28 +01:00
fi
fi
2015-10-21 17:18:38 -05:00
if [ " ${ PLATFORM } " = = "wii" ] && [ " ${ RA } " = = "YES" ] ; then
2016-12-31 14:31:30 -06:00
2015-10-21 17:18:38 -05:00
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2017-11-11 09:18:59 -08:00
touch $TMPDIR /built-frontend
2017-03-09 06:01:59 +00:00
2016-03-19 12:32:42 -05:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR /*.a .
2015-10-21 17:18:38 -05:00
2017-11-21 15:51:14 -08:00
time sh ./dist-cores.sh wii 2>& 1 | tee -a " $LOGFILE "
2017-10-20 13:15:06 -04:00
RET = ${ PIPESTATUS [0] }
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2017-10-20 13:15:06 -04:00
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2015-10-21 17:18:38 -05:00
echo "Packaging"
2016-01-14 18:32:14 -05:00
2016-03-19 12:32:42 -05:00
cd $WORK /$RADIR
2015-10-21 17:18:38 -05:00
cp retroarch.cfg retroarch.default.cfg
2016-03-19 12:32:42 -05:00
mkdir -p pkg/wii/
2015-10-21 17:18:38 -05:00
mkdir -p pkg/wii/cheats
mkdir -p pkg/wii/remaps
2016-03-19 12:32:42 -05:00
mkdir -p pkg/wii/overlays
2016-07-16 20:40:01 -05:00
cp -v $RARCH_DIST_DIR /../info/*.info pkg/
2015-10-21 17:18:38 -05:00
cp -rf media/overlays/wii/* pkg/wii/overlays
fi
fi
2016-11-07 15:53:03 -05:00
if [ " ${ PLATFORM } " = = "wiiu" ] && [ " ${ RA } " = = "YES" ] ; then
2016-12-31 14:31:30 -06:00
2016-11-07 15:53:03 -05:00
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2017-11-11 09:18:59 -08:00
touch $TMPDIR /built-frontend
2017-03-09 06:01:59 +00:00
2016-11-07 15:53:03 -05:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR /*.a .
2016-11-07 16:21:48 -05:00
cp -v $RARCH_DIST_DIR /../info/*.info .
2016-11-07 16:25:51 -05:00
cp -v ../media/assets/pkg/wiiu/*.png .
2016-11-07 15:53:03 -05:00
2017-11-21 15:51:14 -08:00
time sh ./wiiu-cores.sh 2>& 1 | tee -a " $LOGFILE "
2017-10-20 13:15:06 -04:00
RET = ${ PIPESTATUS [0] }
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2017-10-20 13:15:06 -04:00
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2016-11-07 15:53:03 -05:00
echo "Packaging"
cd $WORK /$RADIR
fi
fi
2015-10-21 17:18:38 -05:00
if [ " ${ PLATFORM } " = = "ngc" ] && [ " ${ RA } " = = "YES" ] ; then
2016-12-31 14:31:30 -06:00
2015-09-15 00:25:58 +01:00
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2017-10-20 13:15:06 -04:00
2017-11-11 09:18:59 -08:00
touch $TMPDIR /built-frontend
2017-03-09 06:01:59 +00:00
2015-09-15 00:25:58 +01:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR /*.a .
2017-11-21 15:51:14 -08:00
time sh ./dist-cores.sh ngc 2>& 1 | tee -a " $LOGFILE "
2017-10-20 13:15:06 -04:00
RET = ${ PIPESTATUS [0] }
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2017-10-20 13:15:06 -04:00
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2015-09-15 00:25:58 +01:00
echo "Packaging"
2016-01-14 18:32:14 -05:00
2016-03-19 12:32:42 -05:00
cd $WORK /$RADIR
2015-09-15 00:25:58 +01:00
cp retroarch.cfg retroarch.default.cfg
2015-10-21 17:18:38 -05:00
mkdir -p pkg/ngc/
mkdir -p pkg/ngc/cheats
mkdir -p pkg/ngc/remaps
mkdir -p pkg/ngc/overlays
2016-07-16 20:40:01 -05:00
cp -v $RARCH_DIST_DIR /../info/*.info pkg/
cp -rf media/overlays/ngc/* pkg/ngc/overlays
2015-09-15 00:25:58 +01:00
fi
fi
2015-10-21 17:18:38 -05:00
if [ " ${ PLATFORM } " = = "ctr" ] && [ " ${ RA } " = = "YES" ] ; then
2015-10-19 14:47:52 -05:00
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2017-10-20 13:15:06 -04:00
2017-11-11 09:18:59 -08:00
touch $TMPDIR /built-frontend
2017-03-09 06:01:59 +00:00
2015-10-21 17:18:38 -05:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR /*.a .
2015-10-19 14:47:52 -05:00
2017-11-21 15:51:14 -08:00
time sh ./dist-cores.sh ctr 2>& 1 | tee -a " $LOGFILE "
2017-10-20 13:15:06 -04:00
RET = ${ PIPESTATUS [0] }
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2017-10-20 13:15:06 -04:00
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2017-10-20 13:15:06 -04:00
2015-10-19 14:47:52 -05:00
cd $WORK /$RADIR
2016-03-23 12:28:58 -05:00
echo $PWD
2015-10-19 14:47:52 -05:00
echo "Packaging"
2016-01-14 18:32:14 -05:00
2015-10-21 17:18:38 -05:00
cp retroarch.cfg retroarch.default.cfg
2015-10-19 14:47:52 -05:00
2016-03-23 12:27:48 -05:00
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch
2016-10-08 00:14:17 +01:00
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch/cores
2016-10-08 06:16:45 +01:00
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch/cores/info
2016-03-23 12:27:48 -05:00
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch/remaps
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch/cheats
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch/filters
2016-03-23 12:35:32 -05:00
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch/filters/audio
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch/filters/video
2016-10-08 06:16:45 +01:00
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch/database
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch/database/rdb
mkdir -p $WORK /$RADIR /pkg/3ds/retroarch/database/cursors
2016-10-08 00:14:17 +01:00
2016-03-23 12:42:31 -05:00
cp -v $WORK /$RADIR /gfx/video_filters/*.filt $WORK /$RADIR /pkg/3ds/retroarch/filters/video/
2017-01-09 12:32:32 +01:00
cp -v $WORK /$RADIR /libretro-common/audio/dsp_filters/*.dsp $WORK /$RADIR /pkg/3ds/retroarch/filters/audio/
2016-10-08 00:14:17 +01:00
cp -v $RARCH_DIST_DIR /../info/*.info $WORK /$RADIR /pkg/3ds/retroarch/cores/info/
2016-10-08 06:16:45 +01:00
cp -v $WORK /$RADIR /media/libretrodb/rdb/*.rdb $WORK /$RADIR /pkg/3ds/retroarch/database/rdb/
cp -v $WORK /$RADIR /media/libretrodb/cursors/*.dbc $WORK /$RADIR /pkg/3ds/retroarch/database/cursors/
2016-10-10 22:46:50 +01:00
convert_xmb_assets $WORK /$RADIR /media/assets/xmb $WORK /$RADIR /pkg/3ds/retroarch/media/xmb 64x32! 400x240! 90
2015-10-19 14:47:52 -05:00
fi
fi
2015-10-21 17:18:38 -05:00
if [ " ${ PLATFORM } " = = "vita" ] && [ " ${ RA } " = = "YES" ] ; then
2015-10-21 16:57:27 -05:00
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2017-10-20 13:15:06 -04:00
2017-11-11 09:18:59 -08:00
touch $TMPDIR /built-frontend
2017-03-09 06:01:59 +00:00
2015-10-21 17:18:38 -05:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR /*.a .
2016-08-28 19:38:39 -05:00
cp -v $RARCH_DIST_DIR /arm/*.a .
2015-10-21 16:57:27 -05:00
2017-11-21 15:51:14 -08:00
time sh ./dist-cores.sh vita 2>& 1 | tee -a " $LOGFILE "
2017-10-20 13:15:06 -04:00
RET = ${ PIPESTATUS [0] }
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2017-10-20 13:15:06 -04:00
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2017-10-20 13:15:06 -04:00
2015-10-21 16:57:27 -05:00
echo "Packaging"
2016-01-14 18:32:14 -05:00
2016-03-19 12:32:42 -05:00
cd $WORK /$RADIR
2015-10-21 17:18:38 -05:00
cp retroarch.cfg retroarch.default.cfg
2017-11-13 21:06:40 +01:00
mkdir -p $WORK /$RADIR /pkg/vita/retroarch
mkdir -p $WORK /$RADIR /pkg/vita/retroarch/info
mkdir -p $WORK /$RADIR /pkg/vita/retroarch/remaps
mkdir -p $WORK /$RADIR /pkg/vita/retroarch/cheats
mkdir -p $WORK /$RADIR /pkg/vita/retroarch/filters
mkdir -p $WORK /$RADIR /pkg/vita/retroarch/filters/audio
mkdir -p $WORK /$RADIR /pkg/vita/retroarch/filters/video
mkdir -p $WORK /$RADIR /pkg/vita/retroarch/database
mkdir -p $WORK /$RADIR /pkg/vita/retroarch/database/rdb
mkdir -p $WORK /$RADIR /pkg/vita/retroarch/database/cursors
mkdir -p $WORK /$RADIR /pkg/vita/retroarch/assets/glui
cp -v $WORK /$RADIR /gfx/video_filters/*.filt $WORK /$RADIR /pkg/vita/retroarch/filters/video/
cp -v $WORK /$RADIR /libretro-common/audio/dsp_filters/*.dsp $WORK /$RADIR /pkg/vita/retroarch/filters/audio/
cp -v $RARCH_DIST_DIR /../info/*.info $WORK /$RADIR /pkg/vita/retroarch/info/
cp -v $WORK /$RADIR /media/libretrodb/rdb/*.rdb $WORK /$RADIR /pkg/vita/retroarch/database/rdb/
cp -v $WORK /$RADIR /media/libretrodb/cursors/*.dbc $WORK /$RADIR /pkg/vita/retroarch/database/cursors/
cp -v $WORK /$RADIR /media/libretrodb/cursors/*.dbc $WORK /$RADIR /pkg/vita/retroarch/database/cursors/
cp -r $WORK /$RADIR /media/assets/glui $WORK /$RADIR /pkg/vita/retroarch/assets
2017-11-16 08:30:15 +01:00
convert_xmb_assets $WORK /$RADIR /media/assets/xmb $WORK /$RADIR /pkg/vita/retroarch/assets/xmb 64x64! 960x544! 90
2017-11-13 21:06:40 +01:00
2015-10-21 16:57:27 -05:00
fi
fi
2016-08-11 02:42:26 +02:00
if [ " ${ PLATFORM } " = = "ps3" ] && [ " ${ RA } " = = "YES" ] ; then
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2017-11-11 09:18:59 -08:00
touch $TMPDIR /built-frontend
2017-03-09 06:01:59 +00:00
2016-08-11 02:42:26 +02:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR /*.a .
2017-08-07 18:39:22 -05:00
time sh ./dist-cores.sh dex-ps3 2>& 1 | tee -a $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_${ PLATFORM } _dex.log
2017-10-20 13:15:06 -04:00
RET = ${ PIPESTATUS [0] }
ERROR = $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_${ PLATFORM } _dex.log
2017-11-01 04:07:48 +00:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch-dex" " $jobid " " $ERROR "
2017-10-20 13:15:06 -04:00
2017-10-20 15:12:03 -04:00
2017-10-20 15:59:50 -04:00
if [ -n " $LOGURL " ] ; then
2017-10-20 15:12:03 -04:00
ENTRY_ID = ` curl -X POST -d type = "start" -d master_log = " $MASTER_LOG_ID " -d platform = " $jobid " -d name = "retroarch" http://buildbot.fiveforty.net/build_entry/`
fi
2017-10-20 13:15:06 -04:00
2017-08-07 18:39:22 -05:00
time sh ./dist-cores.sh cex-ps3 2>& 1 | tee -a $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_${ PLATFORM } _cex.log
2017-10-20 13:15:06 -04:00
RET = ${ PIPESTATUS [0] }
ERROR = $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_${ PLATFORM } _cex.log
2017-11-01 04:07:48 +00:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch-cex" " $jobid " " $ERROR "
2017-10-20 13:15:06 -04:00
2017-10-20 15:59:50 -04:00
if [ -n " $LOGURL " ] ; then
2017-10-20 15:12:03 -04:00
ENTRY_ID = ` curl -X POST -d type = "start" -d master_log = " $MASTER_LOG_ID " -d platform = " $jobid " -d name = "retroarch" http://buildbot.fiveforty.net/build_entry/`
fi
2017-10-20 13:15:06 -04:00
2017-08-07 18:39:22 -05:00
time sh ./dist-cores.sh ode-ps3 2>& 1 | tee -a $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_${ PLATFORM } _ode.log
2016-08-11 02:42:26 +02:00
2017-10-20 13:15:06 -04:00
RET = ${ PIPESTATUS [0] }
ERROR = $TMPDIR /log/${ BOT } /${ LOGDATE } /${ LOGDATE } _RetroArch_${ PLATFORM } _ode.log
2017-11-01 04:07:48 +00:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch-ode" " $jobid " " $ERROR "
2017-10-20 13:15:06 -04:00
ENTRY_ID = ""
2016-08-11 02:42:26 +02:00
fi
fi
2016-08-28 19:20:32 -05:00
if [ " ${ PLATFORM } " = "emscripten" ] && [ " ${ RA } " = "YES" ] ; then
if [ " ${ BUILD } " = = "YES" -o " ${ FORCE } " = = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" -o " ${ CORES_BUILT } " = = "YES" ] ; then
2017-10-20 13:15:06 -04:00
2017-11-11 09:18:59 -08:00
touch $TMPDIR /built-frontend
2017-03-09 06:01:59 +00:00
2016-08-28 19:20:32 -05:00
cd dist-scripts
rm *.a
cp -v $RARCH_DIST_DIR /*.bc .
2017-11-21 15:51:14 -08:00
echo " BUILD CMD $HELPER ./dist-cores.sh emscripten " & > " $LOGFILE "
$HELPER ./dist-cores.sh emscripten 2>& 1 | tee -a " $LOGFILE "
2017-10-20 13:15:06 -04:00
RET = ${ PIPESTATUS [0] }
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $RET " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2017-03-09 06:01:59 +00:00
ENTRY_ID = ""
2016-08-28 19:20:32 -05:00
echo "Packaging"
cd $WORK /$RADIR
fi
fi
2017-11-15 15:30:39 -08:00
if [ " ${ PLATFORM } " = "unix" ] && [ " ${ RA } " = "YES" ] ; then
2016-11-23 21:20:46 -05:00
if [ " ${ BUILD } " = "YES" -o " ${ FORCE } " = "YES" -o " ${ FORCE_RETROARCH_BUILD } " = = "YES" ] ; then
2017-10-20 13:15:06 -04:00
2017-11-11 09:18:59 -08:00
touch $TMPDIR /built-frontend
2017-03-09 06:01:59 +00:00
2017-11-14 09:24:17 -08:00
compile_filters audio ${ HELPER } ${ MAKE }
compile_filters video ${ HELPER } ${ MAKE }
2016-11-23 21:20:46 -05:00
echo "configuring..."
echo " configure command: $CONFIGURE $ARGS "
${ CONFIGURE } ${ ARGS }
echo "cleaning up..."
echo " CLEANUP CMD: ${ HELPER } ${ MAKE } clean "
${ HELPER } ${ MAKE } clean
2016-12-31 14:31:30 -06:00
2016-11-23 21:20:46 -05:00
if [ $? -eq 0 ] ; then
echo buildbot job: $jobid retroarch cleanup success!
else
echo buildbot job: $jobid retroarch cleanup failed!
fi
echo "building..."
echo " BUILD CMD: ${ HELPER } ${ MAKE } -j ${ JOBS } "
2017-11-21 15:51:14 -08:00
${ HELPER } ${ MAKE } -j${ JOBS } 2>& 1 | tee -a " $LOGFILE "
2016-12-31 14:31:30 -06:00
2016-11-23 21:20:46 -05:00
status = $?
echo $status
2017-11-21 15:51:14 -08:00
buildbot_handle_message " $status " " $ENTRY_ID " "retroarch" " $jobid " " $LOGFILE "
2017-10-20 13:15:06 -04:00
2016-11-23 21:20:46 -05:00
if [ $status -eq 0 ] ; then
MESSAGE = " retroarch: [status: done] [ $jobid ] "
2017-11-21 15:51:14 -08:00
echo buildbot job: $MESSAGE >> " $LOGFILE "
2016-11-23 21:20:46 -05:00
echo "Packaging"
else
2017-10-20 13:15:06 -04:00
MESSAGE = " retroarch: [status: fail] [ $jobid ] "
2017-11-21 15:51:14 -08:00
echo buildbot job: $MESSAGE >> " $LOGFILE "
2016-11-23 21:20:46 -05:00
fi
fi
fi
2015-09-07 20:39:28 +01:00
2014-11-08 12:28:26 -08:00
PATH = $ORIGPATH