guanghuispark
4 年前
当前提交
1f851690
共有 6 个文件被更改,包括 223 次插入 和 1 次删除
-
2engine/Scripts/full_build.sh
-
182engine/Scripts/lib_build_android.sh
-
23engine/Scripts/patches/android/BUILD.gn.patch
-
10engine/Scripts/patches/android/BUILD_2.gn.patch
-
7engine/Scripts/patches/android/rsp.patch
|
|||
work_path=$(pwd) |
|||
engine_path= |
|||
platform= |
|||
gn_params="" |
|||
optimize="--unoptimized" |
|||
ninja_params="" |
|||
runtime_mode= |
|||
|
|||
|
|||
echo "setting environment variable and other params..." |
|||
|
|||
while getopts ":r:p:m:eo" opt |
|||
do |
|||
case $opt in |
|||
r) |
|||
engine_path=$OPTARG # set engine_path, depot_tools and flutter engine folder will be put into this path |
|||
;; |
|||
p) |
|||
gn_params="$gn_params --$OPTARG" # set the target platform android/ios |
|||
;; |
|||
m) |
|||
runtime_mode=$OPTARG |
|||
gn_params="$gn_params --runtime-mode=$runtime_mode" # set runtime mode release/debug |
|||
;; |
|||
e) |
|||
gn_params="$gn_params --bitcode" # enable-bitcode switch |
|||
;; |
|||
o) |
|||
optimize="" # optimize code switch |
|||
;; |
|||
?) |
|||
echo "unknown param" |
|||
exit 1;; |
|||
esac |
|||
done |
|||
|
|||
if [ "$runtime_mode" == "release" ] && [ "$optimize" == "--unoptimized" ]; |
|||
then |
|||
output_path="android_release_unopt" |
|||
ninja_params=" -C out/android_release_unopt flutter/third_party/txt:txt_lib" |
|||
elif [ "$runtime_mode" == "release" ] && [ "$optimize" == "" ]; |
|||
then |
|||
output_path="android_release" |
|||
ninja_params="-C out/android_release flutter/third_party/txt:txt_lib" |
|||
elif [ "$runtime_mode" == "debug" ] && [ "$optimize" == "--unoptimized" ]; |
|||
then |
|||
output_path="android_debug_unopt" |
|||
ninja_params=" -C out/android_debug_unopt flutter/third_party/txt:txt_lib" |
|||
elif [ "$runtime_mode" == "debug" ] && [ "$optimize" == "" ]; |
|||
then |
|||
output_path="android_debug" |
|||
ninja_params=" -C out/android_debug flutter/third_party/txt:txt_lib" |
|||
elif [ "$runtime_mode" == "profile" ]; |
|||
then |
|||
echo "not support profile build yet" |
|||
exit 1 |
|||
fi |
|||
|
|||
gn_params="$gn_params $optimize" |
|||
|
|||
#set environment variable |
|||
function isexist() |
|||
{ |
|||
source_str=$1 |
|||
test_str=$2 |
|||
|
|||
strings=$(echo $source_str | sed 's/:/ /g') |
|||
for str in $strings |
|||
do |
|||
if [ $test_str = $str ]; then |
|||
return 0 |
|||
fi |
|||
done |
|||
return 1 |
|||
} |
|||
|
|||
if [ ! $FLUTTER_ROOT_PATH ];then |
|||
echo "export FLUTTER_ROOT_PATH=$engine_path/engine/src" >> ~/.bash_profile |
|||
else |
|||
echo "This environment variable has been set, skip" |
|||
fi |
|||
|
|||
if isexist $PATH $engine_path/depot_tools; then |
|||
echo "This environment variable has been set, skip" |
|||
else |
|||
echo "export PATH=$engine_path/depot_tools:\$PATH" >> ~/.bash_profile |
|||
fi |
|||
source ~/.bash_profile |
|||
|
|||
echo "\nGetting Depot Tools..." |
|||
if [ ! -n "$engine_path" ]; then |
|||
echo "Flutter engine path is not exist, please set the path by using \"-r\" param to set a engine path." |
|||
exit 1 |
|||
fi |
|||
cd $engine_path |
|||
if [ -d 'depot_tools' ] && [ -d "depot_tools/.git" ]; |
|||
then |
|||
echo "depot_tools already installed, skip" |
|||
else |
|||
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git |
|||
gclient |
|||
fi |
|||
|
|||
echo "\nGetting flutter engine..." |
|||
|
|||
if [ -d 'engine' ]; |
|||
then |
|||
echo "engine folder already exist, skip" |
|||
else |
|||
mkdir engine |
|||
fi |
|||
cd engine |
|||
#git@github.com:guanghuispark/engine.git is a temp repo, replace it later |
|||
echo "solutions = [ |
|||
{ |
|||
\"managed\": False, |
|||
\"name\": \"src/flutter\", |
|||
\"url\": \"git@github.com:guanghuispark/engine.git\", |
|||
\"custom_deps\": {}, |
|||
\"deps_file\": \"DEPS\", |
|||
\"safesync_url\": \"\", |
|||
}, |
|||
]" > .gclient |
|||
|
|||
gclient sync |
|||
|
|||
cd $FLUTTER_ROOT_PATH/flutter |
|||
git checkout flutter-1.17-candidate.5 |
|||
gclient sync -D |
|||
|
|||
echo "\nSCompiling engine..." |
|||
#apply patch to Build.gn |
|||
cd $FLUTTER_ROOT_PATH/flutter/third_party/txt |
|||
cp -f $work_path/patches/android/BUILD.gn.patch BUILD.gn.patch |
|||
patch < BUILD.gn.patch -N |
|||
|
|||
cd $FLUTTER_ROOT_PATH/build/secondary/third_party/libcxxabi |
|||
cp -f $work_path/patches/android/BUILD_2.gn.patch BUILD_2.gn.patch |
|||
patch < BUILD_2.gn.patch -N |
|||
|
|||
cd $FLUTTER_ROOT_PATH/build/mac |
|||
cp -f $work_path/patches/find_sdk.patch find_sdk.patch |
|||
patch < find_sdk.patch -N |
|||
|
|||
cd $FLUTTER_ROOT_PATH |
|||
./flutter/tools/gn $gn_params |
|||
|
|||
ninja $ninja_params |
|||
|
|||
echo "\nStarting build engine..." |
|||
cd $work_path/../ |
|||
|
|||
python $FLUTTER_ROOT_PATH/flutter/sky/tools/objcopy.py --objcopy $FLUTTER_ROOT_PATH/third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-objcopy --input $FLUTTER_ROOT_PATH/third_party/icu/flutter/icudtl.dat --output icudtl.o --arch arm |
|||
|
|||
if [ -d '../com.unity.uiwidgets/Runtime/Plugins/android' ]; |
|||
then |
|||
echo "android folder already exist, skip create folder" |
|||
else |
|||
mkdir ../com.unity.uiwidgets/Runtime/Plugins/android |
|||
fi |
|||
|
|||
if [ "$runtime_mode" == "release" ]; |
|||
then |
|||
mono bee.exe android_release |
|||
rm -rf ../com.unity.uiwidgets/Runtime/Plugins/android/libUIWidgets.so |
|||
cp -r build_release/. ../com.unity.uiwidgets/Runtime/Plugins/android |
|||
elif [ "$runtime_mode" == "debug" ]; |
|||
then |
|||
mono bee.exe android_debug |
|||
rm -rf ../com.unity.uiwidgets/Runtime/Plugins/android/libUIWidgets.so |
|||
cp -r build_release/. ../com.unity.uiwidgets/Runtime/Plugins/android |
|||
fi |
|||
|
|||
cd $work_path/../artifacts/rsp |
|||
cp -f $work_path/patches/android/rsp.patch rsp.patch |
|||
patch < rsp.patch -N |
|||
|
|||
cd $work_path/../ |
|||
"artifacts/Stevedore/android-ndk-mac/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++" @"artifacts/rsp/14590475716575637239.rsp" |
|||
$FLUTTER_ROOT_PATH/buildtools/mac-x64/clang/bin/clang++ @"artifacts/rsp/14590475716575637239.rsp" |
|||
cp artifacts/libUIWidgets/release_Android_arm32/libUIWidgets.so ../com.unity.uiwidgets/Runtime/Plugins/Android/libUIWidgets.so |
|||
|
|
|||
--- /Users/unity/Documents/GitHub/EngineBuildTool/engine/src/flutter/third_party/txt/BUILD.gn 2021-05-19 11:45:24.000000000 +0800
|
|||
+++ /Users/unity/Documents/GitHub/EngineBuildTool/engine/src/flutter/third_party/txt/modify/BUILD.gn 2021-05-19 11:44:06.000000000 +0800
|
|||
@@ -141,6 +141,9 @@
|
|||
"//third_party/harfbuzz", |
|||
"//third_party/icu", |
|||
"//third_party/skia", |
|||
+ "//third_party/skia/modules/skottie",
|
|||
+ "//third_party/libcxx",
|
|||
+ "//third_party/libcxxabi",
|
|||
] |
|||
|
|||
deps = [ |
|||
@@ -339,3 +342,10 @@
|
|||
deps += [ "//third_party/skia/modules/skparagraph" ] |
|||
} |
|||
} |
|||
+
|
|||
+static_library("txt_lib") {
|
|||
+ complete_static_lib = true
|
|||
+ deps = [
|
|||
+ ":txt",
|
|||
+ ]
|
|||
+}
|
|
|||
--- /Users/unity/Documents/GitHub/EngineBuildTool/engine/src/build/secondary/third_party/libcxxabi/BUILD.gn 2021-05-19 10:57:31.000000000 +0800
|
|||
+++ /Users/unity/Documents/GitHub/EngineBuildTool/engine/src/build/secondary/third_party/libcxxabi/modify/BUILD.gn 2021-05-19 11:53:06.000000000 +0800
|
|||
@@ -7,7 +7,6 @@
|
|||
} |
|||
|
|||
source_set("libcxxabi") { |
|||
- visibility = [ "../libcxx:*" ]
|
|||
|
|||
sources = [ |
|||
"src/abort_message.cpp", |
7
engine/Scripts/patches/android/rsp.patch
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
撰写
预览
正在加载...
取消
保存
Reference in new issue