libjpeg-turbo assembly doesn't build on mips and arm64

RESOLVED FIXED in Firefox 41

Status

defect
RESOLVED FIXED
4 years ago
2 years ago

People

(Reporter: glandium, Assigned: glandium)

Tracking

unspecified
mozilla41

Firefox Tracking Flags

(firefox38 affected, firefox38.0.5 affected, firefox39 affected, firefox40 affected, firefox41 fixed, firefox-esr38 affected)

Details

Attachments

(1 attachment, 1 obsolete attachment)

For mips, the build fails with:

o jsimd_mips_dspr2.o -mdspr2 -I/«PKGBUILDDIR»/media/libjpeg/simd/  -g     -c /«PKGBUILDDIR»/media/libjpeg/simd/jsimd_mips_dspr2.S
make[5]: o: Command not found
make[5]: [jsimd_mips_dspr2.o] Error 127 (ignored)
/«PKGBUILDDIR»/build-browser/_virtualenv/bin/python /«PKGBUILDDIR»/config/expandlibs_gen.py -o libmedia_libjpeg.a.desc jcapimin.o jcapistd.o jccoefct.o jccolor.o jcdctmgr.o jchuff.o jcinit.o jcmainct.o jcmarker.o jcmaster.o jcomapi.o jcparam.o jcphuff.o jcprepct.o jcsample.o jctrans.o jdapimin.o jdapistd.o jdatadst.o jdatasrc.o jdcoefct.o jdcolor.o jddctmgr.o jdhuff.o jdinput.o jdmainct.o jdmarker.o jdmaster.o jdmerge.o jdphuff.o jdpostct.o jdsample.o jdtrans.o jerror.o jfdctflt.o jfdctfst.o jfdctint.o jidctflt.o jidctfst.o jidctint.o jidctred.o jmemmgr.o jmemnobs.o jquant1.o jquant2.o jutils.o jsimd_mips.o jsimd_mips_dspr2.o  
Traceback (most recent call last):
  File "/«PKGBUILDDIR»/config/expandlibs_gen.py", line 41, in <module>
    print >>outfile, generate(args)
  File "/«PKGBUILDDIR»/config/expandlibs_gen.py", line 22, in generate
    raise Exception("File not found: %s" % arg)
Exception: File not found: jsimd_mips_dspr2.o
make[5]: *** [libmedia_libjpeg.a.desc] Error 1

arm64 fails in a similar way.

The problem is LIBJPEG_TURBO_AS is not set.
Most notably, always set LIBJPEG_TURBO_AS if LIBJPEG_TURBO_ASFLAGS is set.
Attachment #8606693 - Flags: review?(mshal)
Comment on attachment 8606693 [details] [diff] [review]
Cleanup how libjpeg-turbo assembly build variables are set

>-LIBJPEG_TURBO_X86_ASM=
>-LIBJPEG_TURBO_X64_ASM=
>-LIBJPEG_TURBO_ARM_ASM=
>-LIBJPEG_TURBO_ARM64_ASM=
>-LIBJPEG_TURBO_MIPS_ASM=

Is there another bug that this depends on? It appears that these are all still used in media/libjpeg/moz.build to determine which sources to build, so I don't think they can be removed. Also, they are all still AC_SUBST()'d even though they are no longer set by configure.

The rest of the patch looks good to me, though.
Attachment #8606693 - Flags: review?(mshal) → review-
Attachment #8606693 - Attachment is obsolete: true
Attachment #8607289 - Flags: review?(mshal)
Comment on attachment 8607289 [details] [diff] [review]
Cleanup how libjpeg-turbo assembly build variables are set

Looks good!
Attachment #8607289 - Flags: review?(mshal) → review+
https://hg.mozilla.org/mozilla-central/rev/45ecf64767d6
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.