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
 --------------------------------
        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.
        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.
 
        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
 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.
 
        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
 Old kernel with older Wireless Extensions :
 -----------------------------------------
        Kernel prior to 2.2.14 : Those kernels include Wireless