[U-Boot-Users] [PATCH] [BUILD] conditionally compile libfdt/*.c in libfdt/Makefile

Modify libfdt/Makefile to conditionally compile the *.c files based on the board config.
Signed-off-by: Kumar Gala galak@kernel.crashing.org ---
This is against u-boot-testing
libfdt/Makefile | 2 +- libfdt/fdt.c | 5 ----- libfdt/fdt_ro.c | 5 ----- libfdt/fdt_rw.c | 5 ----- libfdt/fdt_strerror.c | 5 ----- libfdt/fdt_sw.c | 5 ----- libfdt/fdt_wip.c | 5 ----- 7 files changed, 1 insertions(+), 31 deletions(-)
diff --git a/libfdt/Makefile b/libfdt/Makefile index 126fa2c..d166cce 100644 --- a/libfdt/Makefile +++ b/libfdt/Makefile @@ -27,7 +27,7 @@ LIB = $(obj)libfdt.a
SOBJS =
-COBJS-y += fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_sw.o fdt_wip.o +COBJS-$(CONFIG_OF_LIBFDT) += fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_sw.o fdt_wip.o
COBJS := $(COBJS-y) SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) diff --git a/libfdt/fdt.c b/libfdt/fdt.c index 1ee67ad..212b838 100644 --- a/libfdt/fdt.c +++ b/libfdt/fdt.c @@ -16,9 +16,6 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "config.h" -#if CONFIG_OF_LIBFDT - #include "libfdt_env.h"
#include <fdt.h> @@ -86,5 +83,3 @@ int fdt_move(const void *fdt, void *buf, int bufsize) memmove(buf, fdt, fdt_totalsize(fdt)); return 0; } - -#endif /* CONFIG_OF_LIBFDT */ diff --git a/libfdt/fdt_ro.c b/libfdt/fdt_ro.c index 46d525d..bc1a5f4 100644 --- a/libfdt/fdt_ro.c +++ b/libfdt/fdt_ro.c @@ -16,9 +16,6 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "config.h" -#if CONFIG_OF_LIBFDT - #include "libfdt_env.h"
#include <fdt.h> @@ -532,5 +529,3 @@ int fdt_get_reservemap(void *fdt, int n, struct fdt_reserve_entry *re) } return 0; } - -#endif /* CONFIG_OF_LIBFDT */ diff --git a/libfdt/fdt_rw.c b/libfdt/fdt_rw.c index 55fcc41..852b6e6 100644 --- a/libfdt/fdt_rw.c +++ b/libfdt/fdt_rw.c @@ -16,9 +16,6 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "config.h" -#if CONFIG_OF_LIBFDT - #include "libfdt_env.h"
#include <fdt.h> @@ -320,5 +317,3 @@ int fdt_pack(void *fdt) fdt_set_header(fdt, totalsize, _blob_data_size(fdt)); return 0; } - -#endif /* CONFIG_OF_LIBFDT */ diff --git a/libfdt/fdt_strerror.c b/libfdt/fdt_strerror.c index b49c952..7f231ce 100644 --- a/libfdt/fdt_strerror.c +++ b/libfdt/fdt_strerror.c @@ -16,9 +16,6 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "config.h" -#if CONFIG_OF_LIBFDT - #include "libfdt_env.h"
#include <fdt.h> @@ -65,5 +62,3 @@ const char *fdt_strerror(int errval)
return "<unknown error>"; } - -#endif /* CONFIG_OF_LIBFDT */ diff --git a/libfdt/fdt_sw.c b/libfdt/fdt_sw.c index c7eea8f..672f4dd 100644 --- a/libfdt/fdt_sw.c +++ b/libfdt/fdt_sw.c @@ -16,9 +16,6 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "config.h" -#if CONFIG_OF_LIBFDT - #include "libfdt_env.h"
#include <fdt.h> @@ -227,5 +224,3 @@ int fdt_finish(void *fdt) fdt_set_header(fdt, magic, FDT_MAGIC); return 0; } - -#endif /* CONFIG_OF_LIBFDT */ diff --git a/libfdt/fdt_wip.c b/libfdt/fdt_wip.c index 2d39aab..2d2ed37 100644 --- a/libfdt/fdt_wip.c +++ b/libfdt/fdt_wip.c @@ -16,9 +16,6 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "config.h" -#if CONFIG_OF_LIBFDT - #include "libfdt_env.h"
#include <fdt.h> @@ -138,5 +135,3 @@ int fdt_replace_reservemap_entry(void *fdt, int n, uint64_t addr, uint64_t size)
return 0; } - -#endif /* CONFIG_OF_LIBFDT */

Kumar Gala wrote:
Modify libfdt/Makefile to conditionally compile the *.c files based on the board config.
Signed-off-by: Kumar Gala galak@kernel.crashing.org
This is against u-boot-testing
libfdt/Makefile | 2 +- libfdt/fdt.c | 5 ----- libfdt/fdt_ro.c | 5 ----- libfdt/fdt_rw.c | 5 ----- libfdt/fdt_strerror.c | 5 ----- libfdt/fdt_sw.c | 5 ----- libfdt/fdt_wip.c | 5 ----- 7 files changed, 1 insertions(+), 31 deletions(-)
Joy!
It looks like the side effect of Grant's improvement just removed all of the #ifdefs I hacked into the libfdt primary .c files.
Side note: I was playing last night with the "what if" of deleting (git rm libfdt/*.[ch]) all the "standard" libfdt code, then re-importing it. Effectively rebaselining in a kerchunk rather than a patch-forward that Kumar has been doing.
The advantages would be: * It would be clearer that u-boot/libfdt version 2007-11-X == dtc/libfdt version 2007-11-X and then we could more easily track changes forward. * The removal patch is less than 40K (email list limit), but the re-import patch is around 70K (IIRC) so that doesn't help.
My current conclusion is that it isn't worth the effort. * The re-import still has a size vs. email list problem * Since some libfdt routines changed, other (client) routines must be changed at the same time as the re-import (Kumar's patch rolls libfdt forward _and_ fixes the handful of calls, so it doesn't have a "broken spot" in between patches).
Thanks to all! gvb

On Nov 21, 2007, at 9:15 AM, Jerry Van Baren wrote:
Kumar Gala wrote:
Modify libfdt/Makefile to conditionally compile the *.c files based on the board config. Signed-off-by: Kumar Gala galak@kernel.crashing.org
This is against u-boot-testing libfdt/Makefile | 2 +- libfdt/fdt.c | 5 ----- libfdt/fdt_ro.c | 5 ----- libfdt/fdt_rw.c | 5 ----- libfdt/fdt_strerror.c | 5 ----- libfdt/fdt_sw.c | 5 ----- libfdt/fdt_wip.c | 5 ----- 7 files changed, 1 insertions(+), 31 deletions(-)
Joy!
It looks like the side effect of Grant's improvement just removed all of the #ifdefs I hacked into the libfdt primary .c files.
Side note: I was playing last night with the "what if" of deleting (git rm libfdt/*.[ch]) all the "standard" libfdt code, then re- importing it. Effectively rebaselining in a kerchunk rather than a patch-forward that Kumar has been doing.
The advantages would be:
- It would be clearer that u-boot/libfdt version 2007-11-X == dtc/
libfdt version 2007-11-X and then we could more easily track changes forward.
- The removal patch is less than 40K (email list limit), but the re-
import patch is around 70K (IIRC) so that doesn't help.
My current conclusion is that it isn't worth the effort.
- The re-import still has a size vs. email list problem
- Since some libfdt routines changed, other (client) routines must
be changed at the same time as the re-import (Kumar's patch rolls libfdt forward _and_ fixes the handful of calls, so it doesn't have a "broken spot" in between patches).
I've just created a libfdt_testing branch that is based on this patch + u-boot-testing.
If you do a diff between dtc/libfdt and u-boot/libfdt we now see no differences.
- k

On Wed, 2007-11-21 at 09:29, Kumar Gala wrote:
I've just created a libfdt_testing branch that is based on this patch
- u-boot-testing.
Sweet.
If you do a diff between dtc/libfdt and u-boot/libfdt we now see no differences.
- k
Double sweet. But does it still work? :-)
jdl

On Wed, 2007-11-21 at 09:15, Jerry Van Baren wrote:
Joy!
It looks like the side effect of Grant's improvement just removed all of the #ifdefs I hacked into the libfdt primary .c files.
Curious, that, eh?
My current conclusion is that it isn't worth the effort.
- The re-import still has a size vs. email list problem
- Since some libfdt routines changed, other (client) routines must be
changed at the same time as the re-import (Kumar's patch rolls libfdt forward _and_ fixes the handful of calls, so it doesn't have a "broken spot" in between patches).
In any event, just post patches, broken wherever, and if needed for atomicity reason, they can be pulled from a repo with one git command later.
Well, that's what seems reasonable to me anyway.
jdl
participants (3)
-
Jerry Van Baren
-
Jon Loeliger
-
Kumar Gala