// Copyright © 2010, 2013
//    Thorsten Glaser <t.glaser@tarent.de>
// This file is provided under the same terms as mksh.

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,
}
