diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-03-15 12:39:21 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-03-15 12:39:45 +0000 |
commit | 1ebe6321460e799887ea2592f370de87847762eb (patch) | |
tree | d93c5d8d4beb9c10d0a98d7c525482d232513225 /configure.ac | |
parent | c1800a7b428c285675ab0b20abe3a2948a56d9d2 (diff) |
relevant hunk got lost between versions
Change-Id: Id8985a6049f8ffe7494d04c535f981767ffc4456
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 123 |
1 files changed, 122 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 5895ce010bfe..7d15f816380f 100644 --- a/configure.ac +++ b/configure.ac @@ -7490,6 +7490,127 @@ else NASM="/opt/lo/bin/nasm" fi fi + + if test -n "$NASM"; then + AC_MSG_CHECKING([for object file format of host system]) + case "$host_os" in + cygwin* | mingw* | pw32* | interix*) + case "$host_cpu" in + x86_64) + objfmt='Win64-COFF' + ;; + *) + objfmt='Win32-COFF' + ;; + esac + ;; + msdosdjgpp* | go32*) + objfmt='COFF' + ;; + os2-emx*) # not tested + objfmt='MSOMF' # obj + ;; + linux*coff* | linux*oldld*) + objfmt='COFF' # ??? + ;; + linux*aout*) + objfmt='a.out' + ;; + linux*) + case "$host_cpu" in + x86_64) + objfmt='ELF64' + ;; + *) + objfmt='ELF' + ;; + esac + ;; + kfreebsd* | freebsd* | netbsd* | openbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + objfmt='BSD-a.out' + else + case "$host_cpu" in + x86_64 | amd64) + objfmt='ELF64' + ;; + *) + objfmt='ELF' + ;; + esac + fi + ;; + solaris* | sunos* | sysv* | sco*) + case "$host_cpu" in + x86_64) + objfmt='ELF64' + ;; + *) + objfmt='ELF' + ;; + esac + ;; + darwin* | rhapsody* | nextstep* | openstep* | macos*) + case "$host_cpu" in + x86_64) + objfmt='Mach-O64' + ;; + *) + objfmt='Mach-O' + ;; + esac + ;; + *) + objfmt='ELF ?' + ;; + esac + + AC_MSG_RESULT([$objfmt]) + if test "$objfmt" = 'ELF ?'; then + objfmt='ELF' + AC_MSG_WARN([unexpected host system. assumed that the format is $objfmt.]) + fi + + AC_MSG_CHECKING([for object file format specifier (NAFLAGS) ]) + case "$objfmt" in + MSOMF) NAFLAGS='-fobj -DOBJ32';; + Win32-COFF) NAFLAGS='-fwin32 -DWIN32';; + Win64-COFF) NAFLAGS='-fwin64 -DWIN64 -D__x86_64__';; + COFF) NAFLAGS='-fcoff -DCOFF';; + a.out) NAFLAGS='-faout -DAOUT';; + BSD-a.out) NAFLAGS='-faoutb -DAOUT';; + ELF) NAFLAGS='-felf -DELF';; + ELF64) NAFLAGS='-felf64 -DELF -D__x86_64__';; + RDF) NAFLAGS='-frdf -DRDF';; + Mach-O) NAFLAGS='-fmacho -DMACHO';; + Mach-O64) NAFLAGS='-fmacho64 -DMACHO -D__x86_64__';; + esac + AC_MSG_RESULT([$NAFLAGS]) + + AC_MSG_CHECKING([whether the assembler ($NASM $NAFLAGS) works]) + cat > conftest.asm << EOF + [%line __oline__ "configure" + section .text + global _main,main + _main: + main: xor eax,eax + ret + ] +EOF + try_nasm='$NASM $NAFLAGS -o conftest.o conftest.asm' + if AC_TRY_EVAL(try_nasm) && test -s conftest.o; then + AC_MSG_RESULT(yes) + else + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.asm >&AC_FD_CC + rm -rf conftest* + AC_MSG_RESULT(no) + AC_MSG_WARN([installation or configuration problem: assembler cannot create object files.]) + NASM="" + fi + + fi + if test -z "$NASM"; then cat << _EOS **************************************************************************** @@ -7520,7 +7641,7 @@ consult http://svn.code.sf.net/p/libjpeg-turbo/code/trunk/BUILDING.txt _EOS fi - AC_MSG_WARN([no nasm (Netwide Assembler) found]) + AC_MSG_WARN([no suitable nasm (Netwide Assembler) found]) fi LIBJPEG_CFLAGS="-I${WORKDIR}/UnpackedTarball/jpeg-turbo" if test "$COM" = "MSC"; then |