forked from mozilla-b2g/B2G
-
Notifications
You must be signed in to change notification settings - Fork 17
/
config.sh
executable file
·108 lines (96 loc) · 2.06 KB
/
config.sh
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
#!/bin/bash
REPO=${REPO:-./repo}
sync_flags=""
repo_sync() {
rm -rf .repo/manifest* &&
$REPO init -u $GITREPO -b $BRANCH -m $1.xml $REPO_INIT_FLAGS &&
$REPO sync $sync_flags $REPO_SYNC_FLAGS
ret=$?
if [ "$GITREPO" = "$GIT_TEMP_REPO" ]; then
rm -rf $GIT_TEMP_REPO
fi
if [ $ret -ne 0 ]; then
echo Repo sync failed
exit -1
fi
}
case `uname` in
"Darwin")
# Should also work on other BSDs
CORE_COUNT=`sysctl -n hw.ncpu`
;;
"Linux")
CORE_COUNT=`grep processor /proc/cpuinfo | wc -l`
;;
*)
echo Unsupported platform: `uname`
exit -1
esac
GITREPO=${GITREPO:-"https://github.com/kaiostech/manifests.git"}
BRANCH=${BRANCH:-master}
while [ $# -ge 1 ]; do
case $1 in
-d|-l|-f|-n|-c|-q|--force-sync|-j*)
sync_flags="$sync_flags $1"
if [ $1 = "-j" ]; then
shift
sync_flags+=" $1"
fi
shift
;;
--help|-h)
# The main case statement will give a usage message.
break
;;
-*)
echo "$0: unrecognized option $1" >&2
exit 1
;;
*)
break
;;
esac
done
GIT_TEMP_REPO="tmp_manifest_repo"
if [ -n "$2" ]; then
GITREPO=$GIT_TEMP_REPO
rm -rf $GITREPO &&
git init $GITREPO &&
cp $2 $GITREPO/$1.xml &&
cd $GITREPO &&
git add $1.xml &&
git commit -m "manifest" &&
git branch -m $BRANCH &&
cd ..
fi
echo MAKE_FLAGS=-j$((CORE_COUNT + 2)) > .tmp-config
echo DEVICE_NAME=$1 >> .tmp-config
case "$1" in
"emulator-10-arm")
echo PRODUCT_NAME=aosp_arm >> .tmp-config &&
echo TARGET_NAME=generic >> .tmp-config &&
repo_sync emulator-10
;;
"emulator-10-x86_64")
echo PRODUCT_NAME=aosp_x86_64 >> .tmp-config &&
echo TARGET_NAME=generic_x86_64 >> .tmp-config &&
echo BINSUFFIX=64 >> .tmp-config &&
repo_sync emulator-10
;;
*)
echo "Usage: $0 [-cdflnq] [-j <jobs>] [--force-sync] (device name)"
echo "Flags are passed through to |./repo sync|."
echo
echo Valid devices to configure are:
echo - emulator-10-arm
echo - emulator-10-x86_64
exit -1
;;
esac
echo GECKO_OBJDIR=$PWD/objdir-gecko-\$PRODUCT_NAME >> .tmp-config
if [ $? -ne 0 ]; then
echo Configuration failed
exit -1
fi
mv .tmp-config .config
echo Run \|./build.sh\| to start building