Tomatoware is a project that creates a native compiling environment for Tomato firmware supported routers. https://github.com/lancethepants/tomatoware Why Tomatoware may be useful for: 1. Compiling a package not found in optware/entware. 2. Compiling the latest (bleeding edge) version of a package. 3. Compiling your own custom code. Tomatoware can be mounted to /mmc to allow co-existence with optware/entware. It can also be compiled for any prefix. Various prefixes are currently available. Installation 1. Create and Mount a new partition with the desired prefix. (You should know how since you're already running optware/entware, right?) 2. Download and extract. https://github.com/lancethepants/tomatoware/releases 3. Replace /opt/etc/profile with 'prefix'/etc/profile 4. Re-login so the profile you copied over can take effect. Compiling For most sources that provide a 'configure' script, compiling can be as simple as running the following. Code: ./configure --prefix='prefix' make make install Where 'prefix' is the directory your selected version of Tomatoware mounts to. Some software may not be so easy to compile. This is the place to ask if you need help with compiling something in particular. Tomatoware provides a base set of libraries. Perhaps the program you want to compile has other library dependencies. Those must first be compiled and installed before your program can compile. NOTE: Tomatoware is not capable of compiling kernel modules. These can only be built with the original tomato cross-compiling toolchain. Features c and c++ code can be compiled using the gcc compiler. Python and Perl languages are included. git is provided for pulling code from git repos. Included Libraries bzip2 zlib lzo xz utils openssl gettext flex libcurl expat libpcap libffi iconv ncurses libreadline libgdbm tcl Berkeley DB sqlite libxml libxslt libsigc++ libpar2 libevent pcre glib2 libgmp libmpfr libmpc libnettle gnutls * Static and dynamic versions of each library should be included. This should allow for the creation of both static and dynamic binaries. Included Developmental Tools strace htop screen bash vim tmux unzip binutils autoconf automake bison check coreutils diffutils findutils gawk libtool m4 make util-linux patch wget grep tar sed texinfo Extras Asterisk par2cmdline unrar openssh Linux-pam python/cheetah python/yenc python/pyOpenSSL Speed Remember, speed is relative. Compiling on a router can be slow because they are much slower than modern day x86 computers. It can also be very fast if you also factor in: The time it may take for a feature request to be fulfilled. The time it may take you to learn and setup a cross-development environment. Arm routers are many times more powerful than mipsel routers. Many Arm routers have dual cores, so you can utilize both cores in most cases when compiling, so speed up compiling. This most often can be done when running 'make', by running 'make -j2'