/*
   --- To sync with upstream:

    # Update source and regenerate generated files.
    git remote add toybox https://github.com/landley/toybox.git
    git fetch toybox && git merge toybox/master && ./regenerate.sh

    # Make any necessary Android.bp changes and rebuild.
    mm -j32

    # Run all the tests.
    ./run-tests-on-android.sh
    # Run a single test.
    ./run-tests-on-android.sh wc

    # Upload changes.
    git commit -a --amend
    git push aosp HEAD:refs/for/master  # Push to gerrit for review.
    git push aosp HEAD:master           # Push directly, avoiding gerrit.


   --- To add a toy:

    # Edit the three .config-* files to enable the toy you want for the targets
    # you want it on, and regenerate the generated files:
    ./regenerate.sh

    # Edit the relevant `srcs` below, depending on where the toy should be
    # available.

    # If you just want to use the toy via "toybox x" rather than "x", you can
    # stop now. If you want this toy to have a symbolic link in /system/bin,
    # add the toy to symlinks.

*/

all_srcs = [
    "lib/args.c",
    "lib/commas.c",
    "lib/dirtree.c",
    "lib/env.c",
    "lib/help.c",
    "lib/lib.c",
    "lib/linestack.c",
    "lib/llist.c",
    "lib/net.c",
    "lib/portability.c",
    "lib/tty.c",
    "lib/xwrap.c",
    "main.c",
    "toys/lsb/gzip.c",
    "toys/lsb/hostname.c",
    "toys/lsb/md5sum.c",
    "toys/lsb/mktemp.c",
    "toys/lsb/seq.c",
    "toys/net/microcom.c",
    "toys/other/dos2unix.c",
    "toys/other/readlink.c",
    "toys/other/setsid.c",
    "toys/other/stat.c",
    "toys/other/timeout.c",
    "toys/other/truncate.c",
    "toys/other/which.c",
    "toys/other/xxd.c",
    "toys/other/yes.c",
    "toys/pending/dd.c",
    "toys/pending/diff.c",
    "toys/pending/expr.c",
    "toys/pending/getopt.c",
    "toys/pending/tr.c",
    "toys/posix/basename.c",
    "toys/posix/cat.c",
    "toys/posix/chmod.c",
    "toys/posix/cmp.c",
    "toys/posix/comm.c",
    "toys/posix/cp.c",
    "toys/posix/cpio.c",
    "toys/posix/cut.c",
    "toys/posix/date.c",
    "toys/posix/dirname.c",
    "toys/posix/du.c",
    "toys/posix/echo.c",
    "toys/posix/env.c",
    "toys/posix/find.c",
    "toys/posix/getconf.c",
    "toys/posix/grep.c",
    "toys/posix/head.c",
    "toys/posix/id.c",
    "toys/posix/ln.c",
    "toys/posix/ls.c",
    "toys/posix/mkdir.c",
    "toys/posix/od.c",
    "toys/posix/paste.c",
    "toys/posix/patch.c",
    "toys/posix/printf.c",
    "toys/posix/pwd.c",
    "toys/posix/rm.c",
    "toys/posix/rmdir.c",
    "toys/posix/sed.c",
    "toys/posix/sleep.c",
    "toys/posix/sort.c",
    "toys/posix/tail.c",
    "toys/posix/tar.c",
    "toys/posix/tee.c",
    "toys/posix/test.c",
    "toys/posix/touch.c",
    "toys/posix/true.c",
    "toys/posix/uname.c",
    "toys/posix/uniq.c",
    "toys/posix/wc.c",
    "toys/posix/xargs.c",
]

linux_srcs = [
    "toys/posix/ps.c",
    "toys/other/taskset.c",
]

device_srcs = [
    "toys/android/getenforce.c",
    "toys/android/load_policy.c",
    "toys/android/log.c",
    "toys/android/restorecon.c",
    "toys/android/runcon.c",
    "toys/android/sendevent.c",
    "toys/android/setenforce.c",
    "toys/lsb/dmesg.c",
    "toys/lsb/killall.c",
    "toys/lsb/mknod.c",
    "toys/lsb/mount.c",
    "toys/lsb/pidof.c",
    "toys/lsb/sync.c",
    "toys/lsb/umount.c",
    "toys/net/ifconfig.c",
    "toys/net/netcat.c",
    "toys/net/netstat.c",
    "toys/net/ping.c",
    "toys/net/rfkill.c",
    "toys/net/tunctl.c",
    "toys/other/acpi.c",
    "toys/other/base64.c",
    "toys/other/blkdiscard.c",
    "toys/other/blkid.c",
    "toys/other/blockdev.c",
    "toys/other/chcon.c",
    "toys/other/chroot.c",
    "toys/other/chrt.c",
    "toys/other/clear.c",
    "toys/other/devmem.c",
    "toys/other/fallocate.c",
    "toys/other/flock.c",
    "toys/other/fmt.c",
    "toys/other/free.c",
    "toys/other/freeramdisk.c",
    "toys/other/fsfreeze.c",
    "toys/other/fsync.c",
    "toys/other/help.c",
    "toys/other/hwclock.c",
    "toys/other/i2ctools.c",
    "toys/other/inotifyd.c",
    "toys/other/insmod.c",
    "toys/other/ionice.c",
    "toys/other/losetup.c",
    "toys/other/lsattr.c",
    "toys/other/lsmod.c",
    "toys/other/lspci.c",
    "toys/other/lsusb.c",
    "toys/other/makedevs.c",
    "toys/other/mkswap.c",
    "toys/other/modinfo.c",
    "toys/other/mountpoint.c",
    "toys/other/nbd_client.c",
    "toys/other/nsenter.c",
    "toys/other/partprobe.c",
    "toys/other/pivot_root.c",
    "toys/other/pmap.c",
    "toys/other/printenv.c",
    "toys/other/pwdx.c",
    "toys/other/rev.c",
    "toys/other/rmmod.c",
    "toys/other/rtcwake.c",
    "toys/other/setfattr.c",
    "toys/other/swapoff.c",
    "toys/other/swapon.c",
    "toys/other/sysctl.c",
    "toys/other/tac.c",
    "toys/other/uptime.c",
    "toys/other/usleep.c",
    "toys/other/uuidgen.c",
    "toys/other/vconfig.c",
    "toys/other/vmstat.c",
    "toys/other/watch.c",
    "toys/pending/getfattr.c",
    "toys/pending/lsof.c",
    "toys/pending/modprobe.c",
    "toys/pending/more.c",
    "toys/pending/readelf.c",
    "toys/pending/stty.c",
    "toys/pending/traceroute.c",
    "toys/pending/vi.c",
    "toys/posix/cal.c",
    "toys/posix/chgrp.c",
    "toys/posix/cksum.c",
    "toys/posix/df.c",
    "toys/posix/expand.c",
    "toys/posix/false.c",
    "toys/posix/file.c",
    "toys/posix/iconv.c",
    "toys/posix/kill.c",
    "toys/posix/mkfifo.c",
    "toys/posix/nice.c",
    "toys/posix/nl.c",
    "toys/posix/nohup.c",
    "toys/posix/renice.c",
    "toys/posix/split.c",
    "toys/posix/strings.c",
    "toys/posix/time.c",
    "toys/posix/tty.c",
    "toys/posix/ulimit.c",
    "toys/posix/unlink.c",
    "toys/posix/uudecode.c",
    "toys/posix/uuencode.c",
]

toybox_symlinks = [
    "acpi",
    "base64",
    "basename",
    "blockdev",
    "cal",
    "cat",
    "chattr",
    "chcon",
    "chgrp",
    "chmod",
    "chown",
    "chroot",
    "chrt",
    "cksum",
    "clear",
    "comm",
    "cmp",
    "cp",
    "cpio",
    "cut",
    "date",
    "dd",
    "devmem",
    "df",
    "diff",
    "dirname",
    "dmesg",
    "dos2unix",
    "du",
    "echo",
    "egrep",
    "env",
    "expand",
    "expr",
    "fallocate",
    "false",
    "fgrep",
    "file",
    "find",
    "flock",
    "fmt",
    "free",
    "fsync",
    "getconf",
    "getenforce",
    "grep",
    "groups",
    "gunzip",
    "gzip",
    "head",
    "hostname",
    "hwclock",
    "i2cdetect",
    "i2cdump",
    "i2cget",
    "i2cset",
    "iconv",
    "id",
    "ifconfig",
    "inotifyd",
    "insmod",
    "install",
    "ionice",
    "iorenice",
    "kill",
    "killall",
    "load_policy",
    "ln",
    "log",
    "logname",
    "losetup",
    "ls",
    "lsattr",
    "lsmod",
    "lsof",
    "lspci",
    "lsusb",
    "md5sum",
    "mkdir",
    "mkfifo",
    "mknod",
    "mkswap",
    "mktemp",
    "microcom",
    "modinfo",
    "more",
    "mount",
    "mountpoint",
    "mv",
    "nc",
    "netcat",
    "netstat",
    "nice",
    "nl",
    "nohup",
    "nproc",
    "nsenter",
    "od",
    "paste",
    "patch",
    "pgrep",
    "pidof",
    "pkill",
    "pmap",
    "printenv",
    "printf",
    "ps",
    "pwd",
    "readelf",
    "readlink",
    "realpath",
    "renice",
    "restorecon",
    "rm",
    "rmdir",
    "rmmod",
    "rtcwake",
    "runcon",
    "sed",
    "sendevent",
    "seq",
    "setenforce",
    "setsid",
    "sha1sum",
    "sha224sum",
    "sha256sum",
    "sha384sum",
    "sha512sum",
    "sleep",
    "sort",
    "split",
    "stat",
    "strings",
    "stty",
    "swapoff",
    "swapon",
    "sync",
    "sysctl",
    "tac",
    "tail",
    "tar",
    "taskset",
    "tee",
    "test",
    "time",
    "timeout",
    "top",
    "touch",
    "tr",
    "true",
    "truncate",
    "tty",
    "ulimit",
    "umount",
    "uname",
    "uniq",
    "unix2dos",
    "unlink",
    "unshare",
    "uptime",
    "usleep",
    "uudecode",
    "uuencode",
    "uuidgen",
    "vmstat",
    "watch",
    "wc",
    "which",
    "whoami",
    "xargs",
    "xxd",
    "yes",
    "zcat",
]

cc_defaults {
    name: "toybox-defaults",
    srcs: all_srcs,

    cflags: [
        "-Os",
        "-Wall",
        "-Werror",
        "-Wno-char-subscripts",
        "-Wno-deprecated-declarations",
        "-Wno-missing-field-initializers",
        "-Wno-pointer-arith",
        "-Wno-sign-compare",
        "-Wno-string-plus-int",
        "-Wno-unused-parameter",
        "-Wno-unused-variable",
        "-funsigned-char",
        "-ffunction-sections",
        "-fdata-sections",
        "-fno-asynchronous-unwind-tables",
        "-DTOYBOX_VENDOR=\"-android\"",
    ],

    target: {
        linux_glibc: {
            local_include_dirs: ["android/linux"],
        },

        darwin: {
            local_include_dirs: ["android/mac"],
            cflags: [
                // You can't have toybox cp(1) on macOS before 10.13.
                "-mmacosx-version-min=10.13",
                "-UMACOSX_DEPLOYMENT_TARGET",
                "-DMACOSX_DEPLOYMENT_TARGET=10.13",
                // macOS' getgroups(3) signature differs.
                "-Wno-pointer-sign",
                // diff.c defines MIN and MAX which (only on macOS) we're
                // also getting from <sys/param.h>.
                "-Wno-macro-redefined",
            ],
        },

        linux: {
            srcs: linux_srcs,
        },

        android: {
            local_include_dirs: ["android/device"],
            srcs: device_srcs,
        },
    },
}

//###########################################
// toybox for /system, /vendor, and /recovery
//###########################################

cc_defaults {
    name: "toybox-shared-defaults",
    defaults: ["toybox-defaults"],

    // This doesn't actually prevent us from dragging in libc++ at runtime
    // on the device because libnetd_client.so is C++, but it improves host
    // startup time.
    stl: "none",

    shared_libs: [
        "libcrypto",
        "libz",
    ],

    target: {
        android: {
            shared_libs: [
                "liblog",
                "libprocessgroup",
                "libselinux",
            ],
            symlinks: toybox_symlinks,
        },
    },
}

cc_binary {
    name: "toybox",
    defaults: ["toybox-shared-defaults"],
    host_supported: true,
    recovery_available: true,
}

cc_binary {
    name: "toybox_vendor",
    defaults: ["toybox-shared-defaults"],
    vendor: true,
}

//###########################################
// Static toybox binaries for legacy devices
//###########################################

cc_binary {
    name: "toybox-static",
    defaults: ["toybox-defaults"],
    static_executable: true,
    compile_multilib: "both",
    multilib: {
        lib32: { suffix: "32", },
        lib64: { suffix: "64", },
    },
    stl: "libc++_static",
    static_libs: [
        "libc",
        "libm",
        "libz",
        "libbase",
        "libcgrouprc",
        "libcgrouprc_format",
        "libcrypto_static",
        "liblog",
        "libprocessgroup",
        "libselinux",
    ],
}

//###########################################
// Running the toybox tests
//###########################################

sh_test {
    name: "toybox-tests",
    src: "run-tests-on-android.sh",
    filename: "run-tests-on-android.sh",
    test_suites: ["general-tests"],
    host_supported: true,
    device_supported: false,
    require_root:true,
    data: [
        "tests/**/*",
        "scripts/runtest.sh",
    ],
}
