Skip to content

Commit 14721f3

Browse files
committed
refactor build script
1 parent 7070ba0 commit 14721f3

File tree

3 files changed

+66
-113
lines changed

3 files changed

+66
-113
lines changed

mars/libraries/build_android.py

Lines changed: 52 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77

88
from mars_utils import *
99

10-
NDK_BUILD_CMD = "ndk-build NDK_DEBUG=0 -j 4 -B SDK=0 LIBPREFIX=mars -C "
10+
NDK_BUILD_CMD = "ndk-build _ARCH_=%s NDK_DEBUG=0 -j 4 -B SDK=0 LIBPREFIX=mars -C "
11+
MARS_LIBS_PATH = "mars_android_sdk"
12+
XLOG_LIBS_PATH = "mars_xlog_sdk"
13+
14+
1115
BUILD_XLOG_PATHS = ("openssl", "comm", "log")
1216
COPY_XLOG_FILES = {"../log/crypt/log_crypt.h": "jni/log_crypt.h",
1317
"../log/crypt/decode_mars_log_file.py": "jni/decode_mars_log_file.py.rewriteme",
@@ -27,7 +31,7 @@
2731
}
2832

2933

30-
def build_android_xlog_static_libs(_path="mars_xlog_sdk"):
34+
def build_android_xlog_static_libs(_path="mars_xlog_sdk", _arch=""):
3135
libs_save_path = _path + "/mars_libs"
3236
src_save_path = _path + "/"
3337

@@ -42,7 +46,7 @@ def build_android_xlog_static_libs(_path="mars_xlog_sdk"):
4246
for i in range(0, len(BUILD_XLOG_PATHS)):
4347
if not os.path.exists("../" + BUILD_XLOG_PATHS[i] + "/jni"):
4448
continue
45-
if 0 != os.system(NDK_BUILD_CMD + "../" + BUILD_XLOG_PATHS[i]):
49+
if 0 != os.system(NDK_BUILD_CMD %(_arch) + "../" + BUILD_XLOG_PATHS[i]):
4650
return -1
4751

4852

@@ -57,7 +61,7 @@ def build_android_xlog_static_libs(_path="mars_xlog_sdk"):
5761

5862
cpu_libs = os.path.join(libs_save_path, f)
5963
cpu_symbols = os.path.join(cpu_libs, "symbols")
60-
print cpu_libs, cpu_symbols
64+
#print cpu_libs, cpu_symbols
6165
if not os.path.exists(cpu_libs):
6266
os.makedirs(cpu_libs)
6367
if not os.path.exists(cpu_symbols):
@@ -83,9 +87,9 @@ def build_android_xlog_static_libs(_path="mars_xlog_sdk"):
8387
print("build succeed!")
8488
return 0
8589

86-
def build_android_xlog_shared_libs(_path="mars_xlog_sdk"):
90+
def build_android_xlog_shared_libs(_path="mars_xlog_sdk", _arch="armeabi"):
8791

88-
if 0 != build_android_xlog_static_libs("mars_xlog_sdk"):
92+
if 0 != build_android_xlog_static_libs(_path, _arch):
8993
print("build static libs fail!!!")
9094
return -1
9195

@@ -94,22 +98,18 @@ def build_android_xlog_shared_libs(_path="mars_xlog_sdk"):
9498
shutil.rmtree(_path + "/obj", True)
9599

96100

97-
if 0 != os.system(NDK_BUILD_CMD + _path):
101+
if 0 != os.system(NDK_BUILD_CMD %(_arch) + _path):
98102
print("build fail!!!")
99103
return -1
100104

101105
print("build succeed!")
102106
return 0
103107

104108

105-
def build_android_mars_static_libs(_path="mars_android_sdk", _arch=""):
109+
def build_android_mars_static_libs(_path="mars_android_sdk", _arch="armeabi"):
106110
libs_save_path = _path + "/mars_libs"
107111
src_save_path = _path + "/"
108112

109-
if _arch != "":
110-
global NDK_BUILD_CMD
111-
NDK_BUILD_CMD = "ndk-build _ARCH_=" + _arch + " NDK_DEBUG=0 -j 4 -B SDK=0 LIBPREFIX=mars -C "
112-
print(NDK_BUILD_CMD)
113113

114114
shutil.rmtree(libs_save_path, True)
115115
for i in range(0, len(BUILD_MARS_PATHS)):
@@ -121,7 +121,7 @@ def build_android_mars_static_libs(_path="mars_android_sdk", _arch=""):
121121
for i in range(0, len(BUILD_MARS_PATHS)):
122122
if not os.path.exists("../" + BUILD_MARS_PATHS[i] + "/jni"):
123123
continue
124-
if 0 != os.system(NDK_BUILD_CMD + "../" + BUILD_MARS_PATHS[i]):
124+
if 0 != os.system(NDK_BUILD_CMD %(_arch) + "../" + BUILD_MARS_PATHS[i]):
125125
return -1
126126

127127

@@ -164,9 +164,9 @@ def build_android_mars_static_libs(_path="mars_android_sdk", _arch=""):
164164
print("build succeed!")
165165
return 0
166166

167-
def build_android_mars_shared_libs(_path="mars_android_sdk"):
167+
def build_android_mars_shared_libs(_path="mars_android_sdk", _arch="armeabi"):
168168

169-
if 0 != build_android_mars_static_libs():
169+
if 0 != build_android_mars_static_libs(_path, _arch):
170170
print("build static libs fail!!!")
171171
return -1
172172

@@ -175,33 +175,22 @@ def build_android_mars_shared_libs(_path="mars_android_sdk"):
175175
shutil.rmtree(_path + "/obj", True)
176176

177177

178-
if 0 != os.system(NDK_BUILD_CMD + _path):
178+
if 0 != os.system(NDK_BUILD_CMD %(_arch) + _path):
179179
print("build fail!!!")
180180
return -1
181181

182182
print("build succeed!")
183183
return 0
184184

185185
def choose_android_mars_jni_arch():
186-
platforms = ['armeabi', 'x86', 'mips', 'armeabi-v7a', 'arm64-v8a', 'x86_64', 'mips64']
187-
archnum = raw_input("Enter the architecture which would like to build, support multi-selection which should be separated by comma(','):\n1. armeabi.\n2. x86.\n3. mips.\n4. armeabi-v7a.\n5. arm64-v8a.\n6. x86_64.\n7. mips64.\n8. exit.\n")
188-
arr = []
189-
if "8" == archnum:
190-
arr.append('exit')
191-
elif len(archnum) >= 3:
192-
archs = archnum.split(',')
193-
for i in range(0, len(archs)):
194-
if (int(archs[i]) <= 7):
195-
arr.append(platforms[int(archs[i])-1])
196-
i += 1
197-
elif len(archnum) == 2:
198-
arr.append('err')
199-
else:
200-
if (int(archnum) <= 7):
201-
arr.append(platforms[int(archnum)-1])
202-
else:
203-
arr.append('err')
204-
return arr
186+
platforms = ['armeabi', 'x86', 'mips', 'armeabi-v7a', 'arm64-v8a', 'x86_64', 'mips64']
187+
archnum = raw_input("Enter the architecture which would like to build:\n1. armeabi.\n2. x86.\n3. mips.\n4. armeabi-v7a.\n5. arm64-v8a.\n6. x86_64.\n7. mips64.\n8. exit.\n")
188+
189+
if archnum >= "1" and archnum <= str(len(platforms)):
190+
return platforms[int(archnum)-1]
191+
else:
192+
return None
193+
205194

206195
def main():
207196
if not check_env():
@@ -220,85 +209,37 @@ def main():
220209
else:
221210
num = raw_input("Enter menu:\n1. build mars static libs.\n2. build mars shared libs.\n3. build xlog static libs.\n4. build xlog shared libs.\n5. exit.\n")
222211
arch = choose_android_mars_jni_arch()
212+
if not arch:
213+
return
223214

224215
if flag == 1:
225-
if "1" == num:
226-
return build_android_mars_static_libs()
227-
elif "2" == num:
228-
return build_android_mars_shared_libs()
229-
elif "3" == num:
230-
return build_android_xlog_static_libs()
231-
elif "4" == num:
232-
return build_android_xlog_shared_libs()
233-
elif "5" ==num:
234-
return 0
235-
else:
236-
pass
216+
if "1" == num:
217+
return build_android_mars_static_libs()
218+
elif "2" == num:
219+
return build_android_mars_shared_libs()
220+
elif "3" == num:
221+
return build_android_xlog_static_libs()
222+
elif "4" == num:
223+
return build_android_xlog_shared_libs()
224+
elif "5" ==num:
225+
return 0
226+
else:
227+
pass
237228
else:
238-
if "1" == num:
239-
return build_android_mars_static_libs()
240-
elif "2" == num:
241-
if arch[0] == 'err':
242-
return
243-
elif arch[0] == 'exit':
244-
return
245-
else:
246-
if os.path.exists('mars_android_sdk/so_cache'):
247-
shutil.rmtree('mars_android_sdk/so_cache', True)
248-
os.mkdir('mars_android_sdk/so_cache')
249-
for i in range(0, len(arch)):
250-
NDK_BUILD_CMD = "ndk-build _ARCH_=" + arch[i] + " NDK_DEBUG=0 -j 4 -B SDK=0 LIBPREFIX=mars -C "
251-
print(NDK_BUILD_CMD)
252-
build_android_mars_shared_libs()
253-
if i != (len(arch)-1):
254-
libs_dir = 'mars_android_sdk/so_cache/' + arch[i];
255-
symbols_dir = 'mars_android_sdk/so_cache/symbol/' + arch[i];
256-
if not os.path.exists('mars_android_sdk/so_cache/symbol/'):
257-
os.mkdir('mars_android_sdk/so_cache/symbol/')
258-
os.mkdir(libs_dir)
259-
os.mkdir(symbols_dir)
260-
for lib in glob.glob("mars_android_sdk/obj/local/" + arch[i] + "/*.so"):
261-
shutil.copy(lib, symbols_dir)
262-
for lib in glob.glob("mars_android_sdk/libs/" + arch[i] + "/*.so"):
263-
shutil.copy(lib, libs_dir)
264-
for i in range(0, len(arch)-1):
265-
shutil.copytree('mars_android_sdk/so_cache/' + arch[i], 'mars_android_sdk/libs/' + arch[i])
266-
shutil.copytree('mars_android_sdk/so_cache/symbol/' + arch[i], 'mars_android_sdk/obj/local/' + arch[i])
267-
return
268-
elif "3" == num:
269-
return build_android_xlog_static_libs()
270-
elif "4" == num:
271-
if arch[0] == 'err':
272-
return
273-
elif arch[0] == 'exit':
274-
return
275-
else:
276-
if os.path.exists('mars_xlog_sdk/so_cache'):
277-
shutil.rmtree('mars_xlog_sdk/so_cache', True)
278-
os.mkdir('mars_xlog_sdk/so_cache')
279-
for i in range(0, len(arch)):
280-
NDK_BUILD_CMD = "ndk-build _ARCH_=" + arch[i] + " NDK_DEBUG=0 -j 4 -B SDK=0 LIBPREFIX=mars -C "
281-
print(NDK_BUILD_CMD)
282-
build_android_xlog_shared_libs()
283-
if i != (len(arch)-1):
284-
libs_dir = 'mars_xlog_sdk/so_cache/' + arch[i];
285-
symbols_dir = 'mars_xlog_sdk/so_cache/symbol/' + arch[i];
286-
if not os.path.exists('mars_xlog_sdk/so_cache/symbol/'):
287-
os.mkdir('mars_xlog_sdk/so_cache/symbol/')
288-
os.mkdir(libs_dir)
289-
os.mkdir(symbols_dir)
290-
for lib in glob.glob("mars_xlog_sdk/obj/local/" + arch[i] + "/*.so"):
291-
shutil.copy(lib, symbols_dir)
292-
for lib in glob.glob("mars_xlog_sdk/libs/" + arch[i] + "/*.so"):
293-
shutil.copy(lib, libs_dir)
294-
for i in range(0, len(arch)-1):
295-
shutil.copytree('mars_xlog_sdk/so_cache/' + arch[i], 'mars_xlog_sdk/libs/' + arch[i])
296-
shutil.copytree('mars_xlog_sdk/so_cache/symbol/' + arch[i], 'mars_xlog_sdk/obj/local/' + arch[i])
297-
return
298-
elif "5" ==num:
299-
return 0
300-
else:
301-
pass
229+
if "1" == num:
230+
return build_android_mars_static_libs(MARS_LIBS_PATH, arch)
231+
elif "2" == num:
232+
return build_android_mars_shared_libs(MARS_LIBS_PATH, arch)
233+
234+
elif "3" == num:
235+
return build_android_xlog_static_libs(XLOG_LIBS_PATH, arch)
236+
elif "4" == num:
237+
return build_android_xlog_shared_libs(XLOG_LIBS_PATH, arch)
238+
239+
elif "5" ==num:
240+
return 0
241+
else:
242+
pass
302243

303244
if __name__ == "__main__":
304245
main()

mars/libraries/mars_xlog_sdk/jni/log_crypt.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
// Tencent is pleased to support the open source community by making Mars available.
2+
// Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved.
3+
4+
// Licensed under the MIT License (the "License"); you may not use this file except in
5+
// compliance with the License. You may obtain a copy of the License at
6+
// http://opensource.org/licenses/MIT
7+
8+
// Unless required by applicable law or agreed to in writing, software distributed under the License is
9+
// distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
10+
// either express or implied. See the License for the specific language governing permissions and
11+
// limitations under the License.
12+
113
//
214
// log_crypt.h
315
// mars-ext

mars/log/export_include/xlogger/xlogger.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -719,10 +719,10 @@ __inline void __xlogger_c_write(const XLoggerInfo* _info, const char* _log, ...
719719
{0, 0}, -1, -1, -1};\ gettimeofday(&info.m_tv, NULL);\
720720
XLOGGER_ROUTER_OUTPUT(__xlogger_c_write(&info, __VA_ARGS__),xlogger_Print(&info, __VA_ARGS__), __VA_ARGS__);}
721721

722-
#define xlogger2_if(exp, level, tag, file, func, line, ...) if ((!(exp) || !xlogger_IsEnabledFor(level)));
722+
#define xlogger2_if(exp, level, tag, file, func, line, ...) if (!(exp) || !xlogger_IsEnabledFor(level));\
723723
else { XLoggerInfo info= {level, tag, file, func, line,\
724724
{0, 0}, -1, -1, -1}; gettimeofday(&info.timeval, NULL);\
725-
XLOGGER_ROUTER_OUTPUT(__xlogger_c_write(&info, __VA_ARGS__),xlogger_Print(&info, __VA_ARGS__), __VA_ARGS__);
725+
XLOGGER_ROUTER_OUTPUT(__xlogger_c_write(&info, __VA_ARGS__),xlogger_Print(&info, __VA_ARGS__), __VA_ARGS__);}
726726

727727
#define __xlogger_c_impl(level, ...) xlogger2(level, XLOGGER_TAG, __XFILE__, __XFUNCTION__, __LINE__, __VA_ARGS__)
728728
#define __xlogger_c_impl_if(level, exp, ...) xlogger2_if(exp, level, XLOGGER_TAG, __XFILE__, __XFUNCTION__, __LINE__, __VA_ARGS__)

0 commit comments

Comments
 (0)