Bug 1300164 - Move VISIBILITY_FLAGS to Python configure.
MozReview-Commit-ID: Ku1oUGVdtdm
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -873,10 +873,31 @@ add_old_configure_assignment('MOZ_DEBUG_
@depends(c_compiler, target)
def libcxx_inline_visibility(c_compiler, target):
if c_compiler.type == 'clang' and target.os == 'Android':
return ''
set_define('_LIBCPP_INLINE_VISIBILITY', libcxx_inline_visibility)
set_define('_LIBCPP_INLINE_VISIBILITY_EXCEPT_GCC49', libcxx_inline_visibility)
+@depends(c_compiler, target, check_build_environment)
+def visibility_flags(c_compiler, target, env):
+ if target.os != 'WINNT':
+ if target.kernel == 'Darwin':
+ return ('-fvisibility=hidden', '-fvisibility-inlines-hidden')
+ return ('-I%s/system_wrappers' % os.path.join(env.dist),
+ '-include',
+ '%s/config/gcc_hidden.h' % env.topsrcdir)
+
+@depends(target, visibility_flags)
+def wrap_system_includes(target, visibility_flags):
+ if visibility_flags and target.os != 'OSX':
+ return True
+
+set_define('HAVE_VISIBILITY_HIDDEN_ATTRIBUTE',
+ depends(visibility_flags)(lambda v: bool(v) or None))
+set_define('HAVE_VISIBILITY_ATTRIBUTE',
+ depends(visibility_flags)(lambda v: bool(v) or None))
+set_config('WRAP_SYSTEM_INCLUDES', wrap_system_includes)
+set_config('VISIBILITY_FLAGS', visibility_flags)
+
include('windows.configure')
include('rust.configure')
--- a/js/src/old-configure.in
+++ b/js/src/old-configure.in
@@ -1013,45 +1013,25 @@ MOZ_CHECK_HEADERS(sys/isa_defs.h)
if test "$ac_cv_header_sys_isa_defs_h" = yes; then
AC_DEFINE(JS_HAVE_SYS_ISA_DEFS_H)
fi
AC_LANG_CPLUSPLUS
MOZ_CXX11
-dnl Check for .hidden assembler directive and visibility attribute.
-dnl Borrowed from glibc configure.in
-dnl ===============================================================
-if test "$GNU_CC" -a "$OS_TARGET" != WINNT; then
- AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
- AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
- case "$OS_TARGET" in
- Darwin)
- VISIBILITY_FLAGS='-fvisibility=hidden -fvisibility-inlines-hidden'
- ;;
- *)
- VISIBILITY_FLAGS="-I${DIST}/system_wrappers -include ${_topsrcdir}/config/gcc_hidden.h"
- WRAP_SYSTEM_INCLUDES=1
- ;;
- esac
-fi # GNU_CC
-
case "${OS_TARGET}" in
WINNT|Darwin|Android)
;;
*)
STL_FLAGS="-I${DIST}/stl_wrappers"
WRAP_STL_INCLUDES=1
;;
esac
-AC_SUBST(WRAP_SYSTEM_INCLUDES)
-AC_SUBST_LIST(VISIBILITY_FLAGS)
-
dnl Checks for header files.
dnl ========================================================
AC_HEADER_DIRENT
case "$target_os" in
freebsd*)
# for stuff like -lXshm
CPPFLAGS="${CPPFLAGS} ${X_CFLAGS}"
;;
--- a/old-configure.in
+++ b/old-configure.in
@@ -1353,45 +1353,25 @@ AC_LANG_CPLUSPLUS
AC_LANG_C
AC_LANG_CPLUSPLUS
MOZ_CXX11
AC_LANG_C
-dnl Check for .hidden assembler directive and visibility attribute.
-dnl Borrowed from glibc configure.in
-dnl ===============================================================
-if test "$GNU_CC" -a "$OS_TARGET" != WINNT; then
- AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
- AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
- case "$OS_TARGET" in
- Darwin)
- VISIBILITY_FLAGS='-fvisibility=hidden -fvisibility-inlines-hidden'
- ;;
- *)
- VISIBILITY_FLAGS="-I${DIST}/system_wrappers -include ${_topsrcdir}/config/gcc_hidden.h"
- WRAP_SYSTEM_INCLUDES=1
- ;;
- esac
-fi # GNU_CC
-
case "${OS_TARGET}" in
Darwin)
;;
*)
STL_FLAGS="-I${DIST}/stl_wrappers"
WRAP_STL_INCLUDES=1
;;
esac
-AC_SUBST(WRAP_SYSTEM_INCLUDES)
-AC_SUBST_LIST(VISIBILITY_FLAGS)
-
dnl Checks for header files.
dnl ========================================================
AC_HEADER_DIRENT
case "$target_os" in
bitrig*|dragonfly*|freebsd*|openbsd*)
# for stuff like -lXshm
CPPFLAGS="${CPPFLAGS} ${X_CFLAGS}"
;;
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
@@ -122,19 +122,16 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
DEFINES['ANDROID_PACKAGE_NAME'] = '"%s"' % CONFIG['ANDROID_PACKAGE_NAME']
if CONFIG['TARGET_XPCOM_ABI']:
DEFINES['TARGET_OS_ABI'] = '"%s_%s"' % (CONFIG['OS_TARGET'],
CONFIG['TARGET_XPCOM_ABI'])
-if CONFIG['WRAP_SYSTEM_INCLUDES']:
- DEFINES['WRAP_SYSTEM_INCLUDES'] = True
-
if CONFIG['OS_ARCH'] == 'Linux' and 'lib64' in CONFIG['libdir']:
DEFINES['HAVE_USR_LIB64_DIR'] = True
DEFINES['GRE_MILESTONE'] = CONFIG['GRE_MILESTONE']
for var in ('APP_VERSION', 'APP_ID'):
DEFINES[var] = CONFIG['MOZ_%s' % var]