Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: Makefile

Issue 29783566: Issue 6596 - update to work with v8 6.7.288.11 (Closed) Base URL: https://github.com/adblockplus/libadblockplus@99836840e314b7941fdb51cb2b91f23ca3ee3414
Patch Set: Created May 16, 2018, 10:17 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 V8_DIR :=$(shell pwd -L)/third_party/v8/
2 HOST_ARCH :=$(shell python third_party/detect_v8_host_arch.py) 1 HOST_ARCH :=$(shell python third_party/detect_v8_host_arch.py)
3 2
4 GYP_PARAMETERS=host_arch=${HOST_ARCH}
5
6 ifndef HOST_OS 3 ifndef HOST_OS
7 raw_OS = $(shell uname -s) 4 raw_OS = $(shell uname -s)
8 ifeq (${raw_OS},Linux) 5 ifeq (${raw_OS},Linux)
9 HOST_OS=linux 6 HOST_OS=linux
10 else ifeq (${raw_OS},Darwin) 7 else ifeq (${raw_OS},Darwin)
11 HOST_OS=mac 8 HOST_OS=mac
12 endif 9 endif
13 endif 10 endif
14 11
15 ifndef BUILD_DIR 12 TARGET_OS ?= ${HOST_OS}
16 BUILD_DIR=$(shell pwd -L)/build 13 TARGET_ARCH ?= ${HOST_ARCH}
17 endif 14 Configuration ?= debug
18 15
19 ifneq "$(and ${LIBV8_LIB_DIR}, ${LIBV8_INCLUDE_DIR})" "" 16 BUILD_DIR ?=$(shell pwd -L)/build
20 BUILD_V8=do-nothing
21 ABP_GYP_PARAMETERS+= libv8_lib_dir=${LIBV8_LIB_DIR} libv8_include_dir=${LIBV8_IN CLUDE_DIR}
22 else
23 BUILD_V8=build-v8
24 endif
25 17
26 ifneq ($(ANDROID_ARCH),) 18 ifeq (${TARGET_OS},android)
27 ANDROID_PLATFORM_LEVEL=android-9 19 Configuration ?= release
28 GYP_PARAMETERS+= OS=android target_arch=${ANDROID_ARCH} 20 ANDROID_PLATFORM_LEVEL=android-16
29 ifeq ($(ANDROID_ARCH),arm) 21 ANDROID_FIXES=
22 ifeq ($(TARGET_ARCH),arm)
30 ANDROID_ABI = armeabi-v7a 23 ANDROID_ABI = armeabi-v7a
31 else ifeq ($(ANDROID_ARCH),ia32) 24 ANDROID_FIXES="LOCAL_LDFLAGS=\"-Wl,--allow-multiple-definition\""
25 else ifeq ($(TARGET_ARCH),ia32)
32 ANDROID_ABI = x86 26 ANDROID_ABI = x86
33 else ifeq ($(ANDROID_ARCH),arm64) 27 else ifeq ($(TARGET_ARCH),arm64)
34 ANDROID_ABI = arm64-v8a 28 ANDROID_ABI = arm64-v8a
35 # minimal platform having arch-arm64, see ndk/platforms 29 # minimal platform having arch-arm64, see ndk/platforms
36 ANDROID_PLATFORM_LEVEL=android-21 30 ANDROID_PLATFORM_LEVEL=android-21
37 else 31 else
38 $(error "Unsupported Android architecture: $(ANDROID_ARCH)) 32 $(error "Unsupported Android architecture: $(TARGET_ARCH)")
39 endif 33 endif
40 ANDROID_DEST_DIR = android_$(ANDROID_ARCH).release
41
42 ifeq "$(and ${LIBV8_LIB_DIR}, ${LIBV8_INCLUDE_DIR})" ""
43 ABP_GYP_PARAMETERS+= libv8_lib_dir=${ANDROID_DEST_DIR}
44 BUILD_V8=build-v8-android
45 endif 34 endif
46 35
47 else # if ${ANDROID_ARCH} is empty 36 # linux,osx
48 TARGET_ARCH=${HOST_ARCH} 37 # x64, ia32
49 ifdef ARCH 38 # debug, release
50 TARGET_ARCH=${ARCH} 39 # android
40 # arm, arm64, ia32
41 # release
42
43 GYP_PARAMETERS=host_arch=${HOST_ARCH} OS=${TARGET_OS} target_arch=${TARGET_ARCH}
44 ifneq "$(and ${LIBV8_LIB_DIR}, ${LIBV8_INCLUDE_DIR})" ""
45 GYP_PARAMETERS+= libv8_lib_dir=${LIBV8_LIB_DIR} libv8_include_dir=${LIBV8_INCLUD E_DIR}
46 else
47 $(error "V8 directories are not specified")
51 endif 48 endif
52 GYP_PARAMETERS+= OS=${HOST_OS} target_arch=${TARGET_ARCH}
53 endif
54
55 49
56 TEST_EXECUTABLE = ${BUILD_DIR}/out/Debug/tests 50 TEST_EXECUTABLE = ${BUILD_DIR}/out/Debug/tests
57 51
58 .PHONY: do-nothing all test clean docs build-v8 build-v8-android v8_android_mult i android_multi android_x86 \ 52 .PHONY: all test clean docs ensure_dependencies
59 » android_arm ensure_dependencies
60 53
61 .DEFAULT_GOAL:=all 54 .DEFAULT_GOAL:=all
62 55
63 do-nothing:
64
65 ensure_dependencies: 56 ensure_dependencies:
66 python ensure_dependencies.py 57 python ensure_dependencies.py
67 58
68 build-v8: ensure_dependencies
69 GYP_DEFINES="${GYP_PARAMETERS}" third_party/gyp/gyp --depth=. -f make -I build-v8.gypi --generator-output=${BUILD_DIR}/v8 ${V8_DIR}src/v8.gyp
70 make -C ${BUILD_DIR}/v8 v8_snapshot v8_libplatform v8_libsampler
71
72 all: ${BUILD_V8} ensure_dependencies
73 GYP_DEFINES="${GYP_PARAMETERS} ${ABP_GYP_PARAMETERS}" third_party/gyp/gy p --depth=. -f make -I libadblockplus.gypi --generator-output=${BUILD_DIR} libad blockplus.gyp
74 $(MAKE) -C ${BUILD_DIR}
75
76 test: all 59 test: all
77 ifdef FILTER 60 ifdef FILTER
78 $(TEST_EXECUTABLE) --gtest_filter=$(FILTER) 61 $(TEST_EXECUTABLE) --gtest_filter=$(FILTER)
79 else 62 else
80 $(TEST_EXECUTABLE) 63 $(TEST_EXECUTABLE)
81 endif 64 endif
82 65
83 docs: 66 docs:
84 doxygen 67 doxygen
85 68
86 clean: 69 clean:
87 $(RM) -r ${BUILD_DIR} docs 70 $(RM) -r ${BUILD_DIR} docs
88 71
89 android_x86: 72 ifeq ($(TARGET_OS),android)
90 » ANDROID_ARCH="ia32" $(MAKE) android_multi 73 all: ensure_dependencies
91 74 » GYP_DEFINES="${GYP_PARAMETERS}" \
92 android_arm:
93 » ANDROID_ARCH="arm" $(MAKE) android_multi
94
95 android_arm64:
96 » ANDROID_ARCH="arm64" $(MAKE) android_multi
97
98 ifneq ($(ANDROID_ARCH),)
99 v8_android_multi: ensure_dependencies
100 » cd third_party/v8 && GYP_GENERATORS=make-android \
101 » GYP_DEFINES="${GYP_PARAMETERS} v8_target_arch=${ANDROID_ARCH}" \
102 » PYTHONPATH="${V8_DIR}tools/generate_shim_headers:${V8_DIR}gypfiles:${P YTHONPATH}" \
103 » python ../../make_gyp_wrapper.py \
104 » --generator-output=${BUILD_DIR} src/v8.gyp \
105 » -Igypfiles/standalone.gypi \
106 » --depth=. \
107 » -S.android_${ANDROID_ARCH}.release \
108 » -I../../android-v8-options.gypi
109 » cd third_party/v8 && make \
110 » -C ${BUILD_DIR} \
111 » -f Makefile.android_${ANDROID_ARCH}.release \
112 » v8_snapshot v8_libplatform v8_libsampler \
113 » BUILDTYPE=Release \
114 » builddir=${BUILD_DIR}/android_${ANDROID_ARCH}.release
115
116 v8_android_multi_linux_${ANDROID_ARCH}: v8_android_multi
117
118 v8_android_multi_mac_ia32: v8_android_multi
119 » find ${BUILD_DIR}/android_ia32.release/ -depth 1 -iname \*.a -exec ${AND ROID_NDK_ROOT}/toolchains/x86-4.9/prebuilt/darwin-x86_64/bin/i686-linux-android- ranlib {} \;
120
121 v8_android_multi_mac_arm: v8_android_multi
122 » find ${BUILD_DIR}/android_arm.release/ -depth 1 -iname \*.a -exec ${ANDR OID_NDK_ROOT}/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/ar m-linux-androideabi-ranlib {} \;
123
124 v8_android_multi_mac_arm64: v8_android_multi
125 » find ${BUILD_DIR}/android_arm64.release/ -depth 1 -iname \*.a -exec ${AN DROID_NDK_ROOT}/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/ aarch64-linux-android-ranlib {} \;
126
127 build-v8-android: v8_android_multi_${HOST_OS}_${ANDROID_ARCH}
128
129 android_multi: ${BUILD_V8} ensure_dependencies
130 » GYP_DEFINES="${GYP_PARAMETERS} ${ABP_GYP_PARAMETERS}" \
131 python ./make_gyp_wrapper.py --depth=. -f make-android -Ilibadblockplus. gypi --generator-output=${BUILD_DIR} -Gandroid_ndk_version=r16b libadblockplus.g yp 75 python ./make_gyp_wrapper.py --depth=. -f make-android -Ilibadblockplus. gypi --generator-output=${BUILD_DIR} -Gandroid_ndk_version=r16b libadblockplus.g yp
132 $(ANDROID_NDK_ROOT)/ndk-build -C ${BUILD_DIR} installed_modules \ 76 $(ANDROID_NDK_ROOT)/ndk-build -C ${BUILD_DIR} installed_modules \
133 BUILDTYPE=Release \ 77 BUILDTYPE=Release \
134 APP_ABI=$(ANDROID_ABI) \ 78 APP_ABI=$(ANDROID_ABI) \
135 APP_PLATFORM=${ANDROID_PLATFORM_LEVEL} \ 79 APP_PLATFORM=${ANDROID_PLATFORM_LEVEL} \
136 APP_PIE=true \ 80 APP_PIE=true \
137 » APP_STL=c++_static \ 81 » APP_STL=c++_shared \
138 APP_BUILD_SCRIPT=Makefile \ 82 APP_BUILD_SCRIPT=Makefile \
139 NDK_PROJECT_PATH=. \ 83 NDK_PROJECT_PATH=. \
140 NDK_OUT=. \ 84 NDK_OUT=. \
141 LOCAL_DISABLE_FATAL_LINKER_WARNINGS=true \ 85 » ${ANDROID_FIXES} \
142 LOCAL_LDFLAGS="-Wl,--allow-multiple-definition" \ 86 » NDK_APP_DST_DIR=android-$(TARGET_ARCH).release
143 » NDK_APP_DST_DIR=$(ANDROID_DEST_DIR) 87 else
88 all: ensure_dependencies
89 » GYP_DEFINES="${GYP_PARAMETERS}" third_party/gyp/gyp --depth=. -f make -I libadblockplus.gypi --generator-output=${BUILD_DIR} libadblockplus.gyp
90 » $(MAKE) -C ${BUILD_DIR}
91
144 endif 92 endif
145
OLDNEW
« no previous file with comments | « .travis/prepare-prebuilt-v8.sh ('k') | README.md » ('j') | README.md » ('J')

Powered by Google App Engine
This is Rietveld