Message ID | 20211223111348.3532601-1-thierry.bultel@linatsea.fr |
---|---|
State | Changes Requested |
Headers | show |
Series | [v3,1/3] package/cross-ldd: new package | expand |
Thierry, All, On 2021-12-23 12:13 +0100, Thierry Bultel spake thusly: > cross-ldd works just as ldd, but supports > other architectures. It is needed by dracut, for instance. > > Signed-off-by: Thierry Bultel <thierry.bultel@linatsea.fr> > --- [--SNIP--] > diff --git a/package/cross-ldd/Config.in b/package/cross-ldd/Config.in > new file mode 100644 > index 0000000000..3858fbc5fe > --- /dev/null > +++ b/package/cross-ldd/Config.in > @@ -0,0 +1,7 @@ > +config BR2_PACKAGE_HOST_CROSS_LDD > + bool "cross-ldd" I don't think this tool warrants a Kconfig entry. I.e. it should be a blind host-only package, with no Config.in. > + help > + ldd drop-in replacement for cross-compilation > + toolchains. > + This is the officially supported version mentioned > + in the dracut documentation It would have been nice to add a pointer to that documentation (I spent quite some time look for it...). It's in: docs/README.cross > diff --git a/package/cross-ldd/cross-ldd.mk b/package/cross-ldd/cross-ldd.mk > new file mode 100644 > index 0000000000..fc0752adff > --- /dev/null > +++ b/package/cross-ldd/cross-ldd.mk > @@ -0,0 +1,19 @@ > +################################################################################ > +# > +# cross-ldd > +# > +################################################################################ > + > +CROSS_LDD_VERSION = 6c9c724ebd6a29c279c6e5734e44c07f067808ec > +CROSS_LDD_SOURCE = $(CROSS_LDD_VERSION).tar.gz > +CROSS_LDD_SITE = https://gist.github.com/jerome-pouiller/c403786c1394f53f44a3b61214489e6f/archive I find it really sad that we have to use a random gist without proper packaging or repository... :-( But I guess we don't have much options... You are missing the license for that script: CROSS_LDD_LICENSE = GPL-2.0 (I should know, I wrote it! ;-) And incidentally, it is also mentioned in the help text.) > +# Notice that we change the name to '-ldd-cross', in order to avoid conflict > +# with some external toolchains that implement it -ldd-cross is still too generic. Make it really specific to buildroot, by calling it -ldd-buildroot > +define HOST_CROSS_LDD_INSTALL_CMDS > + $(SED) 's/-ldd}/-ldd-cross}'/g $(@D)/cross-compile-ldd > + install -D -m 755 $(@D)/cross-compile-ldd $(TARGET_CROSS)ldd-cross > +endef This install comand does two things: - modify the source script - install the modified script Semantically, we want to separate actions that happen in the source tree into one of the extract, patch, configure, or build commands. Also, usually, we shy away from patching with sed expressions, and we prefer actual patches. Regards, Yann E. MORIN. > + > +$(eval $(host-generic-package)) > -- > 2.25.1 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
diff --git a/package/Config.in b/package/Config.in index bcb23132c9..5d0f858c03 100644 --- a/package/Config.in +++ b/package/Config.in @@ -162,6 +162,7 @@ menu "Development tools" source "package/check/Config.in" source "package/cmake/Config.in" source "package/cppunit/Config.in" + source "package/cross-ldd/Config.in" source "package/cukinia/Config.in" source "package/cunit/Config.in" source "package/cvs/Config.in" diff --git a/package/cross-ldd/Config.in b/package/cross-ldd/Config.in new file mode 100644 index 0000000000..3858fbc5fe --- /dev/null +++ b/package/cross-ldd/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_CROSS_LDD + bool "cross-ldd" + help + ldd drop-in replacement for cross-compilation + toolchains. + This is the officially supported version mentioned + in the dracut documentation diff --git a/package/cross-ldd/cross-ldd.mk b/package/cross-ldd/cross-ldd.mk new file mode 100644 index 0000000000..fc0752adff --- /dev/null +++ b/package/cross-ldd/cross-ldd.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# cross-ldd +# +################################################################################ + +CROSS_LDD_VERSION = 6c9c724ebd6a29c279c6e5734e44c07f067808ec +CROSS_LDD_SOURCE = $(CROSS_LDD_VERSION).tar.gz +CROSS_LDD_SITE = https://gist.github.com/jerome-pouiller/c403786c1394f53f44a3b61214489e6f/archive + +# Notice that we change the name to '-ldd-cross', in order to avoid conflict +# with some external toolchains that implement it + +define HOST_CROSS_LDD_INSTALL_CMDS + $(SED) 's/-ldd}/-ldd-cross}'/g $(@D)/cross-compile-ldd + install -D -m 755 $(@D)/cross-compile-ldd $(TARGET_CROSS)ldd-cross +endef + +$(eval $(host-generic-package))