зеркало из https://github.com/mozilla/shumway.git
182 строки
7.6 KiB
Makefile
Executable File
182 строки
7.6 KiB
Makefile
Executable File
# Copyright 2013 Mozilla Foundation
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
UNAME = $(shell uname)
|
|
THREADS ?= 9
|
|
|
|
JSSHELL_HOME = ./jsshell
|
|
JSSHELL_URL_BASE = http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2015/02/2015-02-07-03-02-04-mozilla-central/
|
|
ifneq ("$(findstring MINGW32, $(UNAME))", "")
|
|
JSSHELL_URL = $(JSSHELL_URL_BASE)/jsshell-win32.zip
|
|
JSSHELL_CACHED = ./jsshell-cached/jsshell-win32.zip
|
|
else
|
|
ifeq ($(UNAME), Darwin)
|
|
JSSHELL_URL = $(JSSHELL_URL_BASE)/jsshell-mac.zip
|
|
JSSHELL_CACHED = ./jsshell-cached/jsshell-mac.zip
|
|
else
|
|
JSSHELL_URL = $(JSSHELL_URL_BASE)/jsshell-linux-i686.zip
|
|
JSSHELL_CACHED = ./jsshell-cached/jsshell-linux.zip
|
|
endif
|
|
endif
|
|
|
|
TAMARIN_HOME = ./tamarin-redux
|
|
TAMARIN_URL = http://hg.mozilla.org/tamarin-redux
|
|
|
|
ASC_JAR = ./asc.jar
|
|
|
|
FLEX_HOME = ./flex_sdk
|
|
FLEX_URL = http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip
|
|
|
|
ifeq ($(UNAME), Darwin)
|
|
DARWING_VER = $(shell uname -a)
|
|
ifneq ("$(filter 13.%, $(DARWING_VER))", "")
|
|
TAMARIN_CONFIG_PARAMS = --mac-sdk=109 --target=x86_64-darwin
|
|
else
|
|
ifneq ("$(filter 12.%, $(DARWING_VER))", "")
|
|
TAMARIN_CONFIG_PARAMS = --mac-sdk=108 --target=x86_64-darwin
|
|
else
|
|
ifneq ("$(filter 11.%, $(DARWING_VER))", "")
|
|
TAMARIN_CONFIG_PARAMS = --mac-sdk=107 --target=x86_64-darwin
|
|
else
|
|
TAMARIN_CONFIG_PARAMS = --mac-sdk=106 --target=x86_64-darwin
|
|
endif
|
|
endif
|
|
endif
|
|
else
|
|
ifeq ($(UNAME), Linux)
|
|
TAMARIN_CONFIG_PARAMS = --target=i686-linux
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(UNAME), Darwin)
|
|
AVMSHELL_PREBUILD=./avmshell/mac/avmshell
|
|
else
|
|
ifeq ($(UNAME), Linux)
|
|
AVMSHELL_PREBUILD=./avmshell/linux/avmshell
|
|
else
|
|
AVMSHELL_PREBUILD=./avmshell/windows/avmshell.exe
|
|
endif
|
|
endif
|
|
|
|
APPARAT_URL = http://apparat.googlecode.com/files/apparat-1.0-RC9-bin.tar.gz
|
|
APPARAT_HOME = ./apparat
|
|
SCALA_URL = http://www.scala-lang.org/files/archive/scala-2.8.0.final.tgz
|
|
SCALA_BIN = $(APPARAT_HOME)/scala-2.8.0.final/bin
|
|
APPARAT_BIN = $(APPARAT_HOME)/apparat-1.0-RC9
|
|
|
|
SHUMWAY_HOME = $(realpath ..)
|
|
AVM2_HOME = ../src/avm2
|
|
AVMSHELL = avmshell
|
|
|
|
default:
|
|
@echo "run: make [install-avmshell|install-js|"
|
|
@echo " install-swfdec|install-node-modules|install-tamarin-src|"
|
|
@echo " build-tamarin-tests|run-tamarin-tests|build-playerglobal|clean]"
|
|
|
|
install-avmshell:
|
|
mkdir -p $(TAMARIN_HOME)/bin/shell
|
|
cp $(AVMSHELL_PREBUILD) $(TAMARIN_HOME)/bin
|
|
cp $(AVMSHELL_PREBUILD) $(TAMARIN_HOME)/bin/shell
|
|
|
|
install-tamarin-src: $(TAMARIN_HOME)/configure.py
|
|
rm -rf $(TAMARIN_HOME)/bin
|
|
mkdir $(TAMARIN_HOME)/bin
|
|
cd $(TAMARIN_HOME)/bin; python ../configure.py $(TAMARIN_CONFIG_PARAMS) --enable-debugger
|
|
ASC=../../$(ASC_JAR) make -C $(TAMARIN_HOME)/bin
|
|
|
|
install-tamarin-tests: $(TAMARIN_HOME)/configure.py
|
|
|
|
$(TAMARIN_HOME)/configure.py:
|
|
hg clone $(TAMARIN_URL) $(TAMARIN_HOME)
|
|
cd $(TAMARIN_HOME) hg update -C 2b38aa82c803 # get a stable version
|
|
cd $(TAMARIN_HOME); patch -p 1 < ../patches/tamarin-108-fix.patch
|
|
cd $(TAMARIN_HOME); patch -p 1 < ../patches/tamarin-npexp-fix.patch
|
|
cd $(TAMARIN_HOME); patch -p 1 < ../patches/tamarin-gcc47-fix.patch
|
|
cd $(TAMARIN_HOME); patch -p 1 < ../patches/tamarin-test-shumway.patch
|
|
cp patches/tamarin-acceptance/* $(TAMARIN_HOME)/test/acceptance/
|
|
|
|
run-tamarin-tests: install-tamarin-tests
|
|
cd $(TAMARIN_HOME)/test/acceptance; SHUMWAY_HOME=$(SHUMWAY_HOME) ASC=../../../$(ASC_JAR) BUILTINABC=../../../../build/libs/builtin.abc SHELLABC=../../../../build/libs/shell.abc python runtests.py --shumway --threads $(THREADS) --vmargs "-rel -i" --log as3.log as3
|
|
cd $(TAMARIN_HOME)/test/acceptance; SHUMWAY_HOME=$(SHUMWAY_HOME) ASC=../../../$(ASC_JAR) BUILTINABC=../../../../build/libs/builtin.abc SHELLABC=../../../../build/libs/shell.abc python runtests.py --shumway --threads $(THREADS) --vmargs "-rel -i" --log ecma3.log ecma3
|
|
|
|
run-tamarin-e4x-tests: install-tamarin-tests
|
|
cd $(TAMARIN_HOME)/test/acceptance; SHUMWAY_HOME=$(SHUMWAY_HOME) ASC=../../../$(ASC_JAR) BUILTINABC=../../../../build/libs/builtin.abc SHELLABC=../../../../build/libs/shell.abc python runtests.py --shumway --threads $(THREADS) --timeout 360 --vmargs "-rel -i" --log test.log e4x
|
|
|
|
run-tamarin-sanity-tests: install-tamarin-tests
|
|
cd $(TAMARIN_HOME)/test/acceptance; SHUMWAY_HOME=$(SHUMWAY_HOME) ASC=../../../$(ASC_JAR) BUILTINABC=../../../../build/libs/builtin.abc SHELLABC=../../../../build/libs/shell.abc python runtests.py --shumway --threads $(THREADS) --timeout 360 --vmargs "-rel -i" --log test.log ecma3/String ecma3/Function ecma3/ExecutionContexts ecma3/Math/e15_8_2_1.as
|
|
|
|
run-youtube-tests: install-tamarin-tests
|
|
cd $(TAMARIN_HOME)/test/acceptance; SHUMWAY_HOME=$(SHUMWAY_HOME) ASC=../../../$(ASC_JAR) BUILTINABC=../../../../build/libs/builtin.abc SHELLABC=../../../../build/libs/shell.abc python runtests.py --shumway --threads 1 --timeout 360 --vmargs "-rel -i" --log test.log ecma3/Math ecma3/Date/e15_9_5.as ecma3/GlobalObject/encodeURIComponent.as ecma3/GlobalObject/decodeURIComponent.as ecma3/GlobalObject/e15_1_2_3_1.as ecma3/GlobalObject/e15_1_2_3_2.as ecma3/GlobalObject/e15_1_2_2_1.as ecma3/GlobalObject/e15_1_2_2_2.as
|
|
|
|
run-tamarin-performance: install-tamarin-tests
|
|
cd $(TAMARIN_HOME)/test/performance; SHUMWAY_HOME=$(SHUMWAY_HOME) ASC=../../../$(ASC_JAR) BUILTINABC=../../../../build/libs/builtin.abc SHELLABC=../../../../build/libs/shell.abc python runtests.py --shumway --avm2 ../../bin/shell/$(AVMSHELL)
|
|
|
|
install-js:
|
|
-rm -rf $(JSSHELL_HOME)
|
|
mkdir -p $(JSSHELL_HOME)
|
|
unzip $(JSSHELL_CACHED) -d $(JSSHELL_HOME)
|
|
|
|
download-js:
|
|
-rm -rf $(JSSHELL_HOME)
|
|
mkdir -p $(JSSHELL_HOME)
|
|
wget $(JSSHELL_URL) -O $(JSSHELL_HOME)/jsshell.zip
|
|
unzip $(JSSHELL_HOME)/jsshell.zip -d $(JSSHELL_HOME)
|
|
ifeq ($(UNAME), Linux)
|
|
# we are not installing the js into the bin path so there might be
|
|
# a conflict with other libnspr4.so -- adding the js bash proxy
|
|
mv $(JSSHELL_HOME)/js $(JSSHELL_HOME)/js-bin
|
|
cp patches/js $(JSSHELL_HOME)/js
|
|
chmod +x $(JSSHELL_HOME)/js
|
|
endif
|
|
|
|
install-apparat: $(APPARAT_HOME)/apparat-1.0-RC9
|
|
|
|
$(APPARAT_HOME)/apparat-1.0-RC9: $(APPARAT_HOME)/apparat.tar.gz
|
|
tar -xkf $(APPARAT_HOME)/apparat.tar.gz -C $(APPARAT_HOME)/
|
|
tar -xkf $(APPARAT_HOME)/scala.tgz -C $(APPARAT_HOME)/
|
|
|
|
$(APPARAT_HOME)/apparat.tar.gz:
|
|
mkdir -p $(APPARAT_HOME)
|
|
wget $(SCALA_URL) -O $(APPARAT_HOME)/scala.tgz
|
|
wget $(APPARAT_URL) -O $(APPARAT_HOME)/apparat.tar.gz
|
|
|
|
install-node-modules:
|
|
mkdir -p node_modules
|
|
npm install mocha@1.11.0 expect.js@0.2.0 jshint@2.1.3 time-grunt@1.1.1 bson@0.3.1
|
|
|
|
install-swfdec:
|
|
git clone git://anongit.freedesktop.org/swfdec/swfdec
|
|
|
|
install-flex-sdk:
|
|
-rm -rf $(FLEX_HOME)
|
|
mkdir -p $(FLEX_HOME)
|
|
wget $(FLEX_URL) -O $(FLEX_HOME)/flex_sdk.zip
|
|
unzip $(FLEX_HOME)/flex_sdk.zip -d $(FLEX_HOME)
|
|
ifeq ($(UNAME), Darwin)
|
|
sed -i .bak 's/check64" != "/check64" = "/g' $(FLEX_HOME)/bin/mxmlc
|
|
sed -i .bak 's/check64" != "/check64" = "/g' $(FLEX_HOME)/bin/swfdump
|
|
endif
|
|
|
|
build-playerglobal:
|
|
cd playerglobal-builder; node build -t $(THREADS) $(PLAYERGLOBAL_FLAGS)
|
|
|
|
clean:
|
|
-rm -rf $(TAMARIN_HOME)
|
|
-rm -rf $(JSSHELL_HOME)
|
|
|
|
.PHONY: install-tamarin install-js install-swfdec install-flex-sdk \
|
|
install-node-modules build-tamarin-tests build-playerglobal \
|
|
clean default
|
|
|