X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=debian%2Fextract-headers.sh;fp=debian%2Fextract-headers.sh;h=0d6e65e5aa2c3e25a63248746ef06faf6b218952;hb=aa41282e2cdeafba7f8981b23f34b1982ea9902e;hp=0000000000000000000000000000000000000000;hpb=1e494cf4e2e4c7b0108ab2db96faebe70d57dd57;p=deb_android-headers.git diff --git a/debian/extract-headers.sh b/debian/extract-headers.sh new file mode 100755 index 0000000..0d6e65e --- /dev/null +++ b/debian/extract-headers.sh @@ -0,0 +1,124 @@ +#! /bin/sh +# +# Original script available in the libhybris project: +# https://github.com/libhybris/libhybris/blob/master/utils/extract-headers.sh +# + +ANDROID_ROOT=$1 +HEADERPATH=$2 +MAJOR=$3 +MINOR=$4 + +PATCH=$5 +PATCH2=$6 +PATCH3=$7 + +if [ x$ANDROID_ROOT = x -o "x$HEADERPATH" = x ]; then + echo "Syntax: extract-headers.sh ANDROID_ROOT HEADERPATH [MAJOR] [MINOR] [PATCH] [PATCH2] [PATCH3]" + exit 1 +fi + + +if [ x$MAJOR = x -o x$MINOR = x -o x$PATCH = x ]; then + VERSION_DEFAULTS=$ANDROID_ROOT/build/core/version_defaults.mk + + parse_defaults_failed() { + echo "Error: Cannot read PLATFORM_VERSION from ${VERSION_DEFAULTS}." + echo "Please specify MAJOR, MINOR and PATCH manually to continue." + exit 1 + } + + if [ ! -f $VERSION_DEFAULTS ]; then + parse_defaults_failed + fi + + PLATFORM_VERSION=$(egrep -o "PLATFORM_VERSION := [0-9.]+" $VERSION_DEFAULTS | awk '{ print $3 }') + if [ x$PLATFORM_VERSION = x ]; then + parse_defaults_failed + fi + + MAJOR=$(echo $PLATFORM_VERSION | cut -d. -f1) + MINOR=$(echo $PLATFORM_VERSION | cut -d. -f2) + PATCH=$(echo $PLATFORM_VERSION | cut -d. -f3) + PATCH2=$(echo $PLATFORM_VERSION | cut -d. -f4) + PATCH3=$(echo $PLATFORM_VERSION | cut -d. -f5) + + if [ x$MAJOR = x -o x$MINOR = x -o x$PATCH = x ]; then + parse_defaults_failed + fi + + echo -n "Auto-detected version: ${MAJOR}.${MINOR}.${PATCH}" + if [ x$PATCH3 != x ]; then + echo ".${PATCH2}.${PATCH3}" + elif [ x$PATCH2 != x ]; then + echo ".${PATCH2}" + else + echo "" + fi +fi + +# Make sure that the dir given contains at least some of the assumed structures. +if [ ! -d "$ANDROID_ROOT/hardware/libhardware/include/hardware/" ]; then + echo "Given Android root dir '$ANDROID_ROOT/hardware/libhardware/include/hardware/' doesn't exist." + exit 1 +fi + +mkdir -p $HEADERPATH + +if [ x$PATCH2 = x ]; then + PATCH2=0 +fi + +if [ x$PATCH3 = x ]; then + PATCH3=0 +fi + +cat > $HEADERPATH/android-version.h << EOF +#ifndef ANDROID_VERSION_H_ +#define ANDROID_VERSION_H_ + +#define ANDROID_VERSION_MAJOR $MAJOR +#define ANDROID_VERSION_MINOR $MINOR +#define ANDROID_VERSION_PATCH $PATCH +#define ANDROID_VERSION_PATCH2 $PATCH2 +#define ANDROID_VERSION_PATCH3 $PATCH3 + +#endif +EOF + +mkdir -p $HEADERPATH/hardware/ +cp $ANDROID_ROOT/hardware/libhardware/include/hardware/* $HEADERPATH/hardware/ + +mkdir -p $HEADERPATH/hardware_legacy/ +cp $ANDROID_ROOT/hardware/libhardware_legacy/include/hardware_legacy/audio_policy_conf.h $HEADERPATH/hardware_legacy/ + +mkdir -p $HEADERPATH/cutils/ +cp $ANDROID_ROOT/system/core/include/cutils/* $HEADERPATH/cutils/ + +mkdir -p $HEADERPATH/system/ +cp $ANDROID_ROOT/system/core/include/system/* $HEADERPATH/system/ + +mkdir -p $HEADERPATH/android/ +cp $ANDROID_ROOT/system/core/include/android/* $HEADERPATH/android/ + +if [ -e $ANDROID_ROOT/external/kernel-headers/original/linux/sync.h ]; then + mkdir -p $HEADERPATH/linux + cp $ANDROID_ROOT/external/kernel-headers/original/linux/sync.h $HEADERPATH/linux + cp $ANDROID_ROOT/external/kernel-headers/original/linux/sw_sync.h $HEADERPATH/linux +fi + +if [ -e $ANDROID_ROOT/system/core/include/sync/sync.h ]; then + mkdir -p $HEADERPATH/sync/ + cp $ANDROID_ROOT/system/core/include/sync/* $HEADERPATH/sync/ +fi + +if [ -e $ANDROID_ROOT/external/libnfc-nxp/inc/phNfcConfig.h ]; then + mkdir -p $HEADERPATH/libnfc-nxp/ + cp $ANDROID_ROOT/external/libnfc-nxp/inc/*.h $HEADERPATH/libnfc-nxp/ + cp $ANDROID_ROOT/external/libnfc-nxp/src/*.h $HEADERPATH/libnfc-nxp/ +fi + +mkdir -p $HEADERPATH/private +cp $ANDROID_ROOT/system/core/include/private/android_filesystem_config.h $HEADERPATH/private + +exit 0