2.4.2-pre1 mkdep and symlinked $TOPDIR

From: Andrew Morton (andrewm@uow.edu.au)
Date: Sun Mar 04 2001 - 00:24:57 EST


Keith,

I do builds in /usr/src/linux, which is a symlink
to /usr/src/linux-akpm. The recent `mkdep' changes
have broken this practice most horridly. When searching
.hdepend, `make' doesn't recognise that nested headers
have changed. This is because .hdepend has things like

/usr/src/linux/include/asm/byteorder.h: \
   /usr/src/linux-akpm/include/asm/types.h \

So when it looks for dependencies for
        /usr/src/linux-akpm/include/asm/byteorder.h

it doesn't find anything. In earlier kernels, the
whole toolchain honoured the symlink form of the name.

The net effect of all this is that changes to included
headers are *not* causing recompiles, and use of a
symlinked $TOPDIR is not feasible.

The workaround at this time is to do a `cd' to the
real $TOPDIR directory before starting development,
rather than a `cd' to the symlink.

If it is your intention that everything in the
build system use the "real" pathname then I suggest
we need to make it happen consistently. Or can we
restore the old behaviour?

--- linux-2.4.3-pre1/scripts/mkdep.c Sat Mar 3 20:52:24 2001
+++ linux-akpm/scripts/mkdep.c Sun Mar 4 16:16:00 2001
@@ -218,19 +218,12 @@
 void add_path(const char * name)
 {
         struct path_struct *path;
- char resolved_path[PATH_MAX+1];
         const char *name2;
 
- if (strcmp(name, ".")) {
- name2 = realpath(name, resolved_path);
- if (!name2) {
- fprintf(stderr, "realpath(%s) failed, %m\n", name);
- exit(1);
- }
- }
- else {
+ if (strcmp(name, "."))
+ name2 = name;
+ else
                 name2 = "";
- }
 
         path_array = realloc(path_array, (++paths)*sizeof(*path_array));
         if (!path_array) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Mar 07 2001 - 21:00:15 EST