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
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -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) | |
| @@ -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 <features.h> | |
| @@ -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"; | |
| @@ -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 <[email protected]> | |
| * | |
| @@ -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; | |
| } | |
| } | |
| @@ -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++; | |
| } | |
| } | |
| @@ -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(); | |
| @@ -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) { | |
| @@ -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 | |
| @@ -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 */ | |
| @@ -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 (;;) { | |