diff options
author | Vittorio Giovara <vittorio.giovara@gmail.com> | 2013-11-25 08:46:14 +0000 |
---|---|---|
committer | Vittorio Giovara <vittorio.giovara@gmail.com> | 2013-11-28 15:37:10 +0100 |
commit | 0673ede985a6560e7efb86dab1c58fb7f95ce587 (patch) | |
tree | d3e07b6cadf1621cc52f3679406c0d21fb9cb7f8 | |
parent | 873379939299046b30cdec26a837171029ef8099 (diff) | |
download | ffmpeg-0673ede985a6560e7efb86dab1c58fb7f95ce587.tar.gz |
configure: add strip flags checks
This will check if -wN '..@*' is available and fall back on -x if not;
when none are available, do not run strip at all to prevent removing
functions that might be actually needed.
-rwxr-xr-x | configure | 23 | ||||
-rw-r--r-- | library.mak | 2 |
2 files changed, 24 insertions, 1 deletions
@@ -659,6 +659,10 @@ add_ldflags(){ append LDFLAGS $($ldflags_filter "$@") } +add_stripflags(){ + append STRIPFLAGS "$@" +} + add_extralibs(){ prepend extralibs $($ldflags_filter "$@") } @@ -804,6 +808,20 @@ check_ldflags(){ test_ldflags "$@" && add_ldflags "$@" } +test_stripflags(){ + log test_stripflags "$@" + # call check_cc to get a fresh TMPO + check_cc <<EOF +int main(void) { return 0; } +EOF + check_cmd $strip $STRIPFLAGS "$@" $TMPO +} + +check_stripflags(){ + log check_stripflags "$@" + test_stripflags "$@" && add_stripflags "$@" +} + check_header(){ log check_header "$@" header=$1 @@ -3969,6 +3987,10 @@ check_ldflags -Wl,--warn-common check_ldflags -Wl,-rpath-link=libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic +# add some strip flags +# -wN '..@*' is more selective than -x, but not available everywhere. +check_stripflags -wN \'..@*\' || check_stripflags -x || strip='true' + enabled xmm_clobber_test && check_ldflags -Wl,--wrap,avcodec_open2 \ -Wl,--wrap,avcodec_decode_audio4 \ @@ -4245,6 +4267,7 @@ LD_PATH=$LD_PATH DLLTOOL=$dlltool LDFLAGS=$LDFLAGS SHFLAGS=$(echo $($ldflags_filter $SHFLAGS)) +STRIPFLAGS=$STRIPFLAGS YASMFLAGS=$YASMFLAGS BUILDSUF=$build_suffix FULLNAME=$FULLNAME diff --git a/library.mak b/library.mak index 7292c8a3fe..3876fe33d2 100644 --- a/library.mak +++ b/library.mak @@ -25,7 +25,7 @@ $(SUBDIR)%-test.i: $(SUBDIR)%.c $(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm $(DEPYASM) $(YASMFLAGS) -I $(<D)/ -M -o $@ $< > $(@:.o=.d) $(YASM) $(YASMFLAGS) -I $(<D)/ -o $@ $< - -$(STRIP) -wN '..@*' $@ + -$(STRIP) $(STRIPFLAGS) $@ LIBOBJS := $(OBJS) $(SUBDIR)%.h.o $(TESTOBJS) $(LIBOBJS) $(LIBOBJS:.o=.i): CPPFLAGS += -DHAVE_AV_CONFIG_H |