------------------------------------------------------------------
1. Get the build environment. You'll need Xcode installed & macports. Then in Terminal.app:
Code: Select all
sudo port -v selfupdate
Code: Select all
sudo port -v install coreutils asciidoc binutils bzip2 fastjar flex getopt gtk2 intltool jikes zlib openssl p5-extutils-makemaker python26 rsync ruby sdcc unzip gettext libxslt bison gawk autoconf wget gmake ncurses bash
2. Optional: install Node & UglifyJS for Gargoyle's javascript compression. If you are going to compile Gargoyle a few times, this just saves Gargoyle having to fetch & install Node; UglifyJS is pretty quick.
Code: Select all
sudo port -v install nodejs npm
Code: Select all
sudo npm install -g uglify-js@1
3. The build scripts use features of utilities which are not present in the relative antiques that Apple provides. You will need to issue this command in each terminal session - it isn't permanent:
Code: Select all
export PATH=/opt/local/libexec/gnubin:$PATH
Code: Select all
hdiutil create /Volumes/TARGET_HARD_DRIVE/Gargoyle.sparsebundle -type SPARSEBUNDLE -size 10g -fs 'JHFS+X' -volname Gargoyle_source -layout NONE -attach
Code: Select all
cd /Volumes/Gargoyle_source && git clone git://gargoyle-router.com/gargoyle.git
Download & extract this patch file:
Code: Select all
cp ~/Desktop/03-disktype-MacMakefile.patch /Volumes/Gargoyle_source/gargoyle/package/disktype/patches
Download & extract this patch file:
Code: Select all
cd /Volumes/Gargoyle_source/gargoyle && patch -p0 -i ~/Desktop/GargoyleLibs.patch
Code: Select all
cd /Volumes/Gargoyle_source/gargoyle && make V=99 ar71xx.usb_large
I compared a Linux Mint 14 image with a Mac OS X image. They didn't match. I compared a single small .ipk file. They didn't match. It seems an .ipk file is 2 tar.gzip files - these files have timestamps. The timestamps alone will throw off any comparison, but I also found size discrepancies between a Linux&Mac build arising from (probably) deflate optimizations. At the end of it all, I have successfully flashed an image onto my TP-Link WRT3600 router using a Mac compiled image.
2013-Mar01 updated steps to expand $PATH to gnubin
2013-Mar10 (optional) Node & Uglify installed globally
2013-May23 updated GargoyleLibs.patch