diff --git a/configure b/configure index 1b8c8521441be437e07f421e57f01f6d64fd3bb9..05932970c3eb3686a5f019f1527fe3e133cf4a90 100755 --- a/configure +++ b/configure @@ -730,6 +730,10 @@ add_ldflags(){ append LDFLAGS $($ldflags_filter "$@") } +add_stripflags(){ + append STRIPFLAGS "$@" +} + add_extralibs(){ prepend extralibs $($ldflags_filter "$@") } @@ -892,6 +896,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 @@ -4507,6 +4525,10 @@ check_ldflags -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:l enabled rpath && add_ldflags -Wl,-rpath=$libdir 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 \ @@ -4858,6 +4880,7 @@ LD_PATH=$LD_PATH DLLTOOL=$dlltool LDFLAGS=$LDFLAGS SHFLAGS=$(echo $($ldflags_filter $SHFLAGS)) +STRIPFLAGS=$STRIPFLAGS YASMFLAGS=$YASMFLAGS BUILDSUF=$build_suffix PROGSSUF=$progs_suffix diff --git a/library.mak b/library.mak index e48aba19b9078f3a3dd90e1f32f66fc4abac9f4f..e9128b809d40608ff4203dea90ad99bdb29f8301 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=.s) $(LIBOBJS:.o=.i): CPPFLAGS += -DHAVE_AV_CONFIG_H