From 1adaa57108517bc4ea45c9fe4881390f056354d8 Mon Sep 17 00:00:00 2001 From: Raphael Date: Thu, 27 Jan 2011 13:26:44 -0800 Subject: [PATCH] unix2dos command, used by win SDK, has been renamed under Lucid. Note: this fix was already in master. Change-Id: I7935093ef4a01181f7239e9aeeef4792ee0b54cc --- build/tools/patch_windows_sdk.sh | 30 ++++++++++++++++++++++++++++-- build/tools/windows_sdk.mk | 2 +- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/build/tools/patch_windows_sdk.sh b/build/tools/patch_windows_sdk.sh index 687526172..14acdac62 100755 --- a/build/tools/patch_windows_sdk.sh +++ b/build/tools/patch_windows_sdk.sh @@ -1,5 +1,21 @@ #!/bin/bash +# This script takes a Linux SDK, cleans it and injects the necessary Windows +# binaries needed by the SDK. The script has 2 parts: +# - development/tools/build/path_windows_sdk.sh to process the +# platform-dependent folders and files. +# - sdk/build/patch_windows_sdk.sh to process folder and files which +# depend on the sdk.git repo. This file will be invoked by this one. +# +# Input arguments: +# -q = Optional arg to make this silent. Must be given first. +# $1 = Temporary SDK directory, that is the Linux SDK being patched into +# a Windows one. +# $2 = The out/host/windows directory, which contains the new Windows +# binaries to use. +# $3 = An optional replacement for $TOPDIR (inherited from the Android +# build system), which is the top directory where Android is located. + # Verbose by default. Use -q to make more silent. V="-v" if [[ "$1" == "-q" ]]; then V=""; shift; fi @@ -8,6 +24,13 @@ TEMP_SDK_DIR=$1 WIN_OUT_DIR=$2 TOPDIR=${TOPDIR:-$3} +# The unix2dos is provided by the APT package "tofrodos". However +# as of ubuntu lucid, the package renamed the command to "todos". +UNIX2DOS=`which unix2dos` +if [[ ! -x $UNIX2DOS ]]; then + UNIX2DOS=`which todos` +fi + PLATFORMS=( $TEMP_SDK_DIR/platforms/* ) if [[ ${#PLATFORMS[@]} != 1 ]]; then echo "Error: Too many platforms found in $TEMP_SDK_DIR" @@ -101,11 +124,14 @@ mv $V $TOOLS/{adb.exe,aapt.exe,aidl.exe,dexdump.exe} $TOOLS/Adb*.dll $PLATFORM_T # Fix EOL chars to make window users happy - fix all files at the top level # as well as all batch files including those in platforms//tools/ -find $TEMP_SDK_DIR -maxdepth 1 -name "*.[ht]*" -type f -print0 | xargs -0 unix2dos -find $TEMP_SDK_DIR -maxdepth 3 -name "*.bat" -type f -print0 | xargs -0 unix2dos +if [[ -x $UNIX2DOS ]]; then + find $TEMP_SDK_DIR -maxdepth 1 -name "*.[ht]*" -type f -print0 | xargs -0 $UNIX2DOS + find $TEMP_SDK_DIR -maxdepth 3 -name "*.bat" -type f -print0 | xargs -0 $UNIX2DOS +fi # Just to make it easier on the build servers, we want fastboot and adb (and its DLLs) # next to the new SDK, so up one dir. for i in fastboot.exe adb.exe AdbWinApi.dll AdbWinUsbApi.dll; do cp -f $V $WIN_OUT_DIR/host/windows-x86/bin/$i $TEMP_SDK_DIR/../$i done + diff --git a/build/tools/windows_sdk.mk b/build/tools/windows_sdk.mk index 960916053..f02822f53 100644 --- a/build/tools/windows_sdk.mk +++ b/build/tools/windows_sdk.mk @@ -18,7 +18,7 @@ endif ifeq ($(strip $(shell which i586-mingw32msvc-gcc 2>/dev/null)),) $(error MinGW is required to build a Windows SDK. Please 'apt-get install mingw32') endif -ifeq ($(strip $(shell which unix2dos 2>/dev/null)),) +ifeq ($(strip $(shell which unix2dos todos 2>/dev/null)),) $(error Need a unix2dos command. Please 'apt-get install tofrodos') endif