Always build 32bit host library to /lib32.
[android/toolchain/build.git] / clear_header.sh
1 #!/bin/bash
2 #
3 # clear_header.sh
4 #
5 # This script removes the installed header files from include-fix direcotry,
6 # if these headers files have been defined in Android. 
7
8 usage ()
9 {
10   echo "Usage: $0 --prefix=<toolchain prefix> --sysroot=<Android sysroot> [--force]"
11   echo "  <toolchain prefix>: the prefix path when you configure the install"
12   echo "                      the toolchain."
13   echo "   <Android sysroot>: the sysroot directory that is extracted from "
14   echo "                      an Android tree."
15   echo "             <force>: if specified, the headers found by this script "
16   echo "                      will be deleted without confirmation."
17 }
18
19 if [[ $# -lt 1 ]]; then
20   usage
21   exit 1
22 fi
23
24 force=0
25 PREFIX=""
26 SYSROOT=""
27
28 for option in $@; do
29   optarg=$(expr "x$option" : 'x[^=]*=\(.*\)')
30
31   case "$option" in
32     --prefix=*)
33       PREFIX=${optarg}
34       if [[ ! -d ${PREFIX}/lib/gcc/arm-eabi ]]; then
35         if [[ ! -d ${PREFIX}/lib/gcc/arm-linux-androideabi ]]; then
36           echo "Error: ${PREFIX} is not a correct toolchain prefix path!"
37           usage
38           exit 1
39         else
40           build_target="arm-linux-androideabi"
41         fi
42       else
43         build_target="arm-eabi"
44       fi
45       ;;
46     --sysroot=*)
47       SYSROOT=${optarg}
48       ;;
49     --force)
50       force=1
51       ;;
52     *)
53       echo "Error: unknown options ${option}"
54       usage
55       exit 1
56       ;;
57   esac
58 done
59
60 if [[ "x${PREFIX}" = "x" ]]; then
61   echo "Error: you must specify the toolchain prefix path."
62   usage
63   exit 1
64 fi
65
66 if [[ "x${SYSROOT}" = "x" ]]; then
67   SYSROOT="/home/jingyu/projects/gcc/toolchain_build/cupcake_rel_root2"
68   echo "Warning: SYSROOT can't be empty. Set SYSROOT=${SYSROOT}."
69 fi
70
71 INCLUDE_ROOT=$SYSROOT/usr/include
72 if [[ ! -d ${INCLUDE_ROOT} ]]; then
73   echo "Error: ${SYSROOT} is not a correct Android sysroot path!"
74   usage
75   exit 1
76 fi
77
78 installed_headers=`find ${PREFIX}/lib/gcc/${build_target}/*/include-fixed -name "*\.h"`
79
80 for one_header in ${installed_headers}; do
81   header_name=${one_header##*/}
82   defined_headers=`find ${INCLUDE_ROOT} -name ${header_name}`
83
84   # If the installed header file has been defined in android sysroot,
85   # we need to remove the installed file.
86   if [[ -n ${defined_headers} ]]; then
87     echo -n "Delete ${one_header}?(Y/N):"
88     if [[ ${force} = 0 ]]; then
89       read text
90     else
91       text="Y"
92     fi
93     if [[ "${text}" = "Y" || "${text}" = "y" ]]; then
94       rm -f ${one_header}
95       echo "... Removed!"
96     fi
97   fi
98 done