Lightning fast web server designed for security, streaming and static content
For commercial use, please contact the author gvalkov@gmail.com

Setup the OpenWRT build environment, and compile a test image on macOS

# Install Xcode from the AppStore
# Install Xcode build tools
xcode-select --install

# Install the Hombrew package manager
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

# Install required packages
brew install apr apr-util arping asciidoc autoconf automake bash bdw-gc berkeley-db binutils \
	binwalk boost brotli bzip2 c-ares cmake coreutils curl dash diffutils docbook e2fsprogs \
	fastjar findutils flex freetype gawk gcc gdbm gettext git git-extras gmp gnu-getopt \
	gnu-sed gnu-tar gnutls gpatch gputils grep guile icu4c intltool isl jemalloc libev libevent \
	libffi libgcrypt libgpg-error libidn2 libmetalink libmpc libnet libpng libssh2 libtasn1 \
	libtool libunistring libxml2 libxslt libyaml lz4 m4 make mercurial mpdecimal mpfr mtr \
	ncurses nettle nghttp2 numpy openblas openldap openssl@1.1 p11-kit p7zip patchutils \
	pcre pcre2 perl pkg-config python quilt readline rtmpdump ruby source-highlight sqlite \
	ssdeep subversion tcl-tk unbound unzip utf8proc wget xz zlib zstd

# Link gnu-make to be used as default
cd /usr/local/bin
ln -s /usr/local/opt/make/libexec/gnubin/make make

# Link coreutils stat to be used as default
ln -s gstat stat

# Edit /etc/shells
sudo nano /etc/shells

# Add the following line at the end
/usr/local/bin/bash

# Change the default shell to bash, and exit
chsh -s /usr/local/bin/bash
exit

# open Disk Utility
# press Command-N to create a new virtual disk
# Image Format: sparse disk image
# save as: ~/vhd/test
# Name: test
# Size: 50 GB
# Format: APFS (Case-sensitive)
# Encryption: none
# Partitions: Single partition - GUID Partition Map
# Save
# open a new terminal

# Clone OpenWRT: official or httpstorm fork
# git clone https://github.com/openwrt/openwrt.git
git clone https://github.com/httpstorm/openwrt.git
cd openwrt

# When using the httpstorm fork, checkout branch gvalkov
git checkout gvalkov

# Update and install feeds
./scripts/feeds update -a
./scripts/feeds install -a

# Make default config and them menuconfig
make defconfig
make menuconfig

# Configure the target system, e.g.
# Target System (Marvell EBU Armada)
# Subtarget (Marvell Armada 37x/38x/XP)
# Target Profile (Linksys WRT3200ACM)
# Save
# Exit

# Compile the target image
make -j 16

References

[1] OpenWRT - Build system setup macOS
© 2015-2021 George Valkov
httpstorm web server