Ignore:
Timestamp:
Oct 25, 2008, 12:24:02 AM (17 years ago)
Author:
bird
Message:

kmk: Implemented lazy resolving of $+, $, $? and $|. This saves > 30% memory and also a bit of time.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/commands.c

    r1933 r1934  
    2626#include <windows.h>
    2727#include "w32err.h"
     28#endif
     29#ifdef CONFIG_WITH_LAZY_DEPS_VARS
     30# include <assert.h>
    2831#endif
    2932
     
    175178#endif /* CONFIG_WITH_RDONLY_VARIABLE_VALUE */
    176179
     180#ifndef CONFIG_WITH_LAZY_DEPS_VARS
    177181  /* Compute the values for $^, $+, $?, and $|.  */
    178182
     
    317321  }
    318322
     323#else  /* CONFIG_WITH_LAZY_DEPS_VARS */
     324
     325  /* Make a copy of the current dependency chain for later use in
     326     potential $(dep-pluss $@) calls.  Then drop duplicate deps.  */
     327
     328  /* assert (file->org_deps == NULL); - FIXME? */
     329  free_dep_chain (file->org_deps);
     330  file->org_deps = copy_dep_chain (file->deps);
     331
     332  uniquize_deps (file->deps);
     333
     334#endif /* CONFIG_WITH_LAZY_DEPS_VARS */
    319335#undef  DEFINE_VARIABLE
    320336}
Note: See TracChangeset for help on using the changeset viewer.