trylink: detect linker flag support for non-GNU linkers
No binary (build failed)
gcc -Wp,-MD,applets/.usage.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -Iinclude -Iinclude -o applets/usage applets/usage.c
(log yok)
| @@ -95,8 +95,34 @@ fi | |
| START_GROUP="-Wl,--start-group" | |
| END_GROUP="-Wl,--end-group" | |
| + | if ! check_cc "-Wl,--start-group -Wl,--end-group"; then |
| + | echo "Your linker does not support --start-group" |
| + | START_GROUP="" |
| + | END_GROUP="" |
| + | fi |
| + | |
| + | WARN_COMMON="-Wl,--warn-common" |
| + | if ! check_cc "-Wl,--warn-common"; then |
| + | echo "Your linker does not support --warn-common" |
| + | WARN_COMMON="" |
| + | fi |
| + | |
| + | MAP_OPT=true |
| + | if ! check_cc "-Wl,-Map,/dev/null"; then |
| + | echo "Your linker does not support -Map" |
| + | MAP_OPT=false |
| + | fi |
| + | |
| + | VERBOSE_OPT="-Wl,--verbose" |
| + | if ! check_cc "-Wl,--verbose"; then |
| + | echo "Your linker does not support --verbose" |
| + | VERBOSE_OPT="" |
| + | fi |
| + | |
| INFO_OPTS() { | |
| - | echo "-Wl,--warn-common -Wl,-Map,$EXE.map -Wl,--verbose" |
| + | local map_flag="" |
| + | $MAP_OPT && map_flag="-Wl,-Map,$EXE.map" |
| + | echo "$WARN_COMMON $map_flag $VERBOSE_OPT" |
| } | |
| # gold may not support --sort-common (yet) | |