155a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project#!/bin/bash 2d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# See usage() below for the description. 3d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll 4d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Mollfunction usage() { 5d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll cat <<EOF 66ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamy# This script copies the .jar files that each plugin depends on into the plugins libs folder. 76ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamy# By default, on Mac & Linux, this script creates symlinks from the libs folder to the jar file. 86ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamy# Since Windows does not support symlinks, the jar files are copied. 9d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# 10d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# Options: 11d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# -f : to copy files rather than creating symlinks on the Mac/Linux platforms. 12d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# -d : print make dependencies instead of running make; doesn't copy files. 13d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# -c : copy files expected after make dependencies (reported by -d) have been built. 14d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# 15d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# The purpose of -d/-c is to include the workflow in a make file: 16d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# - the make rule should depend on \$(shell create_all_symlinks -d) 17d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# - the rule body should perform \$(shell create_all_symlinks -c [-f]) 18d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael MollEOF 19d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll} 2055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 21e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael# CD to the top android directory 22e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelPROG_DIR=`dirname "$0"` 23e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaelcd "${PROG_DIR}/../../../" 24e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 25e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelHOST=`uname` 26d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael MollUSE_COPY="" # force copy dependent jar files rather than creating symlinks 27d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael MollONLY_SHOW_DEPS="" # only report make dependencies but don't build them nor copy. 28d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael MollONLY_COPY_DEPS="" # only copy dependencies built by make; uses -f as needed. 2955a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 3055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectfunction die() { 31d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll echo "Error: $*" >/dev/stderr 32e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael exit 1 3355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project} 3455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 35d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Mollfunction warn() { 36d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll # Only print something if not in show-deps mode 37d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll if [[ -z $ONLY_SHOW_DEPS ]]; then 38d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll echo "$*" 39d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll fi 40d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll} 41d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll 426ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamy## parse arguments 436ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamywhile [ $# -gt 0 ]; do 44d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll case "$1" in 45d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll "-f" ) 46d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll USE_COPY="1" 47d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll ;; 48d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll "-d" ) 49d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll ONLY_SHOW_DEPS="1" 50d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll ;; 51d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll "-c" ) 52d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll ONLY_COPY_DEPS="1" 53d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll ;; 54d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll * ) 55d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll usage 56d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll exit 2 57d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll esac 586ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamy shift 596ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamydone 606ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamy 61d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Mollwarn "## Running $0" 62d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll 63d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Mollif [[ "${HOST:0:6}" == "CYGWIN" || "$USE_MINGW" == "1" ]]; then 64d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll # This is either Cygwin or Linux/Mingw cross-compiling to Windows. 65d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll PLATFORM="windows-x86" 66d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll if [[ "${HOST:0:6}" == "CYGWIN" ]]; then 67d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll # We can't use symlinks under Cygwin 68d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll USE_COPY="1" 69d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll fi 70d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Mollelif [[ "$HOST" == "Linux" ]]; then 716ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamy PLATFORM="linux-x86" 72d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Mollelif [[ "$HOST" == "Darwin" ]]; then 736ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamy PLATFORM="darwin-x86" 746ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamyelse 75d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll die "Unsupported platform ($HOST). Aborting." 766ca42e8ef3fe648b3345ea2bcb17825d224f39aaSiva Velusamyfi 77e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 78d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Mollif [[ "$USE_COPY" == "1" ]]; then 79e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael function cpfile { # $1=source $2=dest 80e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael cp -fv $1 $2/ 81e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael } 82e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 83e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael function cpdir() { # $1=source $2=dest 84e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael rsync -avW --delete-after $1 $2 85e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael } 86e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaelelse 87e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael # computes the "reverse" path, e.g. "a/b/c" => "../../.." 88e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael function back() { 89e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael echo $1 | sed 's@[^/]*@..@g' 90e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael } 91e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 92e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael function cpfile { # $1=source $2=dest 93e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael ln -svf `back $2`/$1 $2/ 94e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael } 95e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 96e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael function cpdir() { # $1=source $2=dest 97e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael ln -svf `back $2`/$1 $2 98e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael } 99e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaelfi 10055a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 101f1d64e2975451e3bbbcd2e62a03a717308db500aRaphaelDEST="sdk/eclipse/scripts" 10255a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 10355a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectset -e # fail early 10455a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 105e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelLIBS="" 106e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelCP_FILES="" 107e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 1088daea84228bdda8d714f2ab4dfc19a3c2f10271bRaphael Moll 1098e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva Velusamy### BASE ### 1108e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva Velusamy 1118e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva VelusamyBASE_PLUGIN_DEST="sdk/eclipse/plugins/com.android.ide.eclipse.base/libs" 1126837aad30d6c51783ca1dc784ca6bdcc8a3d9f2dSiva VelusamyBASE_PLUGIN_LIBS="common sdkstats sdklib dvlib layoutlib_api sdk_common" 1138e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva VelusamyBASE_PLUGIN_PREBUILTS="\ 114871046092b121b919fc2ab5cb804f9037bd739ccTor Norbye prebuilts/misc/common/kxml2/kxml2-2.3.0.jar \ 1158c39e2974c74d0f2a75d94169a74fd496a7e785bXavier Ducrohet prebuilts/tools/common/commons-compress/commons-compress-1.0.jar \ 116c2ee341ce56dbee2e1484e04dfe7383656d97d48Tor Norbye prebuilts/tools/common/guava-tools/guava-13.0.1.jar \ 1178c39e2974c74d0f2a75d94169a74fd496a7e785bXavier Ducrohet prebuilts/tools/common/http-client/commons-logging-1.1.1.jar \ 1188c39e2974c74d0f2a75d94169a74fd496a7e785bXavier Ducrohet prebuilts/tools/common/http-client/commons-codec-1.4.jar \ 1198c39e2974c74d0f2a75d94169a74fd496a7e785bXavier Ducrohet prebuilts/tools/common/http-client/httpclient-4.1.1.jar \ 1208c39e2974c74d0f2a75d94169a74fd496a7e785bXavier Ducrohet prebuilts/tools/common/http-client/httpcore-4.1.jar \ 1218c39e2974c74d0f2a75d94169a74fd496a7e785bXavier Ducrohet prebuilts/tools/common/http-client/httpmime-4.1.1.jar" 1228e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva Velusamy 1238e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva VelusamyLIBS="$LIBS $BASE_PLUGIN_LIBS" 1248e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva VelusamyCP_FILES="$CP_FILES @:$BASE_PLUGIN_DEST $BASE_PLUGIN_LIBS $BASE_PLUGIN_PREBUILTS" 1258e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva Velusamy 1268daea84228bdda8d714f2ab4dfc19a3c2f10271bRaphael Moll 127e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael### ADT ### 128e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 129e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelADT_DEST="sdk/eclipse/plugins/com.android.ide.eclipse.adt/libs" 13081cefe2a26dd6db8a878e30874d12cdcbff0e83bXavier DucrohetADT_LIBS="ant-glob assetstudio lint_api lint_checks ninepatch propertysheet rule_api sdkuilib swtmenubar manifmerger" 131e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelADT_PREBUILTS="\ 1327dd444ea0125e50a5e88604afb6de43e80b7c270Tor Norbye prebuilts/tools/common/freemarker/freemarker-2.3.19.jar \ 133faab5914e7cc5e7f4676202ba589bf08c5ae0e42Tor Norbye prebuilts/tools/common/asm-tools/asm-4.0.jar \ 134faab5914e7cc5e7f4676202ba589bf08c5ae0e42Tor Norbye prebuilts/tools/common/asm-tools/asm-tree-4.0.jar \ 13574dc3e0d7d584d039689e57a80cf9868267883fdTor Norbye prebuilts/tools/common/asm-tools/asm-analysis-4.0.jar \ 1368e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva Velusamy prebuilts/tools/common/lombok-ast/lombok-ast-0.2.jar" 137e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 138e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelLIBS="$LIBS $ADT_LIBS" 139e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelCP_FILES="$CP_FILES @:$ADT_DEST $ADT_LIBS $ADT_PREBUILTS" 140e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 1418daea84228bdda8d714f2ab4dfc19a3c2f10271bRaphael Moll 142e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael### DDMS ### 143e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 144e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelDDMS_DEST="sdk/eclipse/plugins/com.android.ide.eclipse.ddms/libs" 14507750e98d91da6a1a906c73e2a2b92e46aedf4cfSiva VelusamyDDMS_LIBS="ddmlib ddmuilib swtmenubar uiautomatorviewer" 146e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 147e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelDDMS_PREBUILTS="\ 148c4098aec05ae194292585ca57f7081fd51ba69dfRaphael Moll prebuilts/tools/common/jfreechart/jcommon-1.0.12.jar \ 149c4098aec05ae194292585ca57f7081fd51ba69dfRaphael Moll prebuilts/tools/common/jfreechart/jfreechart-1.0.9.jar \ 150c4098aec05ae194292585ca57f7081fd51ba69dfRaphael Moll prebuilts/tools/common/jfreechart/jfreechart-1.0.9-swt.jar" 151e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 152e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelLIBS="$LIBS $DDMS_LIBS" 153e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelCP_FILES="$CP_FILES @:$DDMS_DEST $DDMS_LIBS $DDMS_PREBUILTS" 154e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 155e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 156e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael### TEST ### 157e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 158e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelTEST_DEST="sdk/eclipse/plugins/com.android.ide.eclipse.tests" 159e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelTEST_LIBS="easymock" 1605bd281519c4d63b3f6ff80a70a77909794f81eedJean-Baptiste QueruTEST_PREBUILTS="prebuilts/misc/common/kxml2/kxml2-2.3.0.jar" 161e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 162e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelLIBS="$LIBS $TEST_LIBS" 163e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelCP_FILES="$CP_FILES @:$TEST_DEST $TEST_LIBS $TEST_PREBUILTS" 164e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 165e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 166e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael### BRIDGE ### 167e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 168e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaelif [[ $PLATFORM != "windows-x86" ]]; then 169e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael # We can't build enough of the platform on Cygwin to create layoutlib 170e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael BRIDGE_LIBS="layoutlib ninepatch" 171e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 172e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael LIBS="$LIBS $BRIDGE_LIBS" 173e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaelfi 174e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 175e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 176e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael### HIERARCHYVIEWER ### 177e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 178e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelHV_DEST="sdk/eclipse/plugins/com.android.ide.eclipse.hierarchyviewer/libs" 179e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelHV_LIBS="hierarchyviewerlib swtmenubar" 180e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 181e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelLIBS="$LIBS $HV_LIBS" 182e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelCP_FILES="$CP_FILES @:$HV_DEST $HV_LIBS" 183e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 184e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 185e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael### TRACEVIEW ### 186e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 187e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelTV_DEST="sdk/eclipse/plugins/com.android.ide.eclipse.traceview/libs" 188e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelTV_LIBS="traceview" 189e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 190e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelLIBS="$LIBS $TV_LIBS" 191e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelCP_FILES="$CP_FILES @:$TV_DEST $TV_LIBS" 192e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 1938daea84228bdda8d714f2ab4dfc19a3c2f10271bRaphael Moll 194a618c659fbf9b47e311fe1b9bd678b786d3f58ccSiva Velusamy### MONITOR ### 195a618c659fbf9b47e311fe1b9bd678b786d3f58ccSiva Velusamy 196a618c659fbf9b47e311fe1b9bd678b786d3f58ccSiva VelusamyMONITOR_DEST="sdk/eclipse/plugins/com.android.ide.eclipse.monitor/libs" 197a618c659fbf9b47e311fe1b9bd678b786d3f58ccSiva VelusamyMONITOR_LIBS="sdkuilib" 198a618c659fbf9b47e311fe1b9bd678b786d3f58ccSiva Velusamy 199a618c659fbf9b47e311fe1b9bd678b786d3f58ccSiva VelusamyLIBS="$LIBS $MONITOR_LIBS" 200a618c659fbf9b47e311fe1b9bd678b786d3f58ccSiva VelusamyCP_FILES="$CP_FILES @:$MONITOR_DEST $MONITOR_LIBS" 201e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 2028daea84228bdda8d714f2ab4dfc19a3c2f10271bRaphael Moll 203e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael### SDKMANAGER ### 204e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 2058daea84228bdda8d714f2ab4dfc19a3c2f10271bRaphael MollSDKMAN_LIBS="swtmenubar" 206e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 207e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelLIBS="$LIBS $SDKMAN_LIBS" 208e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 2098daea84228bdda8d714f2ab4dfc19a3c2f10271bRaphael Moll 210e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael### GL DEBUGGER ### 211e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 212e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaelif [[ $PLATFORM != "windows-x86" ]]; then 213e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael # liblzf doesn't build under cygwin. If necessary, this should be fixed first. 214e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 215e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael GLD_DEST="sdk/eclipse/plugins/com.android.ide.eclipse.gldebugger/libs" 2168e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva Velusamy GLD_LIBS="host-libprotobuf-java-2.3.0-lite liblzf" 217e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 218e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael LIBS="$LIBS $GLD_LIBS" 2198e6fabf386fd691fab8891d76a7f96669bbdb2aeSiva Velusamy CP_FILES="$CP_FILES @:$GLD_DEST $GLD_LIBS" 220e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaelfi 221e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 222d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# In the mode to only echo dependencies, output them and we're done 223d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Mollif [[ -n $ONLY_SHOW_DEPS ]]; then 224d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll echo $LIBS 225d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll exit 0 226f1c02633c459f063e33e97ec34c47e91b1643334Raphaelfi 227f1c02633c459f063e33e97ec34c47e91b1643334Raphael 228d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Mollif [[ -z $ONLY_COPY_DEPS ]]; then 229d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll # Make sure we have lunch sdk-<something> 230d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll if [[ ! "$TARGET_PRODUCT" ]]; then 231d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll warn "## TARGET_PRODUCT is not set, running build/envsetup.sh" 232d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll . build/envsetup.sh 233d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll warn "## lunch sdk-eng" 234d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll lunch sdk-eng 235d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll fi 236e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 237d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll # Run make on all libs 238e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 239d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll J="4" 240d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll [[ $(uname) == "Darwin" ]] && J=$(sysctl hw.ncpu | cut -d : -f 2 | tr -d ' ') 241d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll [[ $(uname) == "Linux" ]] && J=$(cat /proc/cpuinfo | grep processor | wc -l) 242e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 243d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll warn "## Building libs: make -j$J $LIBS" 244d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll make -j${J} $LIBS 245d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Mollfi 246e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 247d9b2cbd3378a671d924c5ad6c5db5ef96ea6cf3bRaphael Moll# Copy resulting files 248e7e9d05b2ab15c427787d0f97ff13e83c9acae70RaphaelDEST="" 249e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaelfor SRC in $CP_FILES; do 250e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael if [[ "${SRC:0:2}" == "@:" ]]; then 251e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael DEST="${SRC:2}" 252e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael mkdir -vp "$DEST" 253e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael continue 254e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael fi 255e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael if [[ ! -f "$SRC" ]]; then 25634dbc5d89b8671491506f778533c1462dfcd3dc7Xavier Ducrohet ORIG_SRC="$SRC" 257e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael SRC="out/host/$PLATFORM/framework/$SRC.jar" 258e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael fi 259e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael if [[ -f "$SRC" ]]; then 260e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael if [[ ! -d "$DEST" ]]; then 261e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael die "Invalid cp_file dest directory: $DEST" 262e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael fi 263e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 264e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael cpfile "$SRC" "$DEST" 265e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael else 26634dbc5d89b8671491506f778533c1462dfcd3dc7Xavier Ducrohet die "## Unknown source '$ORIG_SRC' to copy in '$DEST'" 267e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael fi 268e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaeldone 269e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 270e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael# OS-specific post operations 271e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael 272e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaelif [ "${HOST:0:6}" == "CYGWIN" ]; then 273e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphael chmod -v a+rx "$ADT_DEST"/*.jar 274e7e9d05b2ab15c427787d0f97ff13e83c9acae70Raphaelfi 27555a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Project 27655a2c71f27d3e0b8344597c7f281e687cb7aeb1bThe Android Open Source Projectecho "### $0 done" 277