diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /old-configure | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | old-configure | 5600 | ||||
-rw-r--r-- | old-configure.in | 1353 |
2 files changed, 6953 insertions, 0 deletions
diff --git a/old-configure b/old-configure new file mode 100644 index 0000000000..bee25f5198 --- /dev/null +++ b/old-configure @@ -0,0 +1,5600 @@ +#! /bin/sh + +if test `uname -s | grep -c "MINGW\|MSYS" 2>/dev/null` != "0"; then + msyshost=1 +fi + + +# Read the user's .mozconfig script. We can't do this in +# configure.in: autoconf puts the argument parsing code above anything +# expanded from configure.in, and we need to get the configure options +# from .mozconfig in place before that argument parsing code. +. $OLD_CONFIGURE_VARS + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 2.13 +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. + +# Defaults: +ac_help= +ac_default_prefix=/usr/local +# Any additions from configure.in: +ac_help="$ac_help + --enable-official-branding + Enable Official mozilla.org Branding + Do not distribute builds with + --enable-official-branding unless you have + permission to use trademarks per + http://www.mozilla.org/foundation/trademarks/ ." +ac_help="$ac_help + --with-branding=dir Use branding from the specified directory." +ac_help="$ac_help + --with-distribution-id=ID + Set distribution-specific id (default=org.mozilla)" +ac_help="$ac_help + --with-macbundlename-prefix=prefix + Prefix for MOZ_MACBUNDLE_NAME" + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +# Initialize some other variables. +subdirs= +MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} +# Maximum number of lines to put in a shell here document. +ac_max_here_lines=12 + +ac_prev= +for ac_option +do + + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir="$ac_optarg" ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build="$ac_optarg" ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file="$ac_optarg" ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir="$ac_optarg" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; echo "configure: error: $ac_feature: invalid feature name" 1>&5; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; echo "configure: error: $ac_feature: invalid feature name" 1>&5; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "enable_${ac_feature}='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix="$ac_optarg" ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he) + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat << EOF +Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [same as prefix] + --bindir=DIR user executables in DIR [EPREFIX/bin] + --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] + --libexecdir=DIR program executables in DIR [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data in DIR + [PREFIX/share] + --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data in DIR + [PREFIX/com] + --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] + --libdir=DIR object code libraries in DIR [EPREFIX/lib] + --includedir=DIR C header files in DIR [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] + --infodir=DIR info documentation in DIR [PREFIX/info] + --mandir=DIR man documentation in DIR [PREFIX/man] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM + run sed PROGRAM on installed program names +EOF + cat << EOF +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +EOF + if test -n "$ac_help"; then + echo "--enable and --with options recognized:$ac_help" + fi + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$ac_optarg" ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir="$ac_optarg" ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir="$ac_optarg" ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir="$ac_optarg" ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir="$ac_optarg" ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir="$ac_optarg" ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir="$ac_optarg" ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir="$ac_optarg" ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix="$ac_optarg" ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix="$ac_optarg" ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix="$ac_optarg" ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name="$ac_optarg" ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir="$ac_optarg" ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir="$ac_optarg" ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site="$ac_optarg" ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir="$ac_optarg" ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir="$ac_optarg" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 2.13" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; echo "configure: error: $ac_package: invalid package name" 1>&5; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; echo "configure: error: $ac_package: invalid package name" 1>&5; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + eval "with_${ac_package}=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes="$ac_optarg" ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries="$ac_optarg" ;; + + -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&5; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; echo "configure: error: can only configure for one host and one target at a time" 1>&5; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&5; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 standard input +# 1 file creation +# 2 errors and warnings +# 3 some systems may open it to /dev/tty +# 4 used on the Kubota Titan +# 6 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 6>/dev/null +else + exec 6>&1 +fi +exec 5>>${CONFIG_LOG=./config.log} + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set these to C if already set. These must not be set unconditionally +# because not all systems understand e.g. LANG=C (notably SCO). +# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! +# Non-C LC_CTYPE values break the ctype check. +if test "${LANG+set}" = set; then LANG=C; export LANG; fi +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi +if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo > confdefs.h + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=config/config.mk + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; echo "configure: error: can not find sources in $ac_confdir or .." 1>&5; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; echo "configure: error: can not find sources in $srcdir" 1>&5; exit 1; } + fi +fi +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` + +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + echo "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +ac_exeext= +ac_objext=o +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +ac_aux_dir= +for ac_dir in ${srcdir}/build/autoconf $srcdir/${srcdir}/build/autoconf; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { echo "configure: error: can not find install-sh or install.sh in ${srcdir}/build/autoconf $srcdir/${srcdir}/build/autoconf" 1>&2; echo "configure: error: can not find install-sh or install.sh in ${srcdir}/build/autoconf $srcdir/${srcdir}/build/autoconf" 1>&5; exit 1; } +fi +ac_config_guess=$ac_aux_dir/config.guess +ac_config_sub=$ac_aux_dir/config.sub +ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. + + +# Do some error checking and defaulting for the host and target type. +# The inputs are: +# configure --host=HOST --target=TARGET --build=BUILD NONOPT +# +# The rules are: +# 1. You are not allowed to specify --host, --target, and nonopt at the +# same time. +# 2. Host defaults to nonopt. +# 3. If nonopt is not specified, then host defaults to the current host, +# as determined by config.guess. +# 4. Target and build default to nonopt. +# 5. If nonopt is not specified, then target and build default to host. + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +case $host---$target---$nonopt in +NONE---*---* | *---NONE---* | *---*---NONE) ;; +*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; echo "configure: error: can only configure for one host and one target at a time" 1>&5; exit 1; } ;; +esac + + +# Make sure we can run config.sub. +if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : +else { echo "configure: error: can not run $ac_config_sub" 1>&2; echo "configure: error: can not run $ac_config_sub" 1>&5; exit 1; } +fi + +echo $ac_n "checking host system type""... $ac_c" 1>&6 +echo "configure:607: checking host system type" >&5 + +host_alias=$host +case "$host_alias" in +NONE) + case $nonopt in + NONE) + if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : + else { echo "configure: error: can not guess host type; you must specify one" 1>&2; echo "configure: error: can not guess host type; you must specify one" 1>&5; exit 1; } + fi ;; + *) host_alias=$nonopt ;; + esac ;; +esac + +host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` +host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$host" 1>&6 + +echo $ac_n "checking target system type""... $ac_c" 1>&6 +echo "configure:628: checking target system type" >&5 + +target_alias=$target +case "$target_alias" in +NONE) + case $nonopt in + NONE) target_alias=$host_alias ;; + *) target_alias=$nonopt ;; + esac ;; +esac + +target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` +target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$target" 1>&6 + +echo $ac_n "checking build system type""... $ac_c" 1>&6 +echo "configure:646: checking build system type" >&5 + +build_alias=$build +case "$build_alias" in +NONE) + case $nonopt in + NONE) build_alias=$host_alias ;; + *) build_alias=$nonopt ;; + esac ;; +esac + +build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` +build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$build" 1>&6 + +test "$host_alias" != "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + +CFLAGS="${CFLAGS=}" +CPPFLAGS="${CPPFLAGS=}" +CXXFLAGS="${CXXFLAGS=}" +LDFLAGS="${LDFLAGS=}" +HOST_CFLAGS="${HOST_CFLAGS=}" +HOST_CXXFLAGS="${HOST_CXXFLAGS=}" +HOST_LDFLAGS="${HOST_LDFLAGS=}" + +W32API_VERSION=3.14 + +MISSING_X= + +MOZ_USE_PTHREADS= +_PTHREAD_LDFLAGS="" + +LDFLAGS="$LDFLAGS $LINKER_LDFLAGS" +HOST_LDFLAGS="$HOST_LDFLAGS $HOST_LINKER_LDFLAGS" + +if test "$COMPILE_ENVIRONMENT"; then + + +case "$target" in +*-android*|*-linuxandroid*) + LDFLAGS="$extra_android_flags -L$_topsrcdir/build/android $LDFLAGS" + CPPFLAGS="$extra_android_flags $CPPFLAGS" + CFLAGS="-fno-short-enums $CFLAGS" + CXXFLAGS="-fno-short-enums $CXXFLAGS" + ASFLAGS="$extra_android_flags -DANDROID $ASFLAGS" + ;; +esac + + +fi # COMPILE_ENVIRONMENT + + +if test "$COMPILE_ENVIRONMENT"; then + +# Run some logic to figure out exe extensions (mostly for mingw's sake) +echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 +echo "configure:708: checking for Cygwin environment" >&5 +if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 713 "configure" +#include "confdefs.h" + +int main() { + +#ifndef __CYGWIN__ +#define __CYGWIN__ __CYGWIN32__ +#endif +return __CYGWIN__; +; return 0; } +EOF +if { (eval echo configure:724: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_cygwin=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_cygwin=no +fi +rm -f conftest* +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_cygwin" 1>&6 +CYGWIN= +test "$ac_cv_cygwin" = yes && CYGWIN=yes +echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 +echo "configure:741: checking for mingw32 environment" >&5 +if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 746 "configure" +#include "confdefs.h" + +int main() { +return __MINGW32__; +; return 0; } +EOF +if { (eval echo configure:753: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_mingw32=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_mingw32=no +fi +rm -f conftest* +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_mingw32" 1>&6 +MINGW32= +test "$ac_cv_mingw32" = yes && MINGW32=yes + + +echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 +echo "configure:772: checking for executable suffix" >&5 +if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$CYGWIN" = yes || test "$MINGW32" = yes; then + ac_cv_exeext=.exe +else + rm -f conftest* + echo 'int main () { return 0; }' > conftest.$ac_ext + ac_cv_exeext= + if { (eval echo configure:782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + for file in conftest.*; do + case $file in + *.c | *.o | *.obj) ;; + *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; + esac + done + else + { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&5; exit 1; } + fi + rm -f conftest* + test x"${ac_cv_exeext}" = x && ac_cv_exeext=no +fi +fi + +EXEEXT="" +test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} +echo "$ac_t""${ac_cv_exeext}" 1>&6 +ac_exeext=$EXEEXT + + +if test "$target" != "$host"; then + +echo "cross compiling from $host to $target" + +_SAVE_PATH=$PATH +case "${TOOLCHAIN_PREFIX}" in +/*) + PATH="/:$PATH" + ;; +esac +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:816: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:846: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_prog_rejected=no + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + break + fi + done + IFS="$ac_save_ifs" +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# -gt 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + set dummy "$ac_dir/$ac_word" "$@" + shift + ac_cv_prog_CC="$@" + fi +fi +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # Extract the first word of "cl", so it can be a program name with args. +set dummy cl; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:897: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi + test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; echo "configure: error: no acceptable cc found in \$PATH" 1>&5; exit 1; } +fi + +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:929: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +if eval "test \"`echo '$''{'ac_cv_prog_cc_works'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext << EOF + +#line 947 "configure" +#include "confdefs.h" + +main(){return(0);} +EOF +if { (eval echo configure:952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cc_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then + ac_cv_prog_cc_cross=no + else + ac_cv_prog_cc_cross=yes + fi +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_prog_cc_works=no +fi +rm -fr conftest* +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 +if test $ac_cv_prog_cc_works = no; then + { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&5; exit 1; } +fi +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:984: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 +cross_compiling=$ac_cv_prog_cc_cross + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +echo "configure:989: checking whether we are using GNU C" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes; +#endif +EOF +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi + +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 + +if test $ac_cv_prog_gcc = yes; then + GCC=yes +else + GCC= +fi + +ac_test_CFLAGS="${CFLAGS+set}" +ac_save_CFLAGS="$CFLAGS" +CFLAGS= +echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +echo "configure:1017: checking whether ${CC-cc} accepts -g" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_cc_g=yes +else + ac_cv_prog_cc_g=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi + +for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1053: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CXX="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CXX="$ac_cv_prog_CXX" +if test -n "$CXX"; then + echo "$ac_t""$CXX" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$CXX" && break +done +test -n "$CXX" || CXX="gcc" + + +echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:1085: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 + +ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +if eval "test \"`echo '$''{'ac_cv_prog_cxx_works'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext << EOF + +#line 1103 "configure" +#include "confdefs.h" + +int main(){return(0);} +EOF +if { (eval echo configure:1108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cxx_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then + ac_cv_prog_cxx_cross=no + else + ac_cv_prog_cxx_cross=yes + fi +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_prog_cxx_works=no +fi +rm -fr conftest* +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6 +if test $ac_cv_prog_cxx_works = no; then + { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&5; exit 1; } +fi +echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:1140: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6 +cross_compiling=$ac_cv_prog_cxx_cross + +echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 +echo "configure:1145: checking whether we are using GNU C++" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.C <<EOF +#ifdef __GNUC__ + yes; +#endif +EOF +if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1154: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gxx=yes +else + ac_cv_prog_gxx=no +fi +fi + +echo "$ac_t""$ac_cv_prog_gxx" 1>&6 + +if test $ac_cv_prog_gxx = yes; then + GXX=yes +else + GXX= +fi + +ac_test_CXXFLAGS="${CXXFLAGS+set}" +ac_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS= +echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 +echo "configure:1173: checking whether ${CXX-g++} accepts -g" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.cc +if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then + ac_cv_prog_cxx_g=yes +else + ac_cv_prog_cxx_g=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6 +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS="$ac_save_CXXFLAGS" +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi + + +PATH=$_SAVE_PATH + +else + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1211: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1241: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_prog_rejected=no + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + break + fi + done + IFS="$ac_save_ifs" +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# -gt 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + set dummy "$ac_dir/$ac_word" "$@" + shift + ac_cv_prog_CC="$@" + fi +fi +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # Extract the first word of "cl", so it can be a program name with args. +set dummy cl; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1292: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi + test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; echo "configure: error: no acceptable cc found in \$PATH" 1>&5; exit 1; } +fi + +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:1324: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +if eval "test \"`echo '$''{'ac_cv_prog_cc_works'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext << EOF + +#line 1342 "configure" +#include "confdefs.h" + +main(){return(0);} +EOF +if { (eval echo configure:1347: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cc_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then + ac_cv_prog_cc_cross=no + else + ac_cv_prog_cc_cross=yes + fi +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_prog_cc_works=no +fi +rm -fr conftest* +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 +if test $ac_cv_prog_cc_works = no; then + { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&5; exit 1; } +fi +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:1379: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 +cross_compiling=$ac_cv_prog_cc_cross + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +echo "configure:1384: checking whether we are using GNU C" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes; +#endif +EOF +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1393: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi + +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 + +if test $ac_cv_prog_gcc = yes; then + GCC=yes +else + GCC= +fi + +ac_test_CFLAGS="${CFLAGS+set}" +ac_save_CFLAGS="$CFLAGS" +CFLAGS= +echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +echo "configure:1412: checking whether ${CC-cc} accepts -g" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_cc_g=yes +else + ac_cv_prog_cc_g=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi + + case "$target" in + *-mingw*) + # Work around the conftest.exe access problem on Windows + sleep 2 + esac + for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1453: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CXX="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CXX="$ac_cv_prog_CXX" +if test -n "$CXX"; then + echo "$ac_t""$CXX" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$CXX" && break +done +test -n "$CXX" || CXX="gcc" + + +echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:1485: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 + +ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +if eval "test \"`echo '$''{'ac_cv_prog_cxx_works'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext << EOF + +#line 1503 "configure" +#include "confdefs.h" + +int main(){return(0);} +EOF +if { (eval echo configure:1508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cxx_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then + ac_cv_prog_cxx_cross=no + else + ac_cv_prog_cxx_cross=yes + fi +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_prog_cxx_works=no +fi +rm -fr conftest* +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6 +if test $ac_cv_prog_cxx_works = no; then + { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&5; exit 1; } +fi +echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:1540: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6 +cross_compiling=$ac_cv_prog_cxx_cross + +echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 +echo "configure:1545: checking whether we are using GNU C++" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.C <<EOF +#ifdef __GNUC__ + yes; +#endif +EOF +if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1554: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gxx=yes +else + ac_cv_prog_gxx=no +fi +fi + +echo "$ac_t""$ac_cv_prog_gxx" 1>&6 + +if test $ac_cv_prog_gxx = yes; then + GXX=yes +else + GXX= +fi + +ac_test_CXXFLAGS="${CXXFLAGS+set}" +ac_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS= +echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 +echo "configure:1573: checking whether ${CXX-g++} accepts -g" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.cc +if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then + ac_cv_prog_cxx_g=yes +else + ac_cv_prog_cxx_g=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6 +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS="$ac_save_CXXFLAGS" +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi + +fi + + +GNU_CC= +GNU_CXX= +if test "$CC_TYPE" = "gcc"; then + GNU_CC=1 + GNU_CXX=1 +fi + +CLANG_CC= +CLANG_CXX= +CLANG_CL= +if test "$CC_TYPE" = "clang"; then + GNU_CC=1 + GNU_CXX=1 + CLANG_CC=1 + CLANG_CXX=1 +fi +if test "$CC_TYPE" = "clang-cl"; then + CLANG_CL=1 +fi + + + + + + +WINVER=601 + +case "$target" in +*-mingw*) + if test "$GCC" != "yes"; then + # Check to see if we are really running in a msvc environemnt + _WIN32_MSVC=1 + + # Make sure compilers are valid + CXXFLAGS="$CXXFLAGS -TP" + + ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + cat > conftest.$ac_ext <<EOF +#line 1655 "configure" +#include "confdefs.h" +#include <stdio.h> +int main() { + printf("Hello World\n"); +; return 0; } +EOF +if { (eval echo configure:1662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + { echo "configure: error: \$(CC) test failed. You must have MS VC++ in your path to build." 1>&2; echo "configure: error: \$(CC) test failed. You must have MS VC++ in your path to build." 1>&5; exit 1; } +fi +rm -f conftest* + + ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + cat > conftest.$ac_ext <<EOF +#line 1684 "configure" +#include "confdefs.h" +#include <new.h> +int main() { + unsigned *test = new unsigned(42); +; return 0; } +EOF +if { (eval echo configure:1691: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + { echo "configure: error: \$(CXX) test failed. You must have MS VC++ in your path to build." 1>&2; echo "configure: error: \$(CXX) test failed. You must have MS VC++ in your path to build." 1>&5; exit 1; } +fi +rm -f conftest* + ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + + cat >> confdefs.pytmp <<\EOF + (''' _CRT_SECURE_NO_WARNINGS ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _CRT_SECURE_NO_WARNINGS 1 +EOF + + cat >> confdefs.pytmp <<\EOF + (''' _CRT_NONSTDC_NO_WARNINGS ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _CRT_NONSTDC_NO_WARNINGS 1 +EOF + + + MSVC_C_RUNTIME_DLL=vcruntime140.dll + if test -n "$IS_VS2019_OR_MORE" -a "$CPU_ARCH" != "x86"; then + MSVC_C_RUNTIME_1_DLL=vcruntime140_1.dll + fi + MSVC_CXX_RUNTIME_DLL=msvcp140.dll + + # -Zc:sizedDealloc- disables C++14 global sized deallocation (see bug 1160146) + CXXFLAGS="$CXXFLAGS -Zc:sizedDealloc-" + + if test -n "$WIN_UCRT_REDIST_DIR"; then + if test ! -d "$WIN_UCRT_REDIST_DIR"; then + { echo "configure: error: Invalid Windows UCRT Redist directory: ${WIN_UCRT_REDIST_DIR}" 1>&2; echo "configure: error: Invalid Windows UCRT Redist directory: ${WIN_UCRT_REDIST_DIR}" 1>&5; exit 1; } + fi + WIN_UCRT_REDIST_DIR=`cd "$WIN_UCRT_REDIST_DIR" && (pwd -W 2>/dev/null || pwd)` + fi + + + + + + cat >> confdefs.pytmp <<\EOF + (''' HAVE_SEH_EXCEPTIONS ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_SEH_EXCEPTIONS 1 +EOF + + + if test -n "$WIN32_REDIST_DIR"; then + if test ! -d "$WIN32_REDIST_DIR"; then + { echo "configure: error: Invalid Win32 Redist directory: ${WIN32_REDIST_DIR}" 1>&2; echo "configure: error: Invalid Win32 Redist directory: ${WIN32_REDIST_DIR}" 1>&5; exit 1; } + fi + WIN32_REDIST_DIR=`cd "$WIN32_REDIST_DIR" && (pwd -W 2>/dev/null || pwd)` + fi + else + # Check w32api version + _W32API_MAJOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $1 }'` + _W32API_MINOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $2 }'` + echo $ac_n "checking for w32api version >= $W32API_VERSION""... $ac_c" 1>&6 +echo "configure:1766: checking for w32api version >= $W32API_VERSION" >&5 + cat > conftest.$ac_ext <<EOF +#line 1768 "configure" +#include "confdefs.h" +#include <w32api.h> +int main() { +#if (__W32API_MAJOR_VERSION < $_W32API_MAJOR_VERSION) || \ + (__W32API_MAJOR_VERSION == $_W32API_MAJOR_VERSION && \ + __W32API_MINOR_VERSION < $_W32API_MINOR_VERSION) + #error "test failed." + #endif + +; return 0; } +EOF +if { (eval echo configure:1780: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + res=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + res=no +fi +rm -f conftest* + echo "$ac_t""$res" 1>&6 + if test "$res" != "yes"; then + { echo "configure: error: w32api version $W32API_VERSION or higher required." 1>&2; echo "configure: error: w32api version $W32API_VERSION or higher required." 1>&5; exit 1; } + fi + # strsafe.h on mingw uses macros for function deprecation that pollutes namespace + # causing problems with local implementations with the same name. + cat >> confdefs.pytmp <<\EOF + (''' STRSAFE_NO_DEPRECATE ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define STRSAFE_NO_DEPRECATE 1 +EOF + + fi # !GNU_CC + + cat >> confdefs.pytmp <<\EOF + (''' _USE_MATH_DEFINES ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _USE_MATH_DEFINES 1 +EOF + # Otherwise Windows' math.h doesn't #define M_PI. + + CFLAGS="$CFLAGS -D_HAS_EXCEPTIONS=0" + CXXFLAGS="$CXXFLAGS -D_HAS_EXCEPTIONS=0" + + cat >> confdefs.pytmp <<EOF + (''' WINVER ''', r''' 0x$WINVER ''') +EOF +cat >> confdefs.h <<EOF +#define WINVER 0x$WINVER +EOF + + cat >> confdefs.pytmp <<EOF + (''' _WIN32_WINNT ''', r''' 0x$WINVER ''') +EOF +cat >> confdefs.h <<EOF +#define _WIN32_WINNT 0x$WINVER +EOF + + # Require OS features provided by IE 8.0 (Win7) + cat >> confdefs.pytmp <<EOF + (''' _WIN32_IE ''', r''' 0x0800 ''') +EOF +cat >> confdefs.h <<EOF +#define _WIN32_IE 0x0800 +EOF + + + ;; +esac + +if test -n "$_WIN32_MSVC"; then + SKIP_PATH_CHECKS=1 + SKIP_COMPILER_CHECKS=1 + SKIP_LIBRARY_CHECKS=1 + + # Since we're skipping compiler and library checks, hard-code + # some facts here. + cat >> confdefs.pytmp <<\EOF + (''' HAVE_IO_H ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_IO_H 1 +EOF + + cat >> confdefs.pytmp <<\EOF + (''' HAVE_ISATTY ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_ISATTY 1 +EOF + +fi + +fi # COMPILE_ENVIRONMENT + + + + +MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib" + +if test "$COMPILE_ENVIRONMENT"; then + +if test -n "$_ARM_FLAGS"; then + CFLAGS="$CFLAGS $_ARM_FLAGS" + CXXFLAGS="$CXXFLAGS $_ARM_FLAGS" + ASFLAGS="$ASFLAGS $_ARM_FLAGS" + if test -n "$_THUMB_FLAGS"; then + LDFLAGS="$LDFLAGS $_THUMB_FLAGS" + fi +fi + +fi # COMPILE_ENVIRONMENT + +if test -n "$COMPILE_ENVIRONMENT"; then + + +if test -n "$MOZ_ASAN"; then + if test -n "$CLANG_CL"; then + # Look for the ASan runtime binary + if test "$CPU_ARCH" = "x86_64"; then + MOZ_CLANG_RT_ASAN_LIB=clang_rt.asan_dynamic-x86_64.dll + else + MOZ_CLANG_RT_ASAN_LIB=clang_rt.asan_dynamic-i386.dll + fi + # We use MOZ_PATH_PROG in order to get a Windows style path. + # Extract the first word of "$MOZ_CLANG_RT_ASAN_LIB", so it can be a program name with args. +set dummy $MOZ_CLANG_RT_ASAN_LIB; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1900: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_MOZ_CLANG_RT_ASAN_LIB_PATH'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$MOZ_CLANG_RT_ASAN_LIB_PATH" in + /*) + ac_cv_path_MOZ_CLANG_RT_ASAN_LIB_PATH="$MOZ_CLANG_RT_ASAN_LIB_PATH" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_MOZ_CLANG_RT_ASAN_LIB_PATH="$MOZ_CLANG_RT_ASAN_LIB_PATH" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_MOZ_CLANG_RT_ASAN_LIB_PATH="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +MOZ_CLANG_RT_ASAN_LIB_PATH="$ac_cv_path_MOZ_CLANG_RT_ASAN_LIB_PATH" +if test -n "$MOZ_CLANG_RT_ASAN_LIB_PATH"; then + echo "$ac_t""$MOZ_CLANG_RT_ASAN_LIB_PATH" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test "$msyshost"; then + case "$MOZ_CLANG_RT_ASAN_LIB_PATH" in + /*) + tmp_DIRNAME=`dirname "$MOZ_CLANG_RT_ASAN_LIB_PATH"` + tmp_BASENAME=`basename "$MOZ_CLANG_RT_ASAN_LIB_PATH"` + tmp_PWD=`cd "$tmp_DIRNAME" && pwd -W` + MOZ_CLANG_RT_ASAN_LIB_PATH="$tmp_PWD/$tmp_BASENAME" + if test -e "$MOZ_CLANG_RT_ASAN_LIB_PATH.exe"; then + MOZ_CLANG_RT_ASAN_LIB_PATH="$MOZ_CLANG_RT_ASAN_LIB_PATH.exe" + fi + esac + fi + + if test -z "$MOZ_CLANG_RT_ASAN_LIB_PATH"; then + { echo "configure: error: Couldn't find $MOZ_CLANG_RT_ASAN_LIB. It should be available in the same location as clang-cl." 1>&2; echo "configure: error: Couldn't find $MOZ_CLANG_RT_ASAN_LIB. It should be available in the same location as clang-cl." 1>&5; exit 1; } + fi + + # Suppressing errors in recompiled code. + if test "$OS_ARCH" = "WINNT"; then + CFLAGS="-fsanitize-blacklist=$_topsrcdir/build/sanitizers/asan_blacklist_win.txt $CFLAGS" + CXXFLAGS="-fsanitize-blacklist=$_topsrcdir/build/sanitizers/asan_blacklist_win.txt $CXXFLAGS" + fi + fi + CFLAGS="-fsanitize=address $CFLAGS" + CXXFLAGS="-fsanitize=address $CXXFLAGS" + if test -z "$CLANG_CL"; then + LDFLAGS="-fsanitize=address -rdynamic $LDFLAGS" + fi + cat >> confdefs.pytmp <<\EOF + (''' MOZ_ASAN ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_ASAN 1 +EOF + + # Extract the first word of "llvm-symbolizer", so it can be a program name with args. +set dummy llvm-symbolizer; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1970: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_LLVM_SYMBOLIZER'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$LLVM_SYMBOLIZER" in + /*) + ac_cv_path_LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_LLVM_SYMBOLIZER="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +LLVM_SYMBOLIZER="$ac_cv_path_LLVM_SYMBOLIZER" +if test -n "$LLVM_SYMBOLIZER"; then + echo "$ac_t""$LLVM_SYMBOLIZER" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test "$msyshost"; then + case "$LLVM_SYMBOLIZER" in + /*) + tmp_DIRNAME=`dirname "$LLVM_SYMBOLIZER"` + tmp_BASENAME=`basename "$LLVM_SYMBOLIZER"` + tmp_PWD=`cd "$tmp_DIRNAME" && pwd -W` + LLVM_SYMBOLIZER="$tmp_PWD/$tmp_BASENAME" + if test -e "$LLVM_SYMBOLIZER.exe"; then + LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER.exe" + fi + esac + fi + +fi + + +if test -n "$MOZ_MSAN"; then + CFLAGS="-fsanitize=memory -fsanitize-memory-track-origins $CFLAGS" + CXXFLAGS="-fsanitize=memory -fsanitize-memory-track-origins $CXXFLAGS" + if test -z "$CLANG_CL"; then + LDFLAGS="-fsanitize=memory -fsanitize-memory-track-origins -rdynamic $LDFLAGS" + fi + cat >> confdefs.pytmp <<\EOF + (''' MOZ_MSAN ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_MSAN 1 +EOF + + # Extract the first word of "llvm-symbolizer", so it can be a program name with args. +set dummy llvm-symbolizer; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2034: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_LLVM_SYMBOLIZER'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$LLVM_SYMBOLIZER" in + /*) + ac_cv_path_LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_LLVM_SYMBOLIZER="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +LLVM_SYMBOLIZER="$ac_cv_path_LLVM_SYMBOLIZER" +if test -n "$LLVM_SYMBOLIZER"; then + echo "$ac_t""$LLVM_SYMBOLIZER" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test "$msyshost"; then + case "$LLVM_SYMBOLIZER" in + /*) + tmp_DIRNAME=`dirname "$LLVM_SYMBOLIZER"` + tmp_BASENAME=`basename "$LLVM_SYMBOLIZER"` + tmp_PWD=`cd "$tmp_DIRNAME" && pwd -W` + LLVM_SYMBOLIZER="$tmp_PWD/$tmp_BASENAME" + if test -e "$LLVM_SYMBOLIZER.exe"; then + LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER.exe" + fi + esac + fi + +fi + + +if test -n "$MOZ_TSAN"; then + CFLAGS="-fsanitize=thread $CFLAGS" + CXXFLAGS="-fsanitize=thread $CXXFLAGS" + if test -z "$CLANG_CL"; then + LDFLAGS="-fsanitize=thread -rdynamic $LDFLAGS" + fi + cat >> confdefs.pytmp <<\EOF + (''' MOZ_TSAN ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_TSAN 1 +EOF + + # Extract the first word of "llvm-symbolizer", so it can be a program name with args. +set dummy llvm-symbolizer; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2098: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_LLVM_SYMBOLIZER'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$LLVM_SYMBOLIZER" in + /*) + ac_cv_path_LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_LLVM_SYMBOLIZER="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +LLVM_SYMBOLIZER="$ac_cv_path_LLVM_SYMBOLIZER" +if test -n "$LLVM_SYMBOLIZER"; then + echo "$ac_t""$LLVM_SYMBOLIZER" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test "$msyshost"; then + case "$LLVM_SYMBOLIZER" in + /*) + tmp_DIRNAME=`dirname "$LLVM_SYMBOLIZER"` + tmp_BASENAME=`basename "$LLVM_SYMBOLIZER"` + tmp_PWD=`cd "$tmp_DIRNAME" && pwd -W` + LLVM_SYMBOLIZER="$tmp_PWD/$tmp_BASENAME" + if test -e "$LLVM_SYMBOLIZER.exe"; then + LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER.exe" + fi + esac + fi + +fi + + +if test -n "$MOZ_UBSAN_CHECKS"; then + MOZ_UBSAN=1 + UBSAN_TXT="$_objdir/ubsan_blacklist.txt" + cat $_topsrcdir/build/sanitizers/ubsan_*_blacklist.txt > $UBSAN_TXT + UBSAN_FLAGS="-fsanitize=$MOZ_UBSAN_CHECKS -fno-sanitize-recover=$MOZ_UBSAN_CHECKS -fsanitize-blacklist=$UBSAN_TXT" + CFLAGS="$UBSAN_FLAGS $CFLAGS" + CXXFLAGS="$UBSAN_FLAGS $CXXFLAGS" + if test -z "$CLANG_CL"; then + LDFLAGS="-fsanitize=undefined -rdynamic $LDFLAGS" + fi + cat >> confdefs.pytmp <<\EOF + (''' MOZ_UBSAN ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_UBSAN 1 +EOF + + # Extract the first word of "llvm-symbolizer", so it can be a program name with args. +set dummy llvm-symbolizer; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2166: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_LLVM_SYMBOLIZER'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$LLVM_SYMBOLIZER" in + /*) + ac_cv_path_LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_LLVM_SYMBOLIZER="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +LLVM_SYMBOLIZER="$ac_cv_path_LLVM_SYMBOLIZER" +if test -n "$LLVM_SYMBOLIZER"; then + echo "$ac_t""$LLVM_SYMBOLIZER" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test "$msyshost"; then + case "$LLVM_SYMBOLIZER" in + /*) + tmp_DIRNAME=`dirname "$LLVM_SYMBOLIZER"` + tmp_BASENAME=`basename "$LLVM_SYMBOLIZER"` + tmp_PWD=`cd "$tmp_DIRNAME" && pwd -W` + LLVM_SYMBOLIZER="$tmp_PWD/$tmp_BASENAME" + if test -e "$LLVM_SYMBOLIZER.exe"; then + LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER.exe" + fi + esac + fi + +fi + + +if test -n "$MOZ_SIGNED_OVERFLOW_SANITIZE$MOZ_UNSIGNED_OVERFLOW_SANITIZE"; then + MOZ_UBSAN=1 + SANITIZER_BLACKLISTS="" + if test -n "$MOZ_SIGNED_OVERFLOW_SANITIZE"; then + SANITIZER_BLACKLISTS="-fsanitize-blacklist=$_topsrcdir/build/sanitizers/ubsan_signed_overflow_blacklist.txt $SANITIZER_BLACKLISTS" + CFLAGS="-fsanitize=signed-integer-overflow $CFLAGS" + CXXFLAGS="-fsanitize=signed-integer-overflow $CXXFLAGS" + if test -z "$CLANG_CL"; then + LDFLAGS="-fsanitize=signed-integer-overflow -rdynamic $LDFLAGS" + fi + cat >> confdefs.pytmp <<\EOF + (''' MOZ_SIGNED_OVERFLOW_SANITIZE ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_SIGNED_OVERFLOW_SANITIZE 1 +EOF + + fi + if test -n "$MOZ_UNSIGNED_OVERFLOW_SANITIZE"; then + SANITIZER_BLACKLISTS="-fsanitize-blacklist=$_topsrcdir/build/sanitizers/ubsan_unsigned_overflow_blacklist.txt $SANITIZER_BLACKLISTS" + CFLAGS="-fsanitize=unsigned-integer-overflow $CFLAGS" + CXXFLAGS="-fsanitize=unsigned-integer-overflow $CXXFLAGS" + if test -z "$CLANG_CL"; then + LDFLAGS="-fsanitize=unsigned-integer-overflow -rdynamic $LDFLAGS" + fi + cat >> confdefs.pytmp <<\EOF + (''' MOZ_UNSIGNED_OVERFLOW_SANITIZE ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_UNSIGNED_OVERFLOW_SANITIZE 1 +EOF + + fi + CFLAGS="$SANITIZER_BLACKLISTS $CFLAGS" + CXXFLAGS="$SANITIZER_BLACKLISTS $CXXFLAGS" + cat >> confdefs.pytmp <<\EOF + (''' MOZ_UBSAN ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_UBSAN 1 +EOF + + # Extract the first word of "llvm-symbolizer", so it can be a program name with args. +set dummy llvm-symbolizer; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2259: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_LLVM_SYMBOLIZER'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$LLVM_SYMBOLIZER" in + /*) + ac_cv_path_LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_LLVM_SYMBOLIZER="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +LLVM_SYMBOLIZER="$ac_cv_path_LLVM_SYMBOLIZER" +if test -n "$LLVM_SYMBOLIZER"; then + echo "$ac_t""$LLVM_SYMBOLIZER" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test "$msyshost"; then + case "$LLVM_SYMBOLIZER" in + /*) + tmp_DIRNAME=`dirname "$LLVM_SYMBOLIZER"` + tmp_BASENAME=`basename "$LLVM_SYMBOLIZER"` + tmp_PWD=`cd "$tmp_DIRNAME" && pwd -W` + LLVM_SYMBOLIZER="$tmp_PWD/$tmp_BASENAME" + if test -e "$LLVM_SYMBOLIZER.exe"; then + LLVM_SYMBOLIZER="$LLVM_SYMBOLIZER.exe" + fi + esac + fi + +fi + + + + +if test -n "$LIBFUZZER"; then + LDFLAGS="$LIBFUZZER_FLAGS -rdynamic $LDFLAGS" +fi + +# The LLVM symbolizer is used by all sanitizers + + +cat > conftest.$ac_ext <<EOF +#line 2317 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + { echo "configure: error: compiler is incompatible with sanitize options" 1>&2; echo "configure: error: compiler is incompatible with sanitize options" 1>&5; exit 1; } +fi +rm -f conftest* + + +fi + +if test "$GNU_CC"; then + if test "$OS_ARCH" != "WINNT" -o -z "$CLANG_CC"; then + DSO_PIC_CFLAGS='-fPIC' + ASFLAGS="$ASFLAGS -fPIC" + fi + + echo $ac_n "checking for --noexecstack option to as""... $ac_c" 1>&6 +echo "configure:2344: checking for --noexecstack option to as" >&5 + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -Wa,--noexecstack" + cat > conftest.$ac_ext <<EOF +#line 2348 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2355: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 + ASFLAGS="$ASFLAGS -Wa,--noexecstack" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6 +fi +rm -f conftest* + CFLAGS=$_SAVE_CFLAGS + echo $ac_n "checking for -z noexecstack option to ld""... $ac_c" 1>&6 +echo "configure:2368: checking for -z noexecstack option to ld" >&5 + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,noexecstack" + cat > conftest.$ac_ext <<EOF +#line 2372 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6 + LDFLAGS=$_SAVE_LDFLAGS +fi +rm -f conftest* + + echo $ac_n "checking for -z text option to ld""... $ac_c" 1>&6 +echo "configure:2392: checking for -z text option to ld" >&5 + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,text" + cat > conftest.$ac_ext <<EOF +#line 2396 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6 + LDFLAGS=$_SAVE_LDFLAGS +fi +rm -f conftest* + + echo $ac_n "checking for -z relro option to ld""... $ac_c" 1>&6 +echo "configure:2416: checking for -z relro option to ld" >&5 + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,relro" + cat > conftest.$ac_ext <<EOF +#line 2420 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2427: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6 + LDFLAGS=$_SAVE_LDFLAGS +fi +rm -f conftest* + + echo $ac_n "checking for -z nocopyreloc option to ld""... $ac_c" 1>&6 +echo "configure:2440: checking for -z nocopyreloc option to ld" >&5 + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,nocopyreloc" + cat > conftest.$ac_ext <<EOF +#line 2444 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6 + LDFLAGS=$_SAVE_LDFLAGS +fi +rm -f conftest* + + echo $ac_n "checking for -Bsymbolic-functions option to ld""... $ac_c" 1>&6 +echo "configure:2464: checking for -Bsymbolic-functions option to ld" >&5 + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions" + cat > conftest.$ac_ext <<EOF +#line 2468 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6 + LDFLAGS=$_SAVE_LDFLAGS +fi +rm -f conftest* + + # While sha1 is deterministic, it is slower. + if test -z "$DEVELOPER_OPTIONS"; then + build_id=sha1 + else + build_id=uuid + fi + echo $ac_n "checking for --build-id=$build_id option to ld""... $ac_c" 1>&6 +echo "configure:2494: checking for --build-id=$build_id option to ld" >&5 + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,--build-id=$build_id" + cat > conftest.$ac_ext <<EOF +#line 2498 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6 + LDFLAGS=$_SAVE_LDFLAGS +fi +rm -f conftest* + + echo $ac_n "checking for --ignore-unresolved-symbol option to ld""... $ac_c" 1>&6 +echo "configure:2518: checking for --ignore-unresolved-symbol option to ld" >&5 + HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED= + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,--ignore-unresolved-symbol,environ" + cat > conftest.$ac_ext <<EOF +#line 2523 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 + HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED=1 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6 +fi +rm -f conftest* + LDFLAGS=$_SAVE_LDFLAGS + + DSO_LDOPTS='-shared' + if test "$GCC_USE_GNU_LD"; then + # Some tools like ASan use a runtime library that is only + # linked against executables, so we must allow undefined + # symbols for shared objects in some cases. + if test -z "$MOZ_ASAN$MOZ_MSAN$MOZ_UBSAN$MOZ_TSAN$FUZZING_INTERFACES"; then + # Don't allow undefined symbols in libraries + DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs" + + # BSDs need `environ' exposed for posix_spawn (bug 753046) + case "$OS_TARGET" in + DragonFly|FreeBSD|NetBSD|OpenBSD) + if test -n "$HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED"; then + DSO_LDOPTS="$DSO_LDOPTS -Wl,--ignore-unresolved-symbol,environ" + else + DSO_LDOPTS="$DSO_LDOPTS -Wl,--warn-unresolved-symbols" + fi + ;; + esac + fi + fi + + _DEFINES_CFLAGS="-include $_objdir/mozilla-config.h -DMOZILLA_CLIENT" + + ASFLAGS="$ASFLAGS $_DEFINES_CFLAGS" +fi + +if test "$GNU_CXX"; then + CXXFLAGS="$CXXFLAGS -fno-exceptions" + + _DEFINES_CXXFLAGS="-DMOZILLA_CLIENT -include $_objdir/mozilla-config.h" +fi + +case "$host" in +*mingw*) + if test -n "$_WIN32_MSVC"; then + HOST_CFLAGS="$HOST_CFLAGS" + else + HOST_CFLAGS="$HOST_CFLAGS -mwindows" + fi + HOST_CFLAGS="$HOST_CFLAGS -DXP_WIN -DWIN32 -D_WIN32 -D_CRT_SECURE_NO_WARNINGS" + HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}" + HOST_BIN_SUFFIX=.exe + + case "${host_cpu}" in + i*86) + if test -n "$_WIN32_MSVC"; then + HOST_LDFLAGS="$HOST_LDFLAGS -MACHINE:X86" + fi + ;; + x86_64) + if test -n "$_WIN32_MSVC"; then + HOST_LDFLAGS="$HOST_LDFLAGS -MACHINE:X64" + fi + HOST_CFLAGS="$HOST_CFLAGS -D_AMD64_" + ;; + esac + ;; + +*-darwin*) + HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX -DXP_MACOSX" + HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}" + ;; + +*-linux*|*-kfreebsd*-gnu|*-gnu*) + HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX" + HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}" + ;; + +*) + HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX" + HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}" + ;; +esac + + +case "$target" in +*-darwin*) + MOZ_OPTIMIZE_FLAGS="-O3" + DSO_LDOPTS='' + + if test "x$enable_dtrace" = "xyes"; then + echo "Skipping -dead_strip because DTrace is enabled. See bug 403132." + else + echo $ac_n "checking for -dead_strip option to ld""... $ac_c" 1>&6 +echo "configure:2628: checking for -dead_strip option to ld" >&5 + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-dead_strip" + cat > conftest.$ac_ext <<EOF +#line 2632 "configure" +#include "confdefs.h" + +int main() { +return 0; +; return 0; } +EOF +if { (eval echo configure:2639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + _HAVE_DEAD_STRIP=1 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + _HAVE_DEAD_STRIP= +fi +rm -f conftest* + if test -n "$_HAVE_DEAD_STRIP" ; then + echo "$ac_t""yes" 1>&6 + MOZ_OPTIMIZE_LDFLAGS="-Wl,-dead_strip" + else + echo "$ac_t""no" 1>&6 + fi + + LDFLAGS=$_SAVE_LDFLAGS + fi + + MOZ_FIX_LINK_PATHS= + ;; + +*-android*|*-linuxandroid*) + if test -z "$CLANG_CC"; then + MOZ_OPTIMIZE_FLAGS="-freorder-blocks -fno-reorder-functions -Os" + else + # From https://github.com/android-ndk/ndk/issues/133#issuecomment-308549264 + # -Oz is smaller than -Os on clang. + MOZ_OPTIMIZE_FLAGS="-Oz" + # Disable the outliner, which causes performance regressions, and is + # enabled on some platforms at -Oz. + if test -z "$MOZ_LTO"; then + DISABLE_OUTLINER="-mno-outline" + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $DISABLE_OUTLINER" + cat > conftest.$ac_ext <<EOF +#line 2676 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2683: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + MOZ_OPTIMIZE_FLAGS="$MOZ_OPTIMIZE_FLAGS $DISABLE_OUTLINER" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* + CFLAGS="$_SAVE_CFLAGS" + else + DISABLE_OUTLINER="-Wl,-plugin-opt=-enable-machine-outliner=never" + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $MOZ_LTO_LDFLAGS $DISABLE_OUTLINER" + cat > conftest.$ac_ext <<EOF +#line 2697 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + MOZ_OPTIMIZE_LDFLAGS="$MOZ_OPTIMIZE_LDFLAGS $DISABLE_OUTLINER" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* + LDFLAGS="$_SAVE_LDFLAGS" + fi + fi + ;; + +*-*linux*) + if test "$GNU_CC" -o "$GNU_CXX"; then + MOZ_PGO_OPTIMIZE_FLAGS="-O3" + if test -n "$MOZ_DEBUG"; then + MOZ_OPTIMIZE_FLAGS="-Os" + else + MOZ_OPTIMIZE_FLAGS="-O2" + fi + if test -z "$CLANG_CC"; then + MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS" + fi + fi + + case "${target_cpu}" in + alpha*) + CFLAGS="$CFLAGS -mieee" + CXXFLAGS="$CXXFLAGS -mieee" + ;; + esac + ;; +*-mingw*) + DSO_PIC_CFLAGS= + # certain versions of cygwin's makedepend barf on the + # #include <string> vs -I./dist/include/string issue so don't use it + if test -n "$GNU_CC" -o -n "$CLANG_CC"; then + # $GNU_CC will match gcc and clang; while $CLANG_CC will match only clang + if test -z "$CLANG_CC"; then + { echo "configure: error: Firefox cannot be built with mingw-gcc and requires a mingw-clang toolchain to work" 1>&2; echo "configure: error: Firefox cannot be built with mingw-gcc and requires a mingw-clang toolchain to work" 1>&5; exit 1; } + fi + + DSO_LDOPTS='-shared' + MOZ_FIX_LINK_PATHS= + + MOZ_OPTIMIZE_FLAGS="-O2" + + WIN32_CONSOLE_EXE_LDFLAGS=-mconsole + WIN32_GUI_EXE_LDFLAGS=-mwindows + + # Silence problematic clang warnings + CXXFLAGS="$CXXFLAGS -Wno-incompatible-ms-struct" + LDFLAGS="$LDFLAGS -Wl,--no-insert-timestamp" + else + TARGET_COMPILER_ABI=msvc + # aarch64 doesn't support subsystems below 6.02 + if test "$CPU_ARCH" = "aarch64"; then + WIN32_SUBSYSTEM_VERSION=6.02 + else + WIN32_SUBSYSTEM_VERSION=6.01 + fi + WIN32_CONSOLE_EXE_LDFLAGS=-SUBSYSTEM:CONSOLE,$WIN32_SUBSYSTEM_VERSION + WIN32_GUI_EXE_LDFLAGS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION + DSO_LDOPTS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION + _DEFINES_CFLAGS="-FI $_objdir/mozilla-config.h -DMOZILLA_CLIENT" + _DEFINES_CXXFLAGS="-FI $_objdir/mozilla-config.h -DMOZILLA_CLIENT" + CFLAGS="$CFLAGS -Gy -Zc:inline" + CXXFLAGS="$CXXFLAGS -Gy -Zc:inline" + if test "$CPU_ARCH" = "x86"; then + + if test -z `echo $CFLAGS | grep -i [-/]arch:`; then + CFLAGS="$CFLAGS -arch:SSE2" + fi + if test -z `echo $CXXFLAGS | grep -i [-/]arch:`; then + CXXFLAGS="$CXXFLAGS -arch:SSE2" + fi + + fi + if test -z "$MOZ_ASAN"; then + CFLAGS="$CFLAGS -Gw" + CXXFLAGS="$CXXFLAGS -Gw" + else + # String tail merging doesn't play nice with ASan's ODR checker. + LDFLAGS="$LDFLAGS -opt:nolldtailmerge" + fi + # Silence VS2017 15.5+ TR1 deprecation warnings hit by older gtest versions + CXXFLAGS="$CXXFLAGS -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING" + MOZ_DEBUG_LDFLAGS='-DEBUG' + if test "$HOST_OS_ARCH" != "WINNT"; then + # %_PDB% is a special signal to emit only the PDB basename. This + # avoids problems in Windows tools that don't like forward-slashes. + MOZ_DEBUG_LDFLAGS="$MOZ_DEBUG_LDFLAGS -PDBALTPATH:%_PDB%" + fi + MOZ_OPTIMIZE_FLAGS='-O2' + MOZ_FIX_LINK_PATHS= + LDFLAGS="$LDFLAGS -LARGEADDRESSAWARE" + fi + cat >> confdefs.pytmp <<\EOF + (''' WIN32_LEAN_AND_MEAN ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define WIN32_LEAN_AND_MEAN 1 +EOF + + cat >> confdefs.pytmp <<\EOF + (''' NOMINMAX ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define NOMINMAX 1 +EOF + + BIN_SUFFIX='.exe' + + case "$host_os" in + cygwin*|msvc*|mks*) + { echo "configure: error: Using a Cygwin build environment is unsupported. Configure cannot check for presence of necessary headers. Please upgrade to MozillaBuild; see https://developer.mozilla.org/en/Windows_Build_Prerequisites." 1>&2; echo "configure: error: Using a Cygwin build environment is unsupported. Configure cannot check for presence of necessary headers. Please upgrade to MozillaBuild; see https://developer.mozilla.org/en/Windows_Build_Prerequisites." 1>&5; exit 1; } + ;; + esac + + case "$target" in + i*86-*) + if test -n "$GNU_CC"; then + CFLAGS="$CFLAGS -mstackrealign" + CXXFLAGS="$CXXFLAGS -mstackrealign" + LDFLAGS="$LDFLAGS -Wl,--large-address-aware" + else + DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X86" + LDFLAGS="$LDFLAGS -SAFESEH" + fi + + cat >> confdefs.pytmp <<\EOF + (''' _X86_ ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _X86_ 1 +EOF + + ;; + x86_64-*) + if test -n "$_WIN32_MSVC"; then + DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X64" + fi + cat >> confdefs.pytmp <<\EOF + (''' _AMD64_ ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _AMD64_ 1 +EOF + + ;; + aarch64-*) + if test -n "$_WIN32_MSVC"; then + DSO_LDOPTS="$DSO_LDOPTS -MACHINE:ARM64" + fi + cat >> confdefs.pytmp <<\EOF + (''' _ARM64_ ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _ARM64_ 1 +EOF + + ;; + *) + cat >> confdefs.pytmp <<\EOF + (''' _CPU_ARCH_NOT_DEFINED ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _CPU_ARCH_NOT_DEFINED 1 +EOF + + ;; + esac + ;; + +*-netbsd*) + CFLAGS="$CFLAGS -Dunix" + CXXFLAGS="$CXXFLAGS -Dunix" + if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then + DSO_PIC_CFLAGS='-fPIC -DPIC' + DSO_LDOPTS='-shared' + MOZ_PROGRAM_LDFLAGS="$MOZ_PROGRAM_LDFLAGS -Wl,--export-dynamic" + else + DSO_PIC_CFLAGS='-fPIC -DPIC' + DSO_LDOPTS='-shared' + fi + # This will fail on a.out systems prior to 1.5.1_ALPHA. + if test "$LIBRUNPATH"; then + DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS" + fi + ;; + +*-openbsd*) + if test -z "$X11BASE"; then + X11BASE=/usr/X11R6 + fi + MOZ_FIX_LINK_PATHS="$MOZ_FIX_LINK_PATHS -Wl,-rpath-link,${X11BASE}/lib" + DSO_PIC_CFLAGS='-fPIC' + DSO_LDOPTS='-shared -fPIC' + if test "$LIBRUNPATH"; then + DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS" + fi + ;; + +*-solaris*) + MOZ_FIX_LINK_PATHS="-L${DIST}/bin" + ;; + +esac + +CFLAGS="$CFLAGS $DSO_PIC_CFLAGS" +CXXFLAGS="$CXXFLAGS $DSO_PIC_CFLAGS" + +if test -z "$MOZ_OPTIMIZE_FLAGS"; then + MOZ_OPTIMIZE_FLAGS="-O" +fi + + +if test -z "$COMPILE_ENVIRONMENT"; then + SKIP_COMPILER_CHECKS=1 + SKIP_LIBRARY_CHECKS=1 + + +if test -z "$MOZ_DEBUG" -o -n "$MOZ_ASAN"; then + MOZ_NO_DEBUG_RTL=1 +fi + + + +if test -n "$MOZ_DEBUG"; then + if test -n "$COMPILE_ENVIRONMENT"; then + echo $ac_n "checking for valid debug flags""... $ac_c" 1>&6 +echo "configure:2936: checking for valid debug flags" >&5 + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $MOZ_DEBUG_FLAGS" + cat > conftest.$ac_ext <<EOF +#line 2940 "configure" +#include "confdefs.h" +#include <stdio.h> +int main() { +printf("Hello World\n"); +; return 0; } +EOF +if { (eval echo configure:2947: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + _results=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + _results=no +fi +rm -f conftest* + echo "$ac_t""$_results" 1>&6 + if test "$_results" = "no"; then + { echo "configure: error: These compiler flags are invalid: $MOZ_DEBUG_FLAGS" 1>&2; echo "configure: error: These compiler flags are invalid: $MOZ_DEBUG_FLAGS" 1>&5; exit 1; } + fi + CFLAGS=$_SAVE_CFLAGS + fi +fi + +else + + + +if test -z "$MOZ_DEBUG" -o -n "$MOZ_ASAN"; then + MOZ_NO_DEBUG_RTL=1 +fi + + + +if test -n "$MOZ_DEBUG"; then + if test -n "$COMPILE_ENVIRONMENT"; then + echo $ac_n "checking for valid debug flags""... $ac_c" 1>&6 +echo "configure:2978: checking for valid debug flags" >&5 + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $MOZ_DEBUG_FLAGS" + cat > conftest.$ac_ext <<EOF +#line 2982 "configure" +#include "confdefs.h" +#include <stdio.h> +int main() { +printf("Hello World\n"); +; return 0; } +EOF +if { (eval echo configure:2989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + _results=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + _results=no +fi +rm -f conftest* + echo "$ac_t""$_results" 1>&6 + if test "$_results" = "no"; then + { echo "configure: error: These compiler flags are invalid: $MOZ_DEBUG_FLAGS" 1>&2; echo "configure: error: These compiler flags are invalid: $MOZ_DEBUG_FLAGS" 1>&5; exit 1; } + fi + CFLAGS=$_SAVE_CFLAGS + fi +fi + + +if test -z "$_MOZ_USE_RTTI"; then + if test "$GNU_CC"; then + CXXFLAGS="$CXXFLAGS -fno-rtti" + else + case "$target" in + *-mingw*) + CXXFLAGS="$CXXFLAGS -GR-" + esac + fi +fi + + +if test "$GNU_CC"; then + if test -z "$DEVELOPER_OPTIONS"; then + CFLAGS="$CFLAGS -ffunction-sections -fdata-sections" + CXXFLAGS="$CXXFLAGS -ffunction-sections -fdata-sections" + fi + + CFLAGS="$CFLAGS -fno-math-errno" + CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno" +fi + + +if test "$GNU_CC" -a "$GCC_USE_GNU_LD" -a -z "$MOZ_DISABLE_ICF" -a -z "$DEVELOPER_OPTIONS"; then + echo $ac_n "checking whether the linker supports Identical Code Folding""... $ac_c" 1>&6 +echo "configure:3033: checking whether the linker supports Identical Code Folding" >&5 +if eval "test \"`echo '$''{'LD_SUPPORTS_ICF'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'int foo() {return 42;}' \ + 'int bar() {return 42;}' \ + 'int main() {return foo() - bar();}' > conftest.${ac_ext} + # If the linker supports ICF, foo and bar symbols will have + # the same address + if { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS -Wl,--icf=safe -ffunction-sections conftest.${ac_ext} $LIBS 1>&2'; { (eval echo configure:3042: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && + test -s conftest${ac_exeext} && + $LLVM_OBJDUMP -t conftest${ac_exeext} | awk '{a[$6] = $1} END {if (a["foo"] && (a["foo"] != a["bar"])) { exit 1 }}'; then + LD_SUPPORTS_ICF=yes + else + LD_SUPPORTS_ICF=no + fi + rm -rf conftest* +fi + +echo "$ac_t""$LD_SUPPORTS_ICF" 1>&6 + if test "$LD_SUPPORTS_ICF" = yes; then + _SAVE_LDFLAGS="$LDFLAGS -Wl,--icf=safe" + LDFLAGS="$LDFLAGS -Wl,--icf=safe -Wl,--print-icf-sections" + cat > conftest.$ac_ext <<EOF +#line 3057 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:3064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + LD_PRINT_ICF_SECTIONS=-Wl,--print-icf-sections +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + LD_PRINT_ICF_SECTIONS= +fi +rm -f conftest* + + LDFLAGS="$_SAVE_LDFLAGS" + fi +fi + + +SANCOV= +if test -n "$LIBFUZZER"; then + case "$LIBFUZZER_FLAGS" in + *-fsanitize-coverage*|*-fsanitize=fuzzer*) + SANCOV=1 + ;; + esac +fi + +if test "$GNU_CC" -a "$GCC_USE_GNU_LD" -a -z "$DEVELOPER_OPTIONS" -a -z "$MOZ_PROFILE_GENERATE" -a -z "$SANCOV"; then + if test -n "$MOZ_DEBUG_FLAGS"; then + echo $ac_n "checking whether removing dead symbols breaks debugging""... $ac_c" 1>&6 +echo "configure:3092: checking whether removing dead symbols breaks debugging" >&5 +if eval "test \"`echo '$''{'GC_SECTIONS_BREAKS_DEBUG_RANGES'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'int foo() {return 42;}' \ + 'int bar() {return 1;}' \ + 'int main() {return foo();}' > conftest.${ac_ext} + if { ac_try='${CC-cc} -o conftest.${ac_objext} $CFLAGS $MOZ_DEBUG_FLAGS -c conftest.${ac_ext} 1>&2'; { (eval echo configure:3099: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && + { ac_try='${CC-cc} -o conftest${ac_exeext} $LDFLAGS $MOZ_DEBUG_FLAGS -Wl,--gc-sections conftest.${ac_objext} $LIBS 1>&2'; { (eval echo configure:3100: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && + test -s conftest${ac_exeext} -a -s conftest.${ac_objext}; then + if test "`$PYTHON3 -m mozbuild.configure.check_debug_ranges conftest.${ac_objext} conftest.${ac_ext}`" = \ + "`$PYTHON3 -m mozbuild.configure.check_debug_ranges conftest${ac_exeext} conftest.${ac_ext}`"; then + GC_SECTIONS_BREAKS_DEBUG_RANGES=no + else + GC_SECTIONS_BREAKS_DEBUG_RANGES=yes + fi + else + GC_SECTIONS_BREAKS_DEBUG_RANGES="no, but it's broken in some other way" + fi + rm -rf conftest* +fi + +echo "$ac_t""$GC_SECTIONS_BREAKS_DEBUG_RANGES" 1>&6 + if test "$GC_SECTIONS_BREAKS_DEBUG_RANGES" = no; then + DSO_LDOPTS="$DSO_LDOPTS -Wl,--gc-sections" + fi + else + DSO_LDOPTS="$DSO_LDOPTS -Wl,--gc-sections" + fi +fi + +if test "$GNU_CC$CLANG_CC"; then + case "${OS_TARGET}" in + Darwin|WASI) + # It's the default on those targets, and clang complains about -pie + # being unused if passed. + ;; + *) + MOZ_PROGRAM_LDFLAGS="$MOZ_PROGRAM_LDFLAGS -pie" + ;; + esac +fi + + + +if test -n "$GCC_USE_GNU_LD"; then + case "$LDFLAGS" in + *-fsanitize=address*) + LDFLAGS="$LDFLAGS -Wl,-Bsymbolic" + ;; + esac +fi + + +fi # COMPILE_ENVIRONMENT + +if test -z "$SKIP_COMPILER_CHECKS"; then +echo $ac_n "checking for working const""... $ac_c" 1>&6 +echo "configure:3150: checking for working const" >&5 +if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 3155 "configure" +#include "confdefs.h" + +int main() { + +/* Ultrix mips cc rejects this. */ +typedef int charset[2]; const charset x; +/* SunOS 4.1.1 cc rejects this. */ +char const *const *ccp; +char **p; +/* NEC SVR4.0.2 mips cc rejects this. */ +struct point {int x, y;}; +static struct point const zero = {0,0}; +/* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in an arm + of an if-expression whose if-part is not a constant expression */ +const char *g = "string"; +ccp = &g + (g ? g-g : 0); +/* HPUX 7.0 cc rejects these. */ +++ccp; +p = (char**) ccp; +ccp = (char const *const *) p; +{ /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; +} +{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; +} +{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; +} +{ /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; +} +{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; +} + +; return 0; } +EOF +if { (eval echo configure:3204: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_c_const=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_c_const=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_c_const" 1>&6 +if test $ac_cv_c_const = no; then + cat >> confdefs.pytmp <<\EOF + (''' const ''', r''' ''') +EOF +cat >> confdefs.h <<\EOF +#define const +EOF + +fi + + + +echo $ac_n "checking for mode_t""... $ac_c" 1>&6 +echo "configure:3230: checking for mode_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 3235 "configure" +#include "confdefs.h" +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_mode_t=yes +else + rm -rf conftest* + ac_cv_type_mode_t=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_type_mode_t" 1>&6 +if test $ac_cv_type_mode_t = no; then + cat >> confdefs.pytmp <<\EOF + (''' mode_t ''', r''' int ''') +EOF +cat >> confdefs.h <<\EOF +#define mode_t int +EOF + +fi + + + +echo $ac_n "checking for off_t""... $ac_c" 1>&6 +echo "configure:3268: checking for off_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 3273 "configure" +#include "confdefs.h" +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_off_t=yes +else + rm -rf conftest* + ac_cv_type_off_t=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_type_off_t" 1>&6 +if test $ac_cv_type_off_t = no; then + cat >> confdefs.pytmp <<\EOF + (''' off_t ''', r''' long ''') +EOF +cat >> confdefs.h <<\EOF +#define off_t long +EOF + +fi + + + +echo $ac_n "checking for pid_t""... $ac_c" 1>&6 +echo "configure:3306: checking for pid_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 3311 "configure" +#include "confdefs.h" +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_pid_t=yes +else + rm -rf conftest* + ac_cv_type_pid_t=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_type_pid_t" 1>&6 +if test $ac_cv_type_pid_t = no; then + cat >> confdefs.pytmp <<\EOF + (''' pid_t ''', r''' int ''') +EOF +cat >> confdefs.h <<\EOF +#define pid_t int +EOF + +fi + + + +echo $ac_n "checking for size_t""... $ac_c" 1>&6 +echo "configure:3344: checking for size_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 3349 "configure" +#include "confdefs.h" +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_size_t=yes +else + rm -rf conftest* + ac_cv_type_size_t=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_type_size_t" 1>&6 +if test $ac_cv_type_size_t = no; then + cat >> confdefs.pytmp <<\EOF + (''' size_t ''', r''' unsigned ''') +EOF +cat >> confdefs.h <<\EOF +#define size_t unsigned +EOF + +fi + +ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + +ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + + +ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + +if test "$GNU_CXX"; then + echo $ac_n "checking whether 64-bits std::atomic requires -latomic""... $ac_c" 1>&6 +echo "configure:3428: checking whether 64-bits std::atomic requires -latomic" >&5 +if eval "test \"`echo '$''{'ac_cv_needs_atomic'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 3433 "configure" +#include "confdefs.h" +#include <cstdint> + #include <atomic> +int main() { + std::atomic<uint64_t> foo; foo = 1; +; return 0; } +EOF +if { (eval echo configure:3441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_needs_atomic=no +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + _SAVE_LIBS="$LIBS" + LIBS="$LIBS -latomic" + cat > conftest.$ac_ext <<EOF +#line 3451 "configure" +#include "confdefs.h" +#include <cstdint> + #include <atomic> +int main() { + std::atomic<uint64_t> foo; foo = 1; +; return 0; } +EOF +if { (eval echo configure:3459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_needs_atomic=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_needs_atomic="do not know; assuming no" +fi +rm -f conftest* + LIBS="$_SAVE_LIBS" + +fi +rm -f conftest* + +fi + +echo "$ac_t""$ac_cv_needs_atomic" 1>&6 + if test "$ac_cv_needs_atomic" = yes; then + MOZ_NEEDS_LIBATOMIC=1 + else + MOZ_NEEDS_LIBATOMIC= + fi + +fi +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 +echo "configure:3514: checking for $ac_hdr that defines DIR" >&5 +if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 3519 "configure" +#include "confdefs.h" +#include <sys/types.h> +#include <$ac_hdr> +int main() { +DIR *dirp = 0; +; return 0; } +EOF +if { (eval echo configure:3527: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.pytmp <<EOF + (''' $ac_tr_hdr ''', ' 1 ') +EOF +cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + ac_header_dirent=$ac_hdr; break +else + echo "$ac_t""no" 1>&6 +fi +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then +echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 +echo "configure:3555: checking for opendir in -ldir" >&5 +ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldir $LIBS" +cat > conftest.$ac_ext <<EOF +#line 3563 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir(); + +int main() { +opendir() +; return 0; } +EOF +if { (eval echo configure:3574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + LIBS="$LIBS -ldir" +else + echo "$ac_t""no" 1>&6 +fi + +else +echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 +echo "configure:3596: checking for opendir in -lx" >&5 +ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lx $LIBS" +cat > conftest.$ac_ext <<EOF +#line 3604 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir(); + +int main() { +opendir() +; return 0; } +EOF +if { (eval echo configure:3615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + LIBS="$LIBS -lx" +else + echo "$ac_t""no" 1>&6 +fi + +fi + + +echo $ac_n "checking for gethostbyname_r in -lc_r""... $ac_c" 1>&6 +echo "configure:3639: checking for gethostbyname_r in -lc_r" >&5 +ac_lib_var=`echo c_r'_'gethostbyname_r | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lc_r $LIBS" +cat > conftest.$ac_ext <<EOF +#line 3647 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gethostbyname_r(); + +int main() { +gethostbyname_r() +; return 0; } +EOF +if { (eval echo configure:3658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo c_r | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.pytmp <<EOF + (''' $ac_tr_lib ''', ' 1 ') +EOF +cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lc_r $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + + +case $target in +*-darwin*) + ;; +*) + +echo $ac_n "checking for library containing dlopen""... $ac_c" 1>&6 +echo "configure:3695: checking for library containing dlopen" >&5 +if eval "test \"`echo '$''{'ac_cv_search_dlopen'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_func_search_save_LIBS="$LIBS" +ac_cv_search_dlopen="no" +cat > conftest.$ac_ext <<EOF +#line 3702 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen(); + +int main() { +dlopen() +; return 0; } +EOF +if { (eval echo configure:3713: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_search_dlopen="none required" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* +test "$ac_cv_search_dlopen" = "no" && for i in dl; do +LIBS="-l$i $ac_func_search_save_LIBS" +cat > conftest.$ac_ext <<EOF +#line 3724 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen(); + +int main() { +dlopen() +; return 0; } +EOF +if { (eval echo configure:3735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_search_dlopen="-l$i" +break +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* +done +LIBS="$ac_func_search_save_LIBS" +fi + +echo "$ac_t""$ac_cv_search_dlopen" 1>&6 +if test "$ac_cv_search_dlopen" != "no"; then + test "$ac_cv_search_dlopen" = "none required" || LIBS="$ac_cv_search_dlopen $LIBS" + ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6 +echo "configure:3753: checking for dlfcn.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 3758 "configure" +#include "confdefs.h" + +#include <dlfcn.h> +int main() { + +; return 0; } +EOF +if { (eval echo configure:3766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi + + if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.pytmp <<\EOF + (''' HAVE_DLOPEN ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_DLOPEN 1 +EOF + + else + echo "$ac_t""no" 1>&6 + + fi + +else : + +fi + ;; +esac + +_SAVE_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -D_GNU_SOURCE" +for ac_func in dladdr +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:3803: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 3808 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:3831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.pytmp <<EOF + (''' $ac_tr_func ''', ' 1 ') +EOF +cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + +CFLAGS="$_SAVE_CFLAGS" + +if test ! "$GNU_CXX"; then + echo $ac_n "checking for demangle in -lC""... $ac_c" 1>&6 +echo "configure:3862: checking for demangle in -lC" >&5 +ac_lib_var=`echo C'_'demangle | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lC $LIBS" +cat > conftest.$ac_ext <<EOF +#line 3870 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char demangle(); + +int main() { +demangle() +; return 0; } +EOF +if { (eval echo configure:3881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo C | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.pytmp <<EOF + (''' $ac_tr_lib ''', ' 1 ') +EOF +cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lC $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + +fi + +echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 +echo "configure:3914: checking for socket in -lsocket" >&5 +ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lsocket $LIBS" +cat > conftest.$ac_ext <<EOF +#line 3922 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char socket(); + +int main() { +socket() +; return 0; } +EOF +if { (eval echo configure:3933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.pytmp <<EOF + (''' $ac_tr_lib ''', ' 1 ') +EOF +cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lsocket $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + + +case "$target_os" in +darwin*) + MOZ_USE_PTHREADS=1 + ;; +*) + echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6 +echo "configure:3970: checking for pthread_create in -lpthreads" >&5 +ac_lib_var=`echo pthreads'_'pthread_create | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lpthreads $LIBS" +cat > conftest.$ac_ext <<EOF +#line 3978 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char pthread_create(); + +int main() { +pthread_create() +; return 0; } +EOF +if { (eval echo configure:3989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthreads" +else + echo "$ac_t""no" 1>&6 +echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6 +echo "configure:4008: checking for pthread_create in -lpthread" >&5 +ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lpthread $LIBS" +cat > conftest.$ac_ext <<EOF +#line 4016 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char pthread_create(); + +int main() { +pthread_create() +; return 0; } +EOF +if { (eval echo configure:4027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthread" +else + echo "$ac_t""no" 1>&6 +echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6 +echo "configure:4046: checking for pthread_create in -lc_r" >&5 +ac_lib_var=`echo c_r'_'pthread_create | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lc_r $LIBS" +cat > conftest.$ac_ext <<EOF +#line 4054 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char pthread_create(); + +int main() { +pthread_create() +; return 0; } +EOF +if { (eval echo configure:4065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lc_r" +else + echo "$ac_t""no" 1>&6 +echo $ac_n "checking for pthread_create in -lc""... $ac_c" 1>&6 +echo "configure:4084: checking for pthread_create in -lc" >&5 +ac_lib_var=`echo c'_'pthread_create | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lc $LIBS" +cat > conftest.$ac_ext <<EOF +#line 4092 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char pthread_create(); + +int main() { +pthread_create() +; return 0; } +EOF +if { (eval echo configure:4103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + MOZ_USE_PTHREADS=1 + +else + echo "$ac_t""no" 1>&6 +fi + + +fi + + +fi + + +fi + + ;; +esac + +if test "$MOZ_USE_PTHREADS"x != x +then + rm -f conftest* + ac_cv_have_dash_pthread=no + echo $ac_n "checking whether ${CC-cc} accepts -pthread""... $ac_c" 1>&6 +echo "configure:4141: checking whether ${CC-cc} accepts -pthread" >&5 + echo 'int main() { return 0; }' | cat > conftest.c + ${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1 + if test $? -eq 0; then + if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" -a -z "`egrep -i '(error|incorrect)' conftest.out`" ; then + ac_cv_have_dash_pthread=yes + case "$target_os" in + freebsd*) +# Freebsd doesn't use -pthread for compiles, it uses them for linking + ;; + *) + CFLAGS="$CFLAGS -pthread" + CXXFLAGS="$CXXFLAGS -pthread" + ;; + esac + fi + fi + rm -f conftest* + echo "$ac_t""$ac_cv_have_dash_pthread" 1>&6 + + ac_cv_have_dash_pthreads=no + if test "$ac_cv_have_dash_pthread" = "no"; then + echo $ac_n "checking whether ${CC-cc} accepts -pthreads""... $ac_c" 1>&6 +echo "configure:4164: checking whether ${CC-cc} accepts -pthreads" >&5 + echo 'int main() { return 0; }' | cat > conftest.c + ${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1 + if test $? -eq 0; then + if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthreads`" -a -z "`egrep -i '(error|incorrect)' conftest.out`" ; then + ac_cv_have_dash_pthreads=yes + CFLAGS="$CFLAGS -pthreads" + CXXFLAGS="$CXXFLAGS -pthreads" + fi + fi + rm -f conftest* + echo "$ac_t""$ac_cv_have_dash_pthreads" 1>&6 + fi + + case "$target" in + *-*-freebsd*) + cat >> confdefs.pytmp <<\EOF + (''' _REENTRANT ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _REENTRANT 1 +EOF + + cat >> confdefs.pytmp <<\EOF + (''' _THREAD_SAFE ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _THREAD_SAFE 1 +EOF + + if test "$ac_cv_have_dash_pthread" = "yes"; then + _PTHREAD_LDFLAGS="-pthread" + fi + ;; + + *-*-openbsd*|*-*-bsdi*) + cat >> confdefs.pytmp <<\EOF + (''' _REENTRANT ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _REENTRANT 1 +EOF + + cat >> confdefs.pytmp <<\EOF + (''' _THREAD_SAFE ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _THREAD_SAFE 1 +EOF + + if test "$ac_cv_have_dash_pthread" = "yes"; then + _PTHREAD_LDFLAGS="-pthread" + fi + ;; + + *-*-linux*|*-*-kfreebsd*-gnu|*-*-gnu*) + cat >> confdefs.pytmp <<\EOF + (''' _REENTRANT ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define _REENTRANT 1 +EOF + + ;; + + esac + LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}" + + for ac_hdr in pthread.h + do + ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:4236: checking for $ac_hdr" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 4241 "configure" +#include "confdefs.h" + +#include <$ac_hdr> +int main() { + +; return 0; } +EOF +if { (eval echo configure:4249: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi + + if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.pytmp <<EOF + (''' $ac_tr_hdr ''', ' 1 ') +EOF +cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + + else + echo "$ac_t""no" 1>&6 + + fi + + done + +fi + + + +echo $ac_n "checking for clock_gettime(CLOCK_MONOTONIC)""... $ac_c" 1>&6 +echo "configure:4283: checking for clock_gettime(CLOCK_MONOTONIC)" >&5 +if eval "test \"`echo '$''{'ac_cv_clock_monotonic'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + for libs in "" -lrt; do + _SAVE_LIBS="$LIBS" + LIBS="$LIBS $libs" + cat > conftest.$ac_ext <<EOF +#line 4291 "configure" +#include "confdefs.h" +#define availability(os, ...) availability(os, strict, __VA_ARGS) + #include <time.h> +int main() { + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); +; return 0; } +EOF +if { (eval echo configure:4300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_clock_monotonic=$libs + LIBS="$_SAVE_LIBS" + break +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_clock_monotonic=no +fi +rm -f conftest* + LIBS="$_SAVE_LIBS" + done +fi + +echo "$ac_t""$ac_cv_clock_monotonic" 1>&6 +if test "$ac_cv_clock_monotonic" != "no"; then + HAVE_CLOCK_MONOTONIC=1 + REALTIME_LIBS=$ac_cv_clock_monotonic + cat >> confdefs.pytmp <<\EOF + (''' HAVE_CLOCK_MONOTONIC ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_CLOCK_MONOTONIC 1 +EOF + + + +fi + +echo $ac_n "checking for res_ninit()""... $ac_c" 1>&6 +echo "configure:4332: checking for res_ninit()" >&5 +if eval "test \"`echo '$''{'ac_cv_func_res_ninit'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$OS_TARGET" = NetBSD -o "$OS_TARGET" = OpenBSD; then + ac_cv_func_res_ninit=no + else + cat > conftest.$ac_ext <<EOF +#line 4340 "configure" +#include "confdefs.h" + + #ifdef linux + #define _BSD_SOURCE 1 + #endif + #include <sys/types.h> + #include <netinet/in.h> + #include <arpa/nameser.h> + #include <resolv.h> + +int main() { +int foo = res_ninit(&_res); +; return 0; } +EOF +if { (eval echo configure:4355: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_func_res_ninit=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_func_res_ninit=no +fi +rm -f conftest* + fi + +fi + +echo "$ac_t""$ac_cv_func_res_ninit" 1>&6 + +if test "$ac_cv_func_res_ninit" = "yes"; then + cat >> confdefs.pytmp <<\EOF + (''' HAVE_RES_NINIT ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_RES_NINIT 1 +EOF + +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + +ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + +ARM_ABI_PREFIX= +if test "$GNU_CC"; then + if test "$CPU_ARCH" = "arm" ; then + echo $ac_n "checking for ARM EABI""... $ac_c" 1>&6 +echo "configure:4409: checking for ARM EABI" >&5 +if eval "test \"`echo '$''{'ac_cv_gcc_arm_eabi'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 4414 "configure" +#include "confdefs.h" + +int main() { + +#if defined(__ARM_EABI__) + return 0; +#else +#error Not ARM EABI. +#endif + +; return 0; } +EOF +if { (eval echo configure:4427: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_gcc_arm_eabi="yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_gcc_arm_eabi="no" +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_gcc_arm_eabi" 1>&6 + if test "$ac_cv_gcc_arm_eabi" = "yes"; then + HAVE_ARM_EABI=1 + ARM_ABI_PREFIX=eabi- + else + ARM_ABI_PREFIX=oabi- + fi + fi + + TARGET_COMPILER_ABI="${TARGET_COMPILER_ABI-${ARM_ABI_PREFIX}gcc3}" +fi + +# try harder, when checking for __thread support, see bug 521750 comment #33 and below +# We pass MOZ_OPTIMIZE_LDFLAGS to the linker because if dead_strip is +# enabled, the linker in xcode 4.1 will crash. Without this it would crash when +# linking XUL. +_SAVE_LDFLAGS=$LDFLAGS +LDFLAGS="$LDFLAGS $DSO_LDOPTS $MOZ_OPTIMIZE_LDFLAGS" +echo $ac_n "checking for __thread keyword for TLS variables""... $ac_c" 1>&6 +echo "configure:4458: checking for __thread keyword for TLS variables" >&5 +if eval "test \"`echo '$''{'ac_cv_thread_keyword'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 4463 "configure" +#include "confdefs.h" +__thread bool tlsIsMainThread = false; +int main() { +return tlsIsMainThread; +; return 0; } +EOF +if { (eval echo configure:4470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + ac_cv_thread_keyword=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_thread_keyword=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_thread_keyword" 1>&6 +LDFLAGS=$_SAVE_LDFLAGS +# The custom dynamic linker doesn't support TLS variables +if test "$ac_cv_thread_keyword" = yes -a "$MOZ_LINKER" != 1; then + # mips builds fail with TLS variables because of a binutils bug. + # See bug 528687 + # OpenBSD doesn't have TLS support, and the test succeeds with clang++ + case "${target}" in + mips*-*) + : + ;; + *-android*|*-linuxandroid*) + : + ;; + *-openbsd*) + : + ;; + *) + cat >> confdefs.pytmp <<\EOF + (''' HAVE_THREAD_TLS_KEYWORD ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_THREAD_TLS_KEYWORD 1 +EOF + + ;; + esac +fi + +if test -n "$MOZ_LINKER"; then + LDFLAGS="$LDFLAGS -Wl,--hash-style=sysv" +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + +fi # ! SKIP_COMPILER_CHECKS + +if test -n "${COMPILE_ENVIRONMENT}"; then + + + + + +MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h" +MALLOC_H= + +for file in $MALLOC_HEADERS; do + ac_safe=`echo "$file" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for $file""... $ac_c" 1>&6 +echo "configure:4541: checking for $file" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 4546 "configure" +#include "confdefs.h" + +#include <$file> +int main() { + +; return 0; } +EOF +if { (eval echo configure:4554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi + + if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + MALLOC_H=$file + else + echo "$ac_t""no" 1>&6 + + fi + + if test "$MALLOC_H" != ""; then + cat >> confdefs.pytmp <<EOF + (''' MALLOC_H ''', r''' <$MALLOC_H> ''') +EOF +cat >> confdefs.h <<EOF +#define MALLOC_H <$MALLOC_H> +EOF + + break + fi +done + +MALLOC_USABLE_SIZE_CONST_PTR=const +if test -n "$HAVE_MALLOC_H"; then + echo $ac_n "checking whether malloc_usable_size definition can use const argument""... $ac_c" 1>&6 +echo "configure:4589: checking whether malloc_usable_size definition can use const argument" >&5 + cat > conftest.$ac_ext <<EOF +#line 4591 "configure" +#include "confdefs.h" +#include <malloc.h> + #include <stddef.h> + size_t malloc_usable_size(const void *ptr); +int main() { +return malloc_usable_size(0); +; return 0; } +EOF +if { (eval echo configure:4600: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + echo "$ac_t""no" 1>&6 + MALLOC_USABLE_SIZE_CONST_PTR= +fi +rm -f conftest* +fi +cat >> confdefs.pytmp <<EOF + (''' MALLOC_USABLE_SIZE_CONST_PTR ''', r''' $MALLOC_USABLE_SIZE_CONST_PTR ''') +EOF +cat >> confdefs.h <<EOF +#define MALLOC_USABLE_SIZE_CONST_PTR $MALLOC_USABLE_SIZE_CONST_PTR +EOF + + + +echo $ac_n "checking for valloc in malloc.h""... $ac_c" 1>&6 +echo "configure:4622: checking for valloc in malloc.h" >&5 +cat > conftest.$ac_ext <<EOF +#line 4624 "configure" +#include "confdefs.h" +#include <malloc.h> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "valloc" >/dev/null 2>&1; then + rm -rf conftest* + cat >> confdefs.pytmp <<\EOF + (''' HAVE_VALLOC ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_VALLOC 1 +EOF + + echo "$ac_t""yes" 1>&6 +else + rm -rf conftest* + echo "$ac_t""no" 1>&6 +fi +rm -f conftest* + + +echo $ac_n "checking for valloc in unistd.h""... $ac_c" 1>&6 +echo "configure:4647: checking for valloc in unistd.h" >&5 +cat > conftest.$ac_ext <<EOF +#line 4649 "configure" +#include "confdefs.h" +#include <unistd.h> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "valloc" >/dev/null 2>&1; then + rm -rf conftest* + cat >> confdefs.pytmp <<\EOF + (''' HAVE_VALLOC ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_VALLOC 1 +EOF + + echo "$ac_t""yes" 1>&6 +else + rm -rf conftest* + echo "$ac_t""no" 1>&6 +fi +rm -f conftest* + + +echo $ac_n "checking for _aligned_malloc in malloc.h""... $ac_c" 1>&6 +echo "configure:4672: checking for _aligned_malloc in malloc.h" >&5 +cat > conftest.$ac_ext <<EOF +#line 4674 "configure" +#include "confdefs.h" +#include <malloc.h> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "_aligned_malloc" >/dev/null 2>&1; then + rm -rf conftest* + cat >> confdefs.pytmp <<\EOF + (''' HAVE_ALIGNED_MALLOC ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_ALIGNED_MALLOC 1 +EOF + + echo "$ac_t""yes" 1>&6 +else + rm -rf conftest* + echo "$ac_t""no" 1>&6 +fi +rm -f conftest* + + + + +fi + +TARGET_XPCOM_ABI= +if test -n "${CPU_ARCH}" -a -n "${TARGET_COMPILER_ABI}"; then + TARGET_XPCOM_ABI="${CPU_ARCH}-${TARGET_COMPILER_ABI}" + cat >> confdefs.pytmp <<EOF + (''' TARGET_XPCOM_ABI ''', r''' "${TARGET_XPCOM_ABI}" ''') +EOF +cat >> confdefs.h <<EOF +#define TARGET_XPCOM_ABI "${TARGET_XPCOM_ABI}" +EOF + +fi + + +if test -n "$SKIP_COMPILER_CHECKS"; then + cat >> confdefs.pytmp <<\EOF + (''' MALLOC_H ''', r''' <malloc.h> ''') +EOF +cat >> confdefs.h <<\EOF +#define MALLOC_H <malloc.h> +EOF + + cat >> confdefs.pytmp <<\EOF + (''' HAVE_FORCEINLINE ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_FORCEINLINE 1 +EOF + +fi # SKIP_COMPILER_CHECKS + + + +MOZ_BRANDING_DIRECTORY= +MOZ_OFFICIAL_BRANDING= +MOZ_NO_SMART_CARDS= +MOZ_BINARY_EXTENSIONS= +MOZ_DEVTOOLS=server + +# Check whether --enable-official-branding or --disable-official-branding was given. +if test "${enable_official_branding+set}" = set; then + enableval="$enable_official_branding" + if test "$enableval" = "yes"; then + MOZ_OFFICIAL_BRANDING=1 + elif test "$enableval" = "no"; then + MOZ_OFFICIAL_BRANDING= + else + { echo "configure: error: Option, official-branding, does not take an argument ($enableval)." 1>&2; echo "configure: error: Option, official-branding, does not take an argument ($enableval)." 1>&5; exit 1; } + fi +fi + + +# Allow the application to influence configure with a confvars.sh script. +echo $ac_n "checking if app-specific confvars.sh exists""... $ac_c" 1>&6 +echo "configure:4753: checking if app-specific confvars.sh exists" >&5 +if test -f "${srcdir}/${MOZ_BUILD_APP}/confvars.sh" ; then + echo "$ac_t""${srcdir}/${MOZ_BUILD_APP}/confvars.sh" 1>&6 + . "${srcdir}/${MOZ_BUILD_APP}/confvars.sh" +else + echo "$ac_t""no" 1>&6 +fi + + +if test -n "$MOZ_OFFICIAL_BRANDING"; then + if test -z "$MOZ_OFFICIAL_BRANDING_DIRECTORY"; then + { echo "configure: error: You must specify MOZ_OFFICIAL_BRANDING_DIRECTORY to use --enable-official-branding." 1>&2; echo "configure: error: You must specify MOZ_OFFICIAL_BRANDING_DIRECTORY to use --enable-official-branding." 1>&5; exit 1; } + else + MOZ_BRANDING_DIRECTORY=${MOZ_OFFICIAL_BRANDING_DIRECTORY} + cat >> confdefs.pytmp <<\EOF + (''' MOZ_OFFICIAL_BRANDING ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_OFFICIAL_BRANDING 1 +EOF + + fi +fi + +# Check whether --with-branding or --without-branding was given. +if test "${with_branding+set}" = set; then + withval="$with_branding" + MOZ_BRANDING_DIRECTORY=$withval +fi + + +REAL_BRANDING_DIRECTORY="${MOZ_BRANDING_DIRECTORY}" +if test -z "$REAL_BRANDING_DIRECTORY"; then + REAL_BRANDING_DIRECTORY=${MOZ_BUILD_APP}/branding/nightly +fi + +if test -f "${_topsrcdir}/$REAL_BRANDING_DIRECTORY/configure.sh"; then + . "${_topsrcdir}/$REAL_BRANDING_DIRECTORY/configure.sh" +fi + + + +# Check whether --with-distribution-id or --without-distribution-id was given. +if test "${with_distribution_id+set}" = set; then + withval="$with_distribution_id" + val=`echo $withval` + MOZ_DISTRIBUTION_ID="$val" +fi + + +if test -z "$MOZ_DISTRIBUTION_ID"; then + MOZ_DISTRIBUTION_ID="org.mozilla" +fi + + + + +# Use value from moz.configure if one is defined. Else use our computed +# value. +if test -n "${MOZ_CONFIGURE_OPTIMIZE_FLAGS}"; then + MOZ_OPTIMIZE_FLAGS=${MOZ_CONFIGURE_OPTIMIZE_FLAGS} +fi + +if test "$COMPILE_ENVIRONMENT"; then +if test -n "$MOZ_OPTIMIZE"; then + echo $ac_n "checking for valid C compiler optimization flags""... $ac_c" 1>&6 +echo "configure:4819: checking for valid C compiler optimization flags" >&5 + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $MOZ_OPTIMIZE_FLAGS" + cat > conftest.$ac_ext <<EOF +#line 4823 "configure" +#include "confdefs.h" +#include <stdio.h> +int main() { +printf("Hello World\n"); +; return 0; } +EOF +if { (eval echo configure:4830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + _results=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + _results=no +fi +rm -f conftest* + echo "$ac_t""$_results" 1>&6 + if test "$_results" = "no"; then + { echo "configure: error: These compiler flags for C are invalid: $MOZ_OPTIMIZE_FLAGS" 1>&2; echo "configure: error: These compiler flags for C are invalid: $MOZ_OPTIMIZE_FLAGS" 1>&5; exit 1; } + fi + CFLAGS=$_SAVE_CFLAGS + if test -n "$MOZ_LTO" -a -n "$CLANG_CC"; then + # When using llvm-based LTO, non numeric optimization levels are + # not supported by the linker, so force the linker to use -O2 ( + # which doesn't influence the level compilation units are actually + # compiled at). + case " $MOZ_OPTIMIZE_FLAGS " in + *\ -Os\ *|*\ -Oz\ *) + MOZ_OPTIMIZE_LDFLAGS="$MOZ_OPTIMIZE_LDFLAGS -O2" + ;; + esac + fi +fi +fi # COMPILE_ENVIRONMENT + + + + + +case "${OS_TARGET}" in +Android|WINNT|Darwin) + MOZ_GLUE_IN_PROGRAM= + ;; +*) + MOZ_GLUE_IN_PROGRAM=1 + cat >> confdefs.pytmp <<\EOF + (''' MOZ_GLUE_IN_PROGRAM ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_GLUE_IN_PROGRAM 1 +EOF + + ;; +esac + +if test -z "$MOZ_MEMORY"; then + case "${target}" in + *-mingw*) + if test -z "$WIN32_REDIST_DIR" -a -z "$MOZ_DEBUG"; then + echo "configure: warning: When not building jemalloc, you need to set WIN32_REDIST_DIR to the path to the Visual C++ Redist (usually VCINSTALLDIR/redist/x86/Microsoft.VC80.CRT, for VC++ v8) if you intend to distribute your build." 1>&2 + fi + ;; + esac +else + case "${target}" in + *-mingw*) + export MOZ_NO_DEBUG_RTL=1 + ;; + esac +fi # MOZ_MEMORY + + + +if test -n "$COMPILE_ENVIRONMENT"; then + + +if test -n "$ENABLE_CLANG_PLUGIN"; then + LLVM_CXXFLAGS=`$LLVM_CONFIG --cxxflags | sed -e 's/-isysroot [^ ]*//' -e 's/-gcc-toolchain [^ ]*//'` + + LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags | tr '\n' ' '` + + if test "${HOST_OS_ARCH}" = "Darwin"; then + CLANG_LDFLAGS="-Wl,-flat_namespace -Wl,-undefined,suppress" + CLANG_LDFLAGS="$CLANG_LDFLAGS `$LLVM_CONFIG --prefix`/lib/libclangASTMatchers.a" + LLVM_LDFLAGS=`echo "$LLVM_LDFLAGS" | sed -E 's/-L[^ ]+\/clang\/lib//'` + elif test "${HOST_OS_ARCH}" = "WINNT"; then + CLANG_LDFLAGS="clangASTMatchers.lib clang.lib" + else + CLANG_LDFLAGS="-lclangASTMatchers" + fi + + if test -n "$CLANG_CL"; then + LLVM_REPLACE_CXXFLAGS='' + for arg in $LLVM_CXXFLAGS; do + arg=`echo "$arg"|sed -e 's/^\//-/' -e 's/\\\\/\//g'` + LLVM_REPLACE_CXXFLAGS="$LLVM_REPLACE_CXXFLAGS $arg" + done + LLVM_CXXFLAGS="$LLVM_REPLACE_CXXFLAGS" + LLVM_CXXFLAGS=`echo "$LLVM_CXXFLAGS"|sed -e 's/ \(-Xclang \|\)-std[:=]/ -Xclang -std=/'` + + LLVM_REPLACE_LDFLAGS='' + for arg in $LLVM_LDFLAGS; do + arg=`echo "$arg"|sed -e 's/^\//-/' -e 's/\\\\/\//g'` + LLVM_REPLACE_LDFLAGS="$LLVM_REPLACE_LDFLAGS $arg" + done + LLVM_LDFLAGS="$LLVM_REPLACE_LDFLAGS" + + CLANG_REPLACE_LDFLAGS='' + for arg in $CLANG_LDFLAGS; do + arg=`echo "$arg"|sed -e 's/^\//-/' -e 's/\\\\/\//g'` + CLANG_REPLACE_LDFLAGS="$CLANG_REPLACE_LDFLAGS $arg" + done + CLANG_LDFLAGS="$CLANG_REPLACE_LDFLAGS" + fi + + CLANG_PLUGIN_FLAGS="-Xclang -load -Xclang $CLANG_PLUGIN -Xclang -add-plugin -Xclang moz-check" + + cat >> confdefs.pytmp <<\EOF + (''' MOZ_CLANG_PLUGIN ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_CLANG_PLUGIN 1 +EOF + +fi + +if test -n "$ENABLE_MOZSEARCH_PLUGIN"; then + if test -z "${ENABLE_CLANG_PLUGIN}"; then + { echo "configure: error: Can't use mozsearch plugin without --enable-clang-plugin." 1>&2; echo "configure: error: Can't use mozsearch plugin without --enable-clang-plugin." 1>&5; exit 1; } + fi + + CLANG_PLUGIN_FLAGS="$CLANG_PLUGIN_FLAGS -Xclang -add-plugin -Xclang mozsearch-index" + + CLANG_PLUGIN_FLAGS="$CLANG_PLUGIN_FLAGS -Xclang -plugin-arg-mozsearch-index -Xclang $_topsrcdir" + CLANG_PLUGIN_FLAGS="$CLANG_PLUGIN_FLAGS -Xclang -plugin-arg-mozsearch-index -Xclang $_objdir/mozsearch_index" + CLANG_PLUGIN_FLAGS="$CLANG_PLUGIN_FLAGS -Xclang -plugin-arg-mozsearch-index -Xclang $_objdir" + + cat >> confdefs.pytmp <<\EOF + (''' MOZ_MOZSEARCH_PLUGIN ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_MOZSEARCH_PLUGIN 1 +EOF + +fi + + + + + + + + + + + +fi # COMPILE_ENVIRONMENT + +if test -z "$SKIP_COMPILER_CHECKS"; then +echo $ac_n "checking for -pipe support""... $ac_c" 1>&6 +echo "configure:4984: checking for -pipe support" >&5 +if test -n "$GNU_CC" -a -n "$GNU_CXX"; then + CFLAGS="$CFLAGS -pipe" + CXXFLAGS="$CXXFLAGS -pipe" + echo "$ac_t""yes" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +fi # ! SKIP_COMPILER_CHECKS + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if test "$CC_TYPE" = "clang-cl"; then + ac_link="$ac_compile"' && ${LINKER} -OUT:conftest${ac_exeext} $LDFLAGS conftest.obj $LIBS 1>&5' +fi + + +if test "$COMPILE_ENVIRONMENT"; then + + +echo $ac_n "checking what kind of list files are supported by the linker""... $ac_c" 1>&6 +echo "configure:5011: checking what kind of list files are supported by the linker" >&5 +if eval "test \"`echo '$''{'EXPAND_LIBS_LIST_STYLE'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo "int main() {return 0;}" > conftest.${ac_ext} + if { ac_try='${CC-cc} -o conftest.${OBJ_SUFFIX} -c $MOZ_LTO_CFLAGS $CFLAGS $CPPFLAGS conftest.${ac_ext} 1>&5'; { (eval echo configure:5016: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.${OBJ_SUFFIX}; then + echo "INPUT(conftest.${OBJ_SUFFIX})" > conftest.list + if test "$CC_TYPE" = "clang-cl"; then + link="$LINKER -OUT:conftest${ac_exeext}" + else + link="${CC-cc} -o conftest${ac_exeext}" + fi + if { ac_try='$link $MOZ_LTO_LDFLAGS $LDFLAGS conftest.list $LIBS 1>&5'; { (eval echo configure:5023: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then + EXPAND_LIBS_LIST_STYLE=linkerscript + else + echo "conftest.${OBJ_SUFFIX}" > conftest.list + if { ac_try='$link $MOZ_LTO_LDFLAGS $LDFLAGS -Wl,-filelist,conftest.list $LIBS 1>&5'; { (eval echo configure:5027: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then + EXPAND_LIBS_LIST_STYLE=filelist + elif { ac_try='$link $MOZ_LTO_LDFLAGS $LDFLAGS @conftest.list $LIBS 1>&5'; { (eval echo configure:5029: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest${ac_exeext}; then + EXPAND_LIBS_LIST_STYLE=list + else + { echo "configure: error: Couldn't find one that works" 1>&2; echo "configure: error: Couldn't find one that works" 1>&5; exit 1; } + fi + fi + else + { echo "configure: error: couldn't compile a simple C file" 1>&2; echo "configure: error: couldn't compile a simple C file" 1>&5; exit 1; } + fi + rm -rf conftest* +fi + +echo "$ac_t""$EXPAND_LIBS_LIST_STYLE" 1>&6 + + + + +fi # COMPILE_ENVIRONMENT + + + + + +if test "$OS_ARCH" = "WINNT"; then + # For now we assume that we will have a uint64_t available through + # one of the above headers or mozstdint.h. + cat >> confdefs.pytmp <<\EOF + (''' HAVE_UINT64_T ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define HAVE_UINT64_T 1 +EOF + +fi + +case "$MOZ_WIDGET_TOOLKIT" in + windows) + if test "$COMPILE_ENVIRONMENT"; then + ac_safe=`echo "d3d10.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for d3d10.h""... $ac_c" 1>&6 +echo "configure:5069: checking for d3d10.h" >&5 + if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 5074 "configure" +#include "confdefs.h" + +#include <d3d10.h> +int main() { + +; return 0; } +EOF +if { (eval echo configure:5082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi + + if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + MOZ_ENABLE_D3D10_LAYER=1 + else + echo "$ac_t""no" 1>&6 + + fi + + fi + ;; +esac + + + + + + + + + + + + +if test -n "$MOZ_BINARY_EXTENSIONS"; then + cat >> confdefs.pytmp <<\EOF + (''' MOZ_BINARY_EXTENSIONS ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_BINARY_EXTENSIONS 1 +EOF + +fi + +# Check whether --with-macbundlename-prefix or --without-macbundlename-prefix was given. +if test "${with_macbundlename_prefix+set}" = set; then + withval="$with_macbundlename_prefix" + MOZ_MACBUNDLE_NAME_PREFIX="$withval" +fi + + +MOZ_MACBUNDLE_NAME=$MOZ_APP_DISPLAYNAME +if test "$MOZ_MACBUNDLE_NAME_PREFIX"; then + MOZ_MACBUNDLE_NAME="${MOZ_MACBUNDLE_NAME_PREFIX}${MOZ_MACBUNDLE_NAME}" +fi + +if test "$MOZ_DEBUG"; then + MOZ_MACBUNDLE_NAME="${MOZ_MACBUNDLE_NAME}Debug.app" +else + MOZ_MACBUNDLE_NAME=${MOZ_MACBUNDLE_NAME}.app +fi + + +# If the MOZ_MACBUNDLE_ID is defined in the configure.sh, use it +# Otherwise, use MOZ_APP_DISPLAYNAME +if test -z "$MOZ_MACBUNDLE_ID"; then + MOZ_MACBUNDLE_ID=`echo $MOZ_APP_DISPLAYNAME | tr 'A-Z' 'a-z' | tr -dc 'a-z-'` +fi +MOZ_MACBUNDLE_ID=${MOZ_DISTRIBUTION_ID}.${MOZ_MACBUNDLE_ID} +if test "$MOZ_DEBUG"; then + MOZ_MACBUNDLE_ID=${MOZ_MACBUNDLE_ID}debug +fi + +cat >> confdefs.pytmp <<EOF + (''' MOZ_MACBUNDLE_ID ''', r''' $MOZ_MACBUNDLE_ID ''') +EOF +cat >> confdefs.h <<EOF +#define MOZ_MACBUNDLE_ID $MOZ_MACBUNDLE_ID +EOF + + + +if test "$MOZ_WIDGET_TOOLKIT" != "android"; then + MOZ_CHILD_PROCESS_NAME="plugin-container${BIN_SUFFIX}" +else + # We want to let Android unpack the file at install time, but it only does + # so if the file is named libsomething.so. The lib/ path is also required + # because the unpacked file will be under the lib/ subdirectory and will + # need to be executed from that path. + MOZ_CHILD_PROCESS_NAME="libplugin-container.so" +fi +MOZ_CHILD_PROCESS_BUNDLE="plugin-container.app/Contents/MacOS/" +MOZ_CHILD_PROCESS_BUNDLENAME="${MOZ_APP_DISPLAYNAME}CP" + + + + + +# The following variables are available to branding and application +# configuration ($BRANDING/configure.sh and $APPLICATION/confvars.sh): +# - MOZ_APP_VENDOR: Used for application.ini's "Vendor" field, which also +# impacts profile location and user-visible fields. +# - MOZ_APP_DISPLAYNAME: Used in user-visible fields (DLL properties, +# Mac Bundle name, Updater, Installer), it is typically used for nightly +# builds (e.g. Aurora for Firefox). +# - MOZ_APP_PROFILE: When set, used for application.ini's +# "Profile" field, which controls profile location. +# - MOZ_APP_ID: When set, used for application.ini's "ID" field, and +# crash reporter server url. +# - MOZ_PROFILE_MIGRATOR: When set, enables profile migrator. + +# The following environment variables used to have an effect, but don't anymore: +# - MOZ_APP_VERSION: Defines the application version number. This was replaced with +# the contents from the version.txt file in the application directory, or +# browser/config/version.txt if there isn't one. +# - MOZ_APP_VERSION_DISPLAY: Defines the application version number. Used +# in the "About" window. This was replaced with the contents from the +# version_display.txt or version.txt in the application directory, or +# browser/config/version_display.txt. + +# For extensions and langpacks, we require a max version that is compatible +# across security releases. MOZ_APP_MAXVERSION is our method for doing that. +# 24.0a1 and 24.0a2 aren't affected +# 24.0 becomes 24.* +# 24.1.1 becomes 24.* +IS_ALPHA=`echo $MOZ_APP_VERSION | grep a` +if test -z "$IS_ALPHA"; then + + if test "$(basename $MOZ_BUILD_APP)" = "suite"; then + MOZ_APP_MAXVERSION=`echo $MOZ_APP_VERSION | sed "s|\(^[0-9]*\.[0-9]*\).*|\1|"`.* + else + MOZ_APP_MAXVERSION=`echo $MOZ_APP_VERSION | sed "s|\(^[0-9]*\).*|\1|"`.* + fi + +else + MOZ_APP_MAXVERSION=$MOZ_APP_VERSION +fi + + + + + + + + +cat >> confdefs.pytmp <<EOF + (''' MOZ_APP_UA_NAME ''', r''' "$MOZ_APP_UA_NAME" ''') +EOF +cat >> confdefs.h <<EOF +#define MOZ_APP_UA_NAME "$MOZ_APP_UA_NAME" +EOF + + +cat >> confdefs.pytmp <<EOF + (''' MOZ_APP_UA_VERSION ''', r''' "$MOZ_APP_VERSION" ''') +EOF +cat >> confdefs.h <<EOF +#define MOZ_APP_UA_VERSION "$MOZ_APP_VERSION" +EOF + +cat >> confdefs.pytmp <<EOF + (''' BROWSER_CHROME_URL ''', r''' $BROWSER_CHROME_URL ''') +EOF +cat >> confdefs.h <<EOF +#define BROWSER_CHROME_URL $BROWSER_CHROME_URL +EOF + +cat >> confdefs.pytmp <<EOF + (''' BROWSER_CHROME_URL_QUOTED ''', r''' "$BROWSER_CHROME_URL" ''') +EOF +cat >> confdefs.h <<EOF +#define BROWSER_CHROME_URL_QUOTED "$BROWSER_CHROME_URL" +EOF + + + + + + +if test "$MOZILLA_OFFICIAL"; then + # Build revisions should always be present in official builds + MOZ_INCLUDE_SOURCE_INFO=1 +fi + +# External builds (specifically Ubuntu) may drop the hg repo information, so we allow to +# explicitly set the repository and changeset information in. + + + + + + + +CFLAGS=`echo \ + $_COMPILATION_CFLAGS \ + $CFLAGS` + +CXXFLAGS=`echo \ + $_COMPILATION_CXXFLAGS \ + $CXXFLAGS` + +COMPILE_CFLAGS=`echo \ + $_DEFINES_CFLAGS \ + $COMPILE_CFLAGS` + +COMPILE_CXXFLAGS=`echo \ + $_DEFINES_CXXFLAGS \ + $COMPILE_CXXFLAGS` + +HOST_CFLAGS=`echo \ + $_COMPILATION_HOST_CFLAGS \ + $HOST_CFLAGS` + +HOST_CXXFLAGS=`echo \ + $_COMPILATION_HOST_CXXFLAGS \ + $HOST_CXXFLAGS` + +HOST_CMFLAGS="-x objective-c -fobjc-exceptions" +HOST_CMMFLAGS="-x objective-c++ -fobjc-exceptions" +OS_COMPILE_CMFLAGS="-x objective-c -fobjc-exceptions" +OS_COMPILE_CMMFLAGS="-x objective-c++ -fobjc-exceptions" +if test "$MOZ_WIDGET_TOOLKIT" = uikit; then + OS_COMPILE_CMFLAGS="$OS_COMPILE_CMFLAGS -fobjc-abi-version=2 -fobjc-legacy-dispatch" + OS_COMPILE_CMMFLAGS="$OS_COMPILE_CMMFLAGS -fobjc-abi-version=2 -fobjc-legacy-dispatch" +fi + + + + + +OS_CFLAGS="$CFLAGS" +OS_CXXFLAGS="$CXXFLAGS" +OS_CPPFLAGS="$CPPFLAGS" +OS_COMPILE_CFLAGS="$COMPILE_CFLAGS" +OS_COMPILE_CXXFLAGS="$COMPILE_CXXFLAGS" +OS_LDFLAGS="$LDFLAGS" +OS_LIBS="$LIBS" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +if test -n "$MOZ_DEV_EDITION"; then + cat >> confdefs.pytmp <<\EOF + (''' MOZ_DEV_EDITION ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define MOZ_DEV_EDITION 1 +EOF + +fi + + +# Avoid using obsolete NSPR features +cat >> confdefs.pytmp <<\EOF + (''' NO_NSPR_10_SUPPORT ''', ' 1 ') +EOF +cat >> confdefs.h <<\EOF +#define NO_NSPR_10_SUPPORT 1 +EOF + + +top_srcdir=$srcdir + + +trap '' 1 2 15 +cat > confcache <<\EOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +(set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote substitution + # turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + -e "s/'/'\\\\''/g" \ + -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' + ;; + esac >> confcache +if cmp -s $cache_file confcache; then + : +else + if test -w $cache_file; then + echo "updating cache $cache_file" + cat confcache > $cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 +: ${CONFIG_STATUS=./config.data} + +echo creating $CONFIG_STATUS + +cat > $CONFIG_STATUS <<EOF + +defines = [ +EOF + +sed 's/$/,/' confdefs.pytmp >> $CONFIG_STATUS +rm confdefs.pytmp confdefs.h + +cat >> $CONFIG_STATUS <<\EOF +] + +substs = [ +EOF + +sed 's/$/,/' >> $CONFIG_STATUS <<EOF + (''' SHELL ''', r''' $SHELL ''') + (''' exec_prefix ''', r''' $exec_prefix ''') + (''' prefix ''', r''' $prefix ''') + (''' program_transform_name ''', r''' $program_transform_name ''') + (''' bindir ''', r''' $bindir ''') + (''' sbindir ''', r''' $sbindir ''') + (''' libexecdir ''', r''' $libexecdir ''') + (''' datadir ''', r''' $datadir ''') + (''' sysconfdir ''', r''' $sysconfdir ''') + (''' sharedstatedir ''', r''' $sharedstatedir ''') + (''' localstatedir ''', r''' $localstatedir ''') + (''' libdir ''', r''' $libdir ''') + (''' includedir ''', r''' $includedir ''') + (''' oldincludedir ''', r''' $oldincludedir ''') + (''' infodir ''', r''' $infodir ''') + (''' mandir ''', r''' $mandir ''') + (''' host ''', r''' $host ''') + (''' host_alias ''', r''' $host_alias ''') + (''' host_cpu ''', r''' $host_cpu ''') + (''' host_vendor ''', r''' $host_vendor ''') + (''' host_os ''', r''' $host_os ''') + (''' target ''', r''' $target ''') + (''' target_alias ''', r''' $target_alias ''') + (''' target_cpu ''', r''' $target_cpu ''') + (''' target_vendor ''', r''' $target_vendor ''') + (''' target_os ''', r''' $target_os ''') + (''' build ''', r''' $build ''') + (''' build_alias ''', r''' $build_alias ''') + (''' build_cpu ''', r''' $build_cpu ''') + (''' build_vendor ''', r''' $build_vendor ''') + (''' build_os ''', r''' $build_os ''') + (''' EXEEXT ''', r''' $EXEEXT ''') + (''' CC ''', r''' $CC ''') + (''' CXX ''', r''' $CXX ''') + (''' CLANG_CXX ''', r''' $CLANG_CXX ''') + (''' CLANG_CL ''', r''' $CLANG_CL ''') + (''' MSVC_C_RUNTIME_DLL ''', r''' $MSVC_C_RUNTIME_DLL ''') + (''' MSVC_C_RUNTIME_1_DLL ''', r''' $MSVC_C_RUNTIME_1_DLL ''') + (''' MSVC_CXX_RUNTIME_DLL ''', r''' $MSVC_CXX_RUNTIME_DLL ''') + (''' GNU_CC ''', r''' $GNU_CC ''') + (''' GNU_CXX ''', r''' $GNU_CXX ''') + (''' MOZ_CLANG_RT_ASAN_LIB_PATH ''', r''' $MOZ_CLANG_RT_ASAN_LIB_PATH ''') + (''' LLVM_SYMBOLIZER ''', r''' $LLVM_SYMBOLIZER ''') + (''' MOZ_ASAN ''', r''' $MOZ_ASAN ''') + (''' MOZ_MSAN ''', r''' $MOZ_MSAN ''') + (''' MOZ_TSAN ''', r''' $MOZ_TSAN ''') + (''' MOZ_UBSAN ''', r''' $MOZ_UBSAN ''') + (''' MOZ_SIGNED_OVERFLOW_SANITIZE ''', r''' $MOZ_SIGNED_OVERFLOW_SANITIZE ''') + (''' MOZ_UNSIGNED_OVERFLOW_SANITIZE ''', r''' $MOZ_UNSIGNED_OVERFLOW_SANITIZE ''') + (''' MOZ_NO_DEBUG_RTL ''', r''' $MOZ_NO_DEBUG_RTL ''') + (''' LD_PRINT_ICF_SECTIONS ''', r''' $LD_PRINT_ICF_SECTIONS ''') + (''' MOZ_PROGRAM_LDFLAGS ''', r''' $MOZ_PROGRAM_LDFLAGS ''') + (''' MOZ_NEEDS_LIBATOMIC ''', r''' $MOZ_NEEDS_LIBATOMIC ''') + (''' MOZ_USE_PTHREADS ''', r''' $MOZ_USE_PTHREADS ''') + (''' HAVE_CLOCK_MONOTONIC ''', r''' $HAVE_CLOCK_MONOTONIC ''') + (''' REALTIME_LIBS ''', list(split(r''' $REALTIME_LIBS '''))) + (''' MOZ_OFFICIAL_BRANDING ''', r''' $MOZ_OFFICIAL_BRANDING ''') + (''' MOZ_BRANDING_DIRECTORY ''', r''' $MOZ_BRANDING_DIRECTORY ''') + (''' MOZ_DISTRIBUTION_ID ''', r''' $MOZ_DISTRIBUTION_ID ''') + (''' MOZ_OPTIMIZE_FLAGS ''', list(split(r''' $MOZ_OPTIMIZE_FLAGS '''))) + (''' MOZ_OPTIMIZE_LDFLAGS ''', list(split(r''' $MOZ_OPTIMIZE_LDFLAGS '''))) + (''' MOZ_PGO_OPTIMIZE_FLAGS ''', list(split(r''' $MOZ_PGO_OPTIMIZE_FLAGS '''))) + (''' MOZ_GLUE_IN_PROGRAM ''', r''' $MOZ_GLUE_IN_PROGRAM ''') + (''' CLANG_PLUGIN_FLAGS ''', list(split(r''' $CLANG_PLUGIN_FLAGS '''))) + (''' LLVM_CXXFLAGS ''', list(split(r''' $LLVM_CXXFLAGS '''))) + (''' LLVM_LDFLAGS ''', list(split(r''' $LLVM_LDFLAGS '''))) + (''' CLANG_LDFLAGS ''', list(split(r''' $CLANG_LDFLAGS '''))) + (''' ENABLE_CLANG_PLUGIN ''', r''' $ENABLE_CLANG_PLUGIN ''') + (''' ENABLE_CLANG_PLUGIN_ALPHA ''', r''' $ENABLE_CLANG_PLUGIN_ALPHA ''') + (''' ENABLE_MOZSEARCH_PLUGIN ''', r''' $ENABLE_MOZSEARCH_PLUGIN ''') + (''' EXPAND_LIBS_LIST_STYLE ''', r''' $EXPAND_LIBS_LIST_STYLE ''') + (''' MOZ_LINUX_32_SSE2_STARTUP_ERROR ''', r''' $MOZ_LINUX_32_SSE2_STARTUP_ERROR ''') + (''' MOZ_ENABLE_D3D10_LAYER ''', r''' $MOZ_ENABLE_D3D10_LAYER ''') + (''' ASFLAGS ''', list(split(r''' $ASFLAGS '''))) + (''' MOZ_DEBUG_LDFLAGS ''', list(split(r''' $MOZ_DEBUG_LDFLAGS '''))) + (''' MOZ_STUB_INSTALLER ''', r''' $MOZ_STUB_INSTALLER ''') + (''' MOZ_FIX_LINK_PATHS ''', list(split(r''' $MOZ_FIX_LINK_PATHS '''))) + (''' MOZ_POST_PROGRAM_COMMAND ''', r''' $MOZ_POST_PROGRAM_COMMAND ''') + (''' MOZ_MACBUNDLE_NAME ''', r''' $MOZ_MACBUNDLE_NAME ''') + (''' MOZ_MACBUNDLE_ID ''', r''' $MOZ_MACBUNDLE_ID ''') + (''' MOZ_CHILD_PROCESS_NAME ''', r''' $MOZ_CHILD_PROCESS_NAME ''') + (''' MOZ_CHILD_PROCESS_BUNDLE ''', r''' $MOZ_CHILD_PROCESS_BUNDLE ''') + (''' MOZ_CHILD_PROCESS_BUNDLENAME ''', r''' $MOZ_CHILD_PROCESS_BUNDLENAME ''') + (''' MOZ_APP_DISPLAYNAME ''', r''' $MOZ_APP_DISPLAYNAME ''') + (''' MOZ_APP_VENDOR ''', r''' $MOZ_APP_VENDOR ''') + (''' MOZ_APP_PROFILE ''', r''' $MOZ_APP_PROFILE ''') + (''' MOZ_APP_ID ''', r''' $MOZ_APP_ID ''') + (''' MAR_CHANNEL_ID ''', r''' $MAR_CHANNEL_ID ''') + (''' ACCEPTED_MAR_CHANNEL_IDS ''', r''' $ACCEPTED_MAR_CHANNEL_IDS ''') + (''' MOZ_PROFILE_MIGRATOR ''', r''' $MOZ_PROFILE_MIGRATOR ''') + (''' MOZ_APP_UA_NAME ''', r''' $MOZ_APP_UA_NAME ''') + (''' MOZ_APP_MAXVERSION ''', r''' $MOZ_APP_MAXVERSION ''') + (''' MOZ_PKG_SPECIAL ''', r''' $MOZ_PKG_SPECIAL ''') + (''' MOZ_SIMPLE_PACKAGE_NAME ''', r''' $MOZ_SIMPLE_PACKAGE_NAME ''') + (''' MOZ_SOURCE_REPO ''', r''' $MOZ_SOURCE_REPO ''') + (''' MOZ_SOURCE_CHANGESET ''', r''' $MOZ_SOURCE_CHANGESET ''') + (''' MOZ_INCLUDE_SOURCE_INFO ''', r''' $MOZ_INCLUDE_SOURCE_INFO ''') + (''' WIN32_REDIST_DIR ''', r''' $WIN32_REDIST_DIR ''') + (''' WIN_UCRT_REDIST_DIR ''', r''' $WIN_UCRT_REDIST_DIR ''') + (''' HOST_CMFLAGS ''', r''' $HOST_CMFLAGS ''') + (''' HOST_CMMFLAGS ''', r''' $HOST_CMMFLAGS ''') + (''' OS_COMPILE_CMFLAGS ''', r''' $OS_COMPILE_CMFLAGS ''') + (''' OS_COMPILE_CMMFLAGS ''', r''' $OS_COMPILE_CMMFLAGS ''') + (''' OS_CFLAGS ''', list(split(r''' $OS_CFLAGS '''))) + (''' OS_CXXFLAGS ''', list(split(r''' $OS_CXXFLAGS '''))) + (''' OS_CPPFLAGS ''', list(split(r''' $OS_CPPFLAGS '''))) + (''' OS_COMPILE_CFLAGS ''', list(split(r''' $OS_COMPILE_CFLAGS '''))) + (''' OS_COMPILE_CXXFLAGS ''', list(split(r''' $OS_COMPILE_CXXFLAGS '''))) + (''' OS_LDFLAGS ''', list(split(r''' $OS_LDFLAGS '''))) + (''' OS_LIBS ''', r''' $OS_LIBS ''') + (''' HOST_CC ''', r''' $HOST_CC ''') + (''' HOST_CXX ''', r''' $HOST_CXX ''') + (''' HOST_CFLAGS ''', list(split(r''' $HOST_CFLAGS '''))) + (''' HOST_CPPFLAGS ''', list(split(r''' $HOST_CPPFLAGS '''))) + (''' HOST_CXXFLAGS ''', list(split(r''' $HOST_CXXFLAGS '''))) + (''' HOST_LDFLAGS ''', r''' $HOST_LDFLAGS ''') + (''' HOST_OPTIMIZE_FLAGS ''', list(split(r''' $HOST_OPTIMIZE_FLAGS '''))) + (''' HOST_BIN_SUFFIX ''', r''' $HOST_BIN_SUFFIX ''') + (''' TARGET_XPCOM_ABI ''', r''' $TARGET_XPCOM_ABI ''') + (''' DSO_LDOPTS ''', r''' $DSO_LDOPTS ''') + (''' BIN_SUFFIX ''', r''' $BIN_SUFFIX ''') + (''' USE_N32 ''', r''' $USE_N32 ''') + (''' WIN32_CONSOLE_EXE_LDFLAGS ''', r''' $WIN32_CONSOLE_EXE_LDFLAGS ''') + (''' WIN32_GUI_EXE_LDFLAGS ''', r''' $WIN32_GUI_EXE_LDFLAGS ''') + (''' MOZ_DEVTOOLS ''', r''' $MOZ_DEVTOOLS ''') + (''' MOZ_PACKAGE_JSSHELL ''', r''' $MOZ_PACKAGE_JSSHELL ''') + (''' DMG_TOOL ''', r''' $DMG_TOOL ''') + (''' JS_BINARY ''', r''' $JS_BINARY ''') + (''' NSS_EXTRA_SYMBOLS_FILE ''', r''' $NSS_EXTRA_SYMBOLS_FILE ''') + (''' MOZ_DEV_EDITION ''', r''' $MOZ_DEV_EDITION ''') + (''' top_srcdir ''', r''' $top_srcdir ''') +EOF + +for ac_subst_arg in $_subconfigure_ac_subst_args; do + variable='$'$ac_subst_arg + echo " (''' $ac_subst_arg ''', r''' `eval echo $variable` ''')," >> $CONFIG_STATUS +done + +cat >> $CONFIG_STATUS <<\EOF +] + +flags = [ + '--enable-official-branding', + '--with-branding', + '--with-distribution-id', + '--with-macbundlename-prefix', +] +EOF + + + + +rm -fr confdefs* $ac_clean_files diff --git a/old-configure.in b/old-configure.in new file mode 100644 index 0000000000..ada50d1aa5 --- /dev/null +++ b/old-configure.in @@ -0,0 +1,1353 @@ +dnl -*- Mode: Autoconf; tab-width: 4; indent-tabs-mode: nil; -*- +dnl vi: set tabstop=4 shiftwidth=4 expandtab syntax=m4: +dnl This Source Code Form is subject to the terms of the Mozilla Public +dnl License, v. 2.0. If a copy of the MPL was not distributed with this +dnl file, You can obtain one at http://mozilla.org/MPL/2.0/. + +dnl Process this file with autoconf to produce a configure script. +dnl ======================================================== +AC_PREREQ(2.13) +AC_INIT(config/config.mk) +AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) +AC_CANONICAL_SYSTEM + +dnl ======================================================== +dnl = +dnl = Don't change the following lines. Doing so breaks: +dnl = +dnl = CFLAGS="-foo" ./configure +dnl = +dnl ======================================================== +CFLAGS="${CFLAGS=}" +CPPFLAGS="${CPPFLAGS=}" +CXXFLAGS="${CXXFLAGS=}" +LDFLAGS="${LDFLAGS=}" +HOST_CFLAGS="${HOST_CFLAGS=}" +HOST_CXXFLAGS="${HOST_CXXFLAGS=}" +HOST_LDFLAGS="${HOST_LDFLAGS=}" + +dnl Set the minimum version of toolkit libs used by mozilla +dnl ======================================================== +W32API_VERSION=3.14 + +dnl Set various checks +dnl ======================================================== +MISSING_X= + +dnl Initialize the Pthread test variables early so they can be +dnl overridden by each platform. +dnl ======================================================== +MOZ_USE_PTHREADS= +_PTHREAD_LDFLAGS="" + +LDFLAGS="$LDFLAGS $LINKER_LDFLAGS" +HOST_LDFLAGS="$HOST_LDFLAGS $HOST_LINKER_LDFLAGS" + +if test "$COMPILE_ENVIRONMENT"; then + MOZ_ANDROID_NDK +fi # COMPILE_ENVIRONMENT + +dnl ======================================================== +dnl Checks for compilers. +dnl ======================================================== + +if test "$COMPILE_ENVIRONMENT"; then + +# Run some logic to figure out exe extensions (mostly for mingw's sake) +AC_EXEEXT + +if test "$target" != "$host"; then + MOZ_CROSS_COMPILER +else + AC_PROG_CC + case "$target" in + *-mingw*) + # Work around the conftest.exe access problem on Windows + sleep 2 + esac + AC_PROG_CXX +fi + +MOZ_TOOL_VARIABLES + +dnl ======================================================== +dnl Special win32 checks +dnl ======================================================== + +WINVER=601 + +case "$target" in +*-mingw*) + if test "$GCC" != "yes"; then + # Check to see if we are really running in a msvc environemnt + _WIN32_MSVC=1 + + # Make sure compilers are valid + CXXFLAGS="$CXXFLAGS -TP" + AC_LANG_SAVE + AC_LANG_C + AC_TRY_COMPILE([#include <stdio.h>], + [ printf("Hello World\n"); ],, + AC_MSG_ERROR([\$(CC) test failed. You must have MS VC++ in your path to build.]) ) + + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include <new.h>], + [ unsigned *test = new unsigned(42); ],, + AC_MSG_ERROR([\$(CXX) test failed. You must have MS VC++ in your path to build.]) ) + AC_LANG_RESTORE + + AC_DEFINE(_CRT_SECURE_NO_WARNINGS) + AC_DEFINE(_CRT_NONSTDC_NO_WARNINGS) + + MSVC_C_RUNTIME_DLL=vcruntime140.dll + if test -n "$IS_VS2019_OR_MORE" -a "$CPU_ARCH" != "x86"; then + MSVC_C_RUNTIME_1_DLL=vcruntime140_1.dll + fi + MSVC_CXX_RUNTIME_DLL=msvcp140.dll + + # -Zc:sizedDealloc- disables C++14 global sized deallocation (see bug 1160146) + CXXFLAGS="$CXXFLAGS -Zc:sizedDealloc-" + + if test -n "$WIN_UCRT_REDIST_DIR"; then + if test ! -d "$WIN_UCRT_REDIST_DIR"; then + AC_MSG_ERROR([Invalid Windows UCRT Redist directory: ${WIN_UCRT_REDIST_DIR}]) + fi + WIN_UCRT_REDIST_DIR=`cd "$WIN_UCRT_REDIST_DIR" && (pwd -W 2>/dev/null || pwd)` + fi + + AC_SUBST(MSVC_C_RUNTIME_DLL) + AC_SUBST(MSVC_C_RUNTIME_1_DLL) + AC_SUBST(MSVC_CXX_RUNTIME_DLL) + + AC_DEFINE(HAVE_SEH_EXCEPTIONS) + + if test -n "$WIN32_REDIST_DIR"; then + if test ! -d "$WIN32_REDIST_DIR"; then + AC_MSG_ERROR([Invalid Win32 Redist directory: ${WIN32_REDIST_DIR}]) + fi + WIN32_REDIST_DIR=`cd "$WIN32_REDIST_DIR" && (pwd -W 2>/dev/null || pwd)` + fi + else + # Check w32api version + _W32API_MAJOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $1 }'` + _W32API_MINOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $2 }'` + AC_MSG_CHECKING([for w32api version >= $W32API_VERSION]) + AC_TRY_COMPILE([#include <w32api.h>], + #if (__W32API_MAJOR_VERSION < $_W32API_MAJOR_VERSION) || \ + (__W32API_MAJOR_VERSION == $_W32API_MAJOR_VERSION && \ + __W32API_MINOR_VERSION < $_W32API_MINOR_VERSION) + #error "test failed." + #endif + , [ res=yes ], [ res=no ]) + AC_MSG_RESULT([$res]) + if test "$res" != "yes"; then + AC_MSG_ERROR([w32api version $W32API_VERSION or higher required.]) + fi + # strsafe.h on mingw uses macros for function deprecation that pollutes namespace + # causing problems with local implementations with the same name. + AC_DEFINE(STRSAFE_NO_DEPRECATE) + fi # !GNU_CC + + AC_DEFINE(_USE_MATH_DEFINES) # Otherwise Windows' math.h doesn't #define M_PI. + + CFLAGS="$CFLAGS -D_HAS_EXCEPTIONS=0" + CXXFLAGS="$CXXFLAGS -D_HAS_EXCEPTIONS=0" + + AC_DEFINE_UNQUOTED(WINVER,0x$WINVER) + AC_DEFINE_UNQUOTED(_WIN32_WINNT,0x$WINVER) + # Require OS features provided by IE 8.0 (Win7) + AC_DEFINE_UNQUOTED(_WIN32_IE,0x0800) + + ;; +esac + +if test -n "$_WIN32_MSVC"; then + SKIP_PATH_CHECKS=1 + SKIP_COMPILER_CHECKS=1 + SKIP_LIBRARY_CHECKS=1 + + # Since we're skipping compiler and library checks, hard-code + # some facts here. + AC_DEFINE(HAVE_IO_H) + AC_DEFINE(HAVE_ISATTY) +fi + +fi # COMPILE_ENVIRONMENT + +AC_SUBST(GNU_CC) +AC_SUBST(GNU_CXX) + +dnl ======================================================== +dnl set the defaults first +dnl ======================================================== +MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib" + +dnl Configure platform-specific CPU architecture compiler options. +dnl ============================================================== +if test "$COMPILE_ENVIRONMENT"; then + MOZ_ARCH_OPTS +fi # COMPILE_ENVIRONMENT + +if test -n "$COMPILE_ENVIRONMENT"; then + MOZ_CONFIG_SANITIZE +fi + +dnl ======================================================== +dnl GNU specific defaults +dnl ======================================================== +if test "$GNU_CC"; then + if test "$OS_ARCH" != "WINNT" -o -z "$CLANG_CC"; then + DSO_PIC_CFLAGS='-fPIC' + ASFLAGS="$ASFLAGS -fPIC" + fi + + AC_MSG_CHECKING([for --noexecstack option to as]) + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -Wa,--noexecstack" + AC_TRY_COMPILE(,,AC_MSG_RESULT([yes]) + [ASFLAGS="$ASFLAGS -Wa,--noexecstack"], + AC_MSG_RESULT([no])) + CFLAGS=$_SAVE_CFLAGS + AC_MSG_CHECKING([for -z noexecstack option to ld]) + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,noexecstack" + AC_TRY_LINK(,,AC_MSG_RESULT([yes]), + AC_MSG_RESULT([no]) + LDFLAGS=$_SAVE_LDFLAGS) + + AC_MSG_CHECKING([for -z text option to ld]) + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,text" + AC_TRY_LINK(,,AC_MSG_RESULT([yes]), + AC_MSG_RESULT([no]) + LDFLAGS=$_SAVE_LDFLAGS) + + AC_MSG_CHECKING([for -z relro option to ld]) + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,relro" + AC_TRY_LINK(,,AC_MSG_RESULT([yes]), + AC_MSG_RESULT([no]) + LDFLAGS=$_SAVE_LDFLAGS) + + AC_MSG_CHECKING([for -z nocopyreloc option to ld]) + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,nocopyreloc" + AC_TRY_LINK(,,AC_MSG_RESULT([yes]), + AC_MSG_RESULT([no]) + LDFLAGS=$_SAVE_LDFLAGS) + + AC_MSG_CHECKING([for -Bsymbolic-functions option to ld]) + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions" + AC_TRY_LINK(,,AC_MSG_RESULT([yes]), + AC_MSG_RESULT([no]) + LDFLAGS=$_SAVE_LDFLAGS) + + # While sha1 is deterministic, it is slower. + if test -z "$DEVELOPER_OPTIONS"; then + build_id=sha1 + else + build_id=uuid + fi + AC_MSG_CHECKING([for --build-id=$build_id option to ld]) + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,--build-id=$build_id" + AC_TRY_LINK(,,AC_MSG_RESULT([yes]), + AC_MSG_RESULT([no]) + LDFLAGS=$_SAVE_LDFLAGS) + + AC_MSG_CHECKING([for --ignore-unresolved-symbol option to ld]) + HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED= + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,--ignore-unresolved-symbol,environ" + AC_TRY_LINK(,,AC_MSG_RESULT([yes]) + [HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED=1], + AC_MSG_RESULT([no])) + LDFLAGS=$_SAVE_LDFLAGS + + DSO_LDOPTS='-shared' + if test "$GCC_USE_GNU_LD"; then + # Some tools like ASan use a runtime library that is only + # linked against executables, so we must allow undefined + # symbols for shared objects in some cases. + if test -z "$MOZ_ASAN$MOZ_MSAN$MOZ_UBSAN$MOZ_TSAN$FUZZING_INTERFACES"; then + # Don't allow undefined symbols in libraries + DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs" + + # BSDs need `environ' exposed for posix_spawn (bug 753046) + case "$OS_TARGET" in + DragonFly|FreeBSD|NetBSD|OpenBSD) + if test -n "$HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED"; then + DSO_LDOPTS="$DSO_LDOPTS -Wl,--ignore-unresolved-symbol,environ" + else + DSO_LDOPTS="$DSO_LDOPTS -Wl,--warn-unresolved-symbols" + fi + ;; + esac + fi + fi + + _DEFINES_CFLAGS="-include $_objdir/mozilla-config.h -DMOZILLA_CLIENT" + + ASFLAGS="$ASFLAGS $_DEFINES_CFLAGS" +fi + +if test "$GNU_CXX"; then + CXXFLAGS="$CXXFLAGS -fno-exceptions" + + _DEFINES_CXXFLAGS="-DMOZILLA_CLIENT -include $_objdir/mozilla-config.h" +fi + +dnl ======================================================== +dnl System overrides of the defaults for host +dnl ======================================================== +case "$host" in +*mingw*) + if test -n "$_WIN32_MSVC"; then + HOST_CFLAGS="$HOST_CFLAGS" + else + HOST_CFLAGS="$HOST_CFLAGS -mwindows" + fi + HOST_CFLAGS="$HOST_CFLAGS -DXP_WIN -DWIN32 -D_WIN32 -D_CRT_SECURE_NO_WARNINGS" + HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}" + HOST_BIN_SUFFIX=.exe + + case "${host_cpu}" in + i*86) + if test -n "$_WIN32_MSVC"; then + HOST_LDFLAGS="$HOST_LDFLAGS -MACHINE:X86" + fi + ;; + x86_64) + if test -n "$_WIN32_MSVC"; then + HOST_LDFLAGS="$HOST_LDFLAGS -MACHINE:X64" + fi + HOST_CFLAGS="$HOST_CFLAGS -D_AMD64_" + ;; + esac + ;; + +*-darwin*) + HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX -DXP_MACOSX" + HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}" + ;; + +*-linux*|*-kfreebsd*-gnu|*-gnu*) + HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX" + HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}" + ;; + +*) + HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX" + HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}" + ;; +esac + +dnl ======================================================== +dnl System overrides of the defaults for target +dnl ======================================================== + +case "$target" in +*-darwin*) + MOZ_OPTIMIZE_FLAGS="-O3" + DSO_LDOPTS='' + + dnl DTrace and -dead_strip don't interact well. See bug 403132. + dnl =================================================================== + if test "x$enable_dtrace" = "xyes"; then + echo "Skipping -dead_strip because DTrace is enabled. See bug 403132." + else + dnl check for the presence of the -dead_strip linker flag + AC_MSG_CHECKING([for -dead_strip option to ld]) + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-dead_strip" + AC_TRY_LINK(,[return 0;],_HAVE_DEAD_STRIP=1,_HAVE_DEAD_STRIP=) + if test -n "$_HAVE_DEAD_STRIP" ; then + AC_MSG_RESULT([yes]) + MOZ_OPTIMIZE_LDFLAGS="-Wl,-dead_strip" + else + AC_MSG_RESULT([no]) + fi + + LDFLAGS=$_SAVE_LDFLAGS + fi + + MOZ_FIX_LINK_PATHS= + ;; + +*-android*|*-linuxandroid*) + if test -z "$CLANG_CC"; then + MOZ_OPTIMIZE_FLAGS="-freorder-blocks -fno-reorder-functions -Os" + else + # From https://github.com/android-ndk/ndk/issues/133#issuecomment-308549264 + # -Oz is smaller than -Os on clang. + MOZ_OPTIMIZE_FLAGS="-Oz" + # Disable the outliner, which causes performance regressions, and is + # enabled on some platforms at -Oz. + if test -z "$MOZ_LTO"; then + DISABLE_OUTLINER="-mno-outline" + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $DISABLE_OUTLINER" + AC_TRY_COMPILE(,,[MOZ_OPTIMIZE_FLAGS="$MOZ_OPTIMIZE_FLAGS $DISABLE_OUTLINER"]) + CFLAGS="$_SAVE_CFLAGS" + else + DISABLE_OUTLINER="-Wl,-plugin-opt=-enable-machine-outliner=never" + _SAVE_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $MOZ_LTO_LDFLAGS $DISABLE_OUTLINER" + AC_TRY_LINK(,,[MOZ_OPTIMIZE_LDFLAGS="$MOZ_OPTIMIZE_LDFLAGS $DISABLE_OUTLINER"]) + LDFLAGS="$_SAVE_LDFLAGS" + fi + fi + ;; + +*-*linux*) + if test "$GNU_CC" -o "$GNU_CXX"; then + MOZ_PGO_OPTIMIZE_FLAGS="-O3" + if test -n "$MOZ_DEBUG"; then + MOZ_OPTIMIZE_FLAGS="-Os" + else + MOZ_OPTIMIZE_FLAGS="-O2" + fi + if test -z "$CLANG_CC"; then + MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS" + fi + fi + + case "${target_cpu}" in + alpha*) + CFLAGS="$CFLAGS -mieee" + CXXFLAGS="$CXXFLAGS -mieee" + ;; + esac + ;; +*-mingw*) + DSO_PIC_CFLAGS= + # certain versions of cygwin's makedepend barf on the + # #include <string> vs -I./dist/include/string issue so don't use it + if test -n "$GNU_CC" -o -n "$CLANG_CC"; then + # $GNU_CC will match gcc and clang; while $CLANG_CC will match only clang + if test -z "$CLANG_CC"; then + AC_MSG_ERROR(Firefox cannot be built with mingw-gcc and requires a mingw-clang toolchain to work) + fi + + DSO_LDOPTS='-shared' + MOZ_FIX_LINK_PATHS= + + MOZ_OPTIMIZE_FLAGS="-O2" + + WIN32_CONSOLE_EXE_LDFLAGS=-mconsole + WIN32_GUI_EXE_LDFLAGS=-mwindows + + # Silence problematic clang warnings + CXXFLAGS="$CXXFLAGS -Wno-incompatible-ms-struct" + LDFLAGS="$LDFLAGS -Wl,--no-insert-timestamp" + else + TARGET_COMPILER_ABI=msvc + # aarch64 doesn't support subsystems below 6.02 + if test "$CPU_ARCH" = "aarch64"; then + WIN32_SUBSYSTEM_VERSION=6.02 + else + WIN32_SUBSYSTEM_VERSION=6.01 + fi + WIN32_CONSOLE_EXE_LDFLAGS=-SUBSYSTEM:CONSOLE,$WIN32_SUBSYSTEM_VERSION + WIN32_GUI_EXE_LDFLAGS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION + DSO_LDOPTS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION + _DEFINES_CFLAGS="-FI $_objdir/mozilla-config.h -DMOZILLA_CLIENT" + _DEFINES_CXXFLAGS="-FI $_objdir/mozilla-config.h -DMOZILLA_CLIENT" + CFLAGS="$CFLAGS -Gy -Zc:inline" + CXXFLAGS="$CXXFLAGS -Gy -Zc:inline" + if test "$CPU_ARCH" = "x86"; then + dnl VS2012+ defaults to -arch:SSE2. We want to target nothing + dnl more recent, so set that explicitly here unless another + dnl target arch has already been set. + changequote(,) + if test -z `echo $CFLAGS | grep -i [-/]arch:`; then + CFLAGS="$CFLAGS -arch:SSE2" + fi + if test -z `echo $CXXFLAGS | grep -i [-/]arch:`; then + CXXFLAGS="$CXXFLAGS -arch:SSE2" + fi + changequote([,]) + fi + dnl VS2013+ supports -Gw for better linker optimizations. + dnl http://blogs.msdn.com/b/vcblog/archive/2013/09/11/introducing-gw-compiler-switch.aspx + dnl Disabled on ASan because it causes false-positive ODR violations. + if test -z "$MOZ_ASAN"; then + CFLAGS="$CFLAGS -Gw" + CXXFLAGS="$CXXFLAGS -Gw" + else + # String tail merging doesn't play nice with ASan's ODR checker. + LDFLAGS="$LDFLAGS -opt:nolldtailmerge" + fi + # Silence VS2017 15.5+ TR1 deprecation warnings hit by older gtest versions + CXXFLAGS="$CXXFLAGS -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING" + MOZ_DEBUG_LDFLAGS='-DEBUG' + if test "$HOST_OS_ARCH" != "WINNT"; then + # %_PDB% is a special signal to emit only the PDB basename. This + # avoids problems in Windows tools that don't like forward-slashes. + MOZ_DEBUG_LDFLAGS="$MOZ_DEBUG_LDFLAGS -PDBALTPATH:%_PDB%" + fi + MOZ_OPTIMIZE_FLAGS='-O2' + MOZ_FIX_LINK_PATHS= + LDFLAGS="$LDFLAGS -LARGEADDRESSAWARE" + fi + AC_DEFINE(WIN32_LEAN_AND_MEAN) + dnl See http://support.microsoft.com/kb/143208 to use STL + AC_DEFINE(NOMINMAX) + BIN_SUFFIX='.exe' + + case "$host_os" in + cygwin*|msvc*|mks*) + AC_MSG_ERROR([Using a Cygwin build environment is unsupported. Configure cannot check for presence of necessary headers. Please upgrade to MozillaBuild; see https://developer.mozilla.org/en/Windows_Build_Prerequisites.]) + ;; + esac + + case "$target" in + i*86-*) + if test -n "$GNU_CC"; then + CFLAGS="$CFLAGS -mstackrealign" + CXXFLAGS="$CXXFLAGS -mstackrealign" + LDFLAGS="$LDFLAGS -Wl,--large-address-aware" + else + DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X86" + LDFLAGS="$LDFLAGS -SAFESEH" + fi + + AC_DEFINE(_X86_) + ;; + x86_64-*) + if test -n "$_WIN32_MSVC"; then + DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X64" + fi + AC_DEFINE(_AMD64_) + ;; + aarch64-*) + if test -n "$_WIN32_MSVC"; then + DSO_LDOPTS="$DSO_LDOPTS -MACHINE:ARM64" + fi + AC_DEFINE(_ARM64_) + ;; + *) + AC_DEFINE(_CPU_ARCH_NOT_DEFINED) + ;; + esac + ;; + +*-netbsd*) + CFLAGS="$CFLAGS -Dunix" + CXXFLAGS="$CXXFLAGS -Dunix" + if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then + DSO_PIC_CFLAGS='-fPIC -DPIC' + DSO_LDOPTS='-shared' + MOZ_PROGRAM_LDFLAGS="$MOZ_PROGRAM_LDFLAGS -Wl,--export-dynamic" + else + DSO_PIC_CFLAGS='-fPIC -DPIC' + DSO_LDOPTS='-shared' + fi + # This will fail on a.out systems prior to 1.5.1_ALPHA. + if test "$LIBRUNPATH"; then + DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS" + fi + ;; + +*-openbsd*) + if test -z "$X11BASE"; then + X11BASE=/usr/X11R6 + fi + MOZ_FIX_LINK_PATHS="$MOZ_FIX_LINK_PATHS -Wl,-rpath-link,${X11BASE}/lib" + DSO_PIC_CFLAGS='-fPIC' + DSO_LDOPTS='-shared -fPIC' + if test "$LIBRUNPATH"; then + DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS" + fi + ;; + +*-solaris*) + MOZ_FIX_LINK_PATHS="-L${DIST}/bin" + ;; + +esac + +CFLAGS="$CFLAGS $DSO_PIC_CFLAGS" +CXXFLAGS="$CXXFLAGS $DSO_PIC_CFLAGS" + +if test -z "$MOZ_OPTIMIZE_FLAGS"; then + MOZ_OPTIMIZE_FLAGS="-O" +fi + + +if test -z "$COMPILE_ENVIRONMENT"; then + SKIP_COMPILER_CHECKS=1 + SKIP_LIBRARY_CHECKS=1 + MOZ_DEBUGGING_OPTS +else + MOZ_COMPILER_OPTS +fi # COMPILE_ENVIRONMENT + +if test -z "$SKIP_COMPILER_CHECKS"; then +dnl Checks for typedefs, structures, and compiler characteristics. +dnl ======================================================== +AC_C_CONST +AC_TYPE_MODE_T +AC_TYPE_OFF_T +AC_TYPE_PID_T +AC_TYPE_SIZE_T +AC_LANG_CPLUSPLUS +AC_LANG_C + +AC_LANG_CPLUSPLUS + +MOZ_CXX11 + +AC_LANG_C + +dnl Checks for header files. +dnl ======================================================== +AC_HEADER_DIRENT + +dnl Checks for libraries. +dnl ======================================================== +AC_CHECK_LIB(c_r, gethostbyname_r) + +dnl We don't want to link with libdl even if it's present on OS X, since +dnl it's not used and not part of the default installation. OS/2 has dlfcn +dnl in libc. +dnl We don't want to link against libm or libpthread on Darwin since +dnl they both are just symlinks to libSystem and explicitly linking +dnl against libSystem causes issues when debugging (see bug 299601). +case $target in +*-darwin*) + ;; +*) + AC_SEARCH_LIBS(dlopen, dl, + MOZ_CHECK_HEADER(dlfcn.h, + AC_DEFINE(HAVE_DLOPEN))) + ;; +esac + +_SAVE_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -D_GNU_SOURCE" +AC_CHECK_FUNCS(dladdr) +CFLAGS="$_SAVE_CFLAGS" + +if test ! "$GNU_CXX"; then + AC_CHECK_LIB(C, demangle) +fi + +AC_CHECK_LIB(socket, socket) + +dnl ======================================================== +dnl = pthread support +dnl = Start by checking whether the system support pthreads +dnl ======================================================== +case "$target_os" in +darwin*) + MOZ_USE_PTHREADS=1 + ;; +*) + AC_CHECK_LIB(pthreads, pthread_create, + MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthreads", + AC_CHECK_LIB(pthread, pthread_create, + MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthread", + AC_CHECK_LIB(c_r, pthread_create, + MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lc_r", + AC_CHECK_LIB(c, pthread_create, + MOZ_USE_PTHREADS=1 + ) + ) + ) + ) + ;; +esac + +dnl ======================================================== +dnl Do the platform specific pthread hackery +dnl ======================================================== +if test "$MOZ_USE_PTHREADS"x != x +then + dnl + dnl See if -pthread is supported. + dnl + rm -f conftest* + ac_cv_have_dash_pthread=no + AC_MSG_CHECKING(whether ${CC-cc} accepts -pthread) + echo 'int main() { return 0; }' | cat > conftest.c + ${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1 + if test $? -eq 0; then + if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" -a -z "`egrep -i '(error|incorrect)' conftest.out`" ; then + ac_cv_have_dash_pthread=yes + case "$target_os" in + freebsd*) +# Freebsd doesn't use -pthread for compiles, it uses them for linking + ;; + *) + CFLAGS="$CFLAGS -pthread" + CXXFLAGS="$CXXFLAGS -pthread" + ;; + esac + fi + fi + rm -f conftest* + AC_MSG_RESULT($ac_cv_have_dash_pthread) + + dnl + dnl See if -pthreads is supported. + dnl + ac_cv_have_dash_pthreads=no + if test "$ac_cv_have_dash_pthread" = "no"; then + AC_MSG_CHECKING(whether ${CC-cc} accepts -pthreads) + echo 'int main() { return 0; }' | cat > conftest.c + ${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1 + if test $? -eq 0; then + if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthreads`" -a -z "`egrep -i '(error|incorrect)' conftest.out`" ; then + ac_cv_have_dash_pthreads=yes + CFLAGS="$CFLAGS -pthreads" + CXXFLAGS="$CXXFLAGS -pthreads" + fi + fi + rm -f conftest* + AC_MSG_RESULT($ac_cv_have_dash_pthreads) + fi + + case "$target" in + *-*-freebsd*) + AC_DEFINE(_REENTRANT) + AC_DEFINE(_THREAD_SAFE) + dnl -pthread links in -lpthread, so don't specify it explicitly. + if test "$ac_cv_have_dash_pthread" = "yes"; then + _PTHREAD_LDFLAGS="-pthread" + fi + ;; + + *-*-openbsd*|*-*-bsdi*) + AC_DEFINE(_REENTRANT) + AC_DEFINE(_THREAD_SAFE) + dnl -pthread links in -lc_r, so don't specify it explicitly. + if test "$ac_cv_have_dash_pthread" = "yes"; then + _PTHREAD_LDFLAGS="-pthread" + fi + ;; + + *-*-linux*|*-*-kfreebsd*-gnu|*-*-gnu*) + AC_DEFINE(_REENTRANT) + ;; + + esac + LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}" + AC_SUBST(MOZ_USE_PTHREADS) + MOZ_CHECK_HEADERS(pthread.h) +fi + + +dnl Checks for library functions. +dnl ======================================================== + +dnl check for clock_gettime(), the CLOCK_MONOTONIC clock +AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC), + ac_cv_clock_monotonic, + [for libs in "" -lrt; do + _SAVE_LIBS="$LIBS" + LIBS="$LIBS $libs" +dnl clock_gettime is available on OSX since 10.12, so depending on MACOSX_DEPLOYMENT_TARGET, +dnl we should or not be able to use it. To detect if we can, we need to make the +dnl availability attribute strict, so that compilation fails when the target is < 10.12. + AC_TRY_LINK([#define availability(os, ...) availability(os, strict, __VA_ARGS) + #include <time.h>], + [ struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); ], + ac_cv_clock_monotonic=$libs + LIBS="$_SAVE_LIBS" + break, + ac_cv_clock_monotonic=no) + LIBS="$_SAVE_LIBS" + done]) +if test "$ac_cv_clock_monotonic" != "no"; then + HAVE_CLOCK_MONOTONIC=1 + REALTIME_LIBS=$ac_cv_clock_monotonic + AC_DEFINE(HAVE_CLOCK_MONOTONIC) + AC_SUBST(HAVE_CLOCK_MONOTONIC) + AC_SUBST_LIST(REALTIME_LIBS) +fi + +AC_CACHE_CHECK( + [for res_ninit()], + ac_cv_func_res_ninit, + [if test "$OS_TARGET" = NetBSD -o "$OS_TARGET" = OpenBSD; then + dnl no need for res_ninit() on NetBSD and OpenBSD + ac_cv_func_res_ninit=no + else + AC_TRY_LINK([ + #ifdef linux + #define _BSD_SOURCE 1 + #endif + #include <sys/types.h> + #include <netinet/in.h> + #include <arpa/nameser.h> + #include <resolv.h> + ], + [int foo = res_ninit(&_res);], + [ac_cv_func_res_ninit=yes], + [ac_cv_func_res_ninit=no]) + fi + ]) + +if test "$ac_cv_func_res_ninit" = "yes"; then + AC_DEFINE(HAVE_RES_NINIT) +dnl must add the link line we do something as foolish as this... dougt +dnl else +dnl AC_CHECK_LIB(bind, res_ninit, AC_DEFINE(HAVE_RES_NINIT), +dnl AC_CHECK_LIB(resolv, res_ninit, AC_DEFINE(HAVE_RES_NINIT))) +fi + +AC_LANG_C + +dnl =================================================================== +dnl ======================================================== +dnl Put your C++ language/feature checks below +dnl ======================================================== +AC_LANG_CPLUSPLUS + +ARM_ABI_PREFIX= +if test "$GNU_CC"; then + if test "$CPU_ARCH" = "arm" ; then + AC_CACHE_CHECK(for ARM EABI, + ac_cv_gcc_arm_eabi, + [AC_TRY_COMPILE([], + [ +#if defined(__ARM_EABI__) + return 0; +#else +#error Not ARM EABI. +#endif + ], + ac_cv_gcc_arm_eabi="yes", + ac_cv_gcc_arm_eabi="no")]) + if test "$ac_cv_gcc_arm_eabi" = "yes"; then + HAVE_ARM_EABI=1 + ARM_ABI_PREFIX=eabi- + else + ARM_ABI_PREFIX=oabi- + fi + fi + + TARGET_COMPILER_ABI="${TARGET_COMPILER_ABI-${ARM_ABI_PREFIX}gcc3}" +fi + +# try harder, when checking for __thread support, see bug 521750 comment #33 and below +# We pass MOZ_OPTIMIZE_LDFLAGS to the linker because if dead_strip is +# enabled, the linker in xcode 4.1 will crash. Without this it would crash when +# linking XUL. +_SAVE_LDFLAGS=$LDFLAGS +LDFLAGS="$LDFLAGS $DSO_LDOPTS $MOZ_OPTIMIZE_LDFLAGS" +AC_CACHE_CHECK(for __thread keyword for TLS variables, + ac_cv_thread_keyword, + [AC_TRY_LINK([__thread bool tlsIsMainThread = false;], + [return tlsIsMainThread;], + ac_cv_thread_keyword=yes, + ac_cv_thread_keyword=no)]) +LDFLAGS=$_SAVE_LDFLAGS +# The custom dynamic linker doesn't support TLS variables +if test "$ac_cv_thread_keyword" = yes -a "$MOZ_LINKER" != 1; then + # mips builds fail with TLS variables because of a binutils bug. + # See bug 528687 + # OpenBSD doesn't have TLS support, and the test succeeds with clang++ + case "${target}" in + mips*-*) + : + ;; + *-android*|*-linuxandroid*) + : + ;; + *-openbsd*) + : + ;; + *) + AC_DEFINE(HAVE_THREAD_TLS_KEYWORD) + ;; + esac +fi + +if test -n "$MOZ_LINKER"; then +dnl gold emits wrong sysv-style elf hash tables when building both sysv and +dnl style tables. https://sourceware.org/bugzilla/show_bug.cgi?id=13597 +dnl Since the linker only understands the sysv ones, no need to build the +dnl gnu style tables anyways. + LDFLAGS="$LDFLAGS -Wl,--hash-style=sysv" +fi + +dnl End of C++ language/feature checks +AC_LANG_C + +fi # ! SKIP_COMPILER_CHECKS + +if test -n "${COMPILE_ENVIRONMENT}"; then + MOZ_CHECK_ALLOCATOR +fi + +TARGET_XPCOM_ABI= +if test -n "${CPU_ARCH}" -a -n "${TARGET_COMPILER_ABI}"; then + TARGET_XPCOM_ABI="${CPU_ARCH}-${TARGET_COMPILER_ABI}" + AC_DEFINE_UNQUOTED(TARGET_XPCOM_ABI, ["${TARGET_XPCOM_ABI}"]) +fi + +dnl We can't run TRY_COMPILE tests on Windows, so hard-code some +dnl features that Windows actually does support. + +if test -n "$SKIP_COMPILER_CHECKS"; then + dnl Windows has malloc.h + AC_DEFINE(MALLOC_H, [<malloc.h>]) + AC_DEFINE(HAVE_FORCEINLINE) +fi # SKIP_COMPILER_CHECKS + +dnl Mozilla specific options +dnl ======================================================== +dnl The macros used for command line options +dnl are defined in build/autoconf/altoptions.m4. + +dnl ======================================================== +dnl = +dnl = Application +dnl = +dnl ======================================================== + +MOZ_BRANDING_DIRECTORY= +MOZ_OFFICIAL_BRANDING= +MOZ_NO_SMART_CARDS= +MOZ_BINARY_EXTENSIONS= +MOZ_DEVTOOLS=server + +dnl ======================================================== +dnl = Trademarked Branding +dnl ======================================================== +MOZ_ARG_ENABLE_BOOL(official-branding, +[ --enable-official-branding + Enable Official mozilla.org Branding + Do not distribute builds with + --enable-official-branding unless you have + permission to use trademarks per + http://www.mozilla.org/foundation/trademarks/ .], + MOZ_OFFICIAL_BRANDING=1, + MOZ_OFFICIAL_BRANDING=) + +# Allow the application to influence configure with a confvars.sh script. +AC_MSG_CHECKING([if app-specific confvars.sh exists]) +if test -f "${srcdir}/${MOZ_BUILD_APP}/confvars.sh" ; then + AC_MSG_RESULT([${srcdir}/${MOZ_BUILD_APP}/confvars.sh]) + . "${srcdir}/${MOZ_BUILD_APP}/confvars.sh" +else + AC_MSG_RESULT([no]) +fi + +AC_SUBST(MOZ_OFFICIAL_BRANDING) +if test -n "$MOZ_OFFICIAL_BRANDING"; then + if test -z "$MOZ_OFFICIAL_BRANDING_DIRECTORY"; then + AC_MSG_ERROR([You must specify MOZ_OFFICIAL_BRANDING_DIRECTORY to use --enable-official-branding.]) + else + MOZ_BRANDING_DIRECTORY=${MOZ_OFFICIAL_BRANDING_DIRECTORY} + AC_DEFINE(MOZ_OFFICIAL_BRANDING) + fi +fi + +MOZ_ARG_WITH_STRING(branding, +[ --with-branding=dir Use branding from the specified directory.], + MOZ_BRANDING_DIRECTORY=$withval) + +REAL_BRANDING_DIRECTORY="${MOZ_BRANDING_DIRECTORY}" +if test -z "$REAL_BRANDING_DIRECTORY"; then + REAL_BRANDING_DIRECTORY=${MOZ_BUILD_APP}/branding/nightly +fi + +if test -f "${_topsrcdir}/$REAL_BRANDING_DIRECTORY/configure.sh"; then + . "${_topsrcdir}/$REAL_BRANDING_DIRECTORY/configure.sh" +fi + +AC_SUBST(MOZ_BRANDING_DIRECTORY) + +dnl ======================================================== +dnl = Distribution ID +dnl ======================================================== +MOZ_ARG_WITH_STRING(distribution-id, +[ --with-distribution-id=ID + Set distribution-specific id (default=org.mozilla)], +[ val=`echo $withval` + MOZ_DISTRIBUTION_ID="$val"]) + +if test -z "$MOZ_DISTRIBUTION_ID"; then + MOZ_DISTRIBUTION_ID="org.mozilla" +fi + +AC_SUBST(MOZ_DISTRIBUTION_ID) + +dnl ======================================================== +dnl = Enable code optimization. ON by default. +dnl ======================================================== + +# Use value from moz.configure if one is defined. Else use our computed +# value. +if test -n "${MOZ_CONFIGURE_OPTIMIZE_FLAGS}"; then + MOZ_OPTIMIZE_FLAGS=${MOZ_CONFIGURE_OPTIMIZE_FLAGS} +fi + +if test "$COMPILE_ENVIRONMENT"; then +if test -n "$MOZ_OPTIMIZE"; then + AC_MSG_CHECKING([for valid C compiler optimization flags]) + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $MOZ_OPTIMIZE_FLAGS" + AC_TRY_COMPILE([#include <stdio.h>], + [printf("Hello World\n");], + _results=yes, + _results=no) + AC_MSG_RESULT([$_results]) + if test "$_results" = "no"; then + AC_MSG_ERROR([These compiler flags for C are invalid: $MOZ_OPTIMIZE_FLAGS]) + fi + CFLAGS=$_SAVE_CFLAGS + if test -n "$MOZ_LTO" -a -n "$CLANG_CC"; then + # When using llvm-based LTO, non numeric optimization levels are + # not supported by the linker, so force the linker to use -O2 ( + # which doesn't influence the level compilation units are actually + # compiled at). + case " $MOZ_OPTIMIZE_FLAGS " in + *\ -Os\ *|*\ -Oz\ *) + MOZ_OPTIMIZE_LDFLAGS="$MOZ_OPTIMIZE_LDFLAGS -O2" + ;; + esac + fi +fi +fi # COMPILE_ENVIRONMENT + +AC_SUBST_LIST(MOZ_OPTIMIZE_FLAGS) +AC_SUBST_LIST(MOZ_OPTIMIZE_LDFLAGS) +AC_SUBST_LIST(MOZ_PGO_OPTIMIZE_FLAGS) + +case "${OS_TARGET}" in +Android|WINNT|Darwin) + MOZ_GLUE_IN_PROGRAM= + ;; +*) + dnl On !Android !Windows !OSX, we only want to link executables against mozglue + MOZ_GLUE_IN_PROGRAM=1 + AC_DEFINE(MOZ_GLUE_IN_PROGRAM) + ;; +esac + +dnl ======================================================== +dnl = Jemalloc build setup +dnl ======================================================== +if test -z "$MOZ_MEMORY"; then + case "${target}" in + *-mingw*) + if test -z "$WIN32_REDIST_DIR" -a -z "$MOZ_DEBUG"; then + AC_MSG_WARN([When not building jemalloc, you need to set WIN32_REDIST_DIR to the path to the Visual C++ Redist (usually VCINSTALLDIR/redist/x86/Microsoft.VC80.CRT, for VC++ v8) if you intend to distribute your build.]) + fi + ;; + esac +else + dnl The generic feature tests that determine how to compute ncpus are long and + dnl complicated. Therefore, simply define special cpp variables for the + dnl platforms we have special knowledge of. + case "${target}" in + *-mingw*) + export MOZ_NO_DEBUG_RTL=1 + ;; + esac +fi # MOZ_MEMORY +AC_SUBST(MOZ_GLUE_IN_PROGRAM) + +dnl ======================================================== +dnl = Enable using the clang plugin to build +dnl ======================================================== + +if test -n "$COMPILE_ENVIRONMENT"; then +MOZ_CONFIG_CLANG_PLUGIN +fi # COMPILE_ENVIRONMENT + +if test -z "$SKIP_COMPILER_CHECKS"; then +dnl ======================================================== +dnl Check for gcc -pipe support +dnl ======================================================== +AC_MSG_CHECKING([for -pipe support]) +if test -n "$GNU_CC" -a -n "$GNU_CXX"; then + dnl Any gcc that supports firefox supports -pipe. + CFLAGS="$CFLAGS -pipe" + CXXFLAGS="$CXXFLAGS -pipe" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi + +fi # ! SKIP_COMPILER_CHECKS + +AC_LANG_C + +if test "$COMPILE_ENVIRONMENT"; then +MOZ_EXPAND_LIBS +fi # COMPILE_ENVIRONMENT + +dnl ======================================================== +dnl Check if we need the 32-bit Linux SSE2 error dialog +dnl ======================================================== + +AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR) + +dnl ======================================================== +dnl Check for cairo +dnl ======================================================== + +if test "$OS_ARCH" = "WINNT"; then + # For now we assume that we will have a uint64_t available through + # one of the above headers or mozstdint.h. + AC_DEFINE(HAVE_UINT64_T) +fi + +case "$MOZ_WIDGET_TOOLKIT" in + windows) + if test "$COMPILE_ENVIRONMENT"; then + MOZ_CHECK_HEADER(d3d10.h, MOZ_ENABLE_D3D10_LAYER=1) + fi + ;; +esac +AC_SUBST(MOZ_ENABLE_D3D10_LAYER) + +dnl ======================================================== +dnl = +dnl = Maintainer debug option (no --enable equivalent) +dnl = +dnl ======================================================== + +AC_SUBST_LIST(ASFLAGS) +AC_SUBST_LIST(MOZ_DEBUG_LDFLAGS) + +AC_SUBST(MOZ_STUB_INSTALLER) + +AC_SUBST_LIST(MOZ_FIX_LINK_PATHS) + +AC_SUBST(MOZ_POST_PROGRAM_COMMAND) + +if test -n "$MOZ_BINARY_EXTENSIONS"; then + AC_DEFINE(MOZ_BINARY_EXTENSIONS) +fi + +dnl ======================================================== +dnl = Mac bundle name prefix +dnl ======================================================== +MOZ_ARG_WITH_STRING(macbundlename-prefix, +[ --with-macbundlename-prefix=prefix + Prefix for MOZ_MACBUNDLE_NAME], +[ MOZ_MACBUNDLE_NAME_PREFIX="$withval"]) + +MOZ_MACBUNDLE_NAME=$MOZ_APP_DISPLAYNAME +if test "$MOZ_MACBUNDLE_NAME_PREFIX"; then + MOZ_MACBUNDLE_NAME="${MOZ_MACBUNDLE_NAME_PREFIX}${MOZ_MACBUNDLE_NAME}" +fi + +if test "$MOZ_DEBUG"; then + MOZ_MACBUNDLE_NAME="${MOZ_MACBUNDLE_NAME}Debug.app" +else + MOZ_MACBUNDLE_NAME=${MOZ_MACBUNDLE_NAME}.app +fi +AC_SUBST(MOZ_MACBUNDLE_NAME) + +dnl Mac bundle identifier (based on MOZ_APP_DISPLAYNAME) +# If the MOZ_MACBUNDLE_ID is defined in the configure.sh, use it +# Otherwise, use MOZ_APP_DISPLAYNAME +if test -z "$MOZ_MACBUNDLE_ID"; then + MOZ_MACBUNDLE_ID=`echo $MOZ_APP_DISPLAYNAME | tr 'A-Z' 'a-z' | tr -dc 'a-z-'` +fi +MOZ_MACBUNDLE_ID=${MOZ_DISTRIBUTION_ID}.${MOZ_MACBUNDLE_ID} +if test "$MOZ_DEBUG"; then + MOZ_MACBUNDLE_ID=${MOZ_MACBUNDLE_ID}debug +fi + +AC_DEFINE_UNQUOTED(MOZ_MACBUNDLE_ID,$MOZ_MACBUNDLE_ID) +AC_SUBST(MOZ_MACBUNDLE_ID) + +dnl ======================================================== +dnl = Child Process Name for IPC +dnl ======================================================== +if test "$MOZ_WIDGET_TOOLKIT" != "android"; then + MOZ_CHILD_PROCESS_NAME="plugin-container${BIN_SUFFIX}" +else + # We want to let Android unpack the file at install time, but it only does + # so if the file is named libsomething.so. The lib/ path is also required + # because the unpacked file will be under the lib/ subdirectory and will + # need to be executed from that path. + MOZ_CHILD_PROCESS_NAME="libplugin-container.so" +fi +MOZ_CHILD_PROCESS_BUNDLE="plugin-container.app/Contents/MacOS/" +MOZ_CHILD_PROCESS_BUNDLENAME="${MOZ_APP_DISPLAYNAME}CP" + +AC_SUBST(MOZ_CHILD_PROCESS_NAME) +AC_SUBST(MOZ_CHILD_PROCESS_BUNDLE) +AC_SUBST(MOZ_CHILD_PROCESS_BUNDLENAME) + +# The following variables are available to branding and application +# configuration ($BRANDING/configure.sh and $APPLICATION/confvars.sh): +# - MOZ_APP_VENDOR: Used for application.ini's "Vendor" field, which also +# impacts profile location and user-visible fields. +# - MOZ_APP_DISPLAYNAME: Used in user-visible fields (DLL properties, +# Mac Bundle name, Updater, Installer), it is typically used for nightly +# builds (e.g. Aurora for Firefox). +# - MOZ_APP_PROFILE: When set, used for application.ini's +# "Profile" field, which controls profile location. +# - MOZ_APP_ID: When set, used for application.ini's "ID" field, and +# crash reporter server url. +# - MOZ_PROFILE_MIGRATOR: When set, enables profile migrator. + +# The following environment variables used to have an effect, but don't anymore: +# - MOZ_APP_VERSION: Defines the application version number. This was replaced with +# the contents from the version.txt file in the application directory, or +# browser/config/version.txt if there isn't one. +# - MOZ_APP_VERSION_DISPLAY: Defines the application version number. Used +# in the "About" window. This was replaced with the contents from the +# version_display.txt or version.txt in the application directory, or +# browser/config/version_display.txt. + +# For extensions and langpacks, we require a max version that is compatible +# across security releases. MOZ_APP_MAXVERSION is our method for doing that. +# 24.0a1 and 24.0a2 aren't affected +# 24.0 becomes 24.* +# 24.1.1 becomes 24.* +IS_ALPHA=`echo $MOZ_APP_VERSION | grep a` +if test -z "$IS_ALPHA"; then + changequote(,) + if test "$(basename $MOZ_BUILD_APP)" = "suite"; then + MOZ_APP_MAXVERSION=`echo $MOZ_APP_VERSION | sed "s|\(^[0-9]*\.[0-9]*\).*|\1|"`.* + else + MOZ_APP_MAXVERSION=`echo $MOZ_APP_VERSION | sed "s|\(^[0-9]*\).*|\1|"`.* + fi + changequote([,]) +else + MOZ_APP_MAXVERSION=$MOZ_APP_VERSION +fi + +AC_SUBST(MOZ_APP_DISPLAYNAME) +AC_SUBST(MOZ_APP_VENDOR) +AC_SUBST(MOZ_APP_PROFILE) +AC_SUBST(MOZ_APP_ID) +AC_SUBST(MAR_CHANNEL_ID) +AC_SUBST(ACCEPTED_MAR_CHANNEL_IDS) +AC_SUBST(MOZ_PROFILE_MIGRATOR) +AC_DEFINE_UNQUOTED(MOZ_APP_UA_NAME, "$MOZ_APP_UA_NAME") +AC_SUBST(MOZ_APP_UA_NAME) +AC_DEFINE_UNQUOTED(MOZ_APP_UA_VERSION, "$MOZ_APP_VERSION") +AC_DEFINE_UNQUOTED(BROWSER_CHROME_URL, $BROWSER_CHROME_URL) +AC_DEFINE_UNQUOTED(BROWSER_CHROME_URL_QUOTED, "$BROWSER_CHROME_URL") + +AC_SUBST(MOZ_APP_MAXVERSION) +AC_SUBST(MOZ_PKG_SPECIAL) +AC_SUBST(MOZ_SIMPLE_PACKAGE_NAME) + +if test "$MOZILLA_OFFICIAL"; then + # Build revisions should always be present in official builds + MOZ_INCLUDE_SOURCE_INFO=1 +fi + +# External builds (specifically Ubuntu) may drop the hg repo information, so we allow to +# explicitly set the repository and changeset information in. +AC_SUBST(MOZ_SOURCE_REPO) +AC_SUBST(MOZ_SOURCE_CHANGESET) +AC_SUBST(MOZ_INCLUDE_SOURCE_INFO) + +dnl win32 options +AC_SUBST(WIN32_REDIST_DIR) +AC_SUBST(WIN_UCRT_REDIST_DIR) + +dnl Echo the CFLAGS to remove extra whitespace. +CFLAGS=`echo \ + $_COMPILATION_CFLAGS \ + $CFLAGS` + +CXXFLAGS=`echo \ + $_COMPILATION_CXXFLAGS \ + $CXXFLAGS` + +COMPILE_CFLAGS=`echo \ + $_DEFINES_CFLAGS \ + $COMPILE_CFLAGS` + +COMPILE_CXXFLAGS=`echo \ + $_DEFINES_CXXFLAGS \ + $COMPILE_CXXFLAGS` + +HOST_CFLAGS=`echo \ + $_COMPILATION_HOST_CFLAGS \ + $HOST_CFLAGS` + +HOST_CXXFLAGS=`echo \ + $_COMPILATION_HOST_CXXFLAGS \ + $HOST_CXXFLAGS` + +HOST_CMFLAGS="-x objective-c -fobjc-exceptions" +HOST_CMMFLAGS="-x objective-c++ -fobjc-exceptions" +OS_COMPILE_CMFLAGS="-x objective-c -fobjc-exceptions" +OS_COMPILE_CMMFLAGS="-x objective-c++ -fobjc-exceptions" +if test "$MOZ_WIDGET_TOOLKIT" = uikit; then + OS_COMPILE_CMFLAGS="$OS_COMPILE_CMFLAGS -fobjc-abi-version=2 -fobjc-legacy-dispatch" + OS_COMPILE_CMMFLAGS="$OS_COMPILE_CMMFLAGS -fobjc-abi-version=2 -fobjc-legacy-dispatch" +fi +AC_SUBST(HOST_CMFLAGS) +AC_SUBST(HOST_CMMFLAGS) +AC_SUBST(OS_COMPILE_CMFLAGS) +AC_SUBST(OS_COMPILE_CMMFLAGS) + +OS_CFLAGS="$CFLAGS" +OS_CXXFLAGS="$CXXFLAGS" +OS_CPPFLAGS="$CPPFLAGS" +OS_COMPILE_CFLAGS="$COMPILE_CFLAGS" +OS_COMPILE_CXXFLAGS="$COMPILE_CXXFLAGS" +OS_LDFLAGS="$LDFLAGS" +OS_LIBS="$LIBS" +AC_SUBST_LIST(OS_CFLAGS) +AC_SUBST_LIST(OS_CXXFLAGS) +AC_SUBST_LIST(OS_CPPFLAGS) +AC_SUBST_LIST(OS_COMPILE_CFLAGS) +AC_SUBST_LIST(OS_COMPILE_CXXFLAGS) +AC_SUBST_LIST(OS_LDFLAGS) +AC_SUBST(OS_LIBS) + +AC_SUBST(HOST_CC) +AC_SUBST(HOST_CXX) +AC_SUBST_LIST(HOST_CFLAGS) +AC_SUBST_LIST(HOST_CPPFLAGS) +AC_SUBST_LIST(HOST_CXXFLAGS) +AC_SUBST(HOST_LDFLAGS) +AC_SUBST_LIST(HOST_OPTIMIZE_FLAGS) +AC_SUBST(HOST_BIN_SUFFIX) + +AC_SUBST(TARGET_XPCOM_ABI) + +AC_SUBST(DSO_LDOPTS) +AC_SUBST(BIN_SUFFIX) +AC_SUBST(USE_N32) +AC_SUBST(WIN32_CONSOLE_EXE_LDFLAGS) +AC_SUBST(WIN32_GUI_EXE_LDFLAGS) + +AC_SUBST(MOZ_DEVTOOLS) + +AC_SUBST(MOZ_PACKAGE_JSSHELL) + +AC_SUBST(DMG_TOOL) + +dnl Host JavaScript runtime, if any, to use during cross compiles. +AC_SUBST(JS_BINARY) + +AC_SUBST(NSS_EXTRA_SYMBOLS_FILE) + +dnl Set various defines and substitutions +dnl ======================================================== + +AC_SUBST(MOZ_DEV_EDITION) +if test -n "$MOZ_DEV_EDITION"; then + AC_DEFINE(MOZ_DEV_EDITION) +fi + +dnl Spit out some output +dnl ======================================================== + +# Avoid using obsolete NSPR features +AC_DEFINE(NO_NSPR_10_SUPPORT) + +MOZ_CREATE_CONFIG_STATUS() + +rm -fr confdefs* $ac_clean_files |