Lines Matching +full:- +full:- +full:no +full:- +full:install +full:- +full:suggests
7 set -o pipefail
10 [ -z "$KCONFIG_CONFIG" ] && KCONFIG_CONFIG=.config
11 [ -z "$OUTNAME" ] && OUTNAME=toybox
15 [ -z "$CPUS" ] && CPUS=$(($(nproc 2>/dev/null)+1))
21 [ ! -z "$V" ] && echo "$@" || echo -n "$DOTPROG"
30 [ ! -z "$(find "$@" -newer "$CHECK" 2>/dev/null || echo yes)" ]
35 mkdir -p generated/unstripped
50 echo -n "generated/newtoys.h "
53 $SED -n -e 's/^USE_[A-Z0-9_]*(/&/p' toys/*/*.c \
54 | $SED 's/\(.*TOY(\)\([^,]*\),\(.*\)/\2 \1\2,\3/' | sort -s -k 1,1 \
56 [ $? -ne 0 ] && exit 1
59 [ ! -z "$V" ] && echo "Which C files to build..."
64 [ -d ".git" ] && GITHASH="$(git describe --tags --abbrev=12 2>/dev/null)"
65 [ ! -z "$GITHASH" ] && GITHASH="-DTOYBOX_VERSION=\"$GITHASH\""
66 TOYFILES="$($SED -n 's/^CONFIG_\([^=]*\)=.*/\1/p' "$KCONFIG_CONFIG" | xargs | tr ' [A-Z]' '|[a-z]')"
67 TOYFILES="$(egrep -l "TOY[(]($TOYFILES)[ ,]" toys/*/*.c)"
69 BUILD="$(echo ${CROSS_COMPILE}${CC} $CFLAGS -I . $OPTIMIZE $GITHASH)"
70 LIBFILES="$(ls lib/*.c | grep -v lib/help.c)"
75 echo -e "\n\033[1;31mwarning: using unfinished code from toys/pending\033[0m"
96 if ! cmp -s <(genbuildsh 2>/dev/null | head -n 6 ; echo LINK="'"$LDOPTIMIZE $LDFLAGS) \
97 <(head -n 7 generated/build.sh 2>/dev/null | $SED '7s/ -o .*//')
99 echo -n "Library probe"
101 # We trust --as-needed to remove each library if we don't use any symbols
102 # out of it, this loop is because the compiler has no way to ignore a library
110 …${CROSS_COMPILE}${CC} $CFLAGS $LDFLAGS -xc - -o generated/libprobe $LDASNEEDED -l$i > /dev/null 2>…
111 echo -l$i >> generated/optlibs.dat
112 echo -n .
114 rm -f generated/libprobe
120 LINK="$(echo $LDOPTIMIZE $LDFLAGS -o "$UNSTRIPPED" $LDASNEEDED $(cat generated/optlibs.dat))"
133 $SED -n \
134 -e 's/^# CONFIG_\(.*\) is not set.*/\1/' \
135 -e 't notset' \
136 -e 's/^CONFIG_\(.*\)=y.*/\1/' \
137 -e 't isset' \
138 -e 's/^CONFIG_\([^=]*\)=\(.*\)/#define CFG_\1 \2/p' \
139 -e 'd' \
140 -e ':notset' \
141 -e 'h' \
142 -e 's/.*/#define CFG_& 0/p' \
143 -e 'g' \
144 -e 's/.*/#define USE_&(...)/p' \
145 -e 'd' \
146 -e ':isset' \
147 -e 'h' \
148 -e 's/.*/#define CFG_& 1/p' \
149 -e 'g' \
150 -e 's/.*/#define USE_&(...) __VA_ARGS__/p' \
154 if [ generated/mkflags -ot scripts/mkflags.c ]
156 do_loudly $HOSTCC scripts/mkflags.c -o generated/mkflags || exit 1
186 # turn any non-quoted opstring (NULL or 0) into " " (because fscanf can't
189 ) | ${CROSS_COMPILE}${CC} -E - | \
190 $SED -n -e 's/" *"//g;/^#/d;t clear;:clear;s/"/"/p;t;s/\( [AB] \).*/\1 " "/p'
195 # If no pair (because command's disabled in config), use " " for flags
198 done | sort -s | $SED -n -e 's/ A / /;t pair;h;s/\([^ ]*\).*/\1 " "/;x' \
199 -e 'b single;:pair;h;n;:single;s/[^ ]* B //;H;g;s/\n/ /;p' | \
205 echo -n "generated/flags.h "
216 DATA="$($SED -n -e '/^GLOBALS(/,/^)/b got;b;:got' \
217 -e 's/^GLOBALS(/struct '"$NAME"'_data {/' \
218 -e 's/^)/};/' -e 'p' $i)"
220 [ ! -z "$DATA" ] && echo -e "// $i\n\n$DATA\n"
226 echo -n "generated/globals.h "
233 $SED -n 's/struct \(.*\)_data {/ struct \1_data \1;/p'
238 if [ generated/mktags -ot scripts/mktags.c ]
240 do_loudly $HOSTCC scripts/mktags.c -o generated/mktags || exit 1
245 echo -n "generated/tags.h "
247 $SED -n '/TAGGED_ARRAY(/,/^)/{s/.*TAGGED_ARRAY[(]\([^,]*\),/\1/;p}' \
251 if [ generated/config2help -ot scripts/config2help.c ]
253 do_loudly $HOSTCC scripts/config2help.c -o generated/config2help || exit 1
261 [ ! -z "$NOBUILD" ] && exit 0
263 echo -n "Compile $OUTNAME"
264 [ ! -z "$V" ] && echo
270 X="$(ls -1t generated/obj/* 2>/dev/null | tail -n 1)"
272 if [ ! -e "$X" ] || [ ! -z "$(find toys -name "*.h" -newer "$X")" ]
274 rm -rf generated/obj && mkdir -p generated/obj || exit 1
276 rm -f generated/obj/{main,lib_help}.o || exit 1
299 [ "$OUT" -nt "$i" ] && [ -z "$CLICK" -o "$OUT" -ot "$KCONFIG_CONFIG" ] &&
302 do_loudly $BUILD -c $i -o $OUT &
310 [ "$COUNT" -lt "$CPUS" ] && break;
314 COUNT=$(($COUNT-1))
317 [ $DONE -ne 0 ] && break
328 [ $DONE -ne 0 ] && exit 1
331 if [ ! -z "$NOSTRIP" ] ||
332 ! do_loudly ${CROSS_COMPILE}${STRIP} "$UNSTRIPPED" -o "$OUTNAME"
335 rm -f "$OUTNAME" &&
341 # its output the way SUSv4 suggests it do so. While we're at it, make sure
342 # we don't have the "w" bit set so things like bzip2's "cp -f" install don't