Imported Debian patch 4.2.2-2-0ubuntu1
[deb_android-headers.git] / debian / extract-headers.sh
1 #! /bin/sh
2 #
3 # Original script available in the libhybris project:
4 # https://github.com/libhybris/libhybris/blob/master/utils/extract-headers.sh
5 #
6
7 ANDROID_ROOT=$1
8 HEADERPATH=$2
9 MAJOR=$3
10 MINOR=$4
11
12 PATCH=$5
13 PATCH2=$6
14 PATCH3=$7
15
16 if [ x$ANDROID_ROOT = x -o "x$HEADERPATH" = x ]; then
17 echo "Syntax: extract-headers.sh ANDROID_ROOT HEADERPATH [MAJOR] [MINOR] [PATCH] [PATCH2] [PATCH3]"
18 exit 1
19 fi
20
21
22 if [ x$MAJOR = x -o x$MINOR = x -o x$PATCH = x ]; then
23 VERSION_DEFAULTS=$ANDROID_ROOT/build/core/version_defaults.mk
24
25 parse_defaults_failed() {
26 echo "Error: Cannot read PLATFORM_VERSION from ${VERSION_DEFAULTS}."
27 echo "Please specify MAJOR, MINOR and PATCH manually to continue."
28 exit 1
29 }
30
31 if [ ! -f $VERSION_DEFAULTS ]; then
32 parse_defaults_failed
33 fi
34
35 PLATFORM_VERSION=$(egrep -o "PLATFORM_VERSION := [0-9.]+" $VERSION_DEFAULTS | awk '{ print $3 }')
36 if [ x$PLATFORM_VERSION = x ]; then
37 parse_defaults_failed
38 fi
39
40 MAJOR=$(echo $PLATFORM_VERSION | cut -d. -f1)
41 MINOR=$(echo $PLATFORM_VERSION | cut -d. -f2)
42 PATCH=$(echo $PLATFORM_VERSION | cut -d. -f3)
43 PATCH2=$(echo $PLATFORM_VERSION | cut -d. -f4)
44 PATCH3=$(echo $PLATFORM_VERSION | cut -d. -f5)
45
46 if [ x$MAJOR = x -o x$MINOR = x -o x$PATCH = x ]; then
47 parse_defaults_failed
48 fi
49
50 echo -n "Auto-detected version: ${MAJOR}.${MINOR}.${PATCH}"
51 if [ x$PATCH3 != x ]; then
52 echo ".${PATCH2}.${PATCH3}"
53 elif [ x$PATCH2 != x ]; then
54 echo ".${PATCH2}"
55 else
56 echo ""
57 fi
58 fi
59
60 # Make sure that the dir given contains at least some of the assumed structures.
61 if [ ! -d "$ANDROID_ROOT/hardware/libhardware/include/hardware/" ]; then
62 echo "Given Android root dir '$ANDROID_ROOT/hardware/libhardware/include/hardware/' doesn't exist."
63 exit 1
64 fi
65
66 mkdir -p $HEADERPATH
67
68 if [ x$PATCH2 = x ]; then
69 PATCH2=0
70 fi
71
72 if [ x$PATCH3 = x ]; then
73 PATCH3=0
74 fi
75
76 cat > $HEADERPATH/android-version.h << EOF
77 #ifndef ANDROID_VERSION_H_
78 #define ANDROID_VERSION_H_
79
80 #define ANDROID_VERSION_MAJOR $MAJOR
81 #define ANDROID_VERSION_MINOR $MINOR
82 #define ANDROID_VERSION_PATCH $PATCH
83 #define ANDROID_VERSION_PATCH2 $PATCH2
84 #define ANDROID_VERSION_PATCH3 $PATCH3
85
86 #endif
87 EOF
88
89 mkdir -p $HEADERPATH/hardware/
90 cp $ANDROID_ROOT/hardware/libhardware/include/hardware/* $HEADERPATH/hardware/
91
92 mkdir -p $HEADERPATH/hardware_legacy/
93 cp $ANDROID_ROOT/hardware/libhardware_legacy/include/hardware_legacy/audio_policy_conf.h $HEADERPATH/hardware_legacy/
94
95 mkdir -p $HEADERPATH/cutils/
96 cp $ANDROID_ROOT/system/core/include/cutils/* $HEADERPATH/cutils/
97
98 mkdir -p $HEADERPATH/system/
99 cp $ANDROID_ROOT/system/core/include/system/* $HEADERPATH/system/
100
101 mkdir -p $HEADERPATH/android/
102 cp $ANDROID_ROOT/system/core/include/android/* $HEADERPATH/android/
103
104 if [ -e $ANDROID_ROOT/external/kernel-headers/original/linux/sync.h ]; then
105 mkdir -p $HEADERPATH/linux
106 cp $ANDROID_ROOT/external/kernel-headers/original/linux/sync.h $HEADERPATH/linux
107 cp $ANDROID_ROOT/external/kernel-headers/original/linux/sw_sync.h $HEADERPATH/linux
108 fi
109
110 if [ -e $ANDROID_ROOT/system/core/include/sync/sync.h ]; then
111 mkdir -p $HEADERPATH/sync/
112 cp $ANDROID_ROOT/system/core/include/sync/* $HEADERPATH/sync/
113 fi
114
115 if [ -e $ANDROID_ROOT/external/libnfc-nxp/inc/phNfcConfig.h ]; then
116 mkdir -p $HEADERPATH/libnfc-nxp/
117 cp $ANDROID_ROOT/external/libnfc-nxp/inc/*.h $HEADERPATH/libnfc-nxp/
118 cp $ANDROID_ROOT/external/libnfc-nxp/src/*.h $HEADERPATH/libnfc-nxp/
119 fi
120
121 mkdir -p $HEADERPATH/private
122 cp $ANDROID_ROOT/system/core/include/private/android_filesystem_config.h $HEADERPATH/private
123
124 exit 0