/*
   --- 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.

*/

package {
    default_applicable_licenses: ["external_toybox_license"],
}

license {
    name: "external_toybox_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-0BSD",
        "SPDX-license-identifier-CC0-1.0",
        "SPDX-license-identifier-Unlicense",
        "legacy_unencumbered",
    ],
    license_text: [
        "LICENSE",
    ],
}

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/nl.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/readelf.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/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/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"],
        },

        linux_bionic: {
            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,
    vendor_ramdisk_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",
    ],
    dist: {
        targets: [
            "sdk",
        ],
    },
}

//###########################################
// 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",
    ],
}
