Lines Matching +full:armv8l +full:- +full:linux +full:- +full:gnueabihf
1 # -*- coding: utf-8 -*-
3 # Copyright (c) 2016-2023 Arm Limited.
5 # SPDX-License-Identifier: MIT
64 # Manage data-types
66 env.Append(CXXFLAGS = ['-DENABLE_FP16_KERNELS'])
68 env.Append(CXXFLAGS = ['-DENABLE_FP32_KERNELS'])
70 env.Append(CXXFLAGS = ['-DENABLE_QASYMM8_KERNELS'])
72 env.Append(CXXFLAGS = ['-DENABLE_QASYMM8_SIGNED_KERNELS'])
74 env.Append(CXXFLAGS = ['-DENABLE_QSYMM16_KERNELS'])
76 env.Append(CXXFLAGS = ['-DENABLE_INTEGER_KERNELS'])
78 # Manage data-layouts
80 env.Append(CXXFLAGS = ['-DENABLE_NHWC_KERNELS'])
82 env.Append(CXXFLAGS = ['-DENABLE_NCHW_KERNELS'])
93 …allowed_values=("armv7a", "armv7a-hf", "arm64-v8a", "arm64-v8.2-a", "arm64-v8.2-a-sve", "arm64-v8.…
94 …"armv8a", "armv8.2-a", "armv8.2-a-sve", "armv8.6-a", "armv8.6-a-sve", "armv8.6-a-sve2", "armv8.6-a…
96 …static libraries get built and Neon™'s multi-threading support is disabled.", "linux", allowed_val…
97 …ly on your device (native) or cross compile from your desktop machine (cross-compile). In both cas…
100 BoolVariable("Werror", "Enable/disable the -Werror compilation flag", True),
101 …le("multi_isa", "Build Multi ISA binary version of library. Note works only for armv8.2-a", False),
110 PathVariable("build_dir", "Specify sub-folder for the build", ".", PathVariable.PathAccept),
111 PathVariable("install_dir", "Specify sub-folder for the install", "", PathVariable.PathAccept),
140 …("build_config", "Operator/Data-type/Data-layout configuration to use for tailored ComputeLibrary …
219 env.Append(CXXFLAGS = ['-fno-exceptions'])
221 env.Append(CXXFLAGS = ['-DARCH_ARM',
222 '-Wextra','-Wdisabled-optimization','-Wformat=2',
223 '-Winit-self','-Wstrict-overflow=2','-Wswitch-default',
224 '-Woverloaded-virtual', '-Wformat-security',
225 '-Wctor-dtor-privacy','-Wsign-promo','-Weffc++','-Wno-overlength-strings'])
228 env.Append(CXXFLAGS = ['-Wall','-std=c++14', '-pedantic' ])
232 cpp_tool = {'linux': 'g++', 'android' : 'clang++',
234 'bare_metal':'g++', 'openbsd':'g++','windows':'clang-cl'}
236 c_tool = {'linux':'gcc', 'android': 'clang', 'tizen':'gcc',
238 'openbsd':'gcc','windows':'clang-cl'}
249 env.Append(CXXFLAGS = ['-Wno-vla-extension'])
253 …env.Append(CXXFLAGS = ['-Wlogical-op','-Wnoexcept','-Wstrict-null-sentinel','-Wno-misleading-inden…
257 env.Append(CXXFLAGS = ['-C'])
264 env.Append(CXXFLAGS = ['-fopenmp'])
265 env.Append(LINKFLAGS = ['-fopenmp'])
279 print("ERROR: armv7a architecture has only 32-bit execution state")
301 if 'v8.6-a' in env['arch']:
305 …env.Append(CXXFLAGS = ['-march=armv8.2-a+fp16']) # explicitly enable fp16 extension otherwise __AR…
310 env.Append(CXXFLAGS = ['-march=armv7-a', '-mthumb', '-mfpu=neon'])
312 env.Append(CXXFLAGS = ['-mfloat-abi=softfp'])
314 env.Append(CXXFLAGS = ['-mfloat-abi=hard'])
315 elif 'v8.6-a' in env['arch']:
316 if 'armv8.6-a-sve2' in env['arch']:
317 env.Append(CXXFLAGS = ['-march=armv8.6-a+sve2'])
318 elif 'armv8.6-a-sve' == env['arch']:
319 env.Append(CXXFLAGS = ['-march=armv8.6-a+sve'])
320 elif 'armv8.6-a' == env['arch']:
321 env.Append(CXXFLAGS = ['-march=armv8.6-a+fp16'])
327 # Preserve the V8 archs for non-multi-ISA variants
329 env.Append(CXXFLAGS = ['-march=armv8.2-a+sve2+fp16+dotprod'])
331 env.Append(CXXFLAGS = ['-march=armv8.2-a+sve+fp16+dotprod'])
333 env.Append(CXXFLAGS = ['-march=armv8.4-a'])
335 …env.Append(CXXFLAGS = ['-march=armv8.2-a+fp16']) # explicitly enable fp16 extension otherwise __AR…
337 env.Append(CXXFLAGS = ['-march=armv8-a'])
344 env.Append(CCFLAGS = ['-m32'])
345 env.Append(LINKFLAGS = ['-m32'])
347 env.Append(CXXFLAGS = ['-fPIC'])
348 env.Append(CCFLAGS = ['-m64'])
349 env.Append(LINKFLAGS = ['-m64'])
357 if env['os'] == 'linux':
358 …auto_toolchain_prefix = "arm-linux-gnueabihf-" if 'v7' in env['arch'] else "armv8l-linux-gnueabihf…
360 auto_toolchain_prefix = "arm-eabi-"
362 auto_toolchain_prefix = "arm-linux-androideabi-"
364 auto_toolchain_prefix = "armv7l-tizen-linux-gnueabi-"
366 if env['os'] == 'linux':
367 auto_toolchain_prefix = "aarch64-linux-gnu-"
369 auto_toolchain_prefix = "aarch64-elf-"
371 auto_toolchain_prefix = "aarch64-linux-android-"
373 auto_toolchain_prefix = "aarch64-tizen-linux-gnu-"
395 env['AR'] = "llvm-lib"
396 env['RANLIB'] = "llvm-ranlib"
409 compiler_ver = check_output("clang++ -dumpversion").decode().strip()
411 compiler_ver = check_output(env['CXX'].split() + ["-dumpversion"]).decode().strip()
419 if env['arch'] == 'arm64-v8.2-a' and not version_at_least(compiler_ver, '6.2.1'):
420 print("GCC 6.2.1 or newer is required to compile armv8.2-a code")
422 elif env['arch'] == 'arm64-v8a' and not version_at_least(compiler_ver, '4.9'):
427 env.Append(CXXFLAGS = ['-Wno-ignored-attributes'])
430 env.Append(CXXFLAGS = ['-Wno-array-bounds'])
433 env.Append(LINKFLAGS = ['-fstack-protector-strong'])
442 env.Append(LINKFLAGS = ['-static-openmp'])
449 env.Append(CXXFLAGS = ['-no-integrated-as'])
452 …print("The high priority library cannot be built in conjunction with a user-specified build config…
475 env.Append(CXXFLAGS = ['-fPIC'])
476 env.Append(LINKFLAGS = ['-static-libgcc','-static-libstdc++'])
479 env.Append(CXXFLAGS = ['-Werror'])
483 env.Append(LINKFLAGS = ['-pie', '-static-libstdc++', '-ldl'])
485 env.Append(LINKFLAGS = ['-static'])
486 env.Append(CXXFLAGS = ['-fPIC'])
488 env.Append(LINKFLAGS = ['-specs=rdimon.specs'])
491 if env['os'] == 'linux' and env['arch'] == 'armv7a':
492 env.Append(CXXFLAGS = [ '-Wno-psabi' ])
495 …env.Append(CXXFLAGS = [ '-Wno-c++98-compat', '-Wno-covered-switch-default','-Wno-c++98-compat-peda…
496 env.Append(CXXFLAGS = [ '-Wno-shorten-64-to-32', '-Wno-sign-conversion','-Wno-documentation'])
497 …env.Append(CXXFLAGS = [ '-Wno-extra-semi-stmt', '-Wno-float-equal','-Wno-implicit-int-conversion'])
498 …env.Append(CXXFLAGS = [ '-Wno-documentation-pedantic', '-Wno-extra-semi','-Wno-shadow-field-in-con…
499 env.Append(CXXFLAGS = [ '-Wno-float-conversion', '-Wno-switch-enum','-Wno-comma'])
500 …env.Append(CXXFLAGS = [ '-Wno-implicit-float-conversion', '-Wno-deprecated-declarations','-Wno-old…
501 …env.Append(CXXFLAGS = [ '-Wno-zero-as-null-pointer-constant', '-Wno-inconsistent-missing-destructo…
502 env.Append(CXXFLAGS = [ '-Wno-asm-operand-widths'])
506 env.Append(LINKFLAGS = ['-specs='+env['specs_file']])
522 env.Append(CXXFLAGS = ['-fPIC'])
534 env.Append(CXXFLAGS = ['-O0','-g','-gdwarf-2'])
536 env.Append(CXXFLAGS = ['-Z7','-MTd','-fms-compatibility','-fdelayed-template-parsing'])
537 env.Append(LINKFLAGS = ['-DEBUG'])
542 env.Append(CXXFLAGS = ['-O3'])
544 # on windows we use clang-cl which does not support the option -O3
545 env.Append(CXXFLAGS = ['-O2'])
550 env.Append(CXXFLAGS = ['-fstack-protector-strong'])