Skip to content

Commit

Permalink
Merge branch 'release/18.12.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
Hexa committed Dec 25, 2018
2 parents d52653f + 77a39d6 commit 11a5360
Show file tree
Hide file tree
Showing 50 changed files with 1,501 additions and 428 deletions.
10 changes: 10 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@

## develop

## 18.12.0

- [ADD] ROS 対応
- [CHANGE] ビルド時のターゲットと、パッケージのファイル名を変更する
- [CHANGE] p2p モードの切断後に自動的に window が閉じられないようにする
- [UPDATE] Boost 1.69.0 にアップデートする
- [UPDATE] CLI11 v1.6.2 にアップデートする
- [UPDATE] JSON v3.4.0 にアップデートする
- [CHANGE] x86_64, armv8 の場合は H264 を指定できないようにする

## 18.10.2

- [ADD] 解像度を固定するオプションを追加する
Expand Down
104 changes: 71 additions & 33 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,78 +1,116 @@
ifndef ARCH
ARCH=arm
ifndef RTC_ROOT
RTC_ROOT = $(HOME)
endif

ifndef OS
OS=raspbian
ifndef BOOST_PATH
BOOST_PATH = /root/boost-1.69.0
endif

ifndef RTC_ROOT
RTC_ROOT=$(HOME)
ifndef ROS_VERSION
USE_WEBRTC_LIBCXX = 1
endif

UNAME := $(shell uname -s)

TARGET = momo

RTC_LIB = libWebRTC_$(ARCH).a
RTC_LIB = libWebRTC_$(OUT_PATH).a

RTC_LIB_PATH=$(RTC_ROOT)/src/out/$(OUT_PATH)

CFLAGS += -Wno-macro-redefined -fno-lto -pthread -std=c++11 -DWEBRTC_POSIX -DOPENSSL_IS_BORINGSSL -Isrc/

ifdef USE_WEBRTC_LIBCXX
CFLAGS += -nostdinc++ -isystem$(RTC_ROOT)/src/buildtools/third_party/libc++/trunk/include
endif

CFLAGS += -fno-lto -pthread -std=gnu++11 -nostdinc++ -isystem$(RTC_ROOT)/src/buildtools/third_party/libc++/trunk/include -DWEBRTC_POSIX -DOPENSSL_IS_BORINGSSL -Isrc/
ifdef MOMO_VERSION
CFLAGS += -DMOMO_VERSION='"$(MOMO_VERSION)"'
endif

# webrtc
CFLAGS += -I$(RTC_ROOT)/src -I$(RTC_ROOT)/src/third_party/libyuv/include -I$(RTC_ROOT)/src/third_party/abseil-cpp

# H264 を使うかどうかの設定。
# x86_64/armv8 の場合は H264 を使わない
ifeq ($(UNAME),Linux)
ifneq (,$(findstring arm64,$(OUT_PATH)))
CFLAGS += -DUSE_H264=0
else
ifneq (,$(findstring x86_64,$(OUT_PATH)))
CFLAGS += -DUSE_H264=0
else
CFLAGS += -DUSE_H264=1
endif
endif
endif

ifeq ($(UNAME),Linux)
CC = $(RTC_ROOT)/src/third_party/llvm-build/Release+Asserts/bin/clang
CXX = $(RTC_ROOT)/src/third_party/llvm-build/Release+Asserts/bin/clang++
AR = $(RTC_ROOT)/src/third_party/llvm-build/Release+Asserts/bin/llvm-ar
CFLAGS += -fpic
LDFLAGS += -lX11 -lXau -lXdmcp -lxcb -lplds4 -lXext -lexpat -ldl -lnss3 -lnssutil3 -lplc4 -lnspr4 -lrt
CFLAGS += -I/root/boost-1.68.0/include
LDFLAGS += -L/root/boost-1.68.0/lib
ifneq (,$(findstring arm,$(ARCH)))
ifneq (,$(findstring arm64,$(ARCH)))
CC += --sysroot=$(SYSROOT) --target=aarch64-linux-gnu
CXX += --sysroot=$(SYSROOT) --target=aarch64-linux-gnu
CFLAGS += -I$(SYSROOT)/usr/include/aarch64-linux-gnu
LDFLAGS += -L$(SYSROOT)/usr/lib/aarch64-linux-gnu
CFLAGS += -I$(BOOST_PATH)/include
LDFLAGS += -L$(BOOST_PATH)/lib

ifneq (,$(findstring arm,$(OUT_PATH)))
SYSROOT = $(RTC_ROOT)/rootfs
ifneq (,$(findstring arm64,$(OUT_PATH)))
TARGET_ARCH = aarch64-linux-gnu
else
TARGET_ARCH = arm-linux-gnueabihf
CFLAGS += -mfloat-abi=hard
ifneq (,$(findstring armv6,$(OUT_PATH)))
CFLAGS += -mcpu=arm1176jzf-s -mfpu=vfp
else
CFLAGS += -march=armv7-a -mtune=generic-armv7-a -mfpu=neon -mthumb
endif
USE_IL_ENCODER ?= 1
CC += --sysroot=$(SYSROOT) --target=arm-linux-gnueabihf
CXX += --sysroot=$(SYSROOT) --target=arm-linux-gnueabihf
CFLAGS += -I$(SYSROOT)/usr/include/arm-linux-gnueabihf
LDFLAGS += -L$(SYSROOT)/usr/lib/arm-linux-gnueabihf -B$(SYSROOT)/usr/lib/arm-linux-gnueabihf
# ilclient
ifneq ($(USE_IL_ENCODER),0)
ifneq (,$(findstring raspbian,$(OUT_PATH)))
VC_PATH = $(SYSROOT)/opt/vc
else
VC_PATH = $(SYSROOT)/usr
endif
ILCLIENT_DIR = libs/ilclient
IL_SOURCE = $(shell find $(ILCLIENT_DIR) -name '*.c')
IL_OBJECT = $(IL_SOURCE:%.c=%.o)
ILCLIENT_LIB = libilclient.a
IL_CFLAGS = -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM
IL_INCLUDES = -I$(SYSROOT)/opt/vc/include/ -I$(SYSROOT)/opt/vc/include/interface/vcos/pthreads -I$(SYSROOT)/opt/vc/include/interface/vmcs_host/linux
CFLAGS += -DUSE_IL_ENCODER=1 $(IL_CFLAGS) -I$(SYSROOT)/opt/vc/include/ -I$(ILCLIENT_DIR)/ -I.
LDFLAGS += -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -L$(SYSROOT)/opt/vc/lib/ -lbrcmGLESv2 -lbrcmEGL -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -lm
IL_INCLUDES = -I$(VC_PATH)/include/ -I$(VC_PATH)/include/interface/vcos/pthreads -I$(VC_PATH)/include/interface/vmcs_host/linux
CFLAGS += -DUSE_IL_ENCODER=1 $(IL_CFLAGS) -I$(VC_PATH)/include/ -I$(ILCLIENT_DIR)/ -I.
LDFLAGS += -L$(VC_PATH)/lib/ -lbrcmGLESv2 -lbrcmEGL -lopenmaxil -lbcm_host -lvcos -lvchiq_arm -lm
SOURCE += $(shell find $(CURDIR)/hwenc_il -maxdepth 1 -name '*.cpp') $(ILCLIENT_LIB)
else
endif
endif
SYSROOT = $(RTC_ROOT)/rootfs
RTC_LIB_PATH=$(RTC_ROOT)/src/out/$(ARCH)-$(OS)
else
RTC_LIB_PATH=$(RTC_ROOT)/src/out/$(ARCH)
endif

CC = $(RTC_ROOT)/src/third_party/llvm-build/Release+Asserts/bin/clang
CXX = $(RTC_ROOT)/src/third_party/llvm-build/Release+Asserts/bin/clang++
AR = $(RTC_ROOT)/src/third_party/llvm-build/Release+Asserts/bin/llvm-ar
ifdef TARGET_ARCH
CC += --sysroot=$(SYSROOT) --target=$(TARGET_ARCH)
CXX += --sysroot=$(SYSROOT) --target=$(TARGET_ARCH)
ifdef USE_WEBRTC_LIBCXX
CFLAGS += -I$(SYSROOT)/usr/include/$(TARGET_ARCH)
LDFLAGS += -L$(SYSROOT)/usr/lib/$(TARGET_ARCH)
endif
endif
endif

ifeq ($(UNAME),Darwin)
CFLAGS += -DWEBRTC_POSIX -DWEBRTC_MAC
LDFLAGS += -F/System/Library/Frameworks -ldl -framework Foundation -framework AVFoundation -framework CoreServices -framework CoreFoundation -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework CoreGraphics -framework CoreMedia -framework CoreVideo
LIBRTCCONDUCTOR = lib$(RTCCONDUCTOR)_mac.so
RTC_LIB_PATH=$(RTC_ROOT)/src/out/$(ARCH)
endif

SOURCE += $(shell find $(CURDIR)/src -name '*.cpp') $(RTC_LIB)
ifdef ROS_VERSION
CFLAGS += -DHAVE_JPEG=1 -DUSE_ROS=1 -I$(SYSROOT)/opt/ros/$(ROS_VERSION)/include
LDFLAGS += -lpthread -L$(SYSROOT)/opt/ros/$(ROS_VERSION)/lib -lmessage_filters -lroscpp -lrosconsole -lroscpp_serialization -lrostime -lxmlrpcpp -lcpp_common -lrosconsole_log4cxx -lrosconsole_backend_interface
SOURCE += $(shell find $(CURDIR)/src -name '*.cpp')
else
SOURCE += $(shell find $(CURDIR)/src -type d -name 'ros' -prune -o -type f -name '*.cpp' -print)
endif
SOURCE += $(RTC_LIB)

# boost
CFLAGS += -I$(RTC_ROOT)/src/third_party/boringssl/src/include -DOPENSSL_IS_BORINGSSL
Expand Down
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
# WebRTC Native Client Momo

[![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/shiguredo/momo.svg)](https://github.com/shiguredo/momo)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

## WebRTC Native Client Momo について

WebRTC Native Client Momo は libwebrtc を利用しブラウザなしで様々な環境で動作する WebRTC ネイティブクライアントです。

特に Raspberry Pi 環境では Raspberry Pi の GPU に積まれている H.264 ハードウェアエンコーダー機能を利用することが可能です。

また [ROS](http://www.ros.org/) ノードとしても利用可能です。

## OpenMomo プロジェクトについて

OpenMomo は WebRTC Native Client Momo をオープンソースとして公開し、継続的に開発を行うことで、ブラウザ以外での WebRTC 利用を推進していくプロジェクトです。
Expand All @@ -23,11 +28,17 @@ OpenMomo は WebRTC Native Client Momo をオープンソースとして公開
- Raspberry Pi 3 B/B+ で動作
- Raspbian Stretch ARMv6
- Raspberry Pi Zero W/WH で動作
- Ubuntu 16.04 x86_64 ROS Kinetic で動作
- http://wiki.ros.org/kinetic

## 使ってみる

Momo を使ってみたい人は [USE.md](doc/USE.md) をお読みください。

## ROS ノードとして使ってみる

Momo を ROS ノードとして使ってみたい人は [USE_ROS.md](doc/USE_ROS.md) をお読みください。

## ビルドに挑戦する

Momo のビルドに挑戦したい人は [BUILD.md](doc/BUILD.md) をお読みください。
Expand Down Expand Up @@ -69,3 +80,8 @@ https://discord.gg/gmEuZye
### 有料サポートについて

WebRTC Native Client に対する有料でのサポート契約については WebRTC SFU Sora ライセンス契約をしているお客様が前提となります。

## H.264 のライセンス費用について

- Raspberry Pi のハードウェアエンコーダのライセンス費用は Raspberry Pi の価格に含まれています
- https://www.raspberrypi.org/forums/viewtopic.php?t=200855
91 changes: 61 additions & 30 deletions build/Makefile
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
BUILD_NUMBER=$(shell date +"%Y%m%d%H%M%S")
WEBRTC_VERSION=71
MOMO_VERSION=18.10.2
MOMO_VERSION=18.12.0

RASPBIAN_VERSION=stretch

TARGET=$@

.PHONY: all
all: armv6 armv7 armv8

.PHONY: armv6 armv7 armv8
armv6 armv7 armv8:
.PHONY: armv6 armv7 armv8 armv7_ros
armv6 armv7 armv8 armv7_ros:
# ARM 系ビルド全体で共通のビルド用イメージを作る
docker image build --rm -t momo/webrtc-arm-buildbase arm --file arm/buildbase.Dockerfile

Expand All @@ -35,6 +37,11 @@ armv8.rebuild:
$(MAKE) -C arm/armv8 clean.image WEBRTC_VERSION=$(WEBRTC_VERSION)
$(MAKE) -C arm/armv8 WEBRTC_VERSION=$(WEBRTC_VERSION) BUILD_NUMBER=$(BUILD_NUMBER) MOMO_VERSION=$(MOMO_VERSION)

.PHONY: armv7_ros.rebuild
armv7_ros.rebuild:
$(MAKE) -C arm/armv7_ros clean.image WEBRTC_VERSION=$(WEBRTC_VERSION)
$(MAKE) -C arm/armv7_ros WEBRTC_VERSION=$(WEBRTC_VERSION) BUILD_NUMBER=$(BUILD_NUMBER) MOMO_VERSION=$(MOMO_VERSION)

# 各プラットフォーム用イメージの掃除。これをすると全体的にビルドし直すことになる。
.PHONY: armv6.clean
armv6.clean:
Expand All @@ -48,13 +55,23 @@ armv7.clean:
armv8.clean:
$(MAKE) -C arm/armv8 clean.image.all WEBRTC_VERSION=$(WEBRTC_VERSION)

.PHONY: x86_64
x86_64:
.PHONY: armv7_ros.clean
armv7_ros.clean:
$(MAKE) -C arm/armv7_ros clean.image.all WEBRTC_VERSION=$(WEBRTC_VERSION)

.PHONY: ubuntu-1804_x86_64
ubuntu-1804_x86_64:
# x86_64 用ビルド
$(MAKE) -C $(TARGET) WEBRTC_VERSION=$(WEBRTC_VERSION) BUILD_NUMBER=$(BUILD_NUMBER) MOMO_VERSION=$(MOMO_VERSION)
$(MAKE) -C x86_64 WEBRTC_VERSION=$(WEBRTC_VERSION) BUILD_NUMBER=$(BUILD_NUMBER) MOMO_VERSION=$(MOMO_VERSION)

# 生成されたバイナリをこのディレクトリに移動
mv $(TARGET)/momo ./momo-$(TARGET)-m$(WEBRTC_VERSION)-$(BUILD_NUMBER)
mv x86_64/momo ./momo-ubuntu-18.04_x86_64-m$(WEBRTC_VERSION)-$(BUILD_NUMBER)

.PHONY: ubuntu-1604_x86_64_ros
ubuntu-1604_x86_64_ros:
# x86_64_ros 用ビルド
$(MAKE) -C x86_64_ros WEBRTC_VERSION=$(WEBRTC_VERSION) BUILD_NUMBER=$(BUILD_NUMBER) MOMO_VERSION=$(MOMO_VERSION)
mv x86_64_ros/momo ./momo-ubuntu-16.04_x86_64_ros-m$(WEBRTC_VERSION)-$(BUILD_NUMBER)

.PHONY: macos
macos:
Expand All @@ -73,35 +90,49 @@ define COPY

endef

pkg: armv6.pkg armv7.pkg armv8.pkg x86_64.pkg
pkg: armv6.pkg armv7.pkg armv8.pkg ubuntu-1804_x86_64.pkg ubuntu-1804_x86_64_ros.pkg armv7_ros.pkg

armv6.pkg:
mkdir momo-$(MOMO_VERSION)_raspbian_armv6
$(foreach filename,$(FILENAMES),$(call COPY,../$(filename),momo-$(MOMO_VERSION)_raspbian_armv6/))
cp $(lastword $(sort $(wildcard ./momo-armv6-*))) momo-$(MOMO_VERSION)_raspbian_armv6/momo
tar czf momo-$(MOMO_VERSION)_raspbian_armv6.tar.gz momo-$(MOMO_VERSION)_raspbian_armv6
rm -rf momo-$(MOMO_VERSION)_raspbian_armv6
mkdir momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv6
$(foreach filename,$(FILENAMES),$(call COPY,../$(filename),momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv6/))
cp $(lastword $(sort $(wildcard ./momo-armv6-*))) momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv6/momo
tar czf momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv6.tar.gz momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv6
rm -rf momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv6

armv7.pkg:
mkdir momo-$(MOMO_VERSION)_raspbian_armv7
$(foreach filename,$(FILENAMES),$(call COPY,../$(filename),momo-$(MOMO_VERSION)_raspbian_armv7/))
cp $(lastword $(sort $(wildcard ./momo-armv7-*))) momo-$(MOMO_VERSION)_raspbian_armv7/momo
tar czf momo-$(MOMO_VERSION)_raspbian_armv7.tar.gz momo-$(MOMO_VERSION)_raspbian_armv7
rm -rf momo-$(MOMO_VERSION)_raspbian_armv7
mkdir momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv7
$(foreach filename,$(FILENAMES),$(call COPY,../$(filename),momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv7/))
cp $(lastword $(sort $(wildcard ./momo-armv7-*))) momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv7/momo
tar czf momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv7.tar.gz momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv7
rm -rf momo-$(MOMO_VERSION)_raspbian-$(RASPBIAN_VERSION)_armv7

armv8.pkg:
mkdir momo-$(MOMO_VERSION)_ubuntu_armv8
$(foreach filename,$(FILENAMES),$(call COPY,../$(filename),momo-$(MOMO_VERSION)_ubuntu_armv8/))
cp $(lastword $(sort $(wildcard ./momo-armv8-*))) momo-$(MOMO_VERSION)_ubuntu_armv8/momo
tar czf momo-$(MOMO_VERSION)_ubuntu_armv8.tar.gz momo-$(MOMO_VERSION)_ubuntu_armv8
rm -rf momo-$(MOMO_VERSION)_ubuntu_armv8

x86_64.pkg:
mkdir momo-$(MOMO_VERSION)_ubuntu_x86_64
$(foreach filename,$(FILENAMES),$(call COPY,../$(filename),momo-$(MOMO_VERSION)_ubuntu_x86_64/))
cp $(lastword $(sort $(wildcard ./momo-x86_64-*))) momo-$(MOMO_VERSION)_ubuntu_x86_64/momo
tar czf momo-$(MOMO_VERSION)_ubuntu_x86_64.tar.gz momo-$(MOMO_VERSION)_ubuntu_x86_64
rm -rf momo-$(MOMO_VERSION)_ubuntu_x86_64
mkdir momo-$(MOMO_VERSION)_ubuntu-16.04_armv8
$(foreach filename,$(FILENAMES),$(call COPY,../$(filename),momo-$(MOMO_VERSION)_ubuntu-16.04_armv8/))
cp $(lastword $(sort $(wildcard ./momo-armv8-*))) momo-$(MOMO_VERSION)_ubuntu-16.04_armv8/momo
tar czf momo-$(MOMO_VERSION)_ubuntu-16.04_armv8.tar.gz momo-$(MOMO_VERSION)_ubuntu-16.04_armv8
rm -rf momo-$(MOMO_VERSION)_ubuntu-16.04_armv8

ubuntu-1804_x86_64.pkg:
mkdir momo-$(MOMO_VERSION)_ubuntu-18.04_x86_64
$(foreach filename,$(FILENAMES),$(call COPY,../$(filename),momo-$(MOMO_VERSION)_ubuntu-18.04_x86_64/))
cp $(lastword $(sort $(wildcard ./momo-ubuntu-18.04_x86_64-*))) momo-$(MOMO_VERSION)_ubuntu-18.04_x86_64/momo
tar czf momo-$(MOMO_VERSION)_ubuntu-18.04_x86_64.tar.gz momo-$(MOMO_VERSION)_ubuntu-18.04_x86_64
rm -rf momo-$(MOMO_VERSION)_ubuntu-18.04_x86_64

ubuntu-1604_x86_64_ros.pkg:
mkdir momo-$(MOMO_VERSION)_ubuntu-16.04_x86_64_ros
$(foreach filename,$(FILENAMES),$(call COPY,../$(filename),momo-$(MOMO_VERSION)_ubuntu-16.04_x86_64_ros/))
cp $(lastword $(sort $(wildcard ./momo-ubuntu-16.04_x86_64_ros-*))) momo-$(MOMO_VERSION)_ubuntu-16.04_x86_64_ros/momo
tar czf momo-$(MOMO_VERSION)_ubuntu-16.04_x86_64_ros.tar.gz momo-$(MOMO_VERSION)_ubuntu-16.04_x86_64_ros
rm -rf momo-$(MOMO_VERSION)_ubuntu-16.04_x86_64_ros

armv7_ros.pkg:
mkdir momo-$(MOMO_VERSION)_ubuntu-16.04_armv7_ros
$(foreach filename,$(FILENAMES),$(call COPY,../$(filename),momo-$(MOMO_VERSION)_ubuntu-16.04_armv7_ros/))
cp $(lastword $(sort $(wildcard ./momo-armv7_ros-*))) momo-$(MOMO_VERSION)_ubuntu-16.04_armv7_ros/momo
tar czf momo-$(MOMO_VERSION)_ubuntu-16.04_armv7_ros.tar.gz momo-$(MOMO_VERSION)_ubuntu-16.04_armv7_ros
rm -rf momo-$(MOMO_VERSION)_ubuntu-16.04_armv7_ros

clean.pkg:
rm -rf momo-$(MOMO_VERSION)_*
20 changes: 12 additions & 8 deletions build/arm/armv6/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,14 @@ RUN set -x \

COPY patch/4k.patch /root/

# exit 0 は cipd ensure コマンドでのエラーの暫定対応
RUN set -x \
&& cd /root/src \
&& git checkout -b m$WEBRTC_VERSION remotes/branch-heads/$WEBRTC_VERSION \
&& gclient sync \
&& gclient sync; exit 0

RUN set -x \
&& cd /root/src \
&& patch -p2 < ../4k.patch

RUN set -x \
Expand Down Expand Up @@ -66,15 +70,15 @@ COPY patch/project-config-raspbian.jam /root/

RUN cd ~/ \
&& set -ex \
&& curl -LO https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz \
&& tar xf boost_1_68_0.tar.gz \
&& cd boost_1_68_0 \
&& curl -LO https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.gz \
&& tar xf boost_1_69_0.tar.gz \
&& cd boost_1_69_0 \
&& ./bootstrap.sh \
&& cp ../project-config-raspbian.jam ./project-config.jam \
&& ./b2 target-os=linux architecture=arm address-model=32 link=static variant=release install -j`nproc` --prefix=/root/boost-1.68.0 --with-system --with-filesystem \
&& ./b2 target-os=linux architecture=arm address-model=32 link=static variant=release install -j`nproc` --prefix=/root/boost-1.69.0 --with-system --with-filesystem \
&& cd ~/ \
&& rm boost_1_68_0.tar.gz \
&& rm -rf boost_1_68_0
&& rm boost_1_69_0.tar.gz \
&& rm -rf boost_1_69_0

# 必要なファイルだけ持ってくる
FROM ubuntu:16.04
Expand All @@ -97,4 +101,4 @@ RUN set -x \
COPY --from=builder /root/rootfs/ /root/rootfs/

# Boost
COPY --from=builder /root/boost-1.68.0/ /root/boost-1.68.0/
COPY --from=builder /root/boost-1.69.0/ /root/boost-1.69.0/
2 changes: 1 addition & 1 deletion build/arm/armv6/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ all: clean
docker container create -it --name momo momo/webrtc-armv6:m$(WEBRTC_VERSION)
docker container start momo
docker container cp momo.tar.gz momo:/root/
docker container exec momo /bin/bash -c "cd /root && tar xf momo.tar.gz && cd momo && make USE_IL_ENCODER=$(USE_IL_ENCODER) ARCH=armv6 BUILD_MODE=$(BUILD_MODE) MOMO_VERSION=$(MOMO_VERSION)"
docker container exec momo /bin/bash -c "cd /root && tar xf momo.tar.gz && cd momo && make OUT_PATH=armv6-raspbian USE_IL_ENCODER=$(USE_IL_ENCODER) BUILD_MODE=$(BUILD_MODE) MOMO_VERSION=$(MOMO_VERSION)"
docker container cp momo:/root/momo/momo .
docker container stop momo
docker container rm momo
Expand Down
Loading

0 comments on commit 11a5360

Please sign in to comment.