On Mon, Oct 17, 2016 at 02:04:54AM +0100, Dominik Vogt wrote:
> On Mon, Oct 17, 2016 at 01:58:10AM +0100, Dominik Vogt wrote:
> > This may have gotten a bit out of hand (fvwm-2.6.7):
> > 
> >   $ ./configure --disable-nls --disable-mandoc --disable-sm --disable-shape 
> > --disable-shm --disable-xrender --disable-xinerama --disable-iconv 
> > --disable-xft --disable-bidi --disable-perllib --disable-gtk 
> > --disable-gtktest --disable-imlibtest --with-png-library=no 
> > --with-stroke-library=no --with-xpm-library=no --with-rplay-library=no 
> > --with-readline-library=no
> > 
> >   (everything turned off)
> > 
> >   $ make CFLAGS="-O3"
> Sorry ...
>     $ make CFLAGS="-Os"
>     $ cd fvwm
>     $ ls -s --si fvwm
>     697k fvwm*
>     $ strip fvwm 
>     $ ls -s --si fvwm
>     623k fvwm
> Still too big for small systems.

  $ cd fvwm
  $ ls -s -S --si *.o
   58k style.o        C, S, P!
   54k menus.o        C, P
   50k move_resize.o  C, P
   50k builtins.o     P!
   41k events.o       C
   41k fvwm.o         C
   37k add_window.o   C
   37k borders.o      C, D
   29k virtual.o      C
   25k icons.o        D
   25k ewmh.o         I
   21k conditional.o  C
   21k menustyle.o    C, P, S
   21k placement.o    C
   21k colorset.o     D
   17k stack.o        C
   17k module_list.o  C
   17k functable.o    C
   17k frame.o        C, D
   17k windowlist.o   C
   17k functions.o    C
   17k session.o      I
   13k ewmh_events.o  I
   13k expand.o       C
   13k geometry.o     C
   13k focus.o        C
   13k module_interface.o C
   13k menuitem.o     C
   13k menubindings.o C
   13k update.o       C
   13k gnome.o        I
  8.2k bindings.o     C
  8.2k ewmh_icons.o   I
  8.2k misc.o         ?
  8.2k cursor.o       D
  8.2k decorations.o  D
  8.2k read.o         C
  8.2k colormaps.o    <--- candidate for removal
  8.2k menucmd.o      C
  8.2k ewmh_conf.o    I
  4.1k modconf.o      C
  4.1k icccm2.o       I
  4.1k schedule.o     C
  4.1k windowshade.o  D
  4.1k infostore.o    ?
  4.1k execcontext.o  C
  4.1k focus_policy.o C
  4.1k repeat.o       <--- candidate for removal, never really worked
  4.1k menugeometry.o C
  4.1k ewmh_names.o   I
  4.1k menudim.o      C
  4.1k condrc.o       C

C = important core functionality
D = decorations related core code
I = Interfacing code (external standards)
P! = lots of parsing code
P  = considerable amount of parsing code
S = lots of hard coded strings

Really not a lot of potential for removing code from the core.
The colourmap code is probably unnecessary nowadays, and the
"repeat" feature is mostly a source of hard to debug crashes.

Personally I'm very unhappy about the interfaces which
traditionally cause more trouble than anything, but I guess people
want them as long as there are applications around using them.

  $ cd fvwm
  $ ls -s -S --si *.o
   46k PictureUtils.o
   25k Flocale.o
   17k Graphics.o
   17k CombineChars.o
   17k PictureGraphics.o
   13k FScreen.o
   13k FEvent.o
   13k FlocaleCharset.o
   13k Colorset.o
  8.2k FTips.o
  8.2k Parse.o
  8.2k ColorUtils.o
  8.2k Bindings.o
  8.2k XError.o
  8.2k PictureImageLoader.o
  8.2k gravity.o
  8.2k Module.o
  8.2k PictureBase.o
  4.1k Picture.o
  4.1k XResource.o
  4.1k Cursor.o
  4.1k envvar.o
  4.1k Target.o
  4.1k System.o
  4.1k WinMagic.o
  4.1k Strings.o
  4.1k queue.o
  4.1k Grab.o
  4.1k safemalloc.o
  4.1k FImage.o
  4.1k charmap.o
  4.1k FRenderInit.o
  4.1k Fft.o
  4.1k fvwmrect.o
  4.1k flist.o
  4.1k wcontext.o
  4.1k fvwmsignal.o
  4.1k timeout.o
  4.1k Rectangles.o
  4.1k modifiers.o
  4.1k FGettext.o
  4.1k Ficonv.o
  4.1k wild.o
  4.1k ClientMsg.o
  4.1k fio.o
  4.1k fsm.o
  4.1k Event.o
  4.1k fvwmlib.o
  4.1k FRender.o
  4.1k setpgrp.o
  4.1k BidiJoin.o
  4.1k FShape.o
  4.1k FBidi.o


Dominik ^_^  ^_^


Dominik Vogt

Reply via email to