Browse Source

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.
tags/n2.2-rc1
Vittorio Giovara 11 years ago
parent
commit
0673ede985
2 changed files with 24 additions and 1 deletions
  1. +23
    -0
      configure
  2. +1
    -1
      library.mak

+ 23
- 0
configure View File

@@ -659,6 +659,10 @@ add_ldflags(){
append LDFLAGS $($ldflags_filter "$@") append LDFLAGS $($ldflags_filter "$@")
} }


add_stripflags(){
append STRIPFLAGS "$@"
}

add_extralibs(){ add_extralibs(){
prepend extralibs $($ldflags_filter "$@") prepend extralibs $($ldflags_filter "$@")
} }
@@ -804,6 +808,20 @@ check_ldflags(){
test_ldflags "$@" && add_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(){ check_header(){
log check_header "$@" log check_header "$@"
header=$1 header=$1
@@ -3969,6 +3987,10 @@ check_ldflags -Wl,--warn-common
check_ldflags -Wl,-rpath-link=libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample check_ldflags -Wl,-rpath-link=libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample
test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic 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 && enabled xmm_clobber_test &&
check_ldflags -Wl,--wrap,avcodec_open2 \ check_ldflags -Wl,--wrap,avcodec_open2 \
-Wl,--wrap,avcodec_decode_audio4 \ -Wl,--wrap,avcodec_decode_audio4 \
@@ -4245,6 +4267,7 @@ LD_PATH=$LD_PATH
DLLTOOL=$dlltool DLLTOOL=$dlltool
LDFLAGS=$LDFLAGS LDFLAGS=$LDFLAGS
SHFLAGS=$(echo $($ldflags_filter $SHFLAGS)) SHFLAGS=$(echo $($ldflags_filter $SHFLAGS))
STRIPFLAGS=$STRIPFLAGS
YASMFLAGS=$YASMFLAGS YASMFLAGS=$YASMFLAGS
BUILDSUF=$build_suffix BUILDSUF=$build_suffix
FULLNAME=$FULLNAME FULLNAME=$FULLNAME


+ 1
- 1
library.mak View File

@@ -25,7 +25,7 @@ $(SUBDIR)%-test.i: $(SUBDIR)%.c
$(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm $(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm
$(DEPYASM) $(YASMFLAGS) -I $(<D)/ -M -o $@ $< > $(@:.o=.d) $(DEPYASM) $(YASMFLAGS) -I $(<D)/ -M -o $@ $< > $(@:.o=.d)
$(YASM) $(YASMFLAGS) -I $(<D)/ -o $@ $< $(YASM) $(YASMFLAGS) -I $(<D)/ -o $@ $<
-$(STRIP) -wN '..@*' $@
-$(STRIP) $(STRIPFLAGS) $@


LIBOBJS := $(OBJS) $(SUBDIR)%.h.o $(TESTOBJS) LIBOBJS := $(OBJS) $(SUBDIR)%.h.o $(TESTOBJS)
$(LIBOBJS) $(LIBOBJS:.o=.i): CPPFLAGS += -DHAVE_AV_CONFIG_H $(LIBOBJS) $(LIBOBJS:.o=.i): CPPFLAGS += -DHAVE_AV_CONFIG_H


Loading…
Cancel
Save