1 dnl -*- Mode: Autoconf; tab-width: 4; indent-tabs-mode: nil; -*-
2 dnl vi: set tabstop=4 shiftwidth=4 expandtab syntax=m4:
3 dnl This Source Code Form is subject to the terms of the Mozilla Public
4 dnl License, v. 2.0. If a copy of the MPL was not distributed with this
5 dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 dnl Process this file with autoconf to produce a configure script.
8 dnl ========================================================
10 AC_INIT(config/config.mk)
11 AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf)
14 dnl ========================================================
16 dnl = Don't change the following lines. Doing so breaks:
18 dnl = CFLAGS="-foo" ./configure
20 dnl ========================================================
22 CPPFLAGS="${CPPFLAGS=}"
23 CXXFLAGS="${CXXFLAGS=}"
25 HOST_CFLAGS="${HOST_CFLAGS=}"
26 HOST_CXXFLAGS="${HOST_CXXFLAGS=}"
27 HOST_LDFLAGS="${HOST_LDFLAGS=}"
29 dnl Set the minimum version of toolkit libs used by mozilla
30 dnl ========================================================
33 dnl Set various checks
34 dnl ========================================================
37 dnl Initialize the Pthread test variables early so they can be
38 dnl overridden by each platform.
39 dnl ========================================================
43 LDFLAGS="$LDFLAGS $LINKER_LDFLAGS $PACK_REL_RELOC_FLAGS"
44 HOST_LDFLAGS="$HOST_LDFLAGS $HOST_LINKER_LDFLAGS"
46 if test "$COMPILE_ENVIRONMENT"; then
48 fi # COMPILE_ENVIRONMENT
50 dnl ========================================================
51 dnl Checks for compilers.
52 dnl ========================================================
54 if test "$COMPILE_ENVIRONMENT"; then
56 # Run some logic to figure out exe extensions (mostly for mingw's sake)
59 if test "$target" != "$host"; then
65 # Work around the conftest.exe access problem on Windows
73 dnl ========================================================
74 dnl Special win32 checks
75 dnl ========================================================
81 if test "$GCC" != "yes"; then
82 # Check to see if we are really running in a msvc environemnt
85 # Make sure compilers are valid
86 CXXFLAGS="$CXXFLAGS -TP"
89 AC_TRY_COMPILE([#include <stdio.h>],
90 [ printf("Hello World\n"); ],,
91 AC_MSG_ERROR([\$(CC) test failed. You must have MS VC++ in your path to build.]) )
94 AC_TRY_COMPILE([#include <new.h>],
95 [ unsigned *test = new unsigned(42); ],,
96 AC_MSG_ERROR([\$(CXX) test failed. You must have MS VC++ in your path to build.]) )
99 AC_DEFINE(_CRT_SECURE_NO_WARNINGS)
100 AC_DEFINE(_CRT_NONSTDC_NO_WARNINGS)
102 MSVC_C_RUNTIME_DLL=vcruntime140.dll
103 if test -n "$IS_VS2019_OR_MORE" -a "$TARGET_CPU" != "x86"; then
104 MSVC_C_RUNTIME_1_DLL=vcruntime140_1.dll
106 MSVC_CXX_RUNTIME_DLL=msvcp140.dll
108 # -Zc:sizedDealloc- disables C++14 global sized deallocation (see bug 1160146)
109 CXXFLAGS="$CXXFLAGS -Zc:sizedDealloc-"
111 AC_SUBST(MSVC_C_RUNTIME_DLL)
112 AC_SUBST(MSVC_C_RUNTIME_1_DLL)
113 AC_SUBST(MSVC_CXX_RUNTIME_DLL)
115 AC_DEFINE(HAVE_SEH_EXCEPTIONS)
117 if test -n "$WIN32_REDIST_DIR"; then
118 if test ! -d "$WIN32_REDIST_DIR"; then
119 AC_MSG_ERROR([Invalid Win32 Redist directory: ${WIN32_REDIST_DIR}])
121 WIN32_REDIST_DIR=`cd "$WIN32_REDIST_DIR" && (pwd -W 2>/dev/null || pwd)`
124 # Check w32api version
125 _W32API_MAJOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $1 }'`
126 _W32API_MINOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $2 }'`
127 AC_MSG_CHECKING([for w32api version >= $W32API_VERSION])
128 AC_TRY_COMPILE([#include <w32api.h>],
129 #if (__W32API_MAJOR_VERSION < $_W32API_MAJOR_VERSION) || \
130 (__W32API_MAJOR_VERSION == $_W32API_MAJOR_VERSION && \
131 __W32API_MINOR_VERSION < $_W32API_MINOR_VERSION)
132 #error "test failed."
134 , [ res=yes ], [ res=no ])
135 AC_MSG_RESULT([$res])
136 if test "$res" != "yes"; then
137 AC_MSG_ERROR([w32api version $W32API_VERSION or higher required.])
139 # strsafe.h on mingw uses macros for function deprecation that pollutes namespace
140 # causing problems with local implementations with the same name.
141 AC_DEFINE(STRSAFE_NO_DEPRECATE)
144 AC_DEFINE(_USE_MATH_DEFINES) # Otherwise Windows' math.h doesn't #define M_PI.
146 CFLAGS="$CFLAGS -D_HAS_EXCEPTIONS=0"
147 CXXFLAGS="$CXXFLAGS -D_HAS_EXCEPTIONS=0"
149 AC_DEFINE_UNQUOTED(WINVER,0x$WINVER)
150 AC_DEFINE_UNQUOTED(_WIN32_WINNT,0x$WINVER)
151 AC_DEFINE_UNQUOTED(_WIN32_IE,0x0A00)
156 if test -n "$_WIN32_MSVC"; then
158 SKIP_COMPILER_CHECKS=1
159 SKIP_LIBRARY_CHECKS=1
161 # Since we're skipping compiler and library checks, hard-code
164 AC_DEFINE(HAVE_ISATTY)
167 fi # COMPILE_ENVIRONMENT
172 dnl ========================================================
173 dnl set the defaults first
174 dnl ========================================================
175 MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
177 dnl Configure platform-specific CPU architecture compiler options.
178 dnl ==============================================================
179 if test "$COMPILE_ENVIRONMENT"; then
181 fi # COMPILE_ENVIRONMENT
183 if test -n "$COMPILE_ENVIRONMENT"; then
187 dnl ========================================================
188 dnl GNU specific defaults
189 dnl ========================================================
190 if test "$GNU_CC"; then
191 if test "$OS_ARCH" != "WINNT" -o -z "$CLANG_CC"; then
192 DSO_PIC_CFLAGS='-fPIC'
193 ASFLAGS="$ASFLAGS -fPIC"
196 AC_MSG_CHECKING([for --ignore-unresolved-symbol option to ld])
197 HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED=
198 _SAVE_LDFLAGS=$LDFLAGS
199 LDFLAGS="$LDFLAGS -Wl,--ignore-unresolved-symbol,environ"
200 AC_TRY_LINK(,,AC_MSG_RESULT([yes])
201 [HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED=1],
203 LDFLAGS=$_SAVE_LDFLAGS
206 if test "$GCC_USE_GNU_LD"; then
207 # Some tools like ASan use a runtime library that is only
208 # linked against executables, so we must allow undefined
209 # symbols for shared objects in some cases.
210 if test -z "$MOZ_ASAN$MOZ_MSAN$MOZ_UBSAN$MOZ_TSAN$FUZZING_INTERFACES"; then
211 # Don't allow undefined symbols in libraries
212 DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs"
214 # BSDs need `environ' exposed for posix_spawn (bug 753046)
216 DragonFly|FreeBSD|NetBSD|OpenBSD)
217 if test -n "$HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED"; then
218 DSO_LDOPTS="$DSO_LDOPTS -Wl,--ignore-unresolved-symbol,environ"
220 DSO_LDOPTS="$DSO_LDOPTS -Wl,--warn-unresolved-symbols"
227 _DEFINES_CFLAGS="-include $_objdir/mozilla-config.h -DMOZILLA_CLIENT"
229 ASFLAGS="$ASFLAGS $_DEFINES_CFLAGS"
232 if test "$GNU_CXX"; then
233 CXXFLAGS="$CXXFLAGS -fno-exceptions"
235 _DEFINES_CXXFLAGS="-DMOZILLA_CLIENT -include $_objdir/mozilla-config.h"
238 dnl ========================================================
239 dnl System overrides of the defaults for host
240 dnl ========================================================
243 if test -n "$_WIN32_MSVC"; then
244 HOST_CFLAGS="$HOST_CFLAGS"
246 HOST_CFLAGS="$HOST_CFLAGS -mwindows"
248 HOST_CFLAGS="$HOST_CFLAGS -DXP_WIN -DWIN32 -D_WIN32 -D_CRT_SECURE_NO_WARNINGS"
249 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}"
252 case "${host_cpu}" in
254 if test -n "$_WIN32_MSVC"; then
255 HOST_LDFLAGS="$HOST_LDFLAGS -MACHINE:X86"
259 if test -n "$_WIN32_MSVC"; then
260 HOST_LDFLAGS="$HOST_LDFLAGS -MACHINE:X64"
262 HOST_CFLAGS="$HOST_CFLAGS -D_AMD64_"
268 HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX -DXP_MACOSX"
269 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
272 *-linux*|*-kfreebsd*-gnu|*-gnu*)
273 HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
274 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
278 HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
279 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}"
283 dnl ========================================================
284 dnl System overrides of the defaults for target
285 dnl ========================================================
289 MOZ_OPTIMIZE_FLAGS="-O3"
292 dnl DTrace and -dead_strip don't interact well. See bug 403132.
293 dnl ===================================================================
294 if test "x$enable_dtrace" = "xyes"; then
295 echo "Skipping -dead_strip because DTrace is enabled. See bug 403132."
297 dnl check for the presence of the -dead_strip linker flag
298 AC_MSG_CHECKING([for -dead_strip option to ld])
299 _SAVE_LDFLAGS=$LDFLAGS
300 LDFLAGS="$LDFLAGS -Wl,-dead_strip"
301 AC_TRY_LINK(,[return 0;],_HAVE_DEAD_STRIP=1,_HAVE_DEAD_STRIP=)
302 if test -n "$_HAVE_DEAD_STRIP" ; then
304 MOZ_OPTIMIZE_LDFLAGS="-Wl,-dead_strip"
309 LDFLAGS=$_SAVE_LDFLAGS
315 *-android*|*-linuxandroid*)
316 # From https://github.com/android-ndk/ndk/issues/133#issuecomment-308549264
317 # -Oz is smaller than -Os on clang.
318 MOZ_OPTIMIZE_FLAGS="-Oz"
319 # Disable the outliner, which causes performance regressions, and is
320 # enabled on some platforms at -Oz.
321 if test -z "$MOZ_LTO"; then
322 DISABLE_OUTLINER="-mno-outline"
324 CFLAGS="$CFLAGS $DISABLE_OUTLINER"
325 AC_TRY_COMPILE(,,[MOZ_OPTIMIZE_FLAGS="$MOZ_OPTIMIZE_FLAGS $DISABLE_OUTLINER"])
326 CFLAGS="$_SAVE_CFLAGS"
328 DISABLE_OUTLINER="-Wl,-plugin-opt=-enable-machine-outliner=never"
329 _SAVE_LDFLAGS=$LDFLAGS
330 LDFLAGS="$LDFLAGS $MOZ_LTO_LDFLAGS $DISABLE_OUTLINER"
331 AC_TRY_LINK(,,[MOZ_OPTIMIZE_LDFLAGS="$MOZ_OPTIMIZE_LDFLAGS $DISABLE_OUTLINER"])
332 LDFLAGS="$_SAVE_LDFLAGS"
337 if test "$GNU_CC" -o "$GNU_CXX"; then
338 MOZ_PGO_OPTIMIZE_FLAGS="-O3"
339 MOZ_OPTIMIZE_FLAGS="-O2"
342 case "${target_cpu}" in
344 CFLAGS="$CFLAGS -mieee"
345 CXXFLAGS="$CXXFLAGS -mieee"
351 # certain versions of cygwin's makedepend barf on the
352 # #include <string> vs -I./dist/include/string issue so don't use it
353 if test -n "$GNU_CC" -o -n "$CLANG_CC"; then
354 # $GNU_CC will match gcc and clang; while $CLANG_CC will match only clang
355 if test -z "$CLANG_CC"; then
356 AC_MSG_ERROR(Firefox cannot be built with mingw-gcc and requires a mingw-clang toolchain to work)
362 MOZ_OPTIMIZE_FLAGS="-O2"
364 WIN32_CONSOLE_EXE_LDFLAGS=-mconsole
365 WIN32_GUI_EXE_LDFLAGS=-mwindows
367 # Silence problematic clang warnings
368 CXXFLAGS="$CXXFLAGS -Wno-incompatible-ms-struct"
369 LDFLAGS="$LDFLAGS -Wl,--no-insert-timestamp"
371 TARGET_COMPILER_ABI=msvc
372 WIN32_SUBSYSTEM_VERSION=10.0
373 WIN32_CONSOLE_EXE_LDFLAGS=-SUBSYSTEM:CONSOLE,$WIN32_SUBSYSTEM_VERSION
374 WIN32_GUI_EXE_LDFLAGS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION
375 DSO_LDOPTS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION
376 _DEFINES_CFLAGS="-FI $_objdir/mozilla-config.h -DMOZILLA_CLIENT"
377 _DEFINES_CXXFLAGS="-FI $_objdir/mozilla-config.h -DMOZILLA_CLIENT"
378 CFLAGS="$CFLAGS -Gy -Zc:inline"
379 CXXFLAGS="$CXXFLAGS -Gy -Zc:inline"
380 if test "$TARGET_CPU" = "x86"; then
381 dnl VS2012+ defaults to -arch:SSE2. We want to target nothing
382 dnl more recent, so set that explicitly here unless another
383 dnl target arch has already been set.
385 if test -z `echo $CFLAGS | grep -i [-/]arch:`; then
386 CFLAGS="$CFLAGS -arch:SSE2"
388 if test -z `echo $CXXFLAGS | grep -i [-/]arch:`; then
389 CXXFLAGS="$CXXFLAGS -arch:SSE2"
393 dnl VS2013+ supports -Gw for better linker optimizations.
394 dnl http://blogs.msdn.com/b/vcblog/archive/2013/09/11/introducing-gw-compiler-switch.aspx
395 dnl Disabled on ASan because it causes false-positive ODR violations.
396 if test -z "$MOZ_ASAN"; then
398 CXXFLAGS="$CXXFLAGS -Gw"
400 # String tail merging doesn't play nice with ASan's ODR checker.
401 LDFLAGS="$LDFLAGS -opt:nolldtailmerge"
403 # Silence VS2017 15.5+ TR1 deprecation warnings hit by older gtest versions
404 CXXFLAGS="$CXXFLAGS -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
405 MOZ_DEBUG_LDFLAGS='-DEBUG'
406 if test "$HOST_OS_ARCH" != "WINNT"; then
407 # %_PDB% is a special signal to emit only the PDB basename. This
408 # avoids problems in Windows tools that don't like forward-slashes.
409 MOZ_DEBUG_LDFLAGS="$MOZ_DEBUG_LDFLAGS -PDBALTPATH:%_PDB%"
411 MOZ_OPTIMIZE_FLAGS='-O2'
413 LDFLAGS="$LDFLAGS -LARGEADDRESSAWARE"
415 AC_DEFINE(WIN32_LEAN_AND_MEAN)
416 dnl See http://support.microsoft.com/kb/143208 to use STL
422 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.])
428 if test -n "$GNU_CC"; then
429 CFLAGS="$CFLAGS -mstackrealign"
430 CXXFLAGS="$CXXFLAGS -mstackrealign"
431 LDFLAGS="$LDFLAGS -Wl,--large-address-aware"
433 DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X86"
434 LDFLAGS="$LDFLAGS -SAFESEH"
440 if test -n "$_WIN32_MSVC"; then
441 DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X64"
446 if test -n "$_WIN32_MSVC"; then
447 DSO_LDOPTS="$DSO_LDOPTS -MACHINE:ARM64"
452 AC_DEFINE(_CPU_ARCH_NOT_DEFINED)
458 CFLAGS="$CFLAGS -Dunix"
459 CXXFLAGS="$CXXFLAGS -Dunix"
460 if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then
461 DSO_PIC_CFLAGS='-fPIC -DPIC'
463 MOZ_PROGRAM_LDFLAGS="$MOZ_PROGRAM_LDFLAGS -Wl,--export-dynamic"
465 DSO_PIC_CFLAGS='-fPIC -DPIC'
468 # This will fail on a.out systems prior to 1.5.1_ALPHA.
469 if test "$LIBRUNPATH"; then
470 DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
475 if test -z "$X11BASE"; then
478 MOZ_FIX_LINK_PATHS="$MOZ_FIX_LINK_PATHS -Wl,-rpath-link,${X11BASE}/lib"
479 DSO_PIC_CFLAGS='-fPIC'
480 DSO_LDOPTS='-shared -fPIC'
481 if test "$LIBRUNPATH"; then
482 DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS"
487 MOZ_FIX_LINK_PATHS="-L${DIST}/bin"
492 CFLAGS="$CFLAGS $DSO_PIC_CFLAGS"
493 CXXFLAGS="$CXXFLAGS $DSO_PIC_CFLAGS"
495 if test -z "$MOZ_OPTIMIZE_FLAGS"; then
496 MOZ_OPTIMIZE_FLAGS="-O"
500 if test -z "$COMPILE_ENVIRONMENT"; then
501 SKIP_COMPILER_CHECKS=1
502 SKIP_LIBRARY_CHECKS=1
506 fi # COMPILE_ENVIRONMENT
508 if test -z "$SKIP_COMPILER_CHECKS"; then
509 dnl Checks for typedefs, structures, and compiler characteristics.
510 dnl ========================================================
525 dnl Checks for header files.
526 dnl ========================================================
529 dnl Checks for libraries.
530 dnl ========================================================
531 AC_CHECK_LIB(c_r, gethostbyname_r)
533 dnl We don't want to link with libdl even if it's present on OS X, since
534 dnl it's not used and not part of the default installation. OS/2 has dlfcn
536 dnl We don't want to link against libm or libpthread on Darwin since
537 dnl they both are just symlinks to libSystem and explicitly linking
538 dnl against libSystem causes issues when debugging (see bug 299601).
543 AC_SEARCH_LIBS(dlopen, dl,
544 MOZ_CHECK_HEADER(dlfcn.h,
545 AC_DEFINE(HAVE_DLOPEN)))
549 _SAVE_CFLAGS="$CFLAGS"
550 CFLAGS="$CFLAGS -D_GNU_SOURCE"
551 AC_CHECK_FUNCS(dladdr)
552 CFLAGS="$_SAVE_CFLAGS"
554 if test ! "$GNU_CXX"; then
555 AC_CHECK_LIB(C, demangle)
558 AC_CHECK_LIB(socket, socket)
560 dnl ========================================================
561 dnl = pthread support
562 dnl = Start by checking whether the system support pthreads
563 dnl ========================================================
569 AC_CHECK_LIB(pthreads, pthread_create,
570 MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthreads",
571 AC_CHECK_LIB(pthread, pthread_create,
572 MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthread",
573 AC_CHECK_LIB(c_r, pthread_create,
574 MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lc_r",
575 AC_CHECK_LIB(c, pthread_create,
584 dnl ========================================================
585 dnl Do the platform specific pthread hackery
586 dnl ========================================================
587 if test "$MOZ_USE_PTHREADS"x != x
590 dnl See if -pthread is supported.
593 ac_cv_have_dash_pthread=no
594 AC_MSG_CHECKING(whether ${CC-cc} accepts -pthread)
595 echo 'int main() { return 0; }' | cat > conftest.c
596 ${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
597 if test $? -eq 0; then
598 if test -z "`grep -E -i '(unrecognize|unknown)' conftest.out | grep pthread`" -a -z "`grep -E -i '(error|incorrect)' conftest.out`" ; then
599 ac_cv_have_dash_pthread=yes
602 # Freebsd doesn't use -pthread for compiles, it uses them for linking
605 CFLAGS="$CFLAGS -pthread"
606 CXXFLAGS="$CXXFLAGS -pthread"
612 AC_MSG_RESULT($ac_cv_have_dash_pthread)
615 dnl See if -pthreads is supported.
617 ac_cv_have_dash_pthreads=no
618 if test "$ac_cv_have_dash_pthread" = "no"; then
619 AC_MSG_CHECKING(whether ${CC-cc} accepts -pthreads)
620 echo 'int main() { return 0; }' | cat > conftest.c
621 ${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1
622 if test $? -eq 0; then
623 if test -z "`grep -E -i '(unrecognize|unknown)' conftest.out | grep pthreads`" -a -z "`grep -E -i '(error|incorrect)' conftest.out`" ; then
624 ac_cv_have_dash_pthreads=yes
625 CFLAGS="$CFLAGS -pthreads"
626 CXXFLAGS="$CXXFLAGS -pthreads"
630 AC_MSG_RESULT($ac_cv_have_dash_pthreads)
635 AC_DEFINE(_REENTRANT)
636 AC_DEFINE(_THREAD_SAFE)
637 dnl -pthread links in -lpthread, so don't specify it explicitly.
638 if test "$ac_cv_have_dash_pthread" = "yes"; then
639 _PTHREAD_LDFLAGS="-pthread"
643 *-*-openbsd*|*-*-bsdi*)
644 AC_DEFINE(_REENTRANT)
645 AC_DEFINE(_THREAD_SAFE)
646 dnl -pthread links in -lc_r, so don't specify it explicitly.
647 if test "$ac_cv_have_dash_pthread" = "yes"; then
648 _PTHREAD_LDFLAGS="-pthread"
652 *-*-linux*|*-*-kfreebsd*-gnu|*-*-gnu*)
653 AC_DEFINE(_REENTRANT)
657 LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}"
658 AC_SUBST(MOZ_USE_PTHREADS)
659 MOZ_CHECK_HEADERS(pthread.h)
663 dnl Checks for library functions.
664 dnl ========================================================
666 dnl check for clock_gettime(), the CLOCK_MONOTONIC clock
667 AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC),
668 ac_cv_clock_monotonic,
669 [for libs in "" -lrt; do
672 dnl clock_gettime is available on OSX since 10.12, so depending on MACOSX_DEPLOYMENT_TARGET,
673 dnl we should or not be able to use it. To detect if we can, we need to make the
674 dnl availability attribute strict, so that compilation fails when the target is < 10.12.
675 AC_TRY_LINK([#define availability(os, ...) availability(os, strict, __VA_ARGS)
677 [ struct timespec ts;
678 clock_gettime(CLOCK_MONOTONIC, &ts); ],
679 ac_cv_clock_monotonic=$libs
682 ac_cv_clock_monotonic=no)
685 if test "$ac_cv_clock_monotonic" != "no"; then
686 HAVE_CLOCK_MONOTONIC=1
687 REALTIME_LIBS=$ac_cv_clock_monotonic
688 AC_DEFINE(HAVE_CLOCK_MONOTONIC)
689 AC_SUBST(HAVE_CLOCK_MONOTONIC)
690 AC_SUBST_LIST(REALTIME_LIBS)
695 ac_cv_func_res_ninit,
696 [if test "$OS_TARGET" = NetBSD -o "$OS_TARGET" = OpenBSD; then
697 dnl no need for res_ninit() on NetBSD and OpenBSD
698 ac_cv_func_res_ninit=no
702 #define _BSD_SOURCE 1
704 #include <sys/types.h>
705 #include <netinet/in.h>
706 #include <arpa/nameser.h>
709 [int foo = res_ninit(&_res);],
710 [ac_cv_func_res_ninit=yes],
711 [ac_cv_func_res_ninit=no])
715 if test "$ac_cv_func_res_ninit" = "yes"; then
716 AC_DEFINE(HAVE_RES_NINIT)
717 dnl must add the link line we do something as foolish as this... dougt
719 dnl AC_CHECK_LIB(bind, res_ninit, AC_DEFINE(HAVE_RES_NINIT),
720 dnl AC_CHECK_LIB(resolv, res_ninit, AC_DEFINE(HAVE_RES_NINIT)))
725 dnl ===================================================================
726 dnl ========================================================
727 dnl Put your C++ language/feature checks below
728 dnl ========================================================
732 if test "$GNU_CC"; then
733 if test "$TARGET_CPU" = "arm" ; then
734 AC_CACHE_CHECK(for ARM EABI,
738 #if defined(__ARM_EABI__)
744 ac_cv_gcc_arm_eabi="yes",
745 ac_cv_gcc_arm_eabi="no")])
746 if test "$ac_cv_gcc_arm_eabi" = "yes"; then
754 TARGET_COMPILER_ABI="${TARGET_COMPILER_ABI-${ARM_ABI_PREFIX}gcc3}"
757 # try harder, when checking for __thread support, see bug 521750 comment #33 and below
758 # We pass MOZ_OPTIMIZE_LDFLAGS to the linker because if dead_strip is
759 # enabled, the linker in xcode 4.1 will crash. Without this it would crash when
761 _SAVE_LDFLAGS=$LDFLAGS
762 LDFLAGS="$LDFLAGS $DSO_LDOPTS $MOZ_OPTIMIZE_LDFLAGS"
763 AC_CACHE_CHECK(for __thread keyword for TLS variables,
764 ac_cv_thread_keyword,
765 [AC_TRY_LINK([__thread bool tlsIsMainThread = false;],
766 [return tlsIsMainThread;],
767 ac_cv_thread_keyword=yes,
768 ac_cv_thread_keyword=no)])
769 LDFLAGS=$_SAVE_LDFLAGS
770 # The custom dynamic linker doesn't support TLS variables
771 if test "$ac_cv_thread_keyword" = yes -a "$MOZ_LINKER" != 1; then
772 # mips builds fail with TLS variables because of a binutils bug.
774 # OpenBSD doesn't have TLS support, and the test succeeds with clang++
779 *-android*|*-linuxandroid*)
786 AC_DEFINE(HAVE_THREAD_TLS_KEYWORD)
791 if test -n "$MOZ_LINKER"; then
792 dnl gold emits wrong sysv-style elf hash tables when building both sysv and
793 dnl style tables. https://sourceware.org/bugzilla/show_bug.cgi?id=13597
794 dnl Since the linker only understands the sysv ones, no need to build the
795 dnl gnu style tables anyways.
796 LDFLAGS="$LDFLAGS -Wl,--hash-style=sysv"
799 dnl End of C++ language/feature checks
802 fi # ! SKIP_COMPILER_CHECKS
804 if test -n "${COMPILE_ENVIRONMENT}"; then
809 if test -n "${TARGET_CPU}" -a -n "${TARGET_COMPILER_ABI}"; then
810 TARGET_XPCOM_ABI="${TARGET_CPU}-${TARGET_COMPILER_ABI}"
811 AC_DEFINE_UNQUOTED(TARGET_XPCOM_ABI, ["${TARGET_XPCOM_ABI}"])
814 dnl We can't run TRY_COMPILE tests on Windows, so hard-code some
815 dnl features that Windows actually does support.
817 if test -n "$SKIP_COMPILER_CHECKS"; then
818 dnl Windows has malloc.h
819 AC_DEFINE(MALLOC_H, [<malloc.h>])
820 AC_DEFINE(HAVE_FORCEINLINE)
821 fi # SKIP_COMPILER_CHECKS
823 dnl Mozilla specific options
824 dnl ========================================================
825 dnl The macros used for command line options
826 dnl are defined in build/autoconf/altoptions.m4.
828 dnl ========================================================
832 dnl ========================================================
834 MOZ_BRANDING_DIRECTORY=
835 MOZ_OFFICIAL_BRANDING=
837 MOZ_BINARY_EXTENSIONS=
840 dnl ========================================================
841 dnl = Trademarked Branding
842 dnl ========================================================
843 MOZ_ARG_ENABLE_BOOL(official-branding,
844 [ --enable-official-branding
845 Enable Official mozilla.org Branding
846 Do not distribute builds with
847 --enable-official-branding unless you have
848 permission to use trademarks per
849 http://www.mozilla.org/foundation/trademarks/ .],
850 MOZ_OFFICIAL_BRANDING=1,
851 MOZ_OFFICIAL_BRANDING=)
853 # Allow the application to influence configure with a confvars.sh script.
854 AC_MSG_CHECKING([if app-specific confvars.sh exists])
855 if test -f "${srcdir}/${MOZ_BUILD_APP}/confvars.sh" ; then
856 AC_MSG_RESULT([${srcdir}/${MOZ_BUILD_APP}/confvars.sh])
857 . "${srcdir}/${MOZ_BUILD_APP}/confvars.sh"
862 AC_SUBST(MOZ_OFFICIAL_BRANDING)
863 if test -n "$MOZ_OFFICIAL_BRANDING"; then
864 if test -z "$MOZ_OFFICIAL_BRANDING_DIRECTORY"; then
865 AC_MSG_ERROR([You must specify MOZ_OFFICIAL_BRANDING_DIRECTORY to use --enable-official-branding.])
867 MOZ_BRANDING_DIRECTORY=${MOZ_OFFICIAL_BRANDING_DIRECTORY}
868 AC_DEFINE(MOZ_OFFICIAL_BRANDING)
872 MOZ_ARG_WITH_STRING(branding,
873 [ --with-branding=dir Use branding from the specified directory.],
874 MOZ_BRANDING_DIRECTORY=$withval)
876 REAL_BRANDING_DIRECTORY="${MOZ_BRANDING_DIRECTORY}"
877 if test -z "$REAL_BRANDING_DIRECTORY"; then
878 REAL_BRANDING_DIRECTORY=${MOZ_BUILD_APP}/branding/nightly
881 if test -f "${_topsrcdir}/$REAL_BRANDING_DIRECTORY/configure.sh"; then
882 . "${_topsrcdir}/$REAL_BRANDING_DIRECTORY/configure.sh"
885 AC_SUBST(MOZ_BRANDING_DIRECTORY)
887 dnl ========================================================
888 dnl = Distribution ID
889 dnl ========================================================
890 MOZ_ARG_WITH_STRING(distribution-id,
891 [ --with-distribution-id=ID
892 Set distribution-specific id (default=org.mozilla)],
893 [ val=`echo $withval`
894 MOZ_DISTRIBUTION_ID="$val"])
896 if test -z "$MOZ_DISTRIBUTION_ID"; then
897 MOZ_DISTRIBUTION_ID="org.mozilla"
900 AC_SUBST(MOZ_DISTRIBUTION_ID)
902 dnl ========================================================
903 dnl = Enable code optimization. ON by default.
904 dnl ========================================================
906 # Use value from moz.configure if one is defined. Else use our computed
908 if test -n "${MOZ_CONFIGURE_OPTIMIZE_FLAGS}"; then
909 MOZ_OPTIMIZE_FLAGS=${MOZ_CONFIGURE_OPTIMIZE_FLAGS}
912 if test "$COMPILE_ENVIRONMENT"; then
913 if test -n "$MOZ_OPTIMIZE"; then
914 AC_MSG_CHECKING([for valid C compiler optimization flags])
916 CFLAGS="$CFLAGS $MOZ_OPTIMIZE_FLAGS"
917 AC_TRY_COMPILE([#include <stdio.h>],
918 [printf("Hello World\n");],
921 AC_MSG_RESULT([$_results])
922 if test "$_results" = "no"; then
923 AC_MSG_ERROR([These compiler flags for C are invalid: $MOZ_OPTIMIZE_FLAGS])
926 if test -n "$MOZ_LTO" -a -n "$CLANG_CC"; then
927 # When using llvm-based LTO, non numeric optimization levels are
928 # not supported by the linker, so force the linker to use -O2 (
929 # which doesn't influence the level compilation units are actually
931 case " $MOZ_OPTIMIZE_FLAGS " in
933 MOZ_OPTIMIZE_LDFLAGS="$MOZ_OPTIMIZE_LDFLAGS -O2"
938 fi # COMPILE_ENVIRONMENT
940 AC_SUBST_LIST(MOZ_OPTIMIZE_FLAGS)
941 AC_SUBST_LIST(MOZ_OPTIMIZE_LDFLAGS)
942 AC_SUBST_LIST(MOZ_PGO_OPTIMIZE_FLAGS)
944 case "${OS_TARGET}" in
945 Android|WINNT|Darwin)
949 dnl On !Android !Windows !OSX, we only want to link executables against mozglue
950 MOZ_GLUE_IN_PROGRAM=1
951 AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
955 dnl ========================================================
956 dnl = Jemalloc build setup
957 dnl ========================================================
958 if test -z "$MOZ_MEMORY"; then
961 if test -z "$WIN32_REDIST_DIR" -a -z "$MOZ_DEBUG"; then
962 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.])
967 dnl The generic feature tests that determine how to compute ncpus are long and
968 dnl complicated. Therefore, simply define special cpp variables for the
969 dnl platforms we have special knowledge of.
972 export MOZ_NO_DEBUG_RTL=1
976 AC_SUBST(MOZ_GLUE_IN_PROGRAM)
978 dnl ========================================================
979 dnl = Enable using the clang plugin to build
980 dnl ========================================================
982 if test -n "$COMPILE_ENVIRONMENT"; then
983 MOZ_CONFIG_CLANG_PLUGIN
984 fi # COMPILE_ENVIRONMENT
988 if test "$COMPILE_ENVIRONMENT"; then
990 fi # COMPILE_ENVIRONMENT
992 dnl ========================================================
993 dnl Check if we need the 32-bit Linux SSE2 error dialog
994 dnl ========================================================
996 AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
998 dnl ========================================================
1000 dnl ========================================================
1002 if test "$OS_ARCH" = "WINNT"; then
1003 # For now we assume that we will have a uint64_t available through
1004 # one of the above headers or mozstdint.h.
1005 AC_DEFINE(HAVE_UINT64_T)
1008 case "$MOZ_WIDGET_TOOLKIT" in
1010 if test "$COMPILE_ENVIRONMENT"; then
1011 MOZ_CHECK_HEADER(d3d10.h, MOZ_ENABLE_D3D10_LAYER=1)
1015 AC_SUBST(MOZ_ENABLE_D3D10_LAYER)
1017 dnl ========================================================
1019 dnl = Maintainer debug option (no --enable equivalent)
1021 dnl ========================================================
1023 AC_SUBST_LIST(ASFLAGS)
1024 AC_SUBST_LIST(MOZ_DEBUG_LDFLAGS)
1026 AC_SUBST(MOZ_STUB_INSTALLER)
1028 AC_SUBST_LIST(MOZ_FIX_LINK_PATHS)
1030 AC_SUBST(MOZ_POST_PROGRAM_COMMAND)
1032 if test -n "$MOZ_BINARY_EXTENSIONS"; then
1033 AC_DEFINE(MOZ_BINARY_EXTENSIONS)
1036 dnl ========================================================
1037 dnl = Mac bundle name prefix
1038 dnl ========================================================
1039 MOZ_ARG_WITH_STRING(macbundlename-prefix,
1040 [ --with-macbundlename-prefix=prefix
1041 Prefix for MOZ_MACBUNDLE_NAME],
1042 [ MOZ_MACBUNDLE_NAME_PREFIX="$withval"])
1044 MOZ_MACBUNDLE_NAME=$MOZ_APP_DISPLAYNAME
1045 if test "$MOZ_MACBUNDLE_NAME_PREFIX"; then
1046 MOZ_MACBUNDLE_NAME="${MOZ_MACBUNDLE_NAME_PREFIX}${MOZ_MACBUNDLE_NAME}"
1049 if test "$MOZ_DEBUG"; then
1050 MOZ_MACBUNDLE_NAME="${MOZ_MACBUNDLE_NAME}Debug.app"
1052 MOZ_MACBUNDLE_NAME=${MOZ_MACBUNDLE_NAME}.app
1054 AC_SUBST(MOZ_MACBUNDLE_NAME)
1056 dnl Mac bundle identifier (based on MOZ_APP_DISPLAYNAME)
1057 # If the MOZ_MACBUNDLE_ID is defined in the configure.sh, use it
1058 # Otherwise, use MOZ_APP_DISPLAYNAME
1059 if test -z "$MOZ_MACBUNDLE_ID"; then
1060 MOZ_MACBUNDLE_ID=`echo $MOZ_APP_DISPLAYNAME | tr 'A-Z' 'a-z' | tr -dc 'a-z-'`
1062 MOZ_MACBUNDLE_ID=${MOZ_DISTRIBUTION_ID}.${MOZ_MACBUNDLE_ID}
1063 if test "$MOZ_DEBUG"; then
1064 MOZ_MACBUNDLE_ID=${MOZ_MACBUNDLE_ID}debug
1067 AC_DEFINE_UNQUOTED(MOZ_MACBUNDLE_ID,$MOZ_MACBUNDLE_ID)
1068 AC_SUBST(MOZ_MACBUNDLE_ID)
1070 dnl ========================================================
1071 dnl = Child Process Name for IPC
1072 dnl ========================================================
1073 if test "$MOZ_WIDGET_TOOLKIT" != "android"; then
1074 MOZ_CHILD_PROCESS_NAME="plugin-container${BIN_SUFFIX}"
1076 # We want to let Android unpack the file at install time, but it only does
1077 # so if the file is named libsomething.so. The lib/ path is also required
1078 # because the unpacked file will be under the lib/ subdirectory and will
1079 # need to be executed from that path.
1080 MOZ_CHILD_PROCESS_NAME="libplugin-container.so"
1082 MOZ_CHILD_PROCESS_BUNDLE="plugin-container.app/Contents/MacOS/"
1083 MOZ_CHILD_PROCESS_BUNDLEID=${MOZ_DISTRIBUTION_ID}.plugincontainer
1084 MOZ_CHILD_PROCESS_BUNDLENAME="plugin-container.app"
1085 MOZ_CHILD_PROCESS_APPNAME="${MOZ_APP_DISPLAYNAME}CP"
1087 AC_SUBST(MOZ_CHILD_PROCESS_NAME)
1088 AC_SUBST(MOZ_CHILD_PROCESS_BUNDLE)
1089 AC_SUBST(MOZ_CHILD_PROCESS_BUNDLEID)
1090 AC_SUBST(MOZ_CHILD_PROCESS_APPNAME)
1091 AC_SUBST(MOZ_CHILD_PROCESS_BUNDLENAME)
1093 dnl ==========================================================
1094 dnl = Mac Media Plugin Helper (GMP Child) Process Name for IPC
1095 dnl ==========================================================
1096 MOZ_EME_PROCESS_NAME="media-plugin-helper"
1097 MOZ_EME_PROCESS_NAME_BRANDED="$MOZ_APP_DISPLAYNAME Media Plugin Helper"
1098 MOZ_EME_PROCESS_BUNDLENAME="${MOZ_EME_PROCESS_NAME}.app"
1099 # Generate a lower case string with no spaces to be used as the bundle ID
1100 # for the EME helper .app of the form org.mozilla.<executable-name>.
1101 MOZ_EME_PROCESS_BUNDLEID=`echo "$MOZ_APP_DISPLAYNAME" | tr ' ' '-'`
1102 MOZ_EME_PROCESS_BUNDLEID=`echo "$MOZ_EME_PROCESS_BUNDLEID" | tr 'A-Z' 'a-z'`
1103 MOZ_EME_PROCESS_BUNDLEID=${MOZ_EME_PROCESS_BUNDLEID}-${MOZ_EME_PROCESS_NAME}
1104 MOZ_EME_PROCESS_BUNDLEID=${MOZ_DISTRIBUTION_ID}.${MOZ_EME_PROCESS_BUNDLEID}
1106 AC_SUBST(MOZ_EME_PROCESS_NAME)
1107 AC_SUBST(MOZ_EME_PROCESS_NAME_BRANDED)
1108 AC_SUBST(MOZ_EME_PROCESS_BUNDLENAME)
1109 AC_SUBST(MOZ_EME_PROCESS_BUNDLEID)
1111 # The following variables are available to branding and application
1112 # configuration ($BRANDING/configure.sh and $APPLICATION/confvars.sh):
1113 # - MOZ_APP_VENDOR: Used for application.ini's "Vendor" field, which also
1114 # impacts profile location and user-visible fields.
1115 # - MOZ_APP_DISPLAYNAME: Used in user-visible fields (DLL properties,
1116 # Mac Bundle name, Updater, Installer), it is typically used for nightly
1117 # builds (e.g. Aurora for Firefox).
1118 # - MOZ_APP_PROFILE: When set, used for application.ini's
1119 # "Profile" field, which controls profile location.
1120 # - MOZ_APP_ID: When set, used for application.ini's "ID" field, and
1121 # crash reporter server url.
1122 # - MOZ_PROFILE_MIGRATOR: When set, enables profile migrator.
1124 # The following environment variables used to have an effect, but don't anymore:
1125 # - MOZ_APP_VERSION: Defines the application version number. This was replaced with
1126 # the contents from the version.txt file in the application directory, or
1127 # browser/config/version.txt if there isn't one.
1128 # - MOZ_APP_VERSION_DISPLAY: Defines the application version number. Used
1129 # in the "About" window. This was replaced with the contents from the
1130 # version_display.txt or version.txt in the application directory, or
1131 # browser/config/version_display.txt.
1133 # For extensions and langpacks, we require a max version that is compatible
1134 # across security releases. MOZ_APP_MAXVERSION is our method for doing that.
1135 # 24.0a1 and 24.0a2 aren't affected
1137 # 24.1.1 becomes 24.*
1138 IS_ALPHA=`echo $MOZ_APP_VERSION | grep a`
1139 if test -z "$IS_ALPHA"; then
1141 if test "$(basename $MOZ_BUILD_APP)" = "suite"; then
1142 MOZ_APP_MAXVERSION=`echo $MOZ_APP_VERSION | sed "s|\(^[0-9]*\.[0-9]*\).*|\1|"`.*
1144 MOZ_APP_MAXVERSION=`echo $MOZ_APP_VERSION | sed "s|\(^[0-9]*\).*|\1|"`.*
1148 MOZ_APP_MAXVERSION=$MOZ_APP_VERSION
1151 AC_SUBST(MOZ_APP_DISPLAYNAME)
1152 AC_SUBST(MOZ_APP_VENDOR)
1153 AC_SUBST(MOZ_APP_PROFILE)
1154 AC_SUBST(MOZ_APP_ID)
1155 AC_SUBST(MAR_CHANNEL_ID)
1156 AC_SUBST(ACCEPTED_MAR_CHANNEL_IDS)
1157 AC_SUBST(MOZ_PROFILE_MIGRATOR)
1158 AC_DEFINE_UNQUOTED(MOZ_APP_UA_NAME, "$MOZ_APP_UA_NAME")
1159 AC_SUBST(MOZ_APP_UA_NAME)
1160 AC_DEFINE_UNQUOTED(MOZ_APP_UA_VERSION, "$MOZ_APP_VERSION")
1161 AC_DEFINE_UNQUOTED(BROWSER_CHROME_URL, $BROWSER_CHROME_URL)
1162 AC_DEFINE_UNQUOTED(BROWSER_CHROME_URL_QUOTED, "$BROWSER_CHROME_URL")
1164 AC_SUBST(MOZ_APP_MAXVERSION)
1165 AC_SUBST(MOZ_PKG_SPECIAL)
1166 AC_SUBST(MOZ_SIMPLE_PACKAGE_NAME)
1168 if test "$MOZILLA_OFFICIAL"; then
1169 # Build revisions should always be present in official builds
1170 MOZ_INCLUDE_SOURCE_INFO=1
1173 # External builds (specifically Ubuntu) may drop the hg repo information, so we allow to
1174 # explicitly set the repository and changeset information in.
1175 AC_SUBST(MOZ_SOURCE_REPO)
1176 AC_SUBST(MOZ_SOURCE_CHANGESET)
1177 AC_SUBST(MOZ_INCLUDE_SOURCE_INFO)
1180 AC_SUBST(WIN32_REDIST_DIR)
1182 dnl Echo the CFLAGS to remove extra whitespace.
1184 $_COMPILATION_CFLAGS \
1188 $_COMPILATION_CXXFLAGS \
1192 $_COMPILATION_ASFLAGS \
1195 COMPILE_CFLAGS=`echo \
1199 COMPILE_CXXFLAGS=`echo \
1200 $_DEFINES_CXXFLAGS \
1204 $_COMPILATION_HOST_CFLAGS \
1207 HOST_CXXFLAGS=`echo \
1208 $_COMPILATION_HOST_CXXFLAGS \
1213 $_COMPILATION_LDFLAGS`
1215 HOST_LDFLAGS=`echo \
1217 $_COMPILATION_HOST_LDFLAGS`
1219 HOST_CMFLAGS="-x objective-c -fobjc-exceptions"
1220 HOST_CMMFLAGS="-x objective-c++ -fobjc-exceptions"
1221 OS_COMPILE_CMFLAGS="-x objective-c -fobjc-exceptions"
1222 OS_COMPILE_CMMFLAGS="-x objective-c++ -fobjc-exceptions"
1223 if test "$MOZ_WIDGET_TOOLKIT" = uikit; then
1224 OS_COMPILE_CMFLAGS="$OS_COMPILE_CMFLAGS -fobjc-abi-version=2 -fobjc-legacy-dispatch"
1225 OS_COMPILE_CMMFLAGS="$OS_COMPILE_CMMFLAGS -fobjc-abi-version=2 -fobjc-legacy-dispatch"
1227 AC_SUBST(HOST_CMFLAGS)
1228 AC_SUBST(HOST_CMMFLAGS)
1229 AC_SUBST(OS_COMPILE_CMFLAGS)
1230 AC_SUBST(OS_COMPILE_CMMFLAGS)
1233 OS_CXXFLAGS="$CXXFLAGS"
1234 OS_CPPFLAGS="$CPPFLAGS"
1235 OS_COMPILE_CFLAGS="$COMPILE_CFLAGS"
1236 OS_COMPILE_CXXFLAGS="$COMPILE_CXXFLAGS"
1237 OS_LDFLAGS="$LDFLAGS"
1239 AC_SUBST_LIST(OS_CFLAGS)
1240 AC_SUBST_LIST(OS_CXXFLAGS)
1241 AC_SUBST_LIST(OS_CPPFLAGS)
1242 AC_SUBST_LIST(OS_COMPILE_CFLAGS)
1243 AC_SUBST_LIST(OS_COMPILE_CXXFLAGS)
1244 AC_SUBST_LIST(OS_LDFLAGS)
1249 AC_SUBST_LIST(HOST_CFLAGS)
1250 AC_SUBST_LIST(HOST_CPPFLAGS)
1251 AC_SUBST_LIST(HOST_CXXFLAGS)
1252 AC_SUBST(HOST_LDFLAGS)
1253 AC_SUBST_LIST(HOST_OPTIMIZE_FLAGS)
1254 AC_SUBST(HOST_BIN_SUFFIX)
1256 AC_SUBST(TARGET_XPCOM_ABI)
1258 AC_SUBST(DSO_LDOPTS)
1259 AC_SUBST(BIN_SUFFIX)
1261 AC_SUBST(WIN32_CONSOLE_EXE_LDFLAGS)
1262 AC_SUBST(WIN32_GUI_EXE_LDFLAGS)
1264 AC_SUBST(MOZ_DEVTOOLS)
1266 AC_SUBST(MOZ_PACKAGE_JSSHELL)
1270 dnl Host JavaScript runtime, if any, to use during cross compiles.
1273 AC_SUBST(NSS_EXTRA_SYMBOLS_FILE)
1275 dnl Set various defines and substitutions
1276 dnl ========================================================
1278 AC_SUBST(MOZ_DEV_EDITION)
1279 if test -n "$MOZ_DEV_EDITION"; then
1280 AC_DEFINE(MOZ_DEV_EDITION)
1283 dnl Spit out some output
1284 dnl ========================================================
1286 # Avoid using obsolete NSPR features
1287 AC_DEFINE(NO_NSPR_10_SUPPORT)
1289 MOZ_CREATE_CONFIG_STATUS()
1291 rm -fr confdefs* $ac_clean_files