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 --noexecstack option to as])
198 CFLAGS="$CFLAGS -Wa,--noexecstack"
199 AC_TRY_COMPILE(,,AC_MSG_RESULT([yes])
200 [ASFLAGS="$ASFLAGS -Wa,--noexecstack"],
204 AC_MSG_CHECKING([for --ignore-unresolved-symbol option to ld])
205 HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED=
206 _SAVE_LDFLAGS=$LDFLAGS
207 LDFLAGS="$LDFLAGS -Wl,--ignore-unresolved-symbol,environ"
208 AC_TRY_LINK(,,AC_MSG_RESULT([yes])
209 [HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED=1],
211 LDFLAGS=$_SAVE_LDFLAGS
214 if test "$GCC_USE_GNU_LD"; then
215 # Some tools like ASan use a runtime library that is only
216 # linked against executables, so we must allow undefined
217 # symbols for shared objects in some cases.
218 if test -z "$MOZ_ASAN$MOZ_MSAN$MOZ_UBSAN$MOZ_TSAN$FUZZING_INTERFACES"; then
219 # Don't allow undefined symbols in libraries
220 DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs"
222 # BSDs need `environ' exposed for posix_spawn (bug 753046)
224 DragonFly|FreeBSD|NetBSD|OpenBSD)
225 if test -n "$HAVE_LINKER_SUPPORT_IGNORE_UNRESOLVED"; then
226 DSO_LDOPTS="$DSO_LDOPTS -Wl,--ignore-unresolved-symbol,environ"
228 DSO_LDOPTS="$DSO_LDOPTS -Wl,--warn-unresolved-symbols"
235 _DEFINES_CFLAGS="-include $_objdir/mozilla-config.h -DMOZILLA_CLIENT"
237 ASFLAGS="$ASFLAGS $_DEFINES_CFLAGS"
240 if test "$GNU_CXX"; then
241 CXXFLAGS="$CXXFLAGS -fno-exceptions"
243 _DEFINES_CXXFLAGS="-DMOZILLA_CLIENT -include $_objdir/mozilla-config.h"
246 dnl ========================================================
247 dnl System overrides of the defaults for host
248 dnl ========================================================
251 if test -n "$_WIN32_MSVC"; then
252 HOST_CFLAGS="$HOST_CFLAGS"
254 HOST_CFLAGS="$HOST_CFLAGS -mwindows"
256 HOST_CFLAGS="$HOST_CFLAGS -DXP_WIN -DWIN32 -D_WIN32 -D_CRT_SECURE_NO_WARNINGS"
257 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}"
260 case "${host_cpu}" in
262 if test -n "$_WIN32_MSVC"; then
263 HOST_LDFLAGS="$HOST_LDFLAGS -MACHINE:X86"
267 if test -n "$_WIN32_MSVC"; then
268 HOST_LDFLAGS="$HOST_LDFLAGS -MACHINE:X64"
270 HOST_CFLAGS="$HOST_CFLAGS -D_AMD64_"
276 HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX -DXP_MACOSX"
277 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
280 *-linux*|*-kfreebsd*-gnu|*-gnu*)
281 HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
282 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
286 HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
287 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}"
291 dnl ========================================================
292 dnl System overrides of the defaults for target
293 dnl ========================================================
297 MOZ_OPTIMIZE_FLAGS="-O3"
300 dnl DTrace and -dead_strip don't interact well. See bug 403132.
301 dnl ===================================================================
302 if test "x$enable_dtrace" = "xyes"; then
303 echo "Skipping -dead_strip because DTrace is enabled. See bug 403132."
305 dnl check for the presence of the -dead_strip linker flag
306 AC_MSG_CHECKING([for -dead_strip option to ld])
307 _SAVE_LDFLAGS=$LDFLAGS
308 LDFLAGS="$LDFLAGS -Wl,-dead_strip"
309 AC_TRY_LINK(,[return 0;],_HAVE_DEAD_STRIP=1,_HAVE_DEAD_STRIP=)
310 if test -n "$_HAVE_DEAD_STRIP" ; then
312 MOZ_OPTIMIZE_LDFLAGS="-Wl,-dead_strip"
317 LDFLAGS=$_SAVE_LDFLAGS
323 *-android*|*-linuxandroid*)
324 # From https://github.com/android-ndk/ndk/issues/133#issuecomment-308549264
325 # -Oz is smaller than -Os on clang.
326 MOZ_OPTIMIZE_FLAGS="-Oz"
327 # Disable the outliner, which causes performance regressions, and is
328 # enabled on some platforms at -Oz.
329 if test -z "$MOZ_LTO"; then
330 DISABLE_OUTLINER="-mno-outline"
332 CFLAGS="$CFLAGS $DISABLE_OUTLINER"
333 AC_TRY_COMPILE(,,[MOZ_OPTIMIZE_FLAGS="$MOZ_OPTIMIZE_FLAGS $DISABLE_OUTLINER"])
334 CFLAGS="$_SAVE_CFLAGS"
336 DISABLE_OUTLINER="-Wl,-plugin-opt=-enable-machine-outliner=never"
337 _SAVE_LDFLAGS=$LDFLAGS
338 LDFLAGS="$LDFLAGS $MOZ_LTO_LDFLAGS $DISABLE_OUTLINER"
339 AC_TRY_LINK(,,[MOZ_OPTIMIZE_LDFLAGS="$MOZ_OPTIMIZE_LDFLAGS $DISABLE_OUTLINER"])
340 LDFLAGS="$_SAVE_LDFLAGS"
345 if test "$GNU_CC" -o "$GNU_CXX"; then
346 MOZ_PGO_OPTIMIZE_FLAGS="-O3"
347 MOZ_OPTIMIZE_FLAGS="-O2"
350 case "${target_cpu}" in
352 CFLAGS="$CFLAGS -mieee"
353 CXXFLAGS="$CXXFLAGS -mieee"
359 # certain versions of cygwin's makedepend barf on the
360 # #include <string> vs -I./dist/include/string issue so don't use it
361 if test -n "$GNU_CC" -o -n "$CLANG_CC"; then
362 # $GNU_CC will match gcc and clang; while $CLANG_CC will match only clang
363 if test -z "$CLANG_CC"; then
364 AC_MSG_ERROR(Firefox cannot be built with mingw-gcc and requires a mingw-clang toolchain to work)
370 MOZ_OPTIMIZE_FLAGS="-O2"
372 WIN32_CONSOLE_EXE_LDFLAGS=-mconsole
373 WIN32_GUI_EXE_LDFLAGS=-mwindows
375 # Silence problematic clang warnings
376 CXXFLAGS="$CXXFLAGS -Wno-incompatible-ms-struct"
377 LDFLAGS="$LDFLAGS -Wl,--no-insert-timestamp"
379 TARGET_COMPILER_ABI=msvc
380 WIN32_SUBSYSTEM_VERSION=10.0
381 WIN32_CONSOLE_EXE_LDFLAGS=-SUBSYSTEM:CONSOLE,$WIN32_SUBSYSTEM_VERSION
382 WIN32_GUI_EXE_LDFLAGS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION
383 DSO_LDOPTS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION
384 _DEFINES_CFLAGS="-FI $_objdir/mozilla-config.h -DMOZILLA_CLIENT"
385 _DEFINES_CXXFLAGS="-FI $_objdir/mozilla-config.h -DMOZILLA_CLIENT"
386 CFLAGS="$CFLAGS -Gy -Zc:inline"
387 CXXFLAGS="$CXXFLAGS -Gy -Zc:inline"
388 if test "$TARGET_CPU" = "x86"; then
389 dnl VS2012+ defaults to -arch:SSE2. We want to target nothing
390 dnl more recent, so set that explicitly here unless another
391 dnl target arch has already been set.
393 if test -z `echo $CFLAGS | grep -i [-/]arch:`; then
394 CFLAGS="$CFLAGS -arch:SSE2"
396 if test -z `echo $CXXFLAGS | grep -i [-/]arch:`; then
397 CXXFLAGS="$CXXFLAGS -arch:SSE2"
401 dnl VS2013+ supports -Gw for better linker optimizations.
402 dnl http://blogs.msdn.com/b/vcblog/archive/2013/09/11/introducing-gw-compiler-switch.aspx
403 dnl Disabled on ASan because it causes false-positive ODR violations.
404 if test -z "$MOZ_ASAN"; then
406 CXXFLAGS="$CXXFLAGS -Gw"
408 # String tail merging doesn't play nice with ASan's ODR checker.
409 LDFLAGS="$LDFLAGS -opt:nolldtailmerge"
411 # Silence VS2017 15.5+ TR1 deprecation warnings hit by older gtest versions
412 CXXFLAGS="$CXXFLAGS -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
413 MOZ_DEBUG_LDFLAGS='-DEBUG'
414 if test "$HOST_OS_ARCH" != "WINNT"; then
415 # %_PDB% is a special signal to emit only the PDB basename. This
416 # avoids problems in Windows tools that don't like forward-slashes.
417 MOZ_DEBUG_LDFLAGS="$MOZ_DEBUG_LDFLAGS -PDBALTPATH:%_PDB%"
419 MOZ_OPTIMIZE_FLAGS='-O2'
421 LDFLAGS="$LDFLAGS -LARGEADDRESSAWARE"
423 AC_DEFINE(WIN32_LEAN_AND_MEAN)
424 dnl See http://support.microsoft.com/kb/143208 to use STL
430 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.])
436 if test -n "$GNU_CC"; then
437 CFLAGS="$CFLAGS -mstackrealign"
438 CXXFLAGS="$CXXFLAGS -mstackrealign"
439 LDFLAGS="$LDFLAGS -Wl,--large-address-aware"
441 DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X86"
442 LDFLAGS="$LDFLAGS -SAFESEH"
448 if test -n "$_WIN32_MSVC"; then
449 DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X64"
454 if test -n "$_WIN32_MSVC"; then
455 DSO_LDOPTS="$DSO_LDOPTS -MACHINE:ARM64"
460 AC_DEFINE(_CPU_ARCH_NOT_DEFINED)
466 CFLAGS="$CFLAGS -Dunix"
467 CXXFLAGS="$CXXFLAGS -Dunix"
468 if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then
469 DSO_PIC_CFLAGS='-fPIC -DPIC'
471 MOZ_PROGRAM_LDFLAGS="$MOZ_PROGRAM_LDFLAGS -Wl,--export-dynamic"
473 DSO_PIC_CFLAGS='-fPIC -DPIC'
476 # This will fail on a.out systems prior to 1.5.1_ALPHA.
477 if test "$LIBRUNPATH"; then
478 DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
483 if test -z "$X11BASE"; then
486 MOZ_FIX_LINK_PATHS="$MOZ_FIX_LINK_PATHS -Wl,-rpath-link,${X11BASE}/lib"
487 DSO_PIC_CFLAGS='-fPIC'
488 DSO_LDOPTS='-shared -fPIC'
489 if test "$LIBRUNPATH"; then
490 DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS"
495 MOZ_FIX_LINK_PATHS="-L${DIST}/bin"
500 CFLAGS="$CFLAGS $DSO_PIC_CFLAGS"
501 CXXFLAGS="$CXXFLAGS $DSO_PIC_CFLAGS"
503 if test -z "$MOZ_OPTIMIZE_FLAGS"; then
504 MOZ_OPTIMIZE_FLAGS="-O"
508 if test -z "$COMPILE_ENVIRONMENT"; then
509 SKIP_COMPILER_CHECKS=1
510 SKIP_LIBRARY_CHECKS=1
514 fi # COMPILE_ENVIRONMENT
516 if test -z "$SKIP_COMPILER_CHECKS"; then
517 dnl Checks for typedefs, structures, and compiler characteristics.
518 dnl ========================================================
533 dnl Checks for header files.
534 dnl ========================================================
537 dnl Checks for libraries.
538 dnl ========================================================
539 AC_CHECK_LIB(c_r, gethostbyname_r)
541 dnl We don't want to link with libdl even if it's present on OS X, since
542 dnl it's not used and not part of the default installation. OS/2 has dlfcn
544 dnl We don't want to link against libm or libpthread on Darwin since
545 dnl they both are just symlinks to libSystem and explicitly linking
546 dnl against libSystem causes issues when debugging (see bug 299601).
551 AC_SEARCH_LIBS(dlopen, dl,
552 MOZ_CHECK_HEADER(dlfcn.h,
553 AC_DEFINE(HAVE_DLOPEN)))
557 _SAVE_CFLAGS="$CFLAGS"
558 CFLAGS="$CFLAGS -D_GNU_SOURCE"
559 AC_CHECK_FUNCS(dladdr)
560 CFLAGS="$_SAVE_CFLAGS"
562 if test ! "$GNU_CXX"; then
563 AC_CHECK_LIB(C, demangle)
566 AC_CHECK_LIB(socket, socket)
568 dnl ========================================================
569 dnl = pthread support
570 dnl = Start by checking whether the system support pthreads
571 dnl ========================================================
577 AC_CHECK_LIB(pthreads, pthread_create,
578 MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthreads",
579 AC_CHECK_LIB(pthread, pthread_create,
580 MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthread",
581 AC_CHECK_LIB(c_r, pthread_create,
582 MOZ_USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lc_r",
583 AC_CHECK_LIB(c, pthread_create,
592 dnl ========================================================
593 dnl Do the platform specific pthread hackery
594 dnl ========================================================
595 if test "$MOZ_USE_PTHREADS"x != x
598 dnl See if -pthread is supported.
601 ac_cv_have_dash_pthread=no
602 AC_MSG_CHECKING(whether ${CC-cc} accepts -pthread)
603 echo 'int main() { return 0; }' | cat > conftest.c
604 ${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
605 if test $? -eq 0; then
606 if test -z "`grep -E -i '(unrecognize|unknown)' conftest.out | grep pthread`" -a -z "`grep -E -i '(error|incorrect)' conftest.out`" ; then
607 ac_cv_have_dash_pthread=yes
610 # Freebsd doesn't use -pthread for compiles, it uses them for linking
613 CFLAGS="$CFLAGS -pthread"
614 CXXFLAGS="$CXXFLAGS -pthread"
620 AC_MSG_RESULT($ac_cv_have_dash_pthread)
623 dnl See if -pthreads is supported.
625 ac_cv_have_dash_pthreads=no
626 if test "$ac_cv_have_dash_pthread" = "no"; then
627 AC_MSG_CHECKING(whether ${CC-cc} accepts -pthreads)
628 echo 'int main() { return 0; }' | cat > conftest.c
629 ${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1
630 if test $? -eq 0; then
631 if test -z "`grep -E -i '(unrecognize|unknown)' conftest.out | grep pthreads`" -a -z "`grep -E -i '(error|incorrect)' conftest.out`" ; then
632 ac_cv_have_dash_pthreads=yes
633 CFLAGS="$CFLAGS -pthreads"
634 CXXFLAGS="$CXXFLAGS -pthreads"
638 AC_MSG_RESULT($ac_cv_have_dash_pthreads)
643 AC_DEFINE(_REENTRANT)
644 AC_DEFINE(_THREAD_SAFE)
645 dnl -pthread links in -lpthread, so don't specify it explicitly.
646 if test "$ac_cv_have_dash_pthread" = "yes"; then
647 _PTHREAD_LDFLAGS="-pthread"
651 *-*-openbsd*|*-*-bsdi*)
652 AC_DEFINE(_REENTRANT)
653 AC_DEFINE(_THREAD_SAFE)
654 dnl -pthread links in -lc_r, so don't specify it explicitly.
655 if test "$ac_cv_have_dash_pthread" = "yes"; then
656 _PTHREAD_LDFLAGS="-pthread"
660 *-*-linux*|*-*-kfreebsd*-gnu|*-*-gnu*)
661 AC_DEFINE(_REENTRANT)
665 LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}"
666 AC_SUBST(MOZ_USE_PTHREADS)
667 MOZ_CHECK_HEADERS(pthread.h)
671 dnl Checks for library functions.
672 dnl ========================================================
674 dnl check for clock_gettime(), the CLOCK_MONOTONIC clock
675 AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC),
676 ac_cv_clock_monotonic,
677 [for libs in "" -lrt; do
680 dnl clock_gettime is available on OSX since 10.12, so depending on MACOSX_DEPLOYMENT_TARGET,
681 dnl we should or not be able to use it. To detect if we can, we need to make the
682 dnl availability attribute strict, so that compilation fails when the target is < 10.12.
683 AC_TRY_LINK([#define availability(os, ...) availability(os, strict, __VA_ARGS)
685 [ struct timespec ts;
686 clock_gettime(CLOCK_MONOTONIC, &ts); ],
687 ac_cv_clock_monotonic=$libs
690 ac_cv_clock_monotonic=no)
693 if test "$ac_cv_clock_monotonic" != "no"; then
694 HAVE_CLOCK_MONOTONIC=1
695 REALTIME_LIBS=$ac_cv_clock_monotonic
696 AC_DEFINE(HAVE_CLOCK_MONOTONIC)
697 AC_SUBST(HAVE_CLOCK_MONOTONIC)
698 AC_SUBST_LIST(REALTIME_LIBS)
703 ac_cv_func_res_ninit,
704 [if test "$OS_TARGET" = NetBSD -o "$OS_TARGET" = OpenBSD; then
705 dnl no need for res_ninit() on NetBSD and OpenBSD
706 ac_cv_func_res_ninit=no
710 #define _BSD_SOURCE 1
712 #include <sys/types.h>
713 #include <netinet/in.h>
714 #include <arpa/nameser.h>
717 [int foo = res_ninit(&_res);],
718 [ac_cv_func_res_ninit=yes],
719 [ac_cv_func_res_ninit=no])
723 if test "$ac_cv_func_res_ninit" = "yes"; then
724 AC_DEFINE(HAVE_RES_NINIT)
725 dnl must add the link line we do something as foolish as this... dougt
727 dnl AC_CHECK_LIB(bind, res_ninit, AC_DEFINE(HAVE_RES_NINIT),
728 dnl AC_CHECK_LIB(resolv, res_ninit, AC_DEFINE(HAVE_RES_NINIT)))
733 dnl ===================================================================
734 dnl ========================================================
735 dnl Put your C++ language/feature checks below
736 dnl ========================================================
740 if test "$GNU_CC"; then
741 if test "$TARGET_CPU" = "arm" ; then
742 AC_CACHE_CHECK(for ARM EABI,
746 #if defined(__ARM_EABI__)
752 ac_cv_gcc_arm_eabi="yes",
753 ac_cv_gcc_arm_eabi="no")])
754 if test "$ac_cv_gcc_arm_eabi" = "yes"; then
762 TARGET_COMPILER_ABI="${TARGET_COMPILER_ABI-${ARM_ABI_PREFIX}gcc3}"
765 # try harder, when checking for __thread support, see bug 521750 comment #33 and below
766 # We pass MOZ_OPTIMIZE_LDFLAGS to the linker because if dead_strip is
767 # enabled, the linker in xcode 4.1 will crash. Without this it would crash when
769 _SAVE_LDFLAGS=$LDFLAGS
770 LDFLAGS="$LDFLAGS $DSO_LDOPTS $MOZ_OPTIMIZE_LDFLAGS"
771 AC_CACHE_CHECK(for __thread keyword for TLS variables,
772 ac_cv_thread_keyword,
773 [AC_TRY_LINK([__thread bool tlsIsMainThread = false;],
774 [return tlsIsMainThread;],
775 ac_cv_thread_keyword=yes,
776 ac_cv_thread_keyword=no)])
777 LDFLAGS=$_SAVE_LDFLAGS
778 # The custom dynamic linker doesn't support TLS variables
779 if test "$ac_cv_thread_keyword" = yes -a "$MOZ_LINKER" != 1; then
780 # mips builds fail with TLS variables because of a binutils bug.
782 # OpenBSD doesn't have TLS support, and the test succeeds with clang++
787 *-android*|*-linuxandroid*)
794 AC_DEFINE(HAVE_THREAD_TLS_KEYWORD)
799 if test -n "$MOZ_LINKER"; then
800 dnl gold emits wrong sysv-style elf hash tables when building both sysv and
801 dnl style tables. https://sourceware.org/bugzilla/show_bug.cgi?id=13597
802 dnl Since the linker only understands the sysv ones, no need to build the
803 dnl gnu style tables anyways.
804 LDFLAGS="$LDFLAGS -Wl,--hash-style=sysv"
807 dnl End of C++ language/feature checks
810 fi # ! SKIP_COMPILER_CHECKS
812 if test -n "${COMPILE_ENVIRONMENT}"; then
817 if test -n "${TARGET_CPU}" -a -n "${TARGET_COMPILER_ABI}"; then
818 TARGET_XPCOM_ABI="${TARGET_CPU}-${TARGET_COMPILER_ABI}"
819 AC_DEFINE_UNQUOTED(TARGET_XPCOM_ABI, ["${TARGET_XPCOM_ABI}"])
822 dnl We can't run TRY_COMPILE tests on Windows, so hard-code some
823 dnl features that Windows actually does support.
825 if test -n "$SKIP_COMPILER_CHECKS"; then
826 dnl Windows has malloc.h
827 AC_DEFINE(MALLOC_H, [<malloc.h>])
828 AC_DEFINE(HAVE_FORCEINLINE)
829 fi # SKIP_COMPILER_CHECKS
831 dnl Mozilla specific options
832 dnl ========================================================
833 dnl The macros used for command line options
834 dnl are defined in build/autoconf/altoptions.m4.
836 dnl ========================================================
840 dnl ========================================================
842 MOZ_BRANDING_DIRECTORY=
843 MOZ_OFFICIAL_BRANDING=
845 MOZ_BINARY_EXTENSIONS=
848 dnl ========================================================
849 dnl = Trademarked Branding
850 dnl ========================================================
851 MOZ_ARG_ENABLE_BOOL(official-branding,
852 [ --enable-official-branding
853 Enable Official mozilla.org Branding
854 Do not distribute builds with
855 --enable-official-branding unless you have
856 permission to use trademarks per
857 http://www.mozilla.org/foundation/trademarks/ .],
858 MOZ_OFFICIAL_BRANDING=1,
859 MOZ_OFFICIAL_BRANDING=)
861 # Allow the application to influence configure with a confvars.sh script.
862 AC_MSG_CHECKING([if app-specific confvars.sh exists])
863 if test -f "${srcdir}/${MOZ_BUILD_APP}/confvars.sh" ; then
864 AC_MSG_RESULT([${srcdir}/${MOZ_BUILD_APP}/confvars.sh])
865 . "${srcdir}/${MOZ_BUILD_APP}/confvars.sh"
870 AC_SUBST(MOZ_OFFICIAL_BRANDING)
871 if test -n "$MOZ_OFFICIAL_BRANDING"; then
872 if test -z "$MOZ_OFFICIAL_BRANDING_DIRECTORY"; then
873 AC_MSG_ERROR([You must specify MOZ_OFFICIAL_BRANDING_DIRECTORY to use --enable-official-branding.])
875 MOZ_BRANDING_DIRECTORY=${MOZ_OFFICIAL_BRANDING_DIRECTORY}
876 AC_DEFINE(MOZ_OFFICIAL_BRANDING)
880 MOZ_ARG_WITH_STRING(branding,
881 [ --with-branding=dir Use branding from the specified directory.],
882 MOZ_BRANDING_DIRECTORY=$withval)
884 REAL_BRANDING_DIRECTORY="${MOZ_BRANDING_DIRECTORY}"
885 if test -z "$REAL_BRANDING_DIRECTORY"; then
886 REAL_BRANDING_DIRECTORY=${MOZ_BUILD_APP}/branding/nightly
889 if test -f "${_topsrcdir}/$REAL_BRANDING_DIRECTORY/configure.sh"; then
890 . "${_topsrcdir}/$REAL_BRANDING_DIRECTORY/configure.sh"
893 AC_SUBST(MOZ_BRANDING_DIRECTORY)
895 dnl ========================================================
896 dnl = Distribution ID
897 dnl ========================================================
898 MOZ_ARG_WITH_STRING(distribution-id,
899 [ --with-distribution-id=ID
900 Set distribution-specific id (default=org.mozilla)],
901 [ val=`echo $withval`
902 MOZ_DISTRIBUTION_ID="$val"])
904 if test -z "$MOZ_DISTRIBUTION_ID"; then
905 MOZ_DISTRIBUTION_ID="org.mozilla"
908 AC_SUBST(MOZ_DISTRIBUTION_ID)
910 dnl ========================================================
911 dnl = Enable code optimization. ON by default.
912 dnl ========================================================
914 # Use value from moz.configure if one is defined. Else use our computed
916 if test -n "${MOZ_CONFIGURE_OPTIMIZE_FLAGS}"; then
917 MOZ_OPTIMIZE_FLAGS=${MOZ_CONFIGURE_OPTIMIZE_FLAGS}
920 if test "$COMPILE_ENVIRONMENT"; then
921 if test -n "$MOZ_OPTIMIZE"; then
922 AC_MSG_CHECKING([for valid C compiler optimization flags])
924 CFLAGS="$CFLAGS $MOZ_OPTIMIZE_FLAGS"
925 AC_TRY_COMPILE([#include <stdio.h>],
926 [printf("Hello World\n");],
929 AC_MSG_RESULT([$_results])
930 if test "$_results" = "no"; then
931 AC_MSG_ERROR([These compiler flags for C are invalid: $MOZ_OPTIMIZE_FLAGS])
934 if test -n "$MOZ_LTO" -a -n "$CLANG_CC"; then
935 # When using llvm-based LTO, non numeric optimization levels are
936 # not supported by the linker, so force the linker to use -O2 (
937 # which doesn't influence the level compilation units are actually
939 case " $MOZ_OPTIMIZE_FLAGS " in
941 MOZ_OPTIMIZE_LDFLAGS="$MOZ_OPTIMIZE_LDFLAGS -O2"
946 fi # COMPILE_ENVIRONMENT
948 AC_SUBST_LIST(MOZ_OPTIMIZE_FLAGS)
949 AC_SUBST_LIST(MOZ_OPTIMIZE_LDFLAGS)
950 AC_SUBST_LIST(MOZ_PGO_OPTIMIZE_FLAGS)
952 case "${OS_TARGET}" in
953 Android|WINNT|Darwin)
957 dnl On !Android !Windows !OSX, we only want to link executables against mozglue
958 MOZ_GLUE_IN_PROGRAM=1
959 AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
963 dnl ========================================================
964 dnl = Jemalloc build setup
965 dnl ========================================================
966 if test -z "$MOZ_MEMORY"; then
969 if test -z "$WIN32_REDIST_DIR" -a -z "$MOZ_DEBUG"; then
970 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.])
975 dnl The generic feature tests that determine how to compute ncpus are long and
976 dnl complicated. Therefore, simply define special cpp variables for the
977 dnl platforms we have special knowledge of.
980 export MOZ_NO_DEBUG_RTL=1
984 AC_SUBST(MOZ_GLUE_IN_PROGRAM)
986 dnl ========================================================
987 dnl = Enable using the clang plugin to build
988 dnl ========================================================
990 if test -n "$COMPILE_ENVIRONMENT"; then
991 MOZ_CONFIG_CLANG_PLUGIN
992 fi # COMPILE_ENVIRONMENT
994 if test -z "$SKIP_COMPILER_CHECKS"; then
995 dnl ========================================================
996 dnl Check for gcc -pipe support
997 dnl ========================================================
998 AC_MSG_CHECKING([for -pipe support])
999 if test -n "$GNU_CC" -a -n "$GNU_CXX"; then
1000 dnl Any gcc that supports firefox supports -pipe.
1001 CFLAGS="$CFLAGS -pipe"
1002 CXXFLAGS="$CXXFLAGS -pipe"
1003 AC_MSG_RESULT([yes])
1008 fi # ! SKIP_COMPILER_CHECKS
1012 if test "$COMPILE_ENVIRONMENT"; then
1014 fi # COMPILE_ENVIRONMENT
1016 dnl ========================================================
1017 dnl Check if we need the 32-bit Linux SSE2 error dialog
1018 dnl ========================================================
1020 AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
1022 dnl ========================================================
1024 dnl ========================================================
1026 if test "$OS_ARCH" = "WINNT"; then
1027 # For now we assume that we will have a uint64_t available through
1028 # one of the above headers or mozstdint.h.
1029 AC_DEFINE(HAVE_UINT64_T)
1032 case "$MOZ_WIDGET_TOOLKIT" in
1034 if test "$COMPILE_ENVIRONMENT"; then
1035 MOZ_CHECK_HEADER(d3d10.h, MOZ_ENABLE_D3D10_LAYER=1)
1039 AC_SUBST(MOZ_ENABLE_D3D10_LAYER)
1041 dnl ========================================================
1043 dnl = Maintainer debug option (no --enable equivalent)
1045 dnl ========================================================
1047 AC_SUBST_LIST(ASFLAGS)
1048 AC_SUBST_LIST(MOZ_DEBUG_LDFLAGS)
1050 AC_SUBST(MOZ_STUB_INSTALLER)
1052 AC_SUBST_LIST(MOZ_FIX_LINK_PATHS)
1054 AC_SUBST(MOZ_POST_PROGRAM_COMMAND)
1056 if test -n "$MOZ_BINARY_EXTENSIONS"; then
1057 AC_DEFINE(MOZ_BINARY_EXTENSIONS)
1060 dnl ========================================================
1061 dnl = Mac bundle name prefix
1062 dnl ========================================================
1063 MOZ_ARG_WITH_STRING(macbundlename-prefix,
1064 [ --with-macbundlename-prefix=prefix
1065 Prefix for MOZ_MACBUNDLE_NAME],
1066 [ MOZ_MACBUNDLE_NAME_PREFIX="$withval"])
1068 MOZ_MACBUNDLE_NAME=$MOZ_APP_DISPLAYNAME
1069 if test "$MOZ_MACBUNDLE_NAME_PREFIX"; then
1070 MOZ_MACBUNDLE_NAME="${MOZ_MACBUNDLE_NAME_PREFIX}${MOZ_MACBUNDLE_NAME}"
1073 if test "$MOZ_DEBUG"; then
1074 MOZ_MACBUNDLE_NAME="${MOZ_MACBUNDLE_NAME}Debug.app"
1076 MOZ_MACBUNDLE_NAME=${MOZ_MACBUNDLE_NAME}.app
1078 AC_SUBST(MOZ_MACBUNDLE_NAME)
1080 dnl Mac bundle identifier (based on MOZ_APP_DISPLAYNAME)
1081 # If the MOZ_MACBUNDLE_ID is defined in the configure.sh, use it
1082 # Otherwise, use MOZ_APP_DISPLAYNAME
1083 if test -z "$MOZ_MACBUNDLE_ID"; then
1084 MOZ_MACBUNDLE_ID=`echo $MOZ_APP_DISPLAYNAME | tr 'A-Z' 'a-z' | tr -dc 'a-z-'`
1086 MOZ_MACBUNDLE_ID=${MOZ_DISTRIBUTION_ID}.${MOZ_MACBUNDLE_ID}
1087 if test "$MOZ_DEBUG"; then
1088 MOZ_MACBUNDLE_ID=${MOZ_MACBUNDLE_ID}debug
1091 AC_DEFINE_UNQUOTED(MOZ_MACBUNDLE_ID,$MOZ_MACBUNDLE_ID)
1092 AC_SUBST(MOZ_MACBUNDLE_ID)
1094 dnl ========================================================
1095 dnl = Child Process Name for IPC
1096 dnl ========================================================
1097 if test "$MOZ_WIDGET_TOOLKIT" != "android"; then
1098 MOZ_CHILD_PROCESS_NAME="plugin-container${BIN_SUFFIX}"
1100 # We want to let Android unpack the file at install time, but it only does
1101 # so if the file is named libsomething.so. The lib/ path is also required
1102 # because the unpacked file will be under the lib/ subdirectory and will
1103 # need to be executed from that path.
1104 MOZ_CHILD_PROCESS_NAME="libplugin-container.so"
1106 MOZ_CHILD_PROCESS_BUNDLE="plugin-container.app/Contents/MacOS/"
1107 MOZ_CHILD_PROCESS_BUNDLEID=${MOZ_DISTRIBUTION_ID}.plugincontainer
1108 MOZ_CHILD_PROCESS_BUNDLENAME="plugin-container.app"
1109 MOZ_CHILD_PROCESS_APPNAME="${MOZ_APP_DISPLAYNAME}CP"
1111 AC_SUBST(MOZ_CHILD_PROCESS_NAME)
1112 AC_SUBST(MOZ_CHILD_PROCESS_BUNDLE)
1113 AC_SUBST(MOZ_CHILD_PROCESS_BUNDLEID)
1114 AC_SUBST(MOZ_CHILD_PROCESS_APPNAME)
1115 AC_SUBST(MOZ_CHILD_PROCESS_BUNDLENAME)
1117 dnl ==========================================================
1118 dnl = Mac Media Plugin Helper (GMP Child) Process Name for IPC
1119 dnl ==========================================================
1120 MOZ_EME_PROCESS_NAME="media-plugin-helper"
1121 MOZ_EME_PROCESS_NAME_BRANDED="$MOZ_APP_DISPLAYNAME Media Plugin Helper"
1122 MOZ_EME_PROCESS_BUNDLENAME="${MOZ_EME_PROCESS_NAME}.app"
1123 # Generate a lower case string with no spaces to be used as the bundle ID
1124 # for the EME helper .app of the form org.mozilla.<executable-name>.
1125 MOZ_EME_PROCESS_BUNDLEID=`echo "$MOZ_APP_DISPLAYNAME" | tr ' ' '-'`
1126 MOZ_EME_PROCESS_BUNDLEID=`echo "$MOZ_EME_PROCESS_BUNDLEID" | tr 'A-Z' 'a-z'`
1127 MOZ_EME_PROCESS_BUNDLEID=${MOZ_EME_PROCESS_BUNDLEID}-${MOZ_EME_PROCESS_NAME}
1128 MOZ_EME_PROCESS_BUNDLEID=${MOZ_DISTRIBUTION_ID}.${MOZ_EME_PROCESS_BUNDLEID}
1130 AC_SUBST(MOZ_EME_PROCESS_NAME)
1131 AC_SUBST(MOZ_EME_PROCESS_NAME_BRANDED)
1132 AC_SUBST(MOZ_EME_PROCESS_BUNDLENAME)
1133 AC_SUBST(MOZ_EME_PROCESS_BUNDLEID)
1135 # The following variables are available to branding and application
1136 # configuration ($BRANDING/configure.sh and $APPLICATION/confvars.sh):
1137 # - MOZ_APP_VENDOR: Used for application.ini's "Vendor" field, which also
1138 # impacts profile location and user-visible fields.
1139 # - MOZ_APP_DISPLAYNAME: Used in user-visible fields (DLL properties,
1140 # Mac Bundle name, Updater, Installer), it is typically used for nightly
1141 # builds (e.g. Aurora for Firefox).
1142 # - MOZ_APP_PROFILE: When set, used for application.ini's
1143 # "Profile" field, which controls profile location.
1144 # - MOZ_APP_ID: When set, used for application.ini's "ID" field, and
1145 # crash reporter server url.
1146 # - MOZ_PROFILE_MIGRATOR: When set, enables profile migrator.
1148 # The following environment variables used to have an effect, but don't anymore:
1149 # - MOZ_APP_VERSION: Defines the application version number. This was replaced with
1150 # the contents from the version.txt file in the application directory, or
1151 # browser/config/version.txt if there isn't one.
1152 # - MOZ_APP_VERSION_DISPLAY: Defines the application version number. Used
1153 # in the "About" window. This was replaced with the contents from the
1154 # version_display.txt or version.txt in the application directory, or
1155 # browser/config/version_display.txt.
1157 # For extensions and langpacks, we require a max version that is compatible
1158 # across security releases. MOZ_APP_MAXVERSION is our method for doing that.
1159 # 24.0a1 and 24.0a2 aren't affected
1161 # 24.1.1 becomes 24.*
1162 IS_ALPHA=`echo $MOZ_APP_VERSION | grep a`
1163 if test -z "$IS_ALPHA"; then
1165 if test "$(basename $MOZ_BUILD_APP)" = "suite"; then
1166 MOZ_APP_MAXVERSION=`echo $MOZ_APP_VERSION | sed "s|\(^[0-9]*\.[0-9]*\).*|\1|"`.*
1168 MOZ_APP_MAXVERSION=`echo $MOZ_APP_VERSION | sed "s|\(^[0-9]*\).*|\1|"`.*
1172 MOZ_APP_MAXVERSION=$MOZ_APP_VERSION
1175 AC_SUBST(MOZ_APP_DISPLAYNAME)
1176 AC_SUBST(MOZ_APP_VENDOR)
1177 AC_SUBST(MOZ_APP_PROFILE)
1178 AC_SUBST(MOZ_APP_ID)
1179 AC_SUBST(MAR_CHANNEL_ID)
1180 AC_SUBST(ACCEPTED_MAR_CHANNEL_IDS)
1181 AC_SUBST(MOZ_PROFILE_MIGRATOR)
1182 AC_DEFINE_UNQUOTED(MOZ_APP_UA_NAME, "$MOZ_APP_UA_NAME")
1183 AC_SUBST(MOZ_APP_UA_NAME)
1184 AC_DEFINE_UNQUOTED(MOZ_APP_UA_VERSION, "$MOZ_APP_VERSION")
1185 AC_DEFINE_UNQUOTED(BROWSER_CHROME_URL, $BROWSER_CHROME_URL)
1186 AC_DEFINE_UNQUOTED(BROWSER_CHROME_URL_QUOTED, "$BROWSER_CHROME_URL")
1188 AC_SUBST(MOZ_APP_MAXVERSION)
1189 AC_SUBST(MOZ_PKG_SPECIAL)
1190 AC_SUBST(MOZ_SIMPLE_PACKAGE_NAME)
1192 if test "$MOZILLA_OFFICIAL"; then
1193 # Build revisions should always be present in official builds
1194 MOZ_INCLUDE_SOURCE_INFO=1
1197 # External builds (specifically Ubuntu) may drop the hg repo information, so we allow to
1198 # explicitly set the repository and changeset information in.
1199 AC_SUBST(MOZ_SOURCE_REPO)
1200 AC_SUBST(MOZ_SOURCE_CHANGESET)
1201 AC_SUBST(MOZ_INCLUDE_SOURCE_INFO)
1204 AC_SUBST(WIN32_REDIST_DIR)
1206 dnl Echo the CFLAGS to remove extra whitespace.
1208 $_COMPILATION_CFLAGS \
1212 $_COMPILATION_CXXFLAGS \
1215 COMPILE_CFLAGS=`echo \
1219 COMPILE_CXXFLAGS=`echo \
1220 $_DEFINES_CXXFLAGS \
1224 $_COMPILATION_HOST_CFLAGS \
1227 HOST_CXXFLAGS=`echo \
1228 $_COMPILATION_HOST_CXXFLAGS \
1233 $_COMPILATION_LDFLAGS`
1235 HOST_LDFLAGS=`echo \
1237 $_COMPILATION_HOST_LDFLAGS`
1239 HOST_CMFLAGS="-x objective-c -fobjc-exceptions"
1240 HOST_CMMFLAGS="-x objective-c++ -fobjc-exceptions"
1241 OS_COMPILE_CMFLAGS="-x objective-c -fobjc-exceptions"
1242 OS_COMPILE_CMMFLAGS="-x objective-c++ -fobjc-exceptions"
1243 if test "$MOZ_WIDGET_TOOLKIT" = uikit; then
1244 OS_COMPILE_CMFLAGS="$OS_COMPILE_CMFLAGS -fobjc-abi-version=2 -fobjc-legacy-dispatch"
1245 OS_COMPILE_CMMFLAGS="$OS_COMPILE_CMMFLAGS -fobjc-abi-version=2 -fobjc-legacy-dispatch"
1247 AC_SUBST(HOST_CMFLAGS)
1248 AC_SUBST(HOST_CMMFLAGS)
1249 AC_SUBST(OS_COMPILE_CMFLAGS)
1250 AC_SUBST(OS_COMPILE_CMMFLAGS)
1253 OS_CXXFLAGS="$CXXFLAGS"
1254 OS_CPPFLAGS="$CPPFLAGS"
1255 OS_COMPILE_CFLAGS="$COMPILE_CFLAGS"
1256 OS_COMPILE_CXXFLAGS="$COMPILE_CXXFLAGS"
1257 OS_LDFLAGS="$LDFLAGS"
1259 AC_SUBST_LIST(OS_CFLAGS)
1260 AC_SUBST_LIST(OS_CXXFLAGS)
1261 AC_SUBST_LIST(OS_CPPFLAGS)
1262 AC_SUBST_LIST(OS_COMPILE_CFLAGS)
1263 AC_SUBST_LIST(OS_COMPILE_CXXFLAGS)
1264 AC_SUBST_LIST(OS_LDFLAGS)
1269 AC_SUBST_LIST(HOST_CFLAGS)
1270 AC_SUBST_LIST(HOST_CPPFLAGS)
1271 AC_SUBST_LIST(HOST_CXXFLAGS)
1272 AC_SUBST(HOST_LDFLAGS)
1273 AC_SUBST_LIST(HOST_OPTIMIZE_FLAGS)
1274 AC_SUBST(HOST_BIN_SUFFIX)
1276 AC_SUBST(TARGET_XPCOM_ABI)
1278 AC_SUBST(DSO_LDOPTS)
1279 AC_SUBST(BIN_SUFFIX)
1281 AC_SUBST(WIN32_CONSOLE_EXE_LDFLAGS)
1282 AC_SUBST(WIN32_GUI_EXE_LDFLAGS)
1284 AC_SUBST(MOZ_DEVTOOLS)
1286 AC_SUBST(MOZ_PACKAGE_JSSHELL)
1290 dnl Host JavaScript runtime, if any, to use during cross compiles.
1293 AC_SUBST(NSS_EXTRA_SYMBOLS_FILE)
1295 dnl Set various defines and substitutions
1296 dnl ========================================================
1298 AC_SUBST(MOZ_DEV_EDITION)
1299 if test -n "$MOZ_DEV_EDITION"; then
1300 AC_DEFINE(MOZ_DEV_EDITION)
1303 dnl Spit out some output
1304 dnl ========================================================
1306 # Avoid using obsolete NSPR features
1307 AC_DEFINE(NO_NSPR_10_SUPPORT)
1309 MOZ_CREATE_CONFIG_STATUS()
1311 rm -fr confdefs* $ac_clean_files