aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-12-22 15:21:58 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2017-01-01 13:01:04 +0100
commit8d0dedf1f6c1cd984c47767659ffba533cc5c5d4 (patch)
treefd9c4afc92a4f07c5fdf330e29b2e1fc4b288b7f
parente1065da652ca3680fdf465dd502a2bae2c2a89b9 (diff)
downloadbusybox-w32-8d0dedf1f6c1cd984c47767659ffba533cc5c5d4.tar.gz
busybox-w32-8d0dedf1f6c1cd984c47767659ffba533cc5c5d4.tar.bz2
busybox-w32-8d0dedf1f6c1cd984c47767659ffba533cc5c5d4.zip
shell: move "config" blocks above their use in coditional includes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/ash.c163
-rw-r--r--shell/hush.c58
2 files changed, 110 insertions, 111 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 89339182e..b11f36589 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -15,88 +15,6 @@
15 * 15 *
16 * Licensed under GPLv2 or later, see file LICENSE in this source tree. 16 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
17 */ 17 */
18
19/*
20 * The following should be set to reflect the type of system you have:
21 * JOBS -> 1 if you have Berkeley job control, 0 otherwise.
22 * define SYSV if you are running under System V.
23 * define DEBUG=1 to compile in debugging ('set -o debug' to turn on)
24 * define DEBUG=2 to compile in and turn on debugging.
25 *
26 * When debugging is on (DEBUG is 1 and "set -o debug" was executed),
27 * debugging info will be written to ./trace and a quit signal
28 * will generate a core dump.
29 */
30#define DEBUG 0
31/* Tweak debug output verbosity here */
32#define DEBUG_TIME 0
33#define DEBUG_PID 1
34#define DEBUG_SIG 1
35#define DEBUG_INTONOFF 0
36
37#define PROFILE 0
38
39#define JOBS ENABLE_ASH_JOB_CONTROL
40
41#include <setjmp.h>
42#include <fnmatch.h>
43#include <sys/times.h>
44#include <sys/utsname.h> /* for setting $HOSTNAME */
45
46#include "busybox.h" /* for applet_names */
47
48#if defined(__ANDROID_API__) && __ANDROID_API__ <= 24
49/* Bionic at least up to version 24 has no glob() */
50# undef ENABLE_ASH_INTERNAL_GLOB
51# define ENABLE_ASH_INTERNAL_GLOB 1
52#endif
53
54#if !ENABLE_ASH_INTERNAL_GLOB && defined(__UCLIBC__)
55# error uClibc glob() is buggy, use ASH_INTERNAL_GLOB.
56# error The bug is: for "$PWD"/<pattern> ash will escape e.g. dashes in "$PWD"
57# error with backslash, even ones which do not need to be: "/a-b" -> "/a\-b"
58# error glob() should unbackslash them and match. uClibc does not unbackslash,
59# error fails to match dirname, subsequently not expanding <pattern> in it.
60// Testcase:
61// if (glob("/etc/polkit\\-1", 0, NULL, &pglob)) - this returns 0 on uclibc, no bug
62// if (glob("/etc/polkit\\-1/*", 0, NULL, &pglob)) printf("uclibc bug!\n");
63#endif
64
65#if !ENABLE_ASH_INTERNAL_GLOB
66# include <glob.h>
67#endif
68
69#include "unicode.h"
70#include "shell_common.h"
71#if ENABLE_SH_MATH_SUPPORT
72# include "math.h"
73#endif
74#if ENABLE_ASH_RANDOM_SUPPORT
75# include "random.h"
76#else
77# define CLEAR_RANDOM_T(rnd) ((void)0)
78#endif
79
80#include "NUM_APPLETS.h"
81#if NUM_APPLETS == 1
82/* STANDALONE does not make sense, and won't compile */
83# undef CONFIG_FEATURE_SH_STANDALONE
84# undef ENABLE_FEATURE_SH_STANDALONE
85# undef IF_FEATURE_SH_STANDALONE
86# undef IF_NOT_FEATURE_SH_STANDALONE
87# define ENABLE_FEATURE_SH_STANDALONE 0
88# define IF_FEATURE_SH_STANDALONE(...)
89# define IF_NOT_FEATURE_SH_STANDALONE(...) __VA_ARGS__
90#endif
91
92#ifndef PIPE_BUF
93# define PIPE_BUF 4096 /* amount of buffering in a pipe */
94#endif
95
96#if !BB_MMU
97# error "Do not even bother, ash will not run on NOMMU machine"
98#endif
99
100//config:config ASH 18//config:config ASH
101//config: bool "ash" 19//config: bool "ash"
102//config: default y 20//config: default y
@@ -230,6 +148,87 @@
230//kbuild:lib-$(CONFIG_ASH) += ash.o ash_ptr_hack.o shell_common.o 148//kbuild:lib-$(CONFIG_ASH) += ash.o ash_ptr_hack.o shell_common.o
231//kbuild:lib-$(CONFIG_ASH_RANDOM_SUPPORT) += random.o 149//kbuild:lib-$(CONFIG_ASH_RANDOM_SUPPORT) += random.o
232 150
151/*
152 * The following should be set to reflect the type of system you have:
153 * JOBS -> 1 if you have Berkeley job control, 0 otherwise.
154 * define SYSV if you are running under System V.
155 * define DEBUG=1 to compile in debugging ('set -o debug' to turn on)
156 * define DEBUG=2 to compile in and turn on debugging.
157 *
158 * When debugging is on (DEBUG is 1 and "set -o debug" was executed),
159 * debugging info will be written to ./trace and a quit signal
160 * will generate a core dump.
161 */
162#define DEBUG 0
163/* Tweak debug output verbosity here */
164#define DEBUG_TIME 0
165#define DEBUG_PID 1
166#define DEBUG_SIG 1
167#define DEBUG_INTONOFF 0
168
169#define PROFILE 0
170
171#define JOBS ENABLE_ASH_JOB_CONTROL
172
173#include <setjmp.h>
174#include <fnmatch.h>
175#include <sys/times.h>
176#include <sys/utsname.h> /* for setting $HOSTNAME */
177
178#include "busybox.h" /* for applet_names */
179
180#if defined(__ANDROID_API__) && __ANDROID_API__ <= 24
181/* Bionic at least up to version 24 has no glob() */
182# undef ENABLE_ASH_INTERNAL_GLOB
183# define ENABLE_ASH_INTERNAL_GLOB 1
184#endif
185
186#if !ENABLE_ASH_INTERNAL_GLOB && defined(__UCLIBC__)
187# error uClibc glob() is buggy, use ASH_INTERNAL_GLOB.
188# error The bug is: for "$PWD"/<pattern> ash will escape e.g. dashes in "$PWD"
189# error with backslash, even ones which do not need to be: "/a-b" -> "/a\-b"
190# error glob() should unbackslash them and match. uClibc does not unbackslash,
191# error fails to match dirname, subsequently not expanding <pattern> in it.
192// Testcase:
193// if (glob("/etc/polkit\\-1", 0, NULL, &pglob)) - this returns 0 on uclibc, no bug
194// if (glob("/etc/polkit\\-1/*", 0, NULL, &pglob)) printf("uclibc bug!\n");
195#endif
196
197#if !ENABLE_ASH_INTERNAL_GLOB
198# include <glob.h>
199#endif
200
201#include "unicode.h"
202#include "shell_common.h"
203#if ENABLE_SH_MATH_SUPPORT
204# include "math.h"
205#endif
206#if ENABLE_ASH_RANDOM_SUPPORT
207# include "random.h"
208#else
209# define CLEAR_RANDOM_T(rnd) ((void)0)
210#endif
211
212#include "NUM_APPLETS.h"
213#if NUM_APPLETS == 1
214/* STANDALONE does not make sense, and won't compile */
215# undef CONFIG_FEATURE_SH_STANDALONE
216# undef ENABLE_FEATURE_SH_STANDALONE
217# undef IF_FEATURE_SH_STANDALONE
218# undef IF_NOT_FEATURE_SH_STANDALONE
219# define ENABLE_FEATURE_SH_STANDALONE 0
220# define IF_FEATURE_SH_STANDALONE(...)
221# define IF_NOT_FEATURE_SH_STANDALONE(...) __VA_ARGS__
222#endif
223
224#ifndef PIPE_BUF
225# define PIPE_BUF 4096 /* amount of buffering in a pipe */
226#endif
227
228#if !BB_MMU
229# error "Do not even bother, ash will not run on NOMMU machine"
230#endif
231
233 232
234/* ============ Hash table sizes. Configurable. */ 233/* ============ Hash table sizes. Configurable. */
235 234
diff --git a/shell/hush.c b/shell/hush.c
index 888be6e6e..c5821259a 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -82,35 +82,6 @@
82 * $ "export" i=`echo 'aaa bbb'`; echo "$i" 82 * $ "export" i=`echo 'aaa bbb'`; echo "$i"
83 * aaa 83 * aaa
84 */ 84 */
85#if !(defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) \
86 || defined(__APPLE__) \
87 )
88# include <malloc.h> /* for malloc_trim */
89#endif
90#include <glob.h>
91/* #include <dmalloc.h> */
92#if ENABLE_HUSH_CASE
93# include <fnmatch.h>
94#endif
95#include <sys/utsname.h> /* for setting $HOSTNAME */
96
97#include "busybox.h" /* for APPLET_IS_NOFORK/NOEXEC */
98#include "unicode.h"
99#include "shell_common.h"
100#include "math.h"
101#include "match.h"
102#if ENABLE_HUSH_RANDOM_SUPPORT
103# include "random.h"
104#else
105# define CLEAR_RANDOM_T(rnd) ((void)0)
106#endif
107#ifndef F_DUPFD_CLOEXEC
108# define F_DUPFD_CLOEXEC F_DUPFD
109#endif
110#ifndef PIPE_BUF
111# define PIPE_BUF 4096 /* amount of buffering in a pipe */
112#endif
113
114//config:config HUSH 85//config:config HUSH
115//config: bool "hush" 86//config: bool "hush"
116//config: default y 87//config: default y
@@ -277,6 +248,35 @@
277//usage:# define bash_full_usage hush_full_usage 248//usage:# define bash_full_usage hush_full_usage
278//usage:#endif 249//usage:#endif
279 250
251#if !(defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) \
252 || defined(__APPLE__) \
253 )
254# include <malloc.h> /* for malloc_trim */
255#endif
256#include <glob.h>
257/* #include <dmalloc.h> */
258#if ENABLE_HUSH_CASE
259# include <fnmatch.h>
260#endif
261#include <sys/utsname.h> /* for setting $HOSTNAME */
262
263#include "busybox.h" /* for APPLET_IS_NOFORK/NOEXEC */
264#include "unicode.h"
265#include "shell_common.h"
266#include "math.h"
267#include "match.h"
268#if ENABLE_HUSH_RANDOM_SUPPORT
269# include "random.h"
270#else
271# define CLEAR_RANDOM_T(rnd) ((void)0)
272#endif
273#ifndef F_DUPFD_CLOEXEC
274# define F_DUPFD_CLOEXEC F_DUPFD
275#endif
276#ifndef PIPE_BUF
277# define PIPE_BUF 4096 /* amount of buffering in a pipe */
278#endif
279
280 280
281/* Build knobs */ 281/* Build knobs */
282#define LEAK_HUNTING 0 282#define LEAK_HUNTING 0