-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathhidapi_dep.sh
More file actions
153 lines (139 loc) · 3.74 KB
/
hidapi_dep.sh
File metadata and controls
153 lines (139 loc) · 3.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#!/bin/bash
ProjTopDir=$(pwd)/../
ThirdPartyBinDir=${ProjTopDir}/out/linux
ThirdPartySrcDir=${ProjTopDir}/thirdparty
# vim :ff=unix
. auto_func.sh
# sudo apt-get install build-essential mercurial make cmake autoconf automake libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev libxss-dev libgl1-mesa-dev libdbus-1-dev libudev-dev libgles2-mesa-dev libegl1-mesa-dev libibus-1.0-dev fcitx-libs-dev libsamplerate0-dev libsndio-dev
function GitHubDownloadDep()
{
urls=$1
for url in $urls
do
extName=${url##*.}
verName=${url##*/}
verName=${verName%.*}
fileName=${url#*/}
fileName=${fileName#*/}
fileName=${fileName#*/}
fileName=${fileName#*/}
fileName=${fileName%%/*}
dirName="${fileName}-${verName}"
pkgName="${fileName}-${verName}.${extName}"
echo "wget $url -O ${pkgName}"
if [ -f $pkgName ];then
echo " skip $pkgName "
else
wget $url -O $pkgName
fi
if [ -d $dirName ];then
echo " skip $dirName "
else
unzip $pkgName
fi
done
}
function FtpGnuDownloadDep()
{
urls=$1
for url in $urls
do
pkgName="${url##*/}"
dirName="${pkgName%%.*}"
if [ -f $pkgName ];then
echo " skip $pkgName "
else
wget $url
fi
if [ -d $dirName ];then
echo " skip $dirName "
else
tar xf $pkgName
fi
done
}
function UnzipAllPkg()
{
PkgDirName=$1
AllPkgFile=$(ls -l | grep "^-")
for pkg in $AllPkgFile
do
case $pkg in
*.zip)
unzip $pkg
;;
*.tar.*)
tar xf $pkg
;;
*)
;;
esac;
done
}
function GetSubDirList()
{
PkgDirName=$1
AllPkgDir=$(ls -l $PkgDirName | grep "^d" | awk -F' ' '{print $NF}')
echo "${AllPkgDir}"
}
function CompilePkgByDir()
{
DstDirPrefix=$1
PkgDirName=$2
AllPkgDir=$(GetSubDirList "${PkgDirName}")
if [ "$AllPkgDir" == "" ];then
UnzipAllPkg "$PkgDirName"
AllPkgDir=$(GetSubDirList "${PkgDirName}")
else
echo "AllPkgDir:$AllPkgDir"
fi
for dir in $AllPkgDir
do
echo "cur dir:$dir"
case $dir in
*thread*)
;;
*conv*)
;;
*cairo*)
AutoInstall "$dir" "$DstDirPrefix"
;;
*libusb*)
#AutoInstall "$dir" "$DstDirPrefix" " "
#SpecInstall "$dir" "$DstDirPrefix" "" "CfgInstall"
SpecInstall "$dir" "$DstDirPrefix" "" "Cfg"
;;
*)
#AutoInstall "$dir" "$DstDirPrefix" " "
;;
esac
done
}
function InstallCompileTools()
{
sudo apt update
sudo apt list --upgradable
sudo apt upgrade
sudo apt update
sudo apt install net-tools
sudo apt install g++
sudo apt install cmake
sudo apt install dos2unix
sudo apt install autoconf
sudo apt install libtool
sudo apt install pkg-config
sudo apt install gperf
}
#GenEnvVarByFile "${ThirdPartyBinDir}" "$(ls *.tar.gz *.zip)"
GenEnvVarByDir "${ThirdPartyBinDir}" "$(ls -d */)"
GenEnvVarByDir "${ThirdPartyBinDir}" "${ThirdPartySrcDir}"
. bashrc
echo "PKG_CONFIG_PATH:$PKG_CONFIG_PATH"
#sudo apt install gtk-doc-tools
Urls="https://github.com/qiniu/iconv/archive/refs/tags/v1.2.0.zip"
#GitHubDownloadDep "$Urls"
#https://github.com/LuaDist/libiconv
Urls="https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.17.tar.gz"
#FtpGnuDownloadDep "$Urls"
InstallCompileTools
CompilePkgByDir "${ThirdPartyBinDir}" "./"