# Copyright (c) Huawei Technologies Co., Ltd. 2020. All rights reserved. # feature: sh if (defined(ohos_lite)) { executable("mksh") { sources = [ "edit.c", "eval.c", "exec.c", "expr.c", "funcs.c", "histrap.c", "jobs.c", "lalloc.c", "lex.c", "main.c", "misc.c", "shf.c", "strlcpy.c", "syn.c", "tree.c", "var.c", ] include_dirs = [ "./" ] cflags = [ "-Wall", "-Wno-deprecated-declarations", "-fno-asynchronous-unwind-tables", "-fwrapv", "-fstack-protector-all", "-fPIE", # various options we choose "-DDEBUG_LEAKS", "-DMKSH_ASSUME_UTF8", "-DMKSH_DONT_EMIT_IDSTRING", # and the defines from middleware file Rebuild.sh. "-DMKSH_BUILDSH", "-D_GNU_SOURCE", "-DSETUID_CAN_FAIL_WITH_EAGAIN", "-DHAVE_STRING_POOLING=2", "-DHAVE_ATTRIBUTE_BOUNDED=0", "-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=1", "-DHAVE_VALUES_H=1", "-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=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=0", "-DHAVE_FLOCK_DECL=1", "-DHAVE_REVOKE_DECL=1", "-DHAVE_SYS_ERRLIST_DECL=1", "-DHAVE_SYS_SIGLIST_DECL=1", "-DHAVE_PERSISTENT_HISTORY=1", "-DMKSH_BUILD_R=571", ] ldflags = [ "-pie", "-Wl,-z,relro", "-Wl,-z,now", "-Wl,-z,noexecstack", ] } } else { import("//build/config/ohos/config.gni") import("//build/ohos.gni") ohos_executable("sh") { sources = [ "edit.c", "eval.c", "exec.c", "expr.c", "funcs.c", "histrap.c", "jobs.c", "lalloc.c", "lex.c", "main.c", "misc.c", "shf.c", "strlcpy.c", "syn.c", "tree.c", "var.c", ] include_dirs = [ "./" ] cflags = [ "-Wall", "-Wno-deprecated-declarations", "-fno-asynchronous-unwind-tables", "-fwrapv", "-fstack-protector-all", "-fPIE", # various options we choose "-DDEBUG_LEAKS", "-DMKSH_ASSUME_UTF8", "-DMKSH_DONT_EMIT_IDSTRING", # and the defines from middleware file Rebuild.sh. "-DMKSH_BUILDSH", "-D_GNU_SOURCE", "-DSETUID_CAN_FAIL_WITH_EAGAIN", "-DHAVE_STRING_POOLING=2", "-DHAVE_ATTRIBUTE_BOUNDED=0", "-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_VALUES_H=1", "-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=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=0", "-DHAVE_FLOCK_DECL=1", "-DHAVE_REVOKE_DECL=1", "-DHAVE_SYS_ERRLIST_DECL=1", "-DHAVE_SYS_SIGLIST_DECL=1", "-DHAVE_PERSISTENT_HISTORY=1", "-DMKSH_BUILD_R=571", ] ldflags = [ "-pie", "-Wl,-z,relro", "-Wl,-z,now", "-Wl,-z,noexecstack", ] install_images = [ "system", "updater", ] part_name = "init" install_enable = true } }