blob: fec91e5b9542e10e57dae21d83fec40c832b8137 [file] [log] [blame]
Kévin Redon69b92d92019-01-24 16:39:20 +01001#!/bin/bash
Eric Wild4cfa9ca2019-11-28 13:50:12 +01002
Harald Welte271d4872019-06-13 18:15:38 +02003if ! [ -x "$(command -v osmo-deps.sh)" ]; then
4 echo "Error: We need to have scripts/osmo-deps.sh from http://git.osmocom.org/osmo-ci/ in PATH !"
5 exit 2
6fi
7
8set -ex
9
Kévin Redon69b92d92019-01-24 16:39:20 +010010TOPDIR=`pwd`
11
Harald Welte1f1c1c02019-11-30 15:38:43 +010012publish="$1"
Harald Welte271d4872019-06-13 18:15:38 +020013deps="$TOPDIR/deps"
14inst="$TOPDIR/install"
15export deps inst
16
Eric Wild8cde9d22019-11-28 17:30:44 +010017
Harald Welte6312b442019-10-09 14:30:41 +020018echo
19echo "=============== libosmocore hostt build ==========="
20osmo-build-dep.sh libosmocore "" --disable-doxygen
21export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH"
22export LD_LIBRARY_PATH="$inst/lib"
23export PATH="$inst/bin:$PATH"
24
25echo
26echo "=============== CCID usb_gadget build ==========="
27cd $TOPDIR/ccid_host
28make clean
Harald Welte0af20792019-12-17 13:29:40 +010029verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]")
Harald Welte6312b442019-10-09 14:30:41 +020030make $PARALLEL_MAKE
31make clean
Eric Wild8cde9d22019-11-28 17:30:44 +010032
Harald Welte271d4872019-06-13 18:15:38 +020033# adapted from
34echo
35echo "=============== libosmocore cross-build ==========="
36mkdir -p "$deps"
37cd "$deps"
38osmo-deps.sh libosmocore master
39cd libosmocore
40
41mkdir -p "$inst/stow"
42autoreconf --install --force
Harald Welte9db9d2e2019-11-12 12:07:53 +010043./configure --enable-static --prefix="$inst/stow/libosmocore" --host=arm-none-eabi \
44 --enable-embedded --disable-doxygen --disable-shared --disable-pseudotalloc \
Harald Welte8629ffa2020-07-30 18:51:45 +020045 --disable-libsctp --disable-libusb --disable-gb --enable-external-tests \
Harald Welte26b88ca2020-12-06 10:27:01 +010046 --disable-libmnl \
Harald Welte66bda782020-07-30 21:53:14 +020047 CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations -Wno-error=cpp -mthumb -Os -mlong-calls -g3 -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -I /home/laforge/projects/git/osmo-ccid-firmware/sysmoOCTSIM -Wno-error=format" \
48 CPPFLAGS="-D__thread=''"
Harald Welte271d4872019-06-13 18:15:38 +020049make $PARALLEL_MAKE install
50make clean
51STOW_DIR="$inst/stow" stow --restow libosmocore
52
53export PKG_CONFIG_PATH="$inst/lib/pkgconfig"
54export LD_LIBRARY_PATH="$inst/lib"
Kévin Redon69b92d92019-01-24 16:39:20 +010055
56echo
57echo "=============== sysmoOCTSIM firmware build ==========="
58cd $TOPDIR/sysmoOCTSIM
59cd gcc
Harald Welte1f1c1c02019-11-30 15:38:43 +010060make mrproper
Harald Welte0af20792019-12-17 13:29:40 +010061verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]")
Harald Welte271d4872019-06-13 18:15:38 +020062make SYSTEM_PREFIX="$inst" $PARALLEL_MAKE
Harald Welte1f1c1c02019-11-30 15:38:43 +010063
64if [ "x$publish" = "x--publish" ]; then
65 echo
66 echo "=============== UPLOAD BUILD =============="
67
68 cat > "/build/known_hosts" <<EOF
Harald Weltea09fabb2021-04-22 11:22:43 +020069[ftp.osmocom.org]:48 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDgQ9HntlpWNmh953a2Gc8NysKE4orOatVT1wQkyzhARnfYUerRuwyNr1GqMyBKdSI9amYVBXJIOUFcpV81niA7zQRUs66bpIMkE9/rHxBd81SkorEPOIS84W4vm3SZtuNqa+fADcqe88Hcb0ZdTzjKILuwi19gzrQyME2knHY71EOETe9Yow5RD2hTIpB5ecNxI0LUKDq+Ii8HfBvndPBIr0BWYDugckQ3Bocf+yn/tn2/GZieFEyFpBGF/MnLbAAfUKIdeyFRX7ufaiWWz5yKAfEhtziqdAGZaXNaLG6gkpy3EixOAy6ZXuTAk3b3Y0FUmDjhOHllbPmTOcKMry9
70[ftp.osmocom.org]:48 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPdWn1kEousXuKsZ+qJEZTt/NSeASxCrUfNDW3LWtH+d8Ust7ZuKp/vuyG+5pe5pwpPOgFu7TjN+0lVjYJVXH54=
71[ftp.osmocom.org]:48 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8iivY70EiR5NiGChV39gRLjNpC8lvu1ZdHtdMw2zuX
Harald Welte1f1c1c02019-11-30 15:38:43 +010072EOF
73 SSH_COMMAND="ssh -o 'UserKnownHostsFile=/build/known_hosts' -p 48"
74 rsync --archive --copy-links --verbose --compress --delete --rsh "$SSH_COMMAND" \
75 $TOPDIR/sysmoOCTSIM/gcc/sysmoOCTSIM.{bin,elf} \
Harald Weltea09fabb2021-04-22 11:22:43 +020076 binaries@ftp.osmocom.org:web-files/osmo-ccid-firmware/latest/
Harald Welte1f1c1c02019-11-30 15:38:43 +010077 rsync --archive --verbose --compress --rsh "$SSH_COMMAND" \
78 --exclude $TOPDIR/sysmoOCTSIM/gcc/sysmoOCTSIM.bin \
79 --exclude $TOPDIR/sysmoOCTSIM/gcc/sysmoOCTSIM.elf \
80 $TOPDIR/sysmoOCTSIM/gcc/*-*.{bin,elf} \
Harald Weltea09fabb2021-04-22 11:22:43 +020081 binaries@ftp.osmocom.org:web-files/osmo-ccid-firmware/all/
Harald Welte1f1c1c02019-11-30 15:38:43 +010082fi
83
84echo
85echo "=============== FIRMWARE CLEAN =============="
Kévin Redon69b92d92019-01-24 16:39:20 +010086make clean