linux 藍牙協議棧以及工具移植大全(原創)

#!/bin/bash


bluez_version=bluez-4.95
glib_version=glib-2.28.8
expat_version=expat-2.0.1
dbus_version=dbus-1.4.14
bluez_dump_version=bluez-hcidump-2.1
openobex_version=openobex-1.3
libical_version=libical-0.43
obexd_version=obexd-0.41

install_dir=/opt/02install/
arm_install_dir=/opt/02install/02arm
x86_install_dir=/opt/01install/01x806


if [ -e "./$bluez_version" ] ; then
    rm $bluez_version -r
fi

if [ -e "./$glib_version" ]; then
    rm $glib_version -r
fi

if [ -e "./$expat_version" ]; then
    rm $expat_version -r
fi
#rm $expat_verison
if [ -e "./$dbus_version" ]; then
    rm $dbus_version -r
fi

if [ -e "./$bluez_dump_version" ]; then
    rm $bluez_dump_version -r
fi

if [ -e "./$libical_version" ]; then
    rm $libical_version -r
fi

if [ -e "./$openobex_version" ]; then
    rm $openobex_version -r
fi

if [ -e "$install_dir" ]; then
    rm $install_dir -r
    echo "rm $install_dir"
fi

mkdir -p /opt/02install/

tar -xvf $glib_version.tar.bz2
cd $glib_version
#./configure  | tee x86.log.txt
#make
#make install
#make distclean

echo 'ac_cv_type_long_long=yes' > arm-linux.cache
echo 'glib_cv_stack_grows=no' >> arm-linux.cache
echo 'glib_cv_uscore=no' >> arm-linux.cache
echo 'ac_cv_func_posix_getpwuid_r=yes' >> arm-linux.cache
echo 'ac_cv_func_posix_getgrgid_r=yes'>> arm-linux.cache
#echo 'ac_cv
./configure --prefix=$arm_install_dir --host=arm-linux --cache-file=arm-linux.cache | tee arm.log.txt
make -j4
make install


cd ../

tar -xvf $expat_version.tar.gz

cd $expat_version

./configure --prefix=$arm_install_dir --host=arm-linux | tee arm.log.txt
make -j4
make install


cd ../

tar -xvf $dbus_version.tar.gz
cd $dbus_version
echo 'ac_cv_have_abstract_sockets=yes' > arm-linux.cache
./configure --prefix=$arm_install_dir --host=arm-linux CC="arm-linux-gcc -I$arm_install_dir/include -L$arm_install_dir/lib " \
    --cache-file=arm-linux.cache --with-x=no  | tee arm.log.txt
make -j4 | tee arm.make.txt
make install

cd ..
tar -xvf $bluez_version.tar.gz
cd $bluez_version

export DBUS_CFLAGS=-I$arm_install_dir/include/dbus-1.0  -I$arm_install_dir/lib/dbus-1.0/include
export DBUS_LIBS=-L$arm_install_dir/lib
export GLIB_CFLAGS=-I$arm_install_dir/include/glib-2.0  -I$arm_install_dir/lib/glib-2.0/include
export GLIB_LIBS=-L$arm_install_dir/lib

./configure --prefix=$arm_install_dir --host=arm-linux \
CC="arm-linux-gcc -I$arm_install_dir/include -L$arm_install_dir/lib -I$arm_install_dir/lib/glib-2.0/include -I$arm_install_dir/lib/dbus-1.0/include -ldbus-1 -lglib-2.0" \
    --disable-audio

make -j4
make install

cd ..

tar -xvf $bluez_dump_version.tar.gz
cd $bluez_dump_version
export BLUEZ_CFLAGS=-I$arm_install_dir/include
export BLUEZ_LIBS=-L$arm_install_dir/lib

./configure --prefix=$arm_install_dir CC="arm-linux-gcc -L/opt/01install/02arm/lib -lbluetooth -lglib-2.0 -ldbus-1" --host=arm-linux
make
make install
cd ..

#openobex
tar -xvf $openobex_version.tar.gz
cd $openobex_version

export BLUEZ_CFLAGS=-I$arm_install_dir/include
export BLUEZ_LIBS=-L$arm_install_dir/lib

./configure --prefix=$arm_install_dir --host=arm-linux --enable-bluetooth --disable-usb --enable-apps

#find . -type f -name "Makefile" -exec sed -e 's/arm-linux-gcc/arm-linux-gcc -lbluetooth/g' {} \;
find . -type f -name "Makefile" -exec sed -i 's/arm-linux-gcc/arm-linux-gcc -lbluetooth $(BLUEZ_LIBS) $(BLUEZ_CFLAGS) /g' {} \;
#modify include/obex.h  add "#include <bluetooth/bluetooth.h>"
make
make install

#libical-0.43
cd ..
tar -xvf $libical_version.tar.gz
cd $libical_version
./configure --prefix=$arm_install_dir --host=arm-linux
make
make install

#obexd
cd ..
tar -xvf $obexd_version.tar.gz
cd $obexd_version
export OPENOBEX_CFLAGS=-I$arm_install_dir/include
export OPENOBEX_LIBS=-L$arm_install_dir/lib
export LIBICAL_CFLAGS=-I$arm_install_dir/include
export LIBICAL_LIBS=-L$arm_install_dir/lib

./configure --prefix=$arm_install_dir \
--host=arm-linux

#add for Makefile
# -I$arm_install_dir/lib/glib-2.0/include -I$arm_install_dir/lib/dbus-1.0/include -lbluetooth -lglib-2.0 -ldbus-1 -lical -lopenobex -lexpat


發佈了119 篇原創文章 · 獲贊 11 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章