scripts/individual now builds 171 applets. Some of them may even work. :)
This commit is contained in:
parent
59fe8b9089
commit
affb7a61a6
@ -9,6 +9,7 @@ const char *bb_applet_name;
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include "bb_config.h"
|
||||||
#include "usage.h"
|
#include "usage.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
|
@ -105,7 +105,7 @@ USE_ED(APPLET(ed, _BB_DIR_BIN, _BB_SUID_NEVER))
|
|||||||
USE_FEATURE_GREP_EGREP_ALIAS(APPLET_NOUSAGE(egrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER))
|
USE_FEATURE_GREP_EGREP_ALIAS(APPLET_NOUSAGE(egrep, grep, _BB_DIR_BIN, _BB_SUID_NEVER))
|
||||||
USE_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
|
USE_EJECT(APPLET(eject, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
|
||||||
USE_ENV(APPLET(env, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
|
USE_ENV(APPLET(env, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
|
||||||
USE_ETHER_WAKE(APPLET_ODDNAME(ether-wake, etherwake, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ether_wake))
|
USE_ETHER_WAKE(APPLET_ODDNAME(ether-wake, ether_wake, _BB_DIR_USR_BIN, _BB_SUID_NEVER, ether_wake))
|
||||||
USE_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
|
USE_EXPR(APPLET(expr, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
|
||||||
USE_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
|
USE_FAKEIDENTD(APPLET(fakeidentd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
|
||||||
USE_FALSE(APPLET(false, _BB_DIR_BIN, _BB_SUID_NEVER))
|
USE_FALSE(APPLET(false, _BB_DIR_BIN, _BB_SUID_NEVER))
|
||||||
|
@ -105,7 +105,7 @@ static inline void get_dest_addr(const char *arg, struct ether_addr *eaddr);
|
|||||||
static inline int get_fill(unsigned char *pkt, struct ether_addr *eaddr, int broadcast);
|
static inline int get_fill(unsigned char *pkt, struct ether_addr *eaddr, int broadcast);
|
||||||
static inline int get_wol_pw(const char *ethoptarg, unsigned char *wol_passwd);
|
static inline int get_wol_pw(const char *ethoptarg, unsigned char *wol_passwd);
|
||||||
|
|
||||||
int etherwake_main(int argc, char *argv[])
|
int ether_wake_main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char *ifname = "eth0", *pass = NULL;
|
char *ifname = "eth0", *pass = NULL;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
@ -12,21 +12,47 @@ cd libbb
|
|||||||
make
|
make
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
cd archival/libunarchive
|
||||||
|
make
|
||||||
|
cd ../..
|
||||||
|
|
||||||
|
# 146 applets build without any extra stuff. The applet is one C file with
|
||||||
|
# the same name as the corresponding applet, and all it needs to link against
|
||||||
|
# is libbb.a. However, 104 of them need more than that.
|
||||||
|
|
||||||
|
# dpkg_deb gzip
|
||||||
|
function extra_libraries()
|
||||||
|
{
|
||||||
|
archival="ar bunzip2 unlzma cpio dpkg gunzip rpm2cpio rpm tar uncompress unzip dpkg_deb gzip "
|
||||||
|
if [ "${archival/$1 //}" != "${archival}" ]
|
||||||
|
then
|
||||||
|
echo "archival/libunarchive/libunarchive.a"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Here are a few that build in a standard way. Others are easy to get to
|
# Here are a few that build in a standard way. Others are easy to get to
|
||||||
# build, for example miscutils/dc needs -lm and most of loginutils/* needs
|
# build, for example miscutils/dc needs -lm and most of loginutils/* needs
|
||||||
# -lcrypt...
|
# -lcrypt...
|
||||||
|
|
||||||
rm -rf build
|
rm -rf build
|
||||||
mkdir build
|
mkdir build
|
||||||
|
|
||||||
for APPLET in `sed 's .*/ ' busybox.links`
|
for APPLET in `sed 's .*/ ' busybox.links`
|
||||||
do
|
do
|
||||||
j=`find . -name "$APPLET.c"`
|
APPFILT=${APPLET/-/_}
|
||||||
|
j=`find . -name "${APPLET/-/?}.c"` # Because ether-wake.c is broken.
|
||||||
if [ -z "$j" ]
|
if [ -z "$j" ]
|
||||||
then
|
then
|
||||||
echo no file for $APPLET
|
echo no file for $APPLET
|
||||||
else
|
else
|
||||||
echo "Building $APPLET..."
|
echo "Building $APPLET..."
|
||||||
gcc -Os -o build/$APPLET applets/individual.c $j libbb/libbb.a -Iinclude -DAPPLET_main=${APPLET}_main -DAPPLET_full_usage=${APPLET}_full_usage
|
gcc -Os -o build/$APPLET applets/individual.c $j \
|
||||||
|
`extra_libraries $APPFILT` libbb/libbb.a -Iinclude \
|
||||||
|
-DBUILD_INDIVIDUAL \
|
||||||
|
"-Drun_applet_by_name(...)" "-Dfind_applet_by_name(...) 0" \
|
||||||
|
-DAPPLET_main=${APPFILT}_main -DAPPLET_full_usage=${APPFILT}_full_usage
|
||||||
if [ $? -ne 0 ];
|
if [ $? -ne 0 ];
|
||||||
then
|
then
|
||||||
echo "Failed."
|
echo "Failed."
|
||||||
|
Loading…
Reference in New Issue
Block a user