You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

178 lines
4.5 KiB

// Copyright © 2010, 2013
// Thorsten Glaser <t.glaser@tarent.de>
// This file is provided under the same terms as mksh.
package {
default_applicable_licenses: ["external_mksh_license"],
}
license {
name: "external_mksh_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-BSD",
"SPDX-license-identifier-MIT",
"SPDX-license-identifier-Unicode-DFS",
"legacy_notice",
],
license_text: [
"NOTICE",
],
}
cc_defaults {
name: "sh-defaults",
srcs: [
"src/lalloc.c",
"src/edit.c",
"src/eval.c",
"src/exec.c",
"src/expr.c",
"src/funcs.c",
"src/histrap.c",
"src/jobs.c",
"src/lex.c",
"src/main.c",
"src/misc.c",
"src/shf.c",
"src/syn.c",
"src/tree.c",
"src/var.c",
],
local_include_dirs: ["src"],
cflags: [
// Compiler flags...
"-Wall",
"-Werror",
"-Wno-deprecated-declarations",
"-fno-asynchronous-unwind-tables",
"-fno-strict-aliasing",
"-fwrapv",
// ...various options we choose
"-DDEBUG_LEAKS",
"-DMKSH_ASSUME_UTF8",
"-DMKSH_DONT_EMIT_IDSTRING",
"-DKSH_VERSIONNAME_VENDOR_EXT=\" Android\"",
// ...and the defines from Build.sh.
"-DMKSH_BUILDSH",
"-D_GNU_SOURCE",
"-DSETUID_CAN_FAIL_WITH_EAGAIN",
"-DHAVE_STRING_POOLING=1",
"-DHAVE_ATTRIBUTE_BOUNDED=1",
"-DHAVE_ATTRIBUTE_FORMAT=1",
"-DHAVE_ATTRIBUTE_NORETURN=1",
"-DHAVE_ATTRIBUTE_PURE=1",
"-DHAVE_ATTRIBUTE_UNUSED=1",
"-DHAVE_ATTRIBUTE_USED=1",
"-DHAVE_SYS_TIME_H=1",
"-DHAVE_TIME_H=1",
"-DHAVE_BOTH_TIME_H=1",
"-DHAVE_SYS_BSDTYPES_H=0",
"-DHAVE_SYS_FILE_H=1",
"-DHAVE_SYS_MKDEV_H=0",
"-DHAVE_SYS_MMAN_H=1",
"-DHAVE_SYS_PARAM_H=1",
"-DHAVE_SYS_RESOURCE_H=1",
"-DHAVE_SYS_SELECT_H=1",
"-DHAVE_SYS_SYSMACROS_H=1",
"-DHAVE_BSTRING_H=0",
"-DHAVE_GRP_H=1",
"-DHAVE_IO_H=0",
"-DHAVE_LIBGEN_H=1",
"-DHAVE_LIBUTIL_H=0",
"-DHAVE_PATHS_H=1",
"-DHAVE_STDINT_H=1",
"-DHAVE_STRINGS_H=1",
"-DHAVE_TERMIOS_H=1",
"-DHAVE_ULIMIT_H=0",
"-DHAVE_VALUES_H=0",
"-DHAVE_CAN_INTTYPES=1",
"-DHAVE_CAN_UCBINTS=1",
"-DHAVE_CAN_INT8TYPE=1",
"-DHAVE_CAN_UCBINT8=1",
"-DHAVE_RLIM_T=1",
"-DHAVE_SIG_T=1",
"-DHAVE_SYS_ERRLIST=0",
"-DHAVE_SYS_SIGNAME=1",
"-DHAVE_SYS_SIGLIST=1",
"-DHAVE_FLOCK=1",
"-DHAVE_LOCK_FCNTL=1",
"-DHAVE_GETRUSAGE=1",
"-DHAVE_GETSID=1",
"-DHAVE_GETTIMEOFDAY=1",
"-DHAVE_KILLPG=1",
"-DHAVE_MEMMOVE=1",
"-DHAVE_MKNOD=0",
"-DHAVE_MMAP=1",
"-DHAVE_FTRUNCATE=1",
"-DHAVE_NICE=1",
"-DHAVE_REVOKE=0",
"-DHAVE_SETLOCALE_CTYPE=1",
"-DHAVE_LANGINFO_CODESET=1",
"-DHAVE_SELECT=1",
"-DHAVE_SETRESUGID=1",
"-DHAVE_SETGROUPS=1",
"-DHAVE_STRERROR=1",
"-DHAVE_STRSIGNAL=0",
"-DHAVE_STRLCPY=1",
"-DHAVE_FLOCK_DECL=1",
"-DHAVE_REVOKE_DECL=1",
"-DHAVE_SYS_ERRLIST_DECL=0",
"-DHAVE_SYS_SIGLIST_DECL=1",
"-DHAVE_PERSISTENT_HISTORY=0",
"-DMKSH_BUILD_R=592",
// Additional flags
"-DMKSH_DEFAULT_PROFILEDIR=\"/system/etc\"",
"-DMKSHRC_PATH=\"/system/etc/mkshrc\"",
"-DMKSH_DEFAULT_EXECSHELL=\"/system/bin/sh\"",
"-DMKSH_DEFAULT_TMPDIR=\"/data/local\"",
],
stl: "none",
system_shared_libs: ["libc"],
}
cc_binary {
name: "sh",
defaults: ["sh-defaults"],
recovery_available: true,
vendor_ramdisk_available: true,
}
cc_binary {
name: "sh_vendor",
defaults: ["sh-defaults"],
stem: "sh",
vendor: true,
cflags: [
// Additional flags for vendor variant
"-UMKSH_DEFAULT_PROFILEDIR",
"-UMKSHRC_PATH",
"-UMKSH_DEFAULT_EXECSHELL",
"-DMKSH_DEFAULT_PROFILEDIR=\"/vendor/etc\"",
"-DMKSHRC_PATH=\"/vendor/etc/mkshrc\"",
"-DMKSH_DEFAULT_EXECSHELL=\"/vendor/bin/sh\"",
"-DMKSH_DEFPATH_OVERRIDE=\"/vendor/bin:/vendor/xbin\"",
],
}
// /system/etc/mkshrc
prebuilt_etc {
name: "mkshrc",
src: "mkshrc",
}
// /vendor/etc/mkshrc
prebuilt_etc {
name: "mkshrc_vendor",
src: "mkshrc_vendor",
filename: "mkshrc",
soc_specific: true,
}