OSDN Git Service

v29
[android-x86/external-wireless-tools.git] / wireless_tools / INSTALL
index 9a1b980..5cc017d 100644 (file)
@@ -36,17 +36,87 @@ Create a local copy of the tools :
 --------------------------------
        By default, the package is built with iwlib as a dynamic
 library, and the tool will expect to use the default version of libiw
-on the system.
+on the system. This means you can't use the tools until they are
+properly installed.
        If you just want to experiment with a "local" version of the
 tools, you may want to pass the BUILD_STATIC flag to Makefile. It will
 create a self contained version of the tools.
--------------
-make clean
-make BUILD_STATIC='y'
--------------
+               -------------
+               make clean
+               make BUILD_STATIC='y'
+               -------------
        The resulting binary can be used in the compilation directory
 or installed in any place you like.
 
+Other useful Makefile options :
+-----------------------------
+       PREFIX : where the tools will be installed (default : /usr/local)
+       CC : Compiler to use (defaul : gcc)
+       BUILD_STATIC : build tools with a static version of the wireless lib
+       BUILD_NOLIBM : build tools without mathematical lib (slower)
+       BUILD_STRIPPING : strip symbols from tools/lib.
+       BUILD_WE_ESSENTIAL : remove less used and obsolete features.
+
+       You can pass those options on the command line of make, or
+modify the top of the Makefile. You can also set them as environment
+variable, but this is not recommended.
+       If you pass those options on the command line, you should pass
+the same command line options for all invocations of make ("make" and
+"make install").
+
+Memory footprint reduction :
+--------------------------
+       The Wireless Tools are used in various embedded systems where
+memory footprint is a great concern. The Wireless Tools package offer
+multiple options to customise the compilation depending on the level
+of features you want.
+       The list below details the must useful combinations of these
+options, from the largest footprint to the smallest. Footprint depend
+on lot's of factor and is purely indicative (version 29-pre7+, i386,
+glibc, gcc 3.3.5).
+
+       1) Static build
+       Command line : make BUILD_STATIC='y'
+       - : Largest footprint
+       - : libiw not included (other third party tools may depend on it)
+       Size : ~280 kB
+
+       2) Default build
+       Command line : make
+       + : Fully featured version of the tools
+       - : Largest footprint (except for static version of tools)
+       Size : ~190 kB (libiw : ~29 kB ; ifrename : ~29 kB)
+
+       3) Stripping (remove function symbols)
+       Command line : make BUILD_STRIPPING='y'
+       + : Fully featured version of the tools
+       - : Still quite large
+       Size : ~110 kB (libiw : ~23 kB ; ifrename : ~17 kB)
+
+       4) Multicall version (include stripping)
+       Command line : make iwmulticall ; make install-iwmulticall
+       + : Fully featured version of the tools
+       + : Small
+       - : libiw not included (other third party tools may depend on it)
+       - : ifrename is not included
+       Size : ~55 kB
+
+       5) Multicall + Essential
+       Command line : make BUILD_WE_ESSENTIAL='y' iwmulticall
+       + : Smaller
+       - : Some less used features are left out 
+       - : libiw not included (other third party tools may depend on it)
+       - : ifrename is not included
+       Size : ~44 kB
+
+       6) iwconfig only + essential + static
+       Command line : make BUILD_WE_ESSENTIAL='y'  BUILD_STATIC='y' BUILD_STRIPPING='y' iwconfig
+       + : Very small
+       - : Very limited functionality : no scanning, no event, no iwpriv
+       - : libiw not included (other third party tools may depend on it)
+       - : ifrename is not included
+       Size : ~28 kB
+
 Wireless headers (past history) :
 -------------------------------
        Previous version of the Wireless Tools had to be compiled with
@@ -63,18 +133,6 @@ you that.
        Note that the previous option to make versioned installed of
 the tools no longer make sense and therefore is gone.
 
-Other useful Makefile options :
------------------------------
-       PREFIX : where the tools will be installed (default : /usr/local)
-       BUILD_STATIC : build tools with a static version of the wireless lib
-       BUILD_NOLIBM : build tools without mathematical lib (slower)
-       Note that you should pass the same command line options for
-all invocations of make ("make" and "make install").
-
-       If you want the absolute minimal footprint, you may want to
-look into the multicall version of the tools. You can build it with
-"make iwmulticall" and install it with "make install-iwmulticall".
-
 Old kernel with older Wireless Extensions :
 -----------------------------------------
        Kernel prior to 2.2.14 : Those kernels include Wireless