couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benoit Chesneau <bchesn...@gmail.com>
Subject Re: [jira] [Created] (COUCHDB-1181) Provide a lean Windows makefile target by removing erlang cruft
Date Wed, 01 Jun 2011 04:13:11 GMT
On Wed, Jun 1, 2011 at 5:01 AM, Dave Cottlehuber (JIRA) <jira@apache.org> wrote:
> Provide a lean Windows makefile target by removing erlang cruft
> ---------------------------------------------------------------
>
>                 Key: COUCHDB-1181
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1181
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Build System
>         Environment: Windows
>            Reporter: Dave Cottlehuber
>            Priority: Trivial
>             Fix For: 1.1.1
>
>
> 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
>
> --
That something that could be handled with reltool :

http://www.erlang.org/doc/apps/reltool/index.html

Have a look here:

https://github.com/refuge/refuge/blob/master/rel/reltool.config

Which is a way to build release using rebar.

- benoît

Mime
View raw message