On Wed, 2 Jan 2002 17:54:22 +0100, 
Jean-Luc Leger <[EMAIL PROTECTED]> wrote:
>I think I have found some bugs :
>
>drivers/net/wireless/Makefile.in: (from kbuild-2.5-2.4.16-3.bz2)
>select(CONFIG_PCMCIA_HERMESi   orinoco_cs.o)
>
>should be
>
>select(CONFIG_PCMCIA_HERMES     orinoco_cs.o)

vi 'i' command when already in insert mode.

>net/ipv4/netfilter/Makefile.in:
>
>select(CONFIG_IP_NF_MATCH_TTL ipt_ttl.o)
>
>is missing though it is in Makefile

Added.

>kernel/Makefile.in: (from kbuild-2.5-2.5.1-1.bz2)
>
>sched.o and dma.o are selected twice. The patch seems buggy :
>
> select(sched.o)
> 
> select(!CONFIG_ARM dma.o)
> 
>-select(fork.o exec_domain.o panic.o printk.o module.o exit.o itimer.o info.o
>...
>+select(sched.o dma.o fork.o exec_domain.o panic.o printk.o module.o exit.o

I vaguely remember somebody (rmk?) saying that dma.o should only be
selected if it is not ARM, but that patch never made it to Linus's
tree.  The first two select statements can deleted from 2.4.16-3 but
then the 2.5.1-1 patch would fail due to lack of context.  It does no
harm to leave them in for now, the end effect is the same.

This is my current set of bug fixes and syncing with ESR, against
2.4.16-3.  kernel/Makefile.in has been changed in my tree but omitted
from this patch to allow 2.5 patches to still fit, it is at the end
indented by '# ' to stop patch applying it.

Index: 16.46/Makefile-2.5
--- 16.46/Makefile-2.5 Wed, 26 Dec 2001 18:35:33 +1100 kaos 
(linux-2.4/E/d/40_Makefile-2 1.32.2.16 644)
+++ 16.57(w)/Makefile-2.5 Tue, 01 Jan 2002 23:12:28 +1100 kaos 
+(linux-2.4/E/d/40_Makefile-2 1.32.2.18 644)
@@ -177,7 +177,7 @@ HOSTAFLAGS  := -D__ASSEMBLY__
 HOSTLD         := gcc
 HOSTLDFLAGS    :=
 HOSTAR         := ar
-HOSTARFLAGS    :=
+HOSTARFLAGS    := rcs
 
 CROSS_COMPILE  :=
 
@@ -374,11 +374,11 @@ clean:
        $(KBUILD_QUIET)find $(KBUILD_OBJTREE) \
                              \( \
                                 -name core \
-                             -o -name '*.[adio]' \
+                             -o -name '*.[adios]' \
                              -o -name '*.cd' \
                              -o -name '*.orig' \
                              -o -name '*.rej' \
-                             -o -name '*.pyo' \
+                             -o -name '*.py[co]' \
                              -o -name '*~' \
                              -o -name '*.bak' \
                              -o -name '#*#' \
Index: 16.46/net/ipv4/netfilter/Makefile.in
--- 16.46/net/ipv4/netfilter/Makefile.in Tue, 06 Nov 2001 22:27:27 +1100 kaos 
(linux-2.4/I/d/3_Makefile.i 1.4 644)
+++ 16.57(w)/net/ipv4/netfilter/Makefile.in Thu, 03 Jan 2002 07:18:06 +1100 kaos 
+(linux-2.4/I/d/3_Makefile.i 1.4 644)
@@ -51,6 +51,7 @@ select(CONFIG_IP_NF_MATCH_TOS ipt_tos.o)
 
 select(CONFIG_IP_NF_MATCH_LENGTH ipt_length.o)
 
+select(CONFIG_IP_NF_MATCH_TTL ipt_ttl.o)
 select(CONFIG_IP_NF_MATCH_STATE ipt_state.o)
 select(CONFIG_IP_NF_MATCH_UNCLEAN ipt_unclean.o)
 select(CONFIG_IP_NF_MATCH_TCPMSS ipt_tcpmss.o)
Index: 16.46/scripts/Makefile-2.5
--- 16.46/scripts/Makefile-2.5 Thu, 27 Dec 2001 01:07:16 +1100 kaos 
(linux-2.4/I/d/23_Makefile-2 1.39.1.3 644)
+++ 16.57(w)/scripts/Makefile-2.5 Tue, 01 Jan 2002 23:13:41 +1100 kaos 
+(linux-2.4/I/d/23_Makefile-2 1.39.1.3.3.3 644)
@@ -193,7 +240,7 @@ ifeq ($(KBUILD_CML),1)
   config_targets       += randconfig allyes allno allmod
 endif
 ifeq ($(KBUILD_CML),2)
-  config_targets       += ttyconfig advent
+  config_targets       += ttyconfig advent treeconfig
 endif
 $(KBUILD_OBJTREE).config: $(filter $(config_targets),$(MAKECMDGOALS))
 $(config_targets): $(filter autoprobe,$(MAKECMDGOALS))
@@ -280,15 +327,30 @@ $(config_targets): $(filter autoprobe,$(
 #   recursion problem.
 
 
-# Evaluate any settings that depend on .config.
-
-ifneq ($(filter $(config_targets),$(MAKECMDGOALS)),$(MAKECMDGOALS))
-  must_include_config  := 1
-endif
-ifeq ($(MAKECMDGOALS),)
-  must_include_config  := 1
+# Start by assuming that config is required, turn it off only when all targets
+# are known not to depend on .config.  Gradually filter all the special cases
+# out of the targets, if the filtered target list is empty then .config is not
+# required, unless we started with an empty list (default is installable).  Most
+# of these entries will never be explicitly specified except by people debugging
+# kbuild.
+
+include_config := 1
+targets                := $(strip $(MAKECMDGOALS))
+ifneq ($(targets),)
+  targets              := $(patsubst $(scripts_objtree)%,,$(targets))
+  targets              := $(filter-out $(config_targets),$(targets))
+  targets              := $(patsubst $(KBUILD_OBJTREE).tmp_config%,,$(targets))
+  targets              := $(patsubst 
+$(KBUILD_OBJTREE).tmp_global_makefile_in.%,,$(targets))
+  targets              := $(filter-out $(KBUILD_OBJTREE).tmp_env,$(targets))
+  targets              := $(patsubst $(KBUILD_OBJTREE).tmp_filelist.%,,$(targets))
+  targets              := $(filter-out $(KBUILD_OBJTREE).tmp_src,$(targets))
+  targets              := $(filter-out 
+$(scripts_srctree)pp_makefile1_parse_shipped_sum,$(targets))
+  ifeq ($(targets),)
+    include_config     := 0
+  endif
 endif
-ifeq ($(must_include_config),1)
+
+ifeq ($(include_config),1)
   PS_PPID      := ps -o "%p %P %c"
   make_pid     := $(shell $(PS_PPID) | $(AWK) ' \
                        /PPID/ {next} \
@@ -696,56 +758,70 @@ create_config_out: $(tmp_config_links)ru
          [ ! -s .config -o -s config.out ] || \
            (scripts/configtrans.py -t < .config > config.out && echo "Using .config")
 
+# Invoke `best available' front-end for the current display environment.  
+# Prefers X, then curses, falls back to line-oriented if neither is available.
 config: create_config_out
        $(KBUILD_QUIET)$(cmlconfigure) -i config.out $(cmlopts)
        $(KBUILD_QUIET)$(cml.config)
        @$(tmp_config_copyback)
        @$(note_cml_inputs)
 
+# Line-oriented front end.  Useful mainly for ruleset debugging.
 ttyconfig: create_config_out
        $(KBUILD_QUIET)$(cmlconfigure) -t -i config.out $(cmlopts)
        $(KBUILD_QUIET)$(cml.config)
        @$(tmp_config_copyback)
        @$(note_cml_inputs)
 
+# Screen-oriented front end using curses.
 menuconfig: create_config_out
        $(KBUILD_QUIET)$(cmlconfigure) -c -i config.out $(cmlopts)
        $(KBUILD_QUIET)$(cml.config)
        @$(tmp_config_copyback)
        @$(note_cml_inputs)
 
+# Original X front end.
 xconfig: create_config_out
        $(KBUILD_QUIET)$(cmlconfigure) -x -i config.out $(cmlopts)
        $(KBUILD_QUIET)$(cml.config)
        @$(tmp_config_copyback)
        @$(note_cml_inputs)
 
-# Use your existing configuration
+# Alternate X front end using a tree widget.
+treeconfig: create_config_out
+       $(KBUILD_QUIET)$(cmlconfigure) -q -i config.out $(cmlopts)
+       $(KBUILD_QUIET)$(cml.config)
+       @$(tmp_config_copyback)
+       @$(note_cml_inputs)
+
+# Update configuration.  Symbols set in your existing config will be frozen.
 oldconfig: create_config_out
        $(KBUILD_QUIET)$(cmlconfigure) -t -B $(KERNELRELEASE) -I config.out 
$(CONFIGOPTS) rules.out
        $(KBUILD_QUIET)$(cml.config)
        @$(tmp_config_copyback)
        @$(note_cml_inputs)
 
+# Create a default configuration for the specified architecture.
 defconfig: create_config_out
        $(KBUILD_QUIET)yes '' | ($(cmlconfigure) -t -B $(KERNELRELEASE) -I config.out 
$(CONFIGOPTS) rules.out)
        $(KBUILD_QUIET)$(cml.config)
        @$(tmp_config_copyback)
        @$(note_cml_inputs)
 
-# CML2 Adventure
+# CML2 Adventure.
 advent: create_config_out
        cd $(tmp_config_links); $(PYTHON2) -O scripts/cmladvent.py -t -D$(ARCHSYMBOL) 
-B $(KERNELRELEASE) -I config.out $(CONFIGOPTS) rules.out
        $(KBUILD_QUIET)$(cml.config)
        @$(tmp_config_copyback)
        @$(note_cml_inputs)
 
+# Generate a map of the configuration menus.
 $(scripts_objtree)menu-map: $(tmp_config_links)rules.out
        $(KBUILD_QUIET)$(cmlconfigure) -l $(CONFIGOPTS) rules.out > $@ 2>&1
        @$(tmp_config_copyback)
        @$(note_cml_inputs)
 
-CLEAN          += scripts/*.pyo
+CLEAN          += scripts/*.py[co]
 
 # CML2 documentation -- these require docbook-tools and jade.
 # FIXME: Commented out for now, cml2-paper does not exist, cml2-reference is in
@@ -789,10 +865,13 @@ MRPROPER          += $(scripts_objtree)split-inc
 # This checks that .config exists.  It also insists that .config be rebuilt
 # after any change to the cml input files.
 
-ifeq ($(second_pass),1)
+ifneq ($(NO_MAKEFILE_GEN),)
   $(KBUILD_OBJTREE).config: ;
 else
-  $(KBUILD_OBJTREE).config: $(KBUILD_OBJTREE).tmp_filelist.txt
+  ifeq ($(second_pass),1)
+    $(KBUILD_OBJTREE).config: ;
+  else
+    $(KBUILD_OBJTREE).config: $(KBUILD_OBJTREE).tmp_filelist.txt
        @if [ ! -r $@ ]; then \
          echo Error: You must create a .config first.; \
          /bin/false; \
@@ -803,7 +882,8 @@ else
          echo "       Always make one of $(config_targets) after changing CML files"; 
\
          /bin/false; \
        fi
-endif  # second_pass
+  endif        # second_pass
+endif  # NO_MAKEFILE_GEN
 
 # Not a real dependency, this checks for hand editing of .config and for change
 # of tree list.
Index: 16.46/scripts/pp_makefile3.c
--- 16.46/scripts/pp_makefile3.c Wed, 26 Dec 2001 18:35:33 +1100 kaos 
(linux-2.4/m/e/0_pp_makefil 1.23 644)
+++ 16.57(w)/scripts/pp_makefile3.c Wed, 02 Jan 2002 08:55:11 +1100 kaos 
+(linux-2.4/m/e/0_pp_makefil 1.25 644)
@@ -30,10 +30,10 @@
      Expands into
 
      rm $(target).d
-     no modversions or HOSTCC
+     HOSTCC or no modversions
        $({HOST}CC) -Wp,-MD,$(target).d $(flags) srctree[$(srctree)]$(src) -c -o 
$(target) &&
         pp_makefile3b
-     modversions
+     not HOSTCC and modversions
        $(CPP) -Wp,-MD,$(target).d $(flags) srctree[$(srctree)]$(src) -c -o - |
         pp_makefile3a |
         $(CC) $(flags) -o $(target) -c -x cpp-output -
@@ -1023,13 +1023,14 @@ char *standardize_name(const char *name,
   if (*name2 != '/') {
     static char include_asm[] = "include/asm/";
     const int linclude = sizeof(include_asm)-1;
-    char *p;
+    char *p, *p3;
     while ((p = strstr(name2, include_asm))) {
       char *name3 = k_malloc(lname2 + arch_len + 2);
       memcpy(name3, name2, (p-name2)+linclude-1);      /* ...include/asm */
-      name3[linclude-1] = '-';                                 /* ...include/asm- */
-      memcpy(name3+linclude, arch, arch_len);          /* ...include/asm-$(ARCH) */
-      strcpy(name3+linclude+arch_len, p+linclude-1);   /* ...include/asm-$(ARCH)/... 
*/
+      p3 = name3 + (p-name2)+linclude-1;
+      *p3 = '-';                                       /* ...include/asm- */
+      memcpy(p3+1, arch, arch_len);                    /* ...include/asm-$(ARCH) */
+      strcpy(p3+1+arch_len, p+linclude-1);             /* ...include/asm-$(ARCH)/... 
+*/
       free(name2);
       name2 = name3;
       lname2 = strlen(name2);
Index: 16.46/Documentation/kbuild/kbuild-2.5.txt
--- 16.46/Documentation/kbuild/kbuild-2.5.txt Fri, 28 Dec 2001 10:46:16 +1100 kaos 
(linux-2.4/G/e/50_kbuild-2.5 1.54 644)
+++ 16.57(w)/Documentation/kbuild/kbuild-2.5.txt Sat, 29 Dec 2001 23:11:41 +1100 kaos 
+(linux-2.4/G/e/50_kbuild-2.5 1.55 644)
@@ -1016,28 +1016,19 @@ PRE-PROCESSOR PROGRAMS
 CML2 SUPPORT
 
   kbuild 2.5 supports CML2 but it does not include the CML2 Python scripts
-  and .cml files.  The default is to use CML1, until CML1 is removed.  To use
-  CML2 in kbuild 2.5, follow these steps:
+  and .cml files.  The default is to use CML1, until CML1 is removed.
 
-    Set KBUILD_SRCTREE_000.
-    Fetch and unpack the latest CML2 tarball, you need at least CML2 1.9.11.
-    cd unpacked_cml2_directory
-    (cd kernel-tree; \
-      find -type f \! -name '*.rej' \! -name '*.orig' \! -name '*old' \
-      \! -name symbols.cml | cpio -pmdva $KBUILD_SRCTREE_000; )
-    /bin/ls *.py | cpio -pmdva $KBUILD_SRCTREE_000/scripts
-    ./helpmerge.py $KBUILD_SRCTREE_000/Documentation/Configure.help \
-      kernel-tree/symbols.cml > $KBUILD_SRCTREE_000/symbols.cml
+  To use CML2 with kbuild-2.5, run `install-cml2' from the CML2
+  distribution directory just as you would to install in a kbuild-2.4
+  source tree.  This will install the Python files and correctly
+  modify the old (2.4) Makefile.  The kbuild-2.5 Makefile already
+  includes CML2 configuration productions.  If the 2.5 has been installed
+  as `Makefile', the CML2 installer will detect this and leave it alone.
+  Note: this only works on CML2 1.9.16 or later.
 
-  If your python 2 binary is not installed as 'python' then the last command
-  needs 'python2 ./helpmerge.py' (or wherever your python 2 binary is
-  installed).  If helpmerge.py complains about invalid syntax on '+=' then
-  you need a python2 override.
-
-  Do not run install-cml2 from the CML2 package, kbuild 2.5 already has full
-  support for CML2.  After the steps above you can build for either CML1 or
-  for CML2.  make KBUILD_CML=1 or 2, the default is 1.  When you switch from
-  CML1 to 2 or vice versa, you must first run make mrproper under the old
+  After the steps above you can build for either CML1 or for CML2.
+  make KBUILD_CML=1 or 2, the default is 1.  When you switch from CML1
+  to 2 or vice versa, you must first run make mrproper under the old
   CML.
 
 
Index: 16.46/drivers/net/wireless/Makefile.in
--- 16.46/drivers/net/wireless/Makefile.in Fri, 12 Oct 2001 17:43:07 +1000 kaos 
(linux-2.4/H/e/34_Makefile.i 1.2 644)
+++ 16.57(w)/drivers/net/wireless/Makefile.in Thu, 03 Jan 2002 07:16:48 +1100 kaos 
+(linux-2.4/H/e/34_Makefile.i 1.2 644)
@@ -7,7 +7,7 @@
 expsyms(airo.o orinoco.o hermes.o)
 
 select(CONFIG_HERMES           orinoco.o hermes.o)
-select(CONFIG_PCMCIA_HERMESi   orinoco_cs.o)
+select(CONFIG_PCMCIA_HERMES    orinoco_cs.o)
 select(CONFIG_APPLE_AIRPORT    airport.o)
 select(CONFIG_PLX_HERMES       orinoco_plx.o)
 
# Index: 16.46/kernel/Makefile.in
# --- 16.46/kernel/Makefile.in Tue, 20 Nov 2001 23:36:09 +1100 kaos 
(linux-2.4/H/d/39_Makefile.i 1.6 644)
# +++ 16.57(w)/kernel/Makefile.in Thu, 03 Jan 2002 07:28:13 +1100 kaos 
(linux-2.4/H/d/39_Makefile.i 1.6 644)
# @@ -1,13 +1,9 @@
#  
#  expsyms(signal.o sys.o kmod.o context.o ksyms.o pm.o exec_domain.o printk.o)
#  
# -select(sched.o)
# -
# -select(!CONFIG_ARM dma.o)
# -
# -select(fork.o exec_domain.o panic.o printk.o module.o exit.o itimer.o info.o
# -       time.o softirq.o resource.o sysctl.o acct.o capability.o ptrace.o timer.o
# -       user.o signal.o sys.o kmod.o context.o)
# +select(sched.o dma.o fork.o exec_domain.o panic.o printk.o module.o exit.o
# +       itimer.o info.o time.o softirq.o resource.o sysctl.o acct.o capability.o
# +       ptrace.o timer.o user.o signal.o sys.o kmod.o context.o)
#  
#  select(CONFIG_UID16 uid16.o)
#  select(CONFIG_MODULES ksyms.o)


_______________________________________________
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel

Reply via email to