From dd1ccddf1b33972966760857092eb9b659b7a40a Mon Sep 17 00:00:00 2001 From: "\"Vladimir N. Oleynik\"" Date: Thu, 16 Feb 2006 15:40:24 +0000 Subject: moved BB_BANNER to applets/version.c file: make kernel like version, removed depend loop: busybox.h depend with BB_BT, and all sources depend with busybox.h --- applets/Makefile.in | 2 +- include/busybox.h | 6 +----- libbb/messages.c | 7 ++++++- scripts/bb_mkdep.c | 17 ++++++++++++++--- shell/ash.c | 5 +++-- shell/hush.c | 5 +++-- shell/lash.c | 2 +- shell/msh.c | 4 ++-- sysklogd/klogd.c | 2 +- sysklogd/syslogd.c | 2 +- 10 files changed, 33 insertions(+), 19 deletions(-) diff --git a/applets/Makefile.in b/applets/Makefile.in index a4890c2fb..02bcda93b 100644 --- a/applets/Makefile.in +++ b/applets/Makefile.in @@ -10,7 +10,7 @@ APPLETS_DIR:=$(top_builddir)/applets/ endif srcdir=$(top_srcdir)/applets -APPLET_SRC:= $(patsubst %,$(srcdir)/%,applets.c busybox.c) +APPLET_SRC:= $(patsubst %,$(srcdir)/%,applets.c busybox.c version.c) APPLET_OBJ:= $(patsubst $(srcdir)/%.c,$(APPLETS_DIR)%.o, $(APPLET_SRC)) APPLET_SRC-y+=$(APPLET_SRC) diff --git a/include/busybox.h b/include/busybox.h index 9fb95036e..18f9dd56e 100644 --- a/include/busybox.h +++ b/include/busybox.h @@ -21,11 +21,7 @@ #error "Sorry, this libc version is not supported :(" #endif -#ifndef BB_EXTRA_VERSION -#define BB_BANNER "BusyBox v" BB_VER " (" BB_BT ")" -#else -#define BB_BANNER "BusyBox v" BB_VER " (" BB_EXTRA_VERSION ")" -#endif +extern const char BB_BANNER[]; #include diff --git a/libbb/messages.c b/libbb/messages.c index e11dddc50..23f0ea2ba 100644 --- a/libbb/messages.c +++ b/libbb/messages.c @@ -22,7 +22,12 @@ #include "libbb.h" #ifdef L_full_version - const char * const bb_msg_full_version = BB_BANNER " multi-call binary"; +#ifndef BB_EXTRA_VERSION +#define LIBBB_BANNER "BusyBox's library v" BB_VER " (" BB_BT ")" +#else +#define LIBBB_BANNER "BusyBox's library v" BB_VER " (" BB_EXTRA_VERSION ")" +#endif + const char * const libbb_msg_full_version = LIBBB_BANNER; #endif #ifdef L_memory_exhausted const char * const bb_msg_memory_exhausted = "memory exhausted"; diff --git a/scripts/bb_mkdep.c b/scripts/bb_mkdep.c index a4f97c211..943745e28 100644 --- a/scripts/bb_mkdep.c +++ b/scripts/bb_mkdep.c @@ -1,5 +1,5 @@ /* - * Another fast dependencies generator for Makefiles, Version 4.1 + * Another fast dependencies generator for Makefiles, Version 4.2 * * Copyright (C) 2005,2006 by Vladimir Oleynik * @@ -1261,6 +1261,7 @@ static void parse_inc(const char *include, const char *fname) llist_t *lo; char *ap; size_t key_sz; + struct stat st; if(*include == '/') { lo = NULL; @@ -1284,8 +1285,18 @@ static void parse_inc(const char *include, const char *fname) free(ap); return; } - if(access(ap, F_OK) == 0) { + if(stat(ap, &st) == 0) { /* found */ + llist_t *cfl; + + for(cfl = configs; cfl; cfl = cfl->link) { + struct stat *config = (struct stat *)cfl->data; + + if (st.st_dev == config->st_dev && st.st_ino == config->st_ino) { + /* skip depend with bb_configs.h */ + return NULL; + } + } p_i = ap; break; } else if(lo == NULL) { @@ -1501,7 +1512,7 @@ parse_chd(const char *fe, const char *p, size_t dirlen) struct stat *config = (struct stat *)cfl->data; if (st.st_dev == config->st_dev && st.st_ino == config->st_ino) { - /* skip already parsed configs.h */ + /* skip already parsed bb_configs.h */ return NULL; } } diff --git a/shell/ash.c b/shell/ash.c index e9e6def22..9eb395fd9 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -11833,8 +11833,9 @@ setinteractive(int on) if(!do_banner) { out1fmt( - "\n\n" BB_BANNER " Built-in shell (ash)\n" - "Enter 'help' for a list of built-in commands.\n\n"); + "\n\n%s Built-in shell (ash)\n" + "Enter 'help' for a list of built-in commands.\n\n", + BB_BANNER); do_banner++; } } diff --git a/shell/hush.c b/shell/hush.c index 8b6cbe7c9..387b6cd7a 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -104,7 +104,7 @@ #include "standalone.h" #define hush_main main #undef CONFIG_FEATURE_SH_FANCY_PROMPT -#define BB_BANNER +#define BB_BANNER "" #endif #define SPECIAL_VAR_SYMBOL 03 #define FLAG_EXIT_FROM_LOOP 1 @@ -2812,7 +2812,8 @@ int hush_main(int argc, char **argv) if (interactive) { /* Looks like they want an interactive shell */ #ifndef CONFIG_FEATURE_SH_EXTRA_QUIET - printf( "\n\n" BB_BANNER " hush - the humble shell v0.01 (testing)\n"); + printf( "\n\n%s hush - the humble shell v0.01 (testing)\n", + BB_BANNER); printf( "Enter 'help' for a list of built-in commands.\n\n"); #endif setup_job_control(); diff --git a/shell/lash.c b/shell/lash.c index 1b8aca506..968396e41 100644 --- a/shell/lash.c +++ b/shell/lash.c @@ -1661,7 +1661,7 @@ int lash_main(int argc_l, char **argv_l) //printf( "optind=%d argv[optind]='%s'\n", optind, argv[optind]); /* Looks like they want an interactive shell */ #ifndef CONFIG_FEATURE_SH_EXTRA_QUIET - printf( "\n\n" BB_BANNER " Built-in shell (lash)\n"); + printf( "\n\n%s Built-in shell (lash)\n", BB_BANNER); printf( "Enter 'help' for a list of built-in commands.\n\n"); #endif } else if (local_pending_command==NULL) { diff --git a/shell/msh.c b/shell/msh.c index d56db5714..375b1266e 100644 --- a/shell/msh.c +++ b/shell/msh.c @@ -956,9 +956,9 @@ extern int msh_main(int argc, char **argv) interactive++; #ifndef CONFIG_FEATURE_SH_EXTRA_QUIET #ifdef MSHDEBUG - printf("\n\n" BB_BANNER " Built-in shell (msh with debug)\n"); + printf("\n\n%s Built-in shell (msh with debug)\n", BB_BANNER); #else - printf("\n\n" BB_BANNER " Built-in shell (msh)\n"); + printf("\n\n%s Built-in shell (msh)\n", BB_BANNER); #endif printf("Enter 'help' for a list of built-in commands.\n\n"); #endif diff --git a/sysklogd/klogd.c b/sysklogd/klogd.c index b8d69c445..5be833f5b 100644 --- a/sysklogd/klogd.c +++ b/sysklogd/klogd.c @@ -61,7 +61,7 @@ static void doKlogd(const int console_log_level) if (console_log_level != -1) klogctl(8, NULL, console_log_level); - syslog(LOG_NOTICE, "klogd started: " BB_BANNER); + syslog(LOG_NOTICE, "klogd started: %s", BB_BANNER); while (1) { /* Use kernel syscalls */ diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c index c827fd85a..447d891bd 100644 --- a/sysklogd/syslogd.c +++ b/sysklogd/syslogd.c @@ -568,7 +568,7 @@ static void doSyslogd(void) } #endif - logMessage(LOG_SYSLOG | LOG_INFO, "syslogd started: " BB_BANNER); + logMessage(LOG_SYSLOG | LOG_INFO, "syslogd started: " "BusyBox v" BB_VER ); for (;;) { -- cgit v1.2.3