diff --git a/build/sdk-windows-x86.atree b/build/sdk-windows-x86.atree new file mode 100644 index 000000000..7e974bcb7 --- /dev/null +++ b/build/sdk-windows-x86.atree @@ -0,0 +1,60 @@ +# +# Copyright (C) 2011 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# These are the files that comprise the *Windows* SDK. +# +# The Windows SDK is based on the Linux one so in this file we +# need to remove Linux binaries and replace them by their +# Windows counterparts. +# +# This file only includes platform-dependent files. +# Tools-dependent files (and not tied to a specific platform) +# are controled by sdk/build/tools.windows.atree. +# + +rm platform-tools/adb +bin/adb.exe strip platform-tools/adb.exe +bin/AdbWinUsbApi.dll platform-tools/AdbWinUsbApi.dll +bin/AdbWinApi.dll platform-tools/AdbWinApi.dll + +rm platform-tools/aapt +bin/aapt.exe strip platform-tools/aapt.exe + +rm platform-tools/aidl +bin/aidl.exe strip platform-tools/aidl.exe + +rm platform-tools/dx +dalvik/dx/etc/dx.bat platform-tools/dx + +rm platform-tools/dexdump +bin/dexdump.exe strip platform-tools/dexdump.exe + +rm platform-tools/llvm-rs-cc +bin/llvm-rs-cc.exe strip platform-tools/llvm-rs-cc.exe + +prebuilt/windows/swt/swt.jar tools/lib/x86/swt.jar +prebuilt/windows-x86_64/swt/swt.jar tools/lib/x86_64/swt.jar + +external/sonivox/jet_tools/JetCreator tools/Jet/JetCreator +external/sonivox/jet_tools/JetCreator_content tools/Jet/demo_content +external/sonivox/jet_tools/logic_templates tools/Jet/logic_templates +prebuilt/windows/jetcreator/EASDLL.dll tools/Jet/JetCreator/EASDLL.dll +external/sonivox/docs/JET_Authoring_Guidelines.html docs/JetCreator/JET_Authoring_Guidelines.html +external/sonivox/docs/JET_Authoring_Guidelines_files docs/JetCreator/JET_Authoring_Guidelines_files +external/sonivox/docs/JET_Creator_User_Manual.html docs/JetCreator/JET_Creator_User_Manual.html +external/sonivox/docs/JET_Creator_User_Manual_files docs/JetCreator/JET_Creator_User_Manual_files + diff --git a/build/sdk.atree b/build/sdk.atree index f0b06a2b5..1cc868b89 100644 --- a/build/sdk.atree +++ b/build/sdk.atree @@ -38,10 +38,10 @@ frameworks/base/docs/docs-redirect.html documentation.html ############################################################################## # host tools from out/host/$(HOST_OS)-$(HOST_ARCH)/ -bin/adb platform-tools/adb -bin/aapt platform-tools/aapt -bin/aidl platform-tools/aidl -bin/llvm-rs-cc platform-tools/llvm-rs-cc +bin/adb strip platform-tools/adb +bin/aapt strip platform-tools/aapt +bin/aidl strip platform-tools/aidl +bin/llvm-rs-cc strip platform-tools/llvm-rs-cc # dx bin/dx platform-tools/dx diff --git a/build/tools/patch_windows_sdk.sh b/build/tools/patch_windows_sdk.sh index 5f60970d6..9bf58b9b0 100755 --- a/build/tools/patch_windows_sdk.sh +++ b/build/tools/patch_windows_sdk.sh @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright (C) 2009 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# # This script takes a Linux SDK, cleans it and injects the necessary Windows # binaries needed by the SDK. The script has 2 parts: @@ -53,55 +68,12 @@ if [[ -n "$USB_DRIVER_HOOK" ]]; then $USB_DRIVER_HOOK $V $TEMP_SDK_DIR $TOPDIR fi -# Remove obsolete stuff from tools & platform -TOOLS=$TEMP_SDK_DIR/tools -PLATFORM_TOOLS=$TEMP_SDK_DIR/platform-tools -LIB=$TEMP_SDK_DIR/tools/lib -rm $V $TOOLS/{dmtracedump,etc1tool,hprof-conv,sqlite3,zipalign} -rm $V $LIB/*/swt.jar -rm $V $PLATFORM_TOOLS/{adb,aapt,aidl,dx,dexdump,llvm-rs-cc} -# Copy all the new stuff in tools -# Note: some tools are first copied here and then moved in platform-tools -cp $V $WIN_OUT_DIR/host/windows-x86/bin/*.{exe,dll} $TOOLS/ -# Remove some tools we don't want to take in the SDK -rm $V -f $TOOLS/{fastboot.exe,rs-spec-gen.exe,tblgen.exe} -mkdir -pv $LIB/x86 -cp $V ${TOPDIR}prebuilt/windows/swt/swt.jar $LIB/x86/ -mkdir -pv $LIB/x86_64 -cp $V ${TOPDIR}prebuilt/windows-x86_64/swt/swt.jar $LIB/x86_64/ - -# Put the JetCreator tools, content and docs (not available in the linux SDK) -JET=$TOOLS/Jet -JETCREATOR=$JET/JetCreator -JETDEMOCONTENT=$JET/demo_content -JETLOGICTEMPLATES=$JET/logic_templates -JETDOC=$TEMP_SDK_DIR/docs/JetCreator - -# need to rm these folders since a Mac SDK will have them and it might create a conflict -rm -rf $V $JET -rm -rf $V $JETDOC - -# now create fresh folders for JetCreator -mkdir $V $JET -mkdir $V $JETDOC - -cp -r $V ${TOPDIR}external/sonivox/jet_tools/JetCreator $JETCREATOR/ -cp -r $V ${TOPDIR}external/sonivox/jet_tools/JetCreator_content $JETDEMOCONTENT/ -cp -r $V ${TOPDIR}external/sonivox/jet_tools/logic_templates $JETLOGICTEMPLATES/ -chmod $V -R u+w $JETCREATOR # fixes an issue where Cygwin might copy the above as u+rx only -cp $V ${TOPDIR}prebuilt/windows/jetcreator/EASDLL.dll $JETCREATOR/ - -cp $V ${TOPDIR}external/sonivox/docs/JET_Authoring_Guidelines.html $JETDOC/ -cp -r $V ${TOPDIR}external/sonivox/docs/JET_Authoring_Guidelines_files $JETDOC/ -cp $V ${TOPDIR}external/sonivox/docs/JET_Creator_User_Manual.html $JETDOC/ -cp -r $V ${TOPDIR}external/sonivox/docs/JET_Creator_User_Manual_files $JETDOC/ - -# Copy or move platform specific tools to the default platform. -cp $V ${TOPDIR}dalvik/dx/etc/dx.bat $PLATFORM_TOOLS/ -mv $V $TOOLS/{adb.exe,aapt.exe,aidl.exe,dexdump.exe} $PLATFORM_TOOLS/ -mv $V $TOOLS/Adb*.dll $PLATFORM_TOOLS/ -mv $V $TOOLS/llvm-rs-cc.exe $PLATFORM_TOOLS/llvm-rs-cc.exe +# Invoke atree to copy the files +atree -f ${TOPDIR}development/build/sdk-windows-x86.atree \ + -I $WIN_OUT_DIR/host/windows-x86 \ + -I ${TOPDIR:-.} \ + -o $TEMP_SDK_DIR # Fix EOL chars to make window users happy - fix all files at the top level # as well as all batch files including those in platform-tools/ diff --git a/build/tools/windows_sdk.mk b/build/tools/windows_sdk.mk index 8421a91fe..2a6fc74f9 100644 --- a/build/tools/windows_sdk.mk +++ b/build/tools/windows_sdk.mk @@ -22,10 +22,13 @@ ifeq ($(strip $(shell which unix2dos todos 2>/dev/null)),) $(error Need a unix2dos command. Please 'apt-get install tofrodos') endif +# Define WIN_SDK_TARGETS, the list of targets located in topdir/sdk +# and are tools-dependent, not platform-dependent. include $(TOPDIR)sdk/build/windows_sdk_tools.mk -# This is the list of target that we want to generate as -# Windows executables. +# This is the list of targets that we want to generate as +# Windows executables. All the targets specified here are located in +# the topdir/development directory and are somehow platform-dependent. WIN_TARGETS := \ aapt adb aidl \ etc1tool \ @@ -84,7 +87,6 @@ $(WIN_SDK_ZIP): winsdk-tools sdk $(hide) USB_DRIVER_HOOK=$(USB_DRIVER_HOOK) \ $(TOPDIR)development/build/tools/patch_windows_sdk.sh $(subst @,-q,$(hide)) \ $(WIN_SDK_DIR)/$(WIN_SDK_NAME) $(OUT_DIR) $(TOPDIR) - $(hide) strip --strip-all $(WIN_SDK_DIR)/$(WIN_SDK_NAME)/platform-tools/llvm-rs-cc.exe $(hide) $(TOPDIR)sdk/build/patch_windows_sdk.sh $(subst @,-q,$(hide)) \ $(WIN_SDK_DIR)/$(WIN_SDK_NAME) $(OUT_DIR) $(TOPDIR) $(hide) ( \