Details
-
Improvement
-
Status: Closed
-
Trivial
-
Resolution: Won't Fix
-
None
-
None
-
Windows
-
Regular Contributors Level (Easy to Medium)
Description
We should be able to get the build to 1/3 of current size. Thanks to @wohali via IRC, and @daleharvey with android build https://github.com/daleharvey/build-android-couch/blob/master/build.final#L31
The three major contributors to the 50+MB download & 120+MB windows installed footprint are:
1. including all of OTP when a small portion is required to run CouchDB
2. including all obj, src, include, examples components of required OTP libraries
3. unneeded vc redist runtimes due to different build toolchains.
Manual steps follow; I will work on extending build system later.
1. remove unneeded OTP libraries/apps
- remove all but following from $COUCH_TOP/lib
couch-*
crypto-*
debugger-*
erlang-oauth*
erts-*
etap*
ibrowse-*
inets-*
kernel-*
mochiweb-*
public_key-*
reltool-*
runtime_tools-*
sasl-*
ssl-*
stdlib-*
xmerl-*
from %COUCH% do:
cd lib
mkdir ..\stash ..\trash
for /d %i in (couch-* crypto-* debugger-* erlang-oauth* erts-* etap* ibrowse-* inets-* kernel-* mochiweb-* public_key-* reltool-* runtime_tools-* sasl-* ssl-* stdlib-* xmerl-*) do @echo %i && move "%i" ..\stash\
for /d %i in do @move "%i" ..\trash\
for /d %i in (..\stash*) do @move "%i"
:: if you are brave rd /s/q ..\stash ..\trash
2. from %COUCH% run this:
cd erts* && rd /s/q include lib src