[FFmpeg-cvslog] build: Allow generating dependencies as a side-effect of assembling

Diego Biurrun git at videolan.org
Wed Jun 21 23:02:57 EEST 2017


ffmpeg | branch: master | Diego Biurrun <diego at biurrun.de> | Thu Oct 13 00:45:09 2016 +0000| [0cc0c5b6dbf187f9c096de03d999da040197ffe6] | committer: James Almer

build: Allow generating dependencies as a side-effect of assembling

(Cherry-picked from libav commit 3c0efbd03349ae68d3a25a082222652a102e3fd4)

Signed-off-by: James Almer <jamrial at gmail.com>

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

 configure          |  8 ++++++++
 ffbuild/common.mak | 10 +++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/configure b/configure
index 59d7a58131..2f32f99944 100755
--- a/configure
+++ b/configure
@@ -3329,6 +3329,7 @@ CXX_O='-o $@'
 OBJCC_C='-c'
 OBJCC_E='-E -o $@'
 OBJCC_O='-o $@'
+X86ASM_O='-o $@'
 LD_O='-o $@'
 LD_LIB='-l%'
 LD_PATH='-L'
@@ -5491,9 +5492,11 @@ EOF
         if check_cmd $x86asmexe --version; then
             enabled x86_64 && x86asm_extra="-m amd64"
             x86asm_debug="-g dwarf2"
+            X86ASMDEP='$(DEPX86ASM) $(X86ASMFLAGS) -M $(X86ASM_O) $< > $(@:.o=.d)'
         elif check_cmd nasm -v; then
             x86asmexe=nasm
             x86asm_debug="-g -F dwarf"
+            X86ASM_DEPFLAGS='-MD $(@:.o=.d)'
             if enabled x86_64; then
                 case "$objformat" in
                     elf)   objformat=elf64 ;;
@@ -6739,6 +6742,7 @@ DEPAS=$as
 DEPASFLAGS=$DEPASFLAGS \$(CPPFLAGS)
 X86ASM=$x86asmexe
 DEPX86ASM=$x86asmexe
+DEPX86ASMFLAGS=\$(X86ASMFLAGS)
 AR=$ar
 ARFLAGS=$arflags
 AR_O=$ar_o
@@ -6766,6 +6770,7 @@ CXX_O=$CXX_O
 NVCC_C=$NVCC_C
 NVCC_O=$NVCC_O
 LD_O=$LD_O
+X86ASM_O=$X86ASM_O
 LD_LIB=$LD_LIB
 LD_PATH=$LD_PATH
 DLLTOOL=$dlltool
@@ -6793,8 +6798,11 @@ CXXDEP=$CXXDEP
 CCDEP_FLAGS=$CCDEP_FLAGS
 ASDEP=$ASDEP
 ASDEP_FLAGS=$ASDEP_FLAGS
+X86ASMDEP=$X86ASMDEP
+X86ASMDEP_FLAGS=$X86ASMDEP_FLAGS
 CC_DEPFLAGS=$CC_DEPFLAGS
 AS_DEPFLAGS=$AS_DEPFLAGS
+X86ASM_DEPFLAGS=$X86ASM_DEPFLAGS
 HOSTCC=$host_cc
 HOSTLD=$host_ld
 HOSTCFLAGS=$host_cflags
diff --git a/ffbuild/common.mak b/ffbuild/common.mak
index b029e2a0fc..e168fb2cfd 100644
--- a/ffbuild/common.mak
+++ b/ffbuild/common.mak
@@ -37,7 +37,7 @@ OBJCFLAGS  += $(EOBJCFLAGS)
 OBJCCFLAGS  = $(CPPFLAGS) $(CFLAGS) $(OBJCFLAGS)
 ASFLAGS    := $(CPPFLAGS) $(ASFLAGS)
 CXXFLAGS   := $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS)
-X86ASMFLAGS  += $(IFLAGS:%=%/) -Pconfig.asm
+X86ASMFLAGS += $(IFLAGS:%=%/) -I$(<D)/ -Pconfig.asm
 NVCCFLAGS  += -ptx
 
 HOSTCCFLAGS = $(IFLAGS) $(HOSTCPPFLAGS) $(HOSTCFLAGS)
@@ -52,6 +52,7 @@ COMPILE_C = $(call COMPILE,CC)
 COMPILE_CXX = $(call COMPILE,CXX)
 COMPILE_S = $(call COMPILE,AS)
 COMPILE_M = $(call COMPILE,OBJCC)
+COMPILE_X86ASM = $(call COMPILE,X86ASM)
 COMPILE_HOSTC = $(call COMPILE,HOSTCC)
 COMPILE_NVCC = $(call COMPILE,NVCC)
 
@@ -74,12 +75,11 @@ COMPILE_NVCC = $(call COMPILE,NVCC)
 	$(COMPILE_HOSTC)
 
 %$(DEFAULT_X86ASMD).asm: %.asm
-	$(DEPX86ASM) $(X86ASMFLAGS) -I $(<D)/ -M -o $@ $< > $(@:.asm=.d)
-	$(X86ASM) $(X86ASMFLAGS) -I $(<D)/ -e $< | sed '/^%/d;/^$$/d;' > $@
+	$(DEPX86ASM) $(X86ASMFLAGS) -M -o $@ $< > $(@:.asm=.d)
+	$(X86ASM) $(X86ASMFLAGS) -e $< | sed '/^%/d;/^$$/d;' > $@
 
 %.o: %.asm
-	$(DEPX86ASM) $(X86ASMFLAGS) -I $(<D)/ -M -o $@ $< > $(@:.o=.d)
-	$(X86ASM) $(X86ASMFLAGS) -I $(<D)/ -o $@ $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<)
+	$(COMPILE_X86ASM)
 	-$(if $(ASMSTRIPFLAGS), $(STRIP) $(ASMSTRIPFLAGS) $@)
 
 %.o: %.rc



More information about the ffmpeg-cvslog mailing list