|
- ########################################################################
- #
- # configure.host -- JACK Audio Connection Kit version.
- #
- # This script and the system-dependent header directories it uses were
- # adapted for JACK from gcc/libstdc++-v3/configure.host.
- #
- # We've tried to keep it as close to the original as possible, while
- # removing a bunch of os-specific files that didn't seem relevant.
- # The primary goal has been to avoid changing the cpu-dependent
- # atomicity.h headers.
- #
- # If you need to make changes, the relevant GCC documentation may
- # prove helpful, <http://gcc.gnu.org/onlinedocs/porting>, especially
- # the <http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html>
- # discussion of <atomicity.h>.
- #
- ########################################################################
-
- # This shell script handles all host based configuration for libstdc++.
- # It sets various shell variables based on the the host and the
- # configuration options. You can modify this shell script without needing
- # to rerun autoconf/aclocal/etc. This file is "sourced" not executed.
- #
- # You should read docs/html/17_intro/porting.* to make sense of this file.
- #
- #
- # It uses the following shell variables as set by config.guess:
- # host The configuration host (full CPU-vendor-OS triplet)
- # host_cpu The configuration host CPU
- # host_os The configuration host OS
- #
- #
- # It sets the following shell variables:
- #
- # cpu_include_dir CPU-specific directory, defaults to cpu/generic
- # if cpu/host_cpu doesn't exist. This is
- # used to set atomicity_include_dir.
- #
- # os_include_dir OS-specific directory, defaults to os/generic.
- #
- # atomicity_include_dir location of atomicity.h,
- # defaults to cpu_include_dir
- #
- # It possibly modifies the following variables:
- #
- # OS_LDFLAGS extra flags to pass when linking the library, of
- # the form '-Wl,blah'
- # (defaults to empty in acinclude.m4)
- #
- # If the defaults will not work for your platform, you need only change the
- # variables that won't work, i.e., you do not need to explicitly set a
- # working variable to its default. Most hosts only need to change the two
- # *_include_dir variables.
-
-
- # DEFAULTS
- # Try to guess a default cpu_include_dir based on the name of the CPU. We
- # cannot do this for os_include_dir; there are too many portable operating
- # systems out there. :-)
-
- # HOST-SPECIFIC OVERRIDES
- # Set any CPU-dependent bits.
- # Here we override defaults and catch more general cases due to naming
- # conventions (e.g., chip_name* to catch all variants).
-
- # THIS TABLE IS SORTED. KEEP IT THAT WAY.
- case "${host_cpu}" in
- alpha*)
- try_cpu=alpha
- ;;
- i[3567]86 | x86_64 | amd64)
- # Note that this causes us to compile i386 using i486
- # instructions. This is done for binary distributions, which
- # typically compile for i386 as the lowest common denominator.
- # Since JACK is unlikely to actually be used on a real i386, we
- # substitute i486 as our common denominator. That way the atomic
- # instructions work properly.
- try_cpu=i486
- ;;
- hppa*)
- try_cpu=hppa
- ;;
- mips*)
- # NB: cpu/mips/atomicity.h needs MIPS II or above.
- # Of course, there is no sane way to test for this, no ABI macro,
- # and no consistent host_cpu name differentiation. Therefore, only
- # use it where it is known to be safe, ie it runs linux (see below).
- try_cpu=generic
- ;;
- m680[246]0)
- try_cpu=m68k
- ;;
- powerpc* | rs6000)
- try_cpu=powerpc
- ;;
- s390x)
- try_cpu=s390
- ;;
- sparc* | ultrasparc)
- try_cpu=sparc
- ;;
- *)
- if test -d $srcdir/config/cpu/${host_cpu}; then
- try_cpu=${host_cpu}
- else
- try_cpu=generic
- fi
- ;;
- esac
-
- # Now look for the file(s) usually tied to a CPU model, and make
- # default choices for those if they haven't been explicitly set
- # already.
- cpu_include_dir="cpu/${try_cpu}"
- atomicity_include_dir=$cpu_include_dir
-
-
- # Set any OS-dependent bits.
- # Set the os_include_dir.
- # If atomic ops and/or numeric limits are OS-specific rather than
- # CPU-specifc, set those here too.
- # THIS TABLE IS SORTED. KEEP IT THAT WAY.
- case "${host_os}" in
- aix4.[3456789]* | aix[56789]*)
- # We set os_include_dir to os/aix only on AIX 4.3 and newer, but
- # os/aix/atomicity.h works on earlier versions of AIX 4.*, so we
- # explicitly duplicate the directory for 4.[<3].
- os_include_dir="os/aix"
- atomicity_include_dir="os/aix"
- OS_LDFLAGS="-Wl,-G"
- ;;
- aix4.*)
- os_include_dir="os/generic"
- atomicity_include_dir="os/aix"
- ;;
- aix*)
- os_include_dir="os/generic"
- atomicity_include_dir="cpu/generic"
- ;;
- gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
- os_include_dir="os/gnu-linux"
- ;;
- freebsd*)
- # current FreeBSD header files conflict with the OSS driver's
- # barrier code, this may be fixed in 5.3, stay tuned.
- os_include_dir="os/generic"
- USE_BARRIER="no"
- ;;
- irix*)
- os_include_dir="os/irix"
- atomicity_include_dir=$os_include_dir
- ;;
- darwin*)
- os_include_dir="os/macosx"
- JACK_THREAD_STACK_TOUCH=10000 # need small realtime stack
- JACK_CPP_VARARGS_BROKEN=1
- JACK_DO_NOT_MLOCK=1
- JACK_USE_MACH_THREADS=1
- OS_LDFLAGS="-framework CoreAudio"
- TRY_POSIX_SHM=yes # POSIX shm works better
- ;;
- *)
- os_include_dir="os/generic"
- ;;
- esac
-
-
- # Set any OS-dependent and CPU-dependent bits.
- # THIS TABLE IS SORTED. KEEP IT THAT WAY.
- case "${host}" in
- mips*-*-linux*)
- atomicity_include_dir="cpu/mips"
- ;;
- esac
|