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(js/src/jsapi.h)
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 Initialize the Pthread test variables early so they can be
34 dnl overridden by each platform.
35 dnl ========================================================
39 LDFLAGS="$LDFLAGS $LINKER_LDFLAGS $PACK_REL_RELOC_FLAGS"
40 HOST_LDFLAGS="$HOST_LDFLAGS $HOST_LINKER_LDFLAGS"
42 if test -z "$JS_STANDALONE"; then
43 autoconfmk=autoconf-js.mk
47 jsconfdefs=$_objdir/js/src/js-confdefs.h
51 dnl ========================================================
52 dnl Checks for compilers.
53 dnl ========================================================
55 if test "$COMPILE_ENVIRONMENT"; then
57 # Run some logic to figure out exe extensions (mostly for mingw's sake)
61 # In Mozilla, we use the names $target, $host and $build incorrectly, but are
62 # too far gone to back out now. See Bug 475488:
63 # - When we say $target, we mean $host, that is, the system on which
64 # Mozilla will be run.
65 # - When we say $host, we mean $build, that is, the system on which Mozilla
67 # - $target (in its correct usage) is for compilers who generate code for a
68 # different platform than $host, so it would not be used by Mozilla.
69 if test "$target" != "$host"; then
78 dnl Special win32 checks
79 dnl ========================================================
85 if test "$GCC" != "yes"; then
86 # Check to see if we are really running in a msvc environemnt
89 # Make sure compilers are valid
90 CXXFLAGS="$CXXFLAGS -TP"
91 # _CRT_SECURE_NO_WARNINGS disables warnings about using MSVC-specific
92 # secure CRT functions.
93 CXXFLAGS="$CXXFLAGS -D_CRT_SECURE_NO_WARNINGS"
96 AC_TRY_COMPILE([#include <stdio.h>],
97 [ printf("Hello World\n"); ],,
98 AC_MSG_ERROR([\$(CC) test failed. You must have MS VC++ in your path to build.]) )
101 AC_TRY_COMPILE([#include <new.h>],
102 [ unsigned *test = new unsigned(42); ],,
103 AC_MSG_ERROR([\$(CXX) test failed. You must have MS VC++ in your path to build.]) )
106 AC_DEFINE(_CRT_SECURE_NO_WARNINGS)
107 AC_DEFINE(_CRT_NONSTDC_NO_WARNINGS)
109 MSVC_C_RUNTIME_DLL=vcruntime140.dll
110 if test "$TARGET_CPU" != "x86"; then
111 MSVC_C_RUNTIME_1_DLL=vcruntime140_1.dll
113 MSVC_CXX_RUNTIME_DLL=msvcp140.dll
115 # -Zc:sizedDealloc- disables C++14 global sized deallocation (see bug 1160146)
116 CXXFLAGS="$CXXFLAGS -Zc:sizedDealloc-"
118 AC_SUBST(MSVC_C_RUNTIME_DLL)
119 AC_SUBST(MSVC_C_RUNTIME_1_DLL)
120 AC_SUBST(MSVC_CXX_RUNTIME_DLL)
122 CFLAGS="$CFLAGS -D_HAS_EXCEPTIONS=0"
123 CXXFLAGS="$CXXFLAGS -D_HAS_EXCEPTIONS=0"
125 # Check w32api version
126 _W32API_MAJOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $1 }'`
127 _W32API_MINOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $2 }'`
128 AC_MSG_CHECKING([for w32api version >= $W32API_VERSION])
129 AC_TRY_COMPILE([#include <w32api.h>],
130 #if (__W32API_MAJOR_VERSION < $_W32API_MAJOR_VERSION) || \
131 (__W32API_MAJOR_VERSION == $_W32API_MAJOR_VERSION && \
132 __W32API_MINOR_VERSION < $_W32API_MINOR_VERSION)
133 #error "test failed."
135 , [ res=yes ], [ res=no ])
136 AC_MSG_RESULT([$res])
137 if test "$res" != "yes"; then
138 AC_MSG_ERROR([w32api version $W32API_VERSION or higher required.])
142 AC_DEFINE(_USE_MATH_DEFINES) # Otherwise Windows' math.h doesn't #define M_PI.
144 AC_DEFINE_UNQUOTED(WINVER,0x$WINVER)
145 AC_DEFINE_UNQUOTED(_WIN32_WINNT,0x$WINVER)
146 AC_DEFINE_UNQUOTED(_WIN32_IE,0x0A00)
151 if test -n "$_WIN32_MSVC"; then
153 SKIP_COMPILER_CHECKS=1
154 SKIP_LIBRARY_CHECKS=1
157 fi # COMPILE_ENVIRONMENT
162 dnl ========================================================
163 dnl set the defaults first
164 dnl ========================================================
165 MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
167 dnl Configure platform-specific CPU architecture compiler options.
168 dnl ==============================================================
173 dnl ========================================================
174 dnl GNU specific defaults
175 dnl ========================================================
176 if test "$GNU_CC"; then
178 if test "$GCC_USE_GNU_LD"; then
179 # Some tools like ASan use a runtime library that is only
180 # linked against executables, so we must allow undefined
181 # symbols for shared objects in some cases.
182 if test -z "$MOZ_ASAN$MOZ_MSAN$MOZ_UBSAN$MOZ_TSAN$FUZZING_INTERFACES"; then
183 # Don't allow undefined symbols in libraries
184 DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs"
188 if test "$OS_ARCH" != "WINNT"; then
189 DSO_PIC_CFLAGS='-fPIC'
190 ASFLAGS="$ASFLAGS -fPIC"
193 _DEFINES_CFLAGS="-include $jsconfdefs -DMOZILLA_CLIENT"
196 if test "$GNU_CXX"; then
197 _DEFINES_CXXFLAGS="-DMOZILLA_CLIENT -include $jsconfdefs"
200 dnl ========================================================
201 dnl System overrides of the defaults for host
202 dnl ========================================================
205 if test -n "$_WIN32_MSVC"; then
206 HOST_CFLAGS="$HOST_CFLAGS"
208 HOST_CFLAGS="$HOST_CFLAGS -mwindows"
210 HOST_CFLAGS="$HOST_CFLAGS -DXP_WIN -DWIN32 -D_WIN32 -D_CRT_SECURE_NO_WARNINGS"
211 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}"
214 case "${host_cpu}" in
216 if test -n "$_WIN32_MSVC"; then
217 HOST_LDFLAGS="$HOST_LDFLAGS -MACHINE:X86"
221 if test -n "$_WIN32_MSVC"; then
222 HOST_LDFLAGS="$HOST_LDFLAGS -MACHINE:X64"
224 HOST_CFLAGS="$HOST_CFLAGS -D_AMD64_"
230 HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX -DXP_MACOSX"
231 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
234 *-linux*|*-kfreebsd*-gnu|*-gnu*)
235 HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
236 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
240 HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
241 HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}"
245 dnl ========================================================
246 dnl System overrides of the defaults for target
247 dnl ========================================================
249 MOZ_OPTIMIZE_LDFLAGS="${_COMPILATION_OPTIMIZE_LDFLAGS} ${MOZ_OPTIMIZE_FLAGS}"
253 MOZ_OPTIMIZE_FLAGS="-O3"
258 *-android*|*-linuxandroid*)
259 MOZ_OPTIMIZE_FLAGS="-O3"
260 if test -z "$CLANG_CC"; then
261 MOZ_OPTIMIZE_FLAGS="-fno-reorder-functions $MOZ_OPTIMIZE_FLAGS"
266 if test "$GNU_CC" -o "$GNU_CXX"; then
267 MOZ_PGO_OPTIMIZE_FLAGS="-O3"
268 MOZ_OPTIMIZE_FLAGS="-O3"
271 case "${target_cpu}" in
273 CFLAGS="$CFLAGS -mieee"
274 CXXFLAGS="$CXXFLAGS -mieee"
281 if test -n "$GNU_CC" -o -n "$CLANG_CC"; then
282 # $GNU_CC will match gcc and clang; while $CLANG_CC will match only clang
283 if test -z "$CLANG_CC"; then
284 AC_MSG_ERROR(Firefox cannot be built with mingw-gcc and requires a mingw-clang toolchain to work)
290 # Silence problematic clang warnings
291 CXXFLAGS="$CXXFLAGS -Wno-incompatible-ms-struct"
292 LDFLAGS="$LDFLAGS -Wl,--no-insert-timestamp"
294 MOZ_OPTIMIZE_FLAGS="-O2"
296 WIN32_CONSOLE_EXE_LDFLAGS=-mconsole
297 WIN32_GUI_EXE_LDFLAGS=-mwindows
299 TARGET_COMPILER_ABI=msvc
300 WIN32_SUBSYSTEM_VERSION=10.0
301 WIN32_CONSOLE_EXE_LDFLAGS=-SUBSYSTEM:CONSOLE,$WIN32_SUBSYSTEM_VERSION
302 WIN32_GUI_EXE_LDFLAGS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION
303 DSO_LDOPTS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION
304 _DEFINES_CFLAGS="-FI $jsconfdefs -DMOZILLA_CLIENT"
305 _DEFINES_CXXFLAGS="-FI $jsconfdefs -DMOZILLA_CLIENT"
306 CFLAGS="$CFLAGS -Gy -Zc:inline"
307 CXXFLAGS="$CXXFLAGS -Gy -Zc:inline"
308 if test "$TARGET_CPU" = "x86";then
309 dnl VS2012+ defaults to -arch:SSE2. We want to target nothing
310 dnl more recent, so set that explicitly here unless another
311 dnl target arch has already been set.
313 if test -z `echo $CFLAGS | grep -i [-/]arch:` ; then
314 CFLAGS="$CFLAGS -arch:SSE2"
316 if test -z `echo $CXXFLAGS | grep -i [-/]arch:` ; then
317 CXXFLAGS="$CXXFLAGS -arch:SSE2"
321 dnl VS2013+ supports -Gw for better linker optimizations.
322 dnl http://blogs.msdn.com/b/vcblog/archive/2013/09/11/introducing-gw-compiler-switch.aspx
323 dnl Disabled on ASan because it causes false-positive ODR violations.
324 if test -z "$MOZ_ASAN"; then
326 CXXFLAGS="$CXXFLAGS -Gw"
328 # String tail merging doesn't play nice with ASan's ODR checker.
329 LDFLAGS="$LDFLAGS -opt:nolldtailmerge"
331 MOZ_DEBUG_LDFLAGS='-DEBUG'
332 if test "$HOST_OS_ARCH" != "WINNT"; then
333 # %_PDB% is a special signal to emit only the PDB basename. This
334 # avoids problems in Windows tools that don't like forward-slashes.
335 MOZ_DEBUG_LDFLAGS="$MOZ_DEBUG_LDFLAGS -PDBALTPATH:%_PDB%"
337 MOZ_OPTIMIZE_FLAGS="-O2"
339 LDFLAGS="$LDFLAGS -LARGEADDRESSAWARE"
341 AC_DEFINE(HAVE__MSIZE)
342 AC_DEFINE(WIN32_LEAN_AND_MEAN)
343 dnl See http://support.microsoft.com/kb/143208 to use STL
349 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.])
355 if test -n "$GNU_CC"; then
356 CFLAGS="$CFLAGS -mstackrealign"
357 CXXFLAGS="$CXXFLAGS -mstackrealign"
358 LDFLAGS="$LDFLAGS -Wl,--large-address-aware"
360 DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X86"
361 LDFLAGS="$LDFLAGS -SAFESEH"
367 if test -n "$_WIN32_MSVC"; then
368 DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X64"
373 if test -n "$_WIN32_MSVC"; then
374 DSO_LDOPTS="$DSO_LDOPTS -MACHINE:ARM64"
379 AC_DEFINE(_CPU_ARCH_NOT_DEFINED)
385 CFLAGS="$CFLAGS -Dunix"
386 CXXFLAGS="$CXXFLAGS -Dunix"
387 if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then
388 DSO_PIC_CFLAGS='-fPIC -DPIC'
390 MOZ_PROGRAM_LDFLAGS="$MOZ_PROGRAM_LDFLAGS -Wl,--export-dynamic"
392 DSO_PIC_CFLAGS='-fPIC -DPIC'
395 # This will fail on a.out systems prior to 1.5.1_ALPHA.
396 if test "$LIBRUNPATH"; then
397 DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
402 DSO_PIC_CFLAGS='-fPIC'
403 DSO_LDOPTS='-shared -fPIC'
404 if test "$LIBRUNPATH"; then
405 DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS"
410 MOZ_FIX_LINK_PATHS="-L${DIST}/bin"
414 CXXFLAGS="$CXXFLAGS -mthread-model single"
420 CFLAGS="$CFLAGS $DSO_PIC_CFLAGS"
421 CXXFLAGS="$CXXFLAGS $DSO_PIC_CFLAGS"
423 if test -z "$MOZ_OPTIMIZE_FLAGS"; then
424 MOZ_OPTIMIZE_FLAGS="-O"
427 if test -z "$COMPILE_ENVIRONMENT"; then
428 SKIP_COMPILER_CHECKS=1
429 SKIP_LIBRARY_CHECKS=1
432 if test -n "$COMPILE_ENVIRONMENT"; then
436 if test -z "$SKIP_COMPILER_CHECKS"; then
437 dnl Checks for typedefs, structures, and compiler characteristics.
438 dnl ========================================================
444 dnl Checks for libraries.
445 dnl ========================================================
446 AC_CHECK_LIB(c_r, gethostbyname_r)
448 dnl We don't want to link with libdl even if it's present on OS X, since
449 dnl it's not used and not part of the default installation. OS/2 has dlfcn
451 dnl We don't want to link against libm or libpthread on Darwin since
452 dnl they both are just symlinks to libSystem and explicitly linking
453 dnl against libSystem causes issues when debugging (see bug 299601).
458 AC_SEARCH_LIBS(dlopen, dl,
459 MOZ_CHECK_HEADER(dlfcn.h,
460 AC_DEFINE(HAVE_DLOPEN)))
464 _SAVE_CFLAGS="$CFLAGS"
465 CFLAGS="$CFLAGS -D_GNU_SOURCE"
466 AC_CHECK_FUNCS(dladdr)
467 CFLAGS="$_SAVE_CFLAGS"
469 if test ! "$GNU_CXX"; then
470 AC_CHECK_LIB(C, demangle)
473 AC_CHECK_LIB(socket, socket)
475 dnl ========================================================
476 dnl = pthread support
477 dnl = Start by checking whether the system support pthreads
478 dnl ========================================================
484 AC_CHECK_LIB(pthreads, pthread_create,
485 USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthreads",
486 AC_CHECK_LIB(pthread, pthread_create,
487 USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lpthread",
488 AC_CHECK_LIB(c_r, pthread_create,
489 USE_PTHREADS=1 _PTHREAD_LDFLAGS="-lc_r",
490 AC_CHECK_LIB(c, pthread_create,
499 dnl ========================================================
500 dnl Do the platform specific pthread hackery
501 dnl ========================================================
502 if test "$USE_PTHREADS"x != x
505 dnl See if -pthread is supported.
508 ac_cv_have_dash_pthread=no
509 AC_MSG_CHECKING(whether ${CC-cc} accepts -pthread)
510 echo 'int main() { return 0; }' | cat > conftest.c
511 ${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
512 if test $? -eq 0; then
513 if test -z "`grep -E -i '(unrecognize|unknown)' conftest.out | grep pthread`" -a -z "`grep -E -i '(error|incorrect)' conftest.out`" ; then
514 ac_cv_have_dash_pthread=yes
517 # Freebsd doesn't use -pthread for compiles, it uses them for linking
520 CFLAGS="$CFLAGS -pthread"
521 CXXFLAGS="$CXXFLAGS -pthread"
527 AC_MSG_RESULT($ac_cv_have_dash_pthread)
530 dnl See if -pthreads is supported.
532 ac_cv_have_dash_pthreads=no
533 if test "$ac_cv_have_dash_pthread" = "no"; then
534 AC_MSG_CHECKING(whether ${CC-cc} accepts -pthreads)
535 echo 'int main() { return 0; }' | cat > conftest.c
536 ${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1
537 if test $? -eq 0; then
538 if test -z "`grep -E -i '(unrecognize|unknown)' conftest.out | grep pthreads`" -a -z "`grep -E -i '(error|incorrect)' conftest.out`" ; then
539 ac_cv_have_dash_pthreads=yes
540 CFLAGS="$CFLAGS -pthreads"
541 CXXFLAGS="$CXXFLAGS -pthreads"
545 AC_MSG_RESULT($ac_cv_have_dash_pthreads)
550 AC_DEFINE(_REENTRANT)
551 AC_DEFINE(_THREAD_SAFE)
552 dnl -pthread links in -lpthread, so don't specify it explicitly.
553 if test "$ac_cv_have_dash_pthread" = "yes"; then
554 _PTHREAD_LDFLAGS="-pthread"
558 *-*-openbsd*|*-*-bsdi*)
559 AC_DEFINE(_REENTRANT)
560 AC_DEFINE(_THREAD_SAFE)
561 dnl -pthread links in -lc_r, so don't specify it explicitly.
562 if test "$ac_cv_have_dash_pthread" = "yes"; then
563 _PTHREAD_LDFLAGS="-pthread"
567 *-*-linux*|*-*-kfreebsd*-gnu|*-*-gnu*)
568 AC_DEFINE(_REENTRANT)
572 LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}"
576 dnl ========================================================
577 dnl Put your C++ language/feature checks below
578 dnl ========================================================
582 if test "$GNU_CC"; then
583 if test "$TARGET_CPU" = "arm" ; then
584 AC_CACHE_CHECK(for ARM EABI,
588 #if defined(__ARM_EABI__)
594 ac_cv_gcc_arm_eabi="yes",
595 ac_cv_gcc_arm_eabi="no")])
596 if test "$ac_cv_gcc_arm_eabi" = "yes"; then
604 TARGET_COMPILER_ABI="${TARGET_COMPILER_ABI-${ARM_ABI_PREFIX}gcc3}"
607 dnl End of C++ language/feature checks
610 fi # ! SKIP_COMPILER_CHECKS
613 if test -n "${TARGET_CPU}" -a -n "${TARGET_COMPILER_ABI}"; then
614 TARGET_XPCOM_ABI="${TARGET_CPU}-${TARGET_COMPILER_ABI}"
617 dnl We can't run TRY_COMPILE tests on Windows, so hard-code some
618 dnl features that Windows actually does support.
620 if test -n "$SKIP_COMPILER_CHECKS"; then
621 dnl Windows has malloc.h
622 AC_DEFINE(MALLOC_H, [<malloc.h>])
623 AC_DEFINE(HAVE_FORCEINLINE)
624 fi # SKIP_COMPILER_CHECKS
626 dnl Mozilla specific options
627 dnl ========================================================
628 dnl The macros used for command line options
629 dnl are defined in build/autoconf/altoptions.m4.
631 dnl ========================================================
632 dnl = Enable code optimization. ON by default.
633 dnl ========================================================
635 # Use value from moz.configure if one is defined. Else use our computed
637 if test -n "${MOZ_CONFIGURE_OPTIMIZE_FLAGS}"; then
638 MOZ_OPTIMIZE_FLAGS=${MOZ_CONFIGURE_OPTIMIZE_FLAGS}
641 if test "$COMPILE_ENVIRONMENT"; then
642 if test -n "$MOZ_OPTIMIZE"; then
643 AC_MSG_CHECKING([for valid optimization flags])
645 CFLAGS="$CFLAGS $MOZ_OPTIMIZE_FLAGS"
646 AC_TRY_COMPILE([#include <stdio.h>],
647 [printf("Hello World\n");],
650 AC_MSG_RESULT([$_results])
651 if test "$_results" = "no"; then
652 AC_MSG_ERROR([These compiler flags are invalid: $MOZ_OPTIMIZE_FLAGS])
655 if test -n "$MOZ_LTO" -a -n "$CLANG_CC"; then
656 # When using llvm-based LTO, non numeric optimization levels are
657 # not supported by the linker, so force the linker to use -O2 (
658 # which doesn't influence the level compilation units are actually
660 case " $MOZ_OPTIMIZE_FLAGS " in
662 MOZ_OPTIMIZE_LDFLAGS="$MOZ_OPTIMIZE_LDFLAGS -O2"
667 fi # COMPILE_ENVIRONMENT
669 AC_SUBST_LIST(MOZ_OPTIMIZE_FLAGS)
670 AC_SUBST_LIST(MOZ_OPTIMIZE_LDFLAGS)
671 AC_SUBST_LIST(MOZ_PGO_OPTIMIZE_FLAGS)
673 dnl ========================================================
674 dnl = Enable jemalloc
675 dnl ========================================================
677 if test "$JS_STANDALONE" -a -z "$MOZ_MEMORY"; then
680 case "${OS_TARGET}" in
681 Android|WINNT|Darwin)
685 dnl On !Android !Windows !OSX, we only want to link executables against mozglue
686 MOZ_GLUE_IN_PROGRAM=1
687 AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
692 if test "$MOZ_MEMORY"; then
695 export MOZ_NO_DEBUG_RTL=1
699 AC_SUBST(MOZ_GLUE_IN_PROGRAM)
701 dnl ========================================================
703 dnl ========================================================
704 if test -n "$MOZ_INSTRUMENTS"; then
705 LIBS="$LIBS -framework CoreFoundation"
708 dnl ========================================================
709 dnl = Enable using the clang plugin to build
710 dnl ========================================================
712 if test -n "$COMPILE_ENVIRONMENT"; then
713 MOZ_CONFIG_CLANG_PLUGIN
714 fi # COMPILE_ENVIRONMENT
718 dnl ========================================================
720 dnl = Maintainer debug option (no --enable equivalent)
722 dnl ========================================================
724 AC_SUBST_LIST(ASFLAGS)
725 AC_SUBST_LIST(MOZ_DEBUG_LDFLAGS)
727 AC_SUBST_LIST(MOZ_FIX_LINK_PATHS)
729 AC_SUBST(MOZ_POST_PROGRAM_COMMAND)
731 AC_SUBST(MOZ_APP_DISPLAYNAME)
733 AC_SUBST(MOZ_PKG_SPECIAL)
735 dnl Echo the CFLAGS to remove extra whitespace.
737 $_COMPILATION_CFLAGS \
741 $_COMPILATION_CXXFLAGS \
745 $_COMPILATION_ASFLAGS \
748 COMPILE_CFLAGS=`echo \
752 COMPILE_CXXFLAGS=`echo \
757 $_COMPILATION_HOST_CFLAGS \
760 HOST_CXXFLAGS=`echo \
761 $_COMPILATION_HOST_CXXFLAGS \
766 $_COMPILATION_LDFLAGS`
770 $_COMPILATION_HOST_LDFLAGS`
773 OS_CXXFLAGS="$CXXFLAGS"
774 OS_CPPFLAGS="$CPPFLAGS"
775 OS_COMPILE_CFLAGS="$COMPILE_CFLAGS"
776 OS_COMPILE_CXXFLAGS="$COMPILE_CXXFLAGS"
777 OS_LDFLAGS="$LDFLAGS"
779 AC_SUBST_LIST(OS_CFLAGS)
780 AC_SUBST_LIST(OS_CXXFLAGS)
781 AC_SUBST_LIST(OS_CPPFLAGS)
782 AC_SUBST_LIST(OS_COMPILE_CFLAGS)
783 AC_SUBST_LIST(OS_COMPILE_CXXFLAGS)
784 AC_SUBST_LIST(OS_LDFLAGS)
789 AC_SUBST_LIST(HOST_CFLAGS)
790 AC_SUBST_LIST(HOST_CPPFLAGS)
791 AC_SUBST_LIST(HOST_CXXFLAGS)
792 AC_SUBST(HOST_LDFLAGS)
793 AC_SUBST_LIST(HOST_OPTIMIZE_FLAGS)
794 AC_SUBST(HOST_BIN_SUFFIX)
796 AC_SUBST(TARGET_XPCOM_ABI)
801 AC_SUBST(WIN32_CONSOLE_EXE_LDFLAGS)
802 AC_SUBST(WIN32_GUI_EXE_LDFLAGS)
804 dnl Set various defines and substitutions
805 dnl ========================================================
807 AC_SUBST(MOZ_DEV_EDITION)
808 if test -n "$MOZ_DEV_EDITION"; then
809 AC_DEFINE(MOZ_DEV_EDITION)
812 dnl ========================================================
814 dnl ========================================================
818 if test -n "$JS_STANDALONE"; then
819 JS_LIBRARY_NAME="mozjs-$MOZILLA_SYMBOLVERSION"
821 JS_LIBRARY_NAME="mozjs"
823 JS_CONFIG_LIBS="$NSPR_LIBS $LIBS"
824 if test -n "$GNU_CC"; then
825 JS_CONFIG_MOZ_JS_LIBS='-L${libdir} -l${JS_LIBRARY_NAME}'
827 JS_CONFIG_MOZ_JS_LIBS='${libdir}/${JS_LIBRARY_NAME}.lib'
829 AC_SUBST(JS_LIBRARY_NAME)
830 AC_SUBST(JS_CONFIG_MOZ_JS_LIBS)
831 AC_SUBST(JS_CONFIG_LIBS)
833 # Avoid using obsolete NSPR features
834 AC_DEFINE(NO_NSPR_10_SUPPORT)
836 dnl Spit out some output
837 dnl ========================================================
838 MOZ_CREATE_CONFIG_STATUS()
840 rm -fr confdefs* $ac_clean_files