libzmpeg3 on non-x86/non-MMX arches, also little bit about CPU detection in autoconf.
Hello again. Recompiling Cinelerra-GG even partially on emulated ppc64le machine is SLOW process, so sorry if I fire those ideas faster than I can test them properly. I was looking at libzmpeg3, because without it a lot of functionality (dvb, v4l2) simply not there, and _may be_ found reason why it was so insisting on MMX assembler: https://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra... 121 $(OBJS): 122 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.C) -o $*.o 123 $(ASMOBJS): 124 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o 125 $(NASMOBJS): 126 $(NASM) -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o So, I'll try with libzmpeg3 enabled and those four lines (123, 124, 125, 126) removed ... More stackoverflow! https://stackoverflow.com/questions/23379805/determining-architecture-in-mak... ---------copy---------- 1 Answer active oldest votes 4 Selecting the CPU and OS is better handled in configure.ac, which has AC_CANONICAL_HOST which parses the output from uname and puts it in a standard format: configure.ac ... AC_CANONICAL_HOST WRAPPER_CPPFLAGS="" AS_CASE([$host_os], [linux*], [ WRAPPER_CPPFLAGS="$WRAPPER_CPPFLAGS -DLINUX" AS_CASE([$host_cpu], [x86_64], [ WRAPPER_CPPFLAGS="$WRAPPER_CPPFLAGS -DAMD64 -I../../../external/xerces-c-3.1.1-x86_64-linux-gcc-3.4/include" ], [i?86], [ WRAPPER_CPPFLAGS="$WRAPPER_CPPFLAGS -I../../../external/xerces-c-3.1.1-x86-linux-gcc-3.4/include" ]) ], [darwin*], [ WRAPPER_CPPFLAGS="$WRAPPER_CPPFLAGS -DOSX" AS_CASE([$host_cpu], [i?86], [ WRAPPER_CPPFLAGS="$WRAPPER_CPPFLAGS -I../../../external/xerces-c-3.1.1-x86-macosx-gcc-3.4/include" ]) ]) AC_SUBST([WRAPPER_CPPFLAGS]) ------------- well, in our case configure.ac needs some MMX-outing for non-x86-machines AND thirdparty-libs=ON. Alpine linux additionally need -lexecinfo for backtrace symbols, and -lintl for internationalization.
participants (1)
-
Andrew Randrianasulu