From 3c48cc85098587c7f3a6cefe133a94468927d100 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Sun, 22 Apr 2018 18:36:16 -0400 Subject: Resolve issues with application.ini not allowing non-mcp applications to be official and have their own vendor Also add BinOC cause two words breaks the build system --- build/application.ini | 6 ++++-- build/moz.build | 7 +++++-- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'build') diff --git a/build/application.ini b/build/application.ini index e60f86b69..c3ab3abdd 100644 --- a/build/application.ini +++ b/build/application.ini @@ -18,12 +18,14 @@ #include @TOPOBJDIR@/buildid.h #include @TOPOBJDIR@/source-repo.h [App] -#ifdef MC_OFFICIAL +#if defined(MC_OFFICIAL) && defined(MC_PALEMOON) || defined(MC_BASILISK) Vendor=Moonchild Productions +#elif defined(MC_OFFICIAL) && defined(BINOC_BOREALIS) +Vendor=Binary Outcast #else Vendor=@MOZ_APP_VENDOR@ #endif -#if defined(MOZ_PHOENIX) && defined(MC_PALEMOON) +#if defined(MC_OFFICIAL) && defined(MC_PALEMOON) Name=Pale Moon #else Name=@MOZ_APP_BASENAME@ diff --git a/build/moz.build b/build/moz.build index f25e5cfa5..d96724cad 100644 --- a/build/moz.build +++ b/build/moz.build @@ -30,8 +30,8 @@ if CONFIG['MOZ_PHOENIX']: DEFINES['MOZ_PHOENIX'] = CONFIG['MOZ_PHOENIX'] DEFINES['MOZ_BUILD_APP_IS_BROWSER'] = True -if CONFIG['MC_OFFICAL']: - DEFINES['MC_OFFICAL'] = CONFIG['MC_OFFICAL'] +if CONFIG['MC_OFFICIAL']: + DEFINES['MC_OFFICIAL'] = CONFIG['MC_OFFICIAL'] if CONFIG['MC_BASILISK']: DEFINES['MC_BASILISK'] = CONFIG['MC_BASILISK'] @@ -39,6 +39,9 @@ if CONFIG['MC_BASILISK']: if CONFIG['MC_PALEMOON']: DEFINES['MC_PALEMOON'] = CONFIG['MC_PALEMOON'] +if CONFIG['BINOC_BOREALIS']: + DEFINES['BINOC_BOREALIS'] = CONFIG['BINOC_BOREALIS'] + if CONFIG['MOZ_APP_PROFILE']: DEFINES['MOZ_APP_PROFILE'] = CONFIG['MOZ_APP_PROFILE'] -- cgit v1.2.3 From 1916969baaa5d2bd84f323ca0510ba2c8a04ef58 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Sun, 22 Apr 2018 19:15:20 -0400 Subject: Fix preprocessor conditional precedence in application.ini --- build/application.ini | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'build') diff --git a/build/application.ini b/build/application.ini index c3ab3abdd..8f65421ed 100644 --- a/build/application.ini +++ b/build/application.ini @@ -18,14 +18,18 @@ #include @TOPOBJDIR@/buildid.h #include @TOPOBJDIR@/source-repo.h [App] -#if defined(MC_OFFICIAL) && defined(MC_PALEMOON) || defined(MC_BASILISK) +#ifdef MC_OFFICIAL +#if defined(MC_PALEMOON) || defined(MC_BASILISK) Vendor=Moonchild Productions -#elif defined(MC_OFFICIAL) && defined(BINOC_BOREALIS) +#elif defined(BINOC_BOREALIS) Vendor=Binary Outcast #else Vendor=@MOZ_APP_VENDOR@ #endif -#if defined(MC_OFFICIAL) && defined(MC_PALEMOON) +#else +Vendor=@MOZ_APP_VENDOR@ +#endif +#ifdef MC_PALEMOON Name=Pale Moon #else Name=@MOZ_APP_BASENAME@ -- cgit v1.2.3 From be1786f7b0e692d8f4326dbf53e7d0689813ee2d Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Thu, 26 Apr 2018 17:59:36 +0200 Subject: Remove support for system jemalloc. --- build/autoconf/jemalloc.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'build') diff --git a/build/autoconf/jemalloc.m4 b/build/autoconf/jemalloc.m4 index 3b9c603f7..eae4e4d3a 100644 --- a/build/autoconf/jemalloc.m4 +++ b/build/autoconf/jemalloc.m4 @@ -8,7 +8,7 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then # Run jemalloc configure script - if test -z "$MOZ_SYSTEM_JEMALLOC" -a "$MOZ_MEMORY" && test -n "$MOZ_JEMALLOC4" -o -n "$MOZ_REPLACE_MALLOC"; then + if test "$MOZ_MEMORY" && test -n "$MOZ_JEMALLOC4" -o -n "$MOZ_REPLACE_MALLOC"; then ac_configure_args="--build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_ --disable-valgrind" # We're using memalign for _aligned_malloc in memory/build/mozmemory_wrap.c # on Windows, so just export memalign on all platforms. -- cgit v1.2.3 From 077c63084488ac38c1c44e8cdaa9c33086f0a649 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Fri, 27 Apr 2018 13:56:47 +0200 Subject: Remove support for making jemalloc4 the default memory allocator. --- build/autoconf/jemalloc.m4 | 39 +++--------------------------------- build/moz.configure/memory.configure | 38 +++++++++++++---------------------- 2 files changed, 17 insertions(+), 60 deletions(-) (limited to 'build') diff --git a/build/autoconf/jemalloc.m4 b/build/autoconf/jemalloc.m4 index eae4e4d3a..21fed27e9 100644 --- a/build/autoconf/jemalloc.m4 +++ b/build/autoconf/jemalloc.m4 @@ -8,7 +8,7 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then # Run jemalloc configure script - if test "$MOZ_MEMORY" && test -n "$MOZ_JEMALLOC4" -o -n "$MOZ_REPLACE_MALLOC"; then + if test "$MOZ_MEMORY" && test -n "$MOZ_REPLACE_MALLOC"; then ac_configure_args="--build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_ --disable-valgrind" # We're using memalign for _aligned_malloc in memory/build/mozmemory_wrap.c # on Windows, so just export memalign on all platforms. @@ -22,41 +22,8 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then ac_configure_args="$ac_configure_args --enable-ivsalloc" fi fi - if test -n "$MOZ_JEMALLOC4"; then - case "${OS_ARCH}" in - WINNT|Darwin) - # We want jemalloc functions to be kept hidden on both Mac and Windows - # See memory/build/mozmemory_wrap.h for details. - ac_configure_args="$ac_configure_args --without-export" - ;; - esac - if test "${OS_ARCH}" = WINNT; then - # Lazy lock initialization doesn't play well with lazy linking of - # mozglue.dll on Windows XP (leads to startup crash), so disable it. - ac_configure_args="$ac_configure_args --disable-lazy-lock" - - # 64-bit Windows builds require a minimum 16-byte alignment. - if test -n "$HAVE_64BIT_BUILD"; then - ac_configure_args="$ac_configure_args --with-lg-tiny-min=4" - fi - fi - elif test "${OS_ARCH}" = Darwin; then - # When building as a replace-malloc lib, disabling the zone allocator - # forces to use pthread_atfork. - ac_configure_args="$ac_configure_args --disable-zone-allocator" - fi - _MANGLE="malloc posix_memalign aligned_alloc calloc realloc free memalign valloc malloc_usable_size" - JEMALLOC_WRAPPER= - if test -z "$MOZ_REPLACE_MALLOC"; then - case "$OS_ARCH" in - Linux|DragonFly|FreeBSD|NetBSD|OpenBSD) - MANGLE=$_MANGLE - ;; - esac - elif test -z "$MOZ_JEMALLOC4"; then - MANGLE=$_MANGLE - JEMALLOC_WRAPPER=replace_ - fi + MANGLE="malloc posix_memalign aligned_alloc calloc realloc free memalign valloc malloc_usable_size" + JEMALLOC_WRAPPER=replace_ if test -n "$MANGLE"; then MANGLED= for mangle in ${MANGLE}; do diff --git a/build/moz.configure/memory.configure b/build/moz.configure/memory.configure index 3beed2fb2..398413b62 100644 --- a/build/moz.configure/memory.configure +++ b/build/moz.configure/memory.configure @@ -5,12 +5,13 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. -option(env='MOZ_JEMALLOC4', help='Enable jemalloc 4') -imply_option('--enable-jemalloc', depends_if('MOZ_JEMALLOC4')(lambda x: '4')) +@deprecated_option(env='MOZ_JEMALLOC4') +def moz_jemalloc4(value): + die('MOZ_JEMALLOC4 is no longer supported') -option('--enable-jemalloc', nargs='?', choices=('4', 'moz'), env='MOZ_MEMORY', - help='Replace memory allocator with jemalloc') +option('--enable-jemalloc', env='MOZ_MEMORY', + help='Replace system memory allocator with jemalloc') @depends('--enable-jemalloc', target, build_project, c_compiler) def jemalloc(value, target, build_project, c_compiler): @@ -30,36 +31,25 @@ def jemalloc(value, target, build_project, c_compiler): if target.kernel == 'Linux': return True -@depends('--enable-jemalloc') -def jemalloc4(jemalloc): - if len(jemalloc) and jemalloc[0] == '4': - return True - set_config('MOZ_MEMORY', jemalloc) set_define('MOZ_MEMORY', jemalloc) add_old_configure_assignment('MOZ_MEMORY', jemalloc) -set_config('MOZ_JEMALLOC4', jemalloc4) -set_define('MOZ_JEMALLOC4', jemalloc4) -add_old_configure_assignment('MOZ_JEMALLOC4', jemalloc4) - # Because --enable-jemalloc doesn't use a default because of the dependency # on the target, we can't use a js_option for it to propagate to js/src # through the old-configure. -@depends(jemalloc, jemalloc4) -def jemalloc_for_old_configure(jemalloc, jemalloc4): - if jemalloc: - return '--enable-jemalloc=4' if jemalloc4 else '--enable-jemalloc' - return '--disable-jemalloc' +@depends(jemalloc) +def jemalloc_for_old_configure(jemalloc): + return '--%s-jemalloc' % ('enable' if jemalloc else 'disable') add_old_configure_arg(jemalloc_for_old_configure) -@depends(jemalloc, jemalloc4, target) -def jemalloc_os_define(jemalloc, jemalloc4, target): - if jemalloc and not jemalloc4: +@depends(jemalloc, target) +def jemalloc_os_define(jemalloc, target): + if jemalloc: if target.kernel == 'WINNT': return 'MOZ_MEMORY_WINDOWS' if target.kernel == 'Linux': @@ -72,9 +62,9 @@ def jemalloc_os_define(jemalloc, jemalloc4, target): set_define(jemalloc_os_define, '1') -@depends(jemalloc, jemalloc4, target) -def jemalloc_os_define_android(jemalloc, jemalloc4, target): - if jemalloc and not jemalloc4 and target.os == 'Android': +@depends(jemalloc, target) +def jemalloc_os_define_android(jemalloc, target): + if jemalloc and target.os == 'Android': return 'MOZ_MEMORY_ANDROID' set_define(jemalloc_os_define_android, '1') -- cgit v1.2.3 From 43034a36e132ac4394e26cbfb4d855bd6f5114b3 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Fri, 27 Apr 2018 19:16:45 +0200 Subject: Remove jemalloc 4 from our tree. --- build/autoconf/jemalloc.m4 | 81 ---------------------------------------------- 1 file changed, 81 deletions(-) delete mode 100644 build/autoconf/jemalloc.m4 (limited to 'build') diff --git a/build/autoconf/jemalloc.m4 b/build/autoconf/jemalloc.m4 deleted file mode 100644 index 21fed27e9..000000000 --- a/build/autoconf/jemalloc.m4 +++ /dev/null @@ -1,81 +0,0 @@ -dnl This Source Code Form is subject to the terms of the Mozilla Public -dnl License, v. 2.0. If a copy of the MPL was not distributed with this -dnl file, You can obtain one at http://mozilla.org/MPL/2.0/. - -AC_DEFUN([MOZ_SUBCONFIGURE_JEMALLOC], [ - -if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then - - # Run jemalloc configure script - - if test "$MOZ_MEMORY" && test -n "$MOZ_REPLACE_MALLOC"; then - ac_configure_args="--build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_ --disable-valgrind" - # We're using memalign for _aligned_malloc in memory/build/mozmemory_wrap.c - # on Windows, so just export memalign on all platforms. - ac_configure_args="$ac_configure_args ac_cv_func_memalign=yes" - if test -n "$MOZ_REPLACE_MALLOC"; then - # When using replace_malloc, we always want valloc exported from jemalloc. - ac_configure_args="$ac_configure_args ac_cv_func_valloc=yes" - if test "${OS_ARCH}" = Darwin; then - # We also need to enable pointer validation on Mac because jemalloc's - # zone allocator is not used. - ac_configure_args="$ac_configure_args --enable-ivsalloc" - fi - fi - MANGLE="malloc posix_memalign aligned_alloc calloc realloc free memalign valloc malloc_usable_size" - JEMALLOC_WRAPPER=replace_ - if test -n "$MANGLE"; then - MANGLED= - for mangle in ${MANGLE}; do - if test -n "$MANGLED"; then - MANGLED="$mangle:$JEMALLOC_WRAPPER$mangle,$MANGLED" - else - MANGLED="$mangle:$JEMALLOC_WRAPPER$mangle" - fi - done - ac_configure_args="$ac_configure_args --with-mangling=$MANGLED" - fi - unset CONFIG_FILES - if test -z "$MOZ_TLS"; then - ac_configure_args="$ac_configure_args --disable-tls" - fi - EXTRA_CFLAGS="$CFLAGS" - for var in AS CC CXX CPP LD AR RANLIB STRIP CPPFLAGS EXTRA_CFLAGS LDFLAGS; do - ac_configure_args="$ac_configure_args $var='`eval echo \\${${var}}`'" - done - - # jemalloc's configure assumes that if you have CFLAGS set at all, you set - # all the flags necessary to configure jemalloc, which is not likely to be - # the case on Windows if someone is building Firefox with flags set in - # their mozconfig. - if test "$_MSC_VER"; then - ac_configure_args="$ac_configure_args CFLAGS=" - fi - - # Force disable DSS support in jemalloc. - ac_configure_args="$ac_configure_args ac_cv_func_sbrk=false" - - # Make Linux builds munmap freed chunks instead of recycling them. - ac_configure_args="$ac_configure_args --enable-munmap" - - # Disable cache oblivious behavior that appears to have a performance - # impact on Firefox. - ac_configure_args="$ac_configure_args --disable-cache-oblivious" - - if ! test -e memory/jemalloc; then - mkdir -p memory/jemalloc - fi - - # jemalloc's configure runs git to determine the version. But when building - # from a gecko git clone, the git commands it uses is going to pick gecko's - # information, not jemalloc's, which is useless. So pretend we don't have git - # at all. That will make jemalloc's configure pick the in-tree VERSION file. - (PATH="$srcdir/memory/jemalloc/helper:$PATH"; - AC_OUTPUT_SUBDIRS(memory/jemalloc/src) - ) || exit 1 - ac_configure_args="$_SUBDIR_CONFIG_ARGS" - fi - -fi - -]) -- cgit v1.2.3