make a few struct bb_applet members conditional
rename sllep_and_die -> xfunc_die
make fflush_stdout_and_exit NOFORK-safe
fix some buglets found by randomconfig
diff --git a/include/busybox.h b/include/busybox.h
index 6f48087..380de9a 100644
--- a/include/busybox.h
+++ b/include/busybox.h
@@ -9,26 +9,35 @@
 
 #include "libbb.h"
 
+#if ENABLE_FEATURE_INSTALLER
 /* order matters: used as index into "install_dir[]" in busybox.c */
-enum Location {
+typedef enum bb_install_loc_t {
 	_BB_DIR_ROOT = 0,
 	_BB_DIR_BIN,
 	_BB_DIR_SBIN,
 	_BB_DIR_USR_BIN,
 	_BB_DIR_USR_SBIN
-};
+} bb_install_loc_t;
+#endif
 
-enum SUIDRoot {
+#if ENABLE_FEATURE_SUID
+typedef enum bb_suid_t {
 	_BB_SUID_NEVER = 0,
 	_BB_SUID_MAYBE,
 	_BB_SUID_ALWAYS
-};
+} bb_suid_t;
+#endif
 
-struct BB_applet {
+struct bb_applet {
 	const char *name;
 	int (*main) (int argc, char **argv);
-	__extension__ enum Location location:8;
-	__extension__ enum SUIDRoot need_suid:8;
+#if ENABLE_FEATURE_INSTALLER
+	__extension__ enum bb_install_loc_t install_loc:8;
+#endif
+#if ENABLE_FEATURE_SUID
+	__extension__ enum bb_suid_t need_suid:8;
+#endif
+#if ENABLE_FEATURE_EXEC_PREFER_APPLETS
 	/* true if instead if fork(); exec("applet"); waitpid();
 	 * one can do fork(); exit(applet_main(argc,argv)); waitpid(); */
 	unsigned char noexec;
@@ -36,10 +45,11 @@
 	/* true if instead if fork(); exec("applet"); waitpid();
 	 * one can simply call applet_main(argc,argv); */
 	unsigned char nofork;
+#endif
 };
 
 /* Defined in applet.c */
-extern const struct BB_applet applets[];
+extern const struct bb_applet applets[];
 extern const unsigned short NUM_APPLETS;
 
 #endif	/* _BB_INTERNAL_H_ */