[FFmpeg-cvslog] Revert "Remove support for stripping executables"

Michael Niedermayer git at videolan.org
Fri Apr 1 00:48:26 CEST 2011


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Fri Apr  1 00:24:12 2011 +0200| [b1ca9642a2a3968a6f6ab80c6d2f1c37e9046d3d] | committer: Michael Niedermayer

Revert "Remove support for stripping executables"

People did not like this change.

This reverts commit e0be794a71be25a350f68287ee291b4942bcb7d8.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b1ca9642a2a3968a6f6ab80c6d2f1c37e9046d3d
---

 Makefile   |   14 ++++++++++----
 common.mak |    2 +-
 configure  |   16 +++++++++++++++-
 subdir.mak |    1 +
 4 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile
index 37863b3..4080b82 100644
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,7 @@ PROGS-$(CONFIG_FFPROBE)  += ffprobe
 PROGS-$(CONFIG_FFSERVER) += ffserver
 
 PROGS      := $(PROGS-yes:%=%$(EXESUF))
+PROGS_G     = $(PROGS-yes:%=%_g$(EXESUF))
 OBJS        = $(PROGS-yes:%=%.o) cmdutils.o
 MANPAGES    = $(PROGS-yes:%=doc/%.1)
 PODPAGES    = $(PROGS-yes:%=doc/%.pod)
@@ -20,6 +21,7 @@ HOSTPROGS  := $(TESTTOOLS:%=tests/%)
 
 BASENAMES   = ffmpeg ffplay ffprobe ffserver
 ALLPROGS    = $(BASENAMES:%=%$(EXESUF))
+ALLPROGS_G  = $(BASENAMES:%=%_g$(EXESUF))
 ALLMANPAGES = $(BASENAMES:%=%.1)
 
 FFLIBS-$(CONFIG_AVDEVICE) += avdevice
@@ -51,6 +53,10 @@ INSTALL_PROGS_TARGETS-$(CONFIG_SHARED) = install-libs
 
 all: $(FF_DEP_LIBS) $(PROGS) $(ALL_TARGETS-yes)
 
+$(PROGS): %$(EXESUF): %_g$(EXESUF)
+	$(CP) $< $@
+	$(STRIP) $@
+
 config.h: .config
 .config: $(wildcard $(FFLIBS:%=$(SRC_DIR)/lib%/all*.c))
 	@-tput bold 2>/dev/null
@@ -74,10 +80,10 @@ endef
 
 $(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
 
-ffplay$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
-ffserver$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
+ffplay_g$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
+ffserver_g$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
 
-%$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
+%_g$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
 	$(LD) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS)
 
 tools/%$(EXESUF): tools/%.o
@@ -159,7 +165,7 @@ testclean:
 	$(RM) $(TESTTOOLS:%=tests/%$(HOSTEXESUF))
 
 clean:: testclean
-	$(RM) $(ALLPROGS)
+	$(RM) $(ALLPROGS) $(ALLPROGS_G)
 	$(RM) $(CLEANSUFFIXES)
 	$(RM) doc/*.html doc/*.pod doc/*.1
 	$(RM) $(TOOLS)
diff --git a/common.mak b/common.mak
index 6daf77c..3d1a129 100644
--- a/common.mak
+++ b/common.mak
@@ -21,7 +21,7 @@ endif
 ifndef V
 Q      = @
 ECHO   = printf "$(1)\t%s\n" $(2)
-BRIEF  = CC AS YASM AR LD HOSTCC
+BRIEF  = CC AS YASM AR LD HOSTCC STRIP CP
 SILENT = DEPCC YASMDEP RM RANLIB
 MSG    = $@
 M      = @$(call ECHO,$(TAG),$@);
diff --git a/configure b/configure
index 4cc64af..435bb62 100755
--- a/configure
+++ b/configure
@@ -243,6 +243,7 @@ Developer options (useful when working on FFmpeg itself):
   --enable-debug=LEVEL     set the debug level [$debuglevel]
   --disable-optimizations  disable compiler optimizations
   --enable-extra-warnings  enable more compiler warnings
+  --disable-stripping      disable stripping of executables and shared libraries
   --samples=PATH           location of test samples for FATE, if not set use
                            \$FATE_SAMPLES at make invocation time.
 
@@ -1146,6 +1147,7 @@ CMDLINE_SELECT="
     extra_warnings
     logging
     optimizations
+    stripping
     symver
     yasm
 "
@@ -1183,6 +1185,7 @@ CMDLINE_SET="
     pkg_config
     samples
     source_path
+    strip
     sysinclude
     sysroot
     target_exec
@@ -1622,6 +1625,7 @@ nm_default="nm"
 objformat="elf"
 pkg_config_default=pkg-config
 ranlib="ranlib"
+strip_default="strip"
 yasmexe="yasm"
 nogas=":"
 
@@ -1654,6 +1658,7 @@ enable network
 enable optimizations
 enable protocols
 enable static
+enable stripping
 enable swscale
 enable swscale_alpha
 
@@ -1830,10 +1835,11 @@ cc_default="${cross_prefix}${cc_default}"
 nm_default="${cross_prefix}${nm_default}"
 pkg_config_default="${cross_prefix}${pkg_config_default}"
 ranlib="${cross_prefix}${ranlib}"
+strip_default="${cross_prefix}${strip_default}"
 
 sysinclude_default="${sysroot}/usr/include"
 
-set_default cc nm pkg_config sysinclude
+set_default cc nm pkg_config strip sysinclude
 enabled cross_compile || host_cc_default=$cc
 set_default host_cc
 
@@ -2392,6 +2398,7 @@ case $target_os in
         ;;
     bsd/os)
         add_extralibs -lpoll -lgnugetopt
+        strip="strip -d"
         ;;
     darwin)
         enable malloc_aligned
@@ -2399,6 +2406,7 @@ case $target_os in
         enabled ppc && add_asflags -force_cpusubtype_ALL
         SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)'
         enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress
+        strip="${strip} -x"
         add_ldflags -Wl,-dynamic,-search_paths_first
         SLIBSUF=".dylib"
         SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)'
@@ -2468,6 +2476,7 @@ case $target_os in
         ranlib="echo ignoring ranlib"
         ;;
     os/2*)
+        strip="lxlite -CS"
         ln_s="cp -f"
         add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap
         SHFLAGS='$(SUBDIR)$(NAME).def -Zdll -Zomf'
@@ -3129,6 +3138,7 @@ if enabled sparc; then
     echo "VIS enabled               ${vis-no}"
 fi
 echo "debug symbols             ${debug-no}"
+echo "strip symbols             ${stripping-no}"
 echo "optimizations             ${optimizations-no}"
 echo "static                    ${static-no}"
 echo "shared                    ${shared-no}"
@@ -3224,6 +3234,8 @@ if enabled source_path_used; then
     map 'test -f "$source_path/$v" && $ln_s "$source_path/$v" $v' $FILES
 fi
 
+enabled stripping || strip="echo skipping strip"
+
 config_files="$TMPH config.mak"
 
 cat > config.mak <<EOF
@@ -3251,7 +3263,9 @@ YASM=$yasmexe
 YASMDEP=$yasmexe
 AR=$ar
 RANLIB=$ranlib
+CP=cp -p
 LN_S=$ln_s
+STRIP=$strip
 CPPFLAGS=$CPPFLAGS
 CFLAGS=$CFLAGS
 ASFLAGS=$ASFLAGS
diff --git a/subdir.mak b/subdir.mak
index 7fdeddc..8a407fe 100644
--- a/subdir.mak
+++ b/subdir.mak
@@ -60,6 +60,7 @@ distclean:: clean
 install-lib$(NAME)-shared: $(SUBDIR)$(SLIBNAME)
 	$(Q)mkdir -p "$(SHLIBDIR)"
 	$$(INSTALL) -m 755 $$< "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
+	$$(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
 	$(Q)cd "$(SHLIBDIR)" && \
 		$(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR)
 	$(Q)cd "$(SHLIBDIR)" && \



More information about the ffmpeg-cvslog mailing list