diff options
author | Ron Yorston <rmy@pobox.com> | 2018-11-21 10:11:01 +0000 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-11-27 10:38:10 +0100 |
commit | 7b42f8fc76d78fe9c6b0cbe15e1425f2fd9fb5e8 (patch) | |
tree | c18d535a6a1821a683f2bebf0370c1d77c4d86a1 | |
parent | dffc8ff6a638a4ae865821eb2d0852124c096c11 (diff) | |
download | busybox-7b42f8fc76d78fe9c6b0cbe15e1425f2fd9fb5e8.tar.gz |
Tweaks to build process for embedded scripts
- Force a rebuild if a script in applets_sh is changed.
- Move the dummy usage messages for custom applets to usage.h and
change the name from 'dummy' to 'scripted'.
- Hide an error from gen_build_files.sh if an embed directory exists
but is empty.
- Tidy up embedded_scripts script.
v2: Remove a couple of unnecessary tests in embedded_scripts, as
pointed out by Xabier Oneca.
Drop the stripping of comments.
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | include/applets.src.h | 6 | ||||
-rw-r--r-- | include/usage.src.h | 3 | ||||
-rwxr-xr-x | scripts/embedded_scripts | 22 | ||||
-rwxr-xr-x | scripts/gen_build_files.sh | 4 |
5 files changed, 14 insertions, 23 deletions
@@ -853,7 +853,7 @@ quiet_cmd_split_autoconf = SPLIT include/autoconf.h -> include/config/* quiet_cmd_gen_embedded_scripts = GEN include/embedded_scripts.h cmd_gen_embedded_scripts = $(srctree)/scripts/embedded_scripts include/embedded_scripts.h $(srctree)/embed $(srctree)/applets_sh #bbox# piggybacked generation of few .h files -include/config/MARKER: scripts/basic/split-include include/autoconf.h $(wildcard $(srctree)/embed/*) $(srctree)/scripts/embedded_scripts +include/config/MARKER: scripts/basic/split-include include/autoconf.h $(wildcard $(srctree)/embed/*) $(wildcard $(srctree)/applets_sh/*) $(srctree)/scripts/embedded_scripts $(call cmd,split_autoconf) $(call cmd,gen_bbconfigopts) $(call cmd,gen_common_bufsiz) diff --git a/include/applets.src.h b/include/applets.src.h index a9db5d160..60968cec7 100644 --- a/include/applets.src.h +++ b/include/applets.src.h @@ -22,12 +22,6 @@ s - suid type: BB_SUID_REQUIRE or BB_SUID_MAYBE applet. */ -#define NOUSAGE_STR "\b" - -#define dummy_trivial_usage NOUSAGE_STR \ - -#define dummy_full_usage "" \ - #if defined(PROTOTYPES) # define APPLET(name,l,s) int name##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; # define APPLET_ODDNAME(name,main,l,s,help) int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; diff --git a/include/usage.src.h b/include/usage.src.h index 00369dfb3..d22efd3ba 100644 --- a/include/usage.src.h +++ b/include/usage.src.h @@ -14,6 +14,9 @@ #define NOUSAGE_STR "\b" +#define scripted_trivial_usage NOUSAGE_STR +#define scripted_full_usage "" + #if !ENABLE_USE_BB_CRYPT || ENABLE_USE_BB_CRYPT_SHA # define CRYPT_METHODS_HELP_STR "des,md5,sha256/512" \ " (default "CONFIG_FEATURE_DEFAULT_PASSWD_ALGO")" diff --git a/scripts/embedded_scripts b/scripts/embedded_scripts index c2e7c6961..86ad44d1d 100755 --- a/scripts/embedded_scripts +++ b/scripts/embedded_scripts @@ -81,21 +81,15 @@ exec >"$target.$$" if [ $n -ne 0 ] then printf '#ifdef DEFINE_SCRIPT_DATA\n' - if [ $n -ne 0 ] - then - printf 'const uint16_t applet_numbers[] = {\n' - for i in $custom_scripts $applet_scripts - do - # TODO support applets with names including invalid characters - printf '\tAPPLET_NO_%s,\n' $i - done - printf '};\n' - fi + printf 'const uint16_t applet_numbers[] = {\n' + for i in $custom_scripts $applet_scripts + do + # TODO support applets with names including invalid characters + printf '\tAPPLET_NO_%s,\n' $i + done + printf '};\n' printf '#else\n' - if [ $n -ne 0 ] - then - printf 'extern const uint16_t applet_numbers[];\n' - fi + printf 'extern const uint16_t applet_numbers[];\n' printf '#endif\n' fi diff --git a/scripts/gen_build_files.sh b/scripts/gen_build_files.sh index 64e4bffa9..362632df3 100755 --- a/scripts/gen_build_files.sh +++ b/scripts/gen_build_files.sh @@ -23,9 +23,9 @@ custom_scripts() custom_loc="$1" if [ -d "$custom_loc" ] then - for i in $(cd "$custom_loc"; ls *) + for i in $(cd "$custom_loc"; ls * 2>/dev/null) do - printf "APPLET_SCRIPTED(%s, scripted, BB_DIR_USR_BIN, BB_SUID_DROP, dummy)\n" $i; + printf "APPLET_SCRIPTED(%s, scripted, BB_DIR_USR_BIN, BB_SUID_DROP, scripted)\n" $i; done fi } |