Bug 1460600: Remove unsupported --enable-system-hunspell flag. r?ehsan,glandium
Our bundled Hunspell now significantly differs from upstream Hunspell. Most
importantly, it supports loading dictionaries from jar: URIs, which is now a
requirement for loading bundled and extension dictionaries. This means that
system Hunspell libraries are no longer compatible with our spell checker
code. We should remove the option to use them so that users don't fall into
the trap of trying to use them.
MozReview-Commit-ID: 2ihJe6YOnGf
--- a/config/system-headers.mozbuild
+++ b/config/system-headers.mozbuild
@@ -1265,21 +1265,16 @@ if CONFIG['MOZ_ENABLE_STARTUP_NOTIFICATI
'libsn/sn-common.h',
'libsn/sn.h',
'libsn/sn-launchee.h',
'libsn/sn-launcher.h',
'libsn/sn-monitor.h',
'libsn/sn-util.h',
]
-if CONFIG['MOZ_SYSTEM_HUNSPELL']:
- system_headers += [
- 'hunspell.hxx',
- ]
-
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
system_headers += [
'event2/event_compat.h',
'event2/event.h',
'event2/event_struct.h',
'event.h',
]
else:
--- a/extensions/spellcheck/hunspell/glue/moz.build
+++ b/extensions/spellcheck/hunspell/glue/moz.build
@@ -8,32 +8,28 @@ UNIFIED_SOURCES += [
'mozHunspell.cpp',
'mozHunspellFileMgr.cpp',
'RemoteSpellCheckEngineChild.cpp',
'RemoteSpellCheckEngineParent.cpp',
]
FINAL_LIBRARY = 'xul'
-if CONFIG['MOZ_SYSTEM_HUNSPELL']:
- CXXFLAGS += CONFIG['MOZ_HUNSPELL_CFLAGS']
-else:
- LOCAL_INCLUDES += ['../src']
-
LOCAL_INCLUDES += [
+ '../src',
'/dom/base',
'/extensions/spellcheck/src',
]
include('/ipc/chromium/chromium-config.mozbuild')
IPDL_SOURCES = [
'PRemoteSpellcheckEngine.ipdl',
]
EXPORTS.mozilla += [
'RemoteSpellCheckEngineChild.h',
'RemoteSpellCheckEngineParent.h',
]
-# This variable is referenced in configure.in. Make sure to change that file
-# too if you need to change this variable.
+# This variable is referenced in mozilla-config.h.in. Make sure to change
+# that file too if you need to change this variable.
DEFINES['HUNSPELL_STATIC'] = True
--- a/extensions/spellcheck/hunspell/moz.build
+++ b/extensions/spellcheck/hunspell/moz.build
@@ -1,12 +1,10 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-DIRS += ['glue']
-if not CONFIG['MOZ_SYSTEM_HUNSPELL']:
- DIRS += ['src']
+DIRS += ['glue', 'src']
if CONFIG['ENABLE_TESTS']:
XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini']
--- a/extensions/spellcheck/hunspell/src/hunvisapi.h
+++ b/extensions/spellcheck/hunspell/src/hunvisapi.h
@@ -1,18 +1,6 @@
#ifndef HUNSPELL_VISIBILITY_H_
#define HUNSPELL_VISIBILITY_H_
-#if defined(HUNSPELL_STATIC)
-# define LIBHUNSPELL_DLL_EXPORTED
-#elif defined(_MSC_VER)
-# if defined(BUILDING_LIBHUNSPELL)
-# define LIBHUNSPELL_DLL_EXPORTED __declspec(dllexport)
-# else
-# define LIBHUNSPELL_DLL_EXPORTED __declspec(dllimport)
-# endif
-#elif defined(BUILDING_LIBHUNSPELL) && 1
-# define LIBHUNSPELL_DLL_EXPORTED __attribute__((__visibility__("default")))
-#else
-# define LIBHUNSPELL_DLL_EXPORTED
-#endif
+#define LIBHUNSPELL_DLL_EXPORTED
#endif
--- a/extensions/spellcheck/hunspell/src/moz.build
+++ b/extensions/spellcheck/hunspell/src/moz.build
@@ -10,18 +10,18 @@ UNIFIED_SOURCES += [
'csutil.cxx',
'hashmgr.cxx',
'hunspell.cxx',
'phonet.cxx',
'replist.cxx',
'suggestmgr.cxx',
]
-# This variable is referenced in configure.in. Make sure to change that file
-# too if you need to change this variable.
+# This variable is referenced in mozilla-config.h.in. Make sure to change
+# that file too if you need to change this variable.
DEFINES['HUNSPELL_STATIC'] = True
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'../glue',
]
--- a/extensions/spellcheck/src/moz.build
+++ b/extensions/spellcheck/src/moz.build
@@ -12,23 +12,19 @@ UNIFIED_SOURCES += [
'mozPersonalDictionary.cpp',
'mozSpellChecker.cpp',
'mozSpellCheckerFactory.cpp',
'mozSpellI18NManager.cpp',
]
FINAL_LIBRARY = 'xul'
-if CONFIG['MOZ_SYSTEM_HUNSPELL']:
- CXXFLAGS += CONFIG['MOZ_HUNSPELL_CFLAGS']
-else:
- LOCAL_INCLUDES += ['../hunspell/src']
-
LOCAL_INCLUDES += [
'../hunspell/glue',
+ '../hunspell/src',
'/dom/base',
]
EXPORTS.mozilla += [
'mozInlineSpellChecker.h',
'mozSpellChecker.h',
]
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
--- a/moz.configure
+++ b/moz.configure
@@ -476,28 +476,16 @@ check_prog('DSYMUTIL', extra_programs.DS
allow_missing=True)
check_prog('MKFSHFS', extra_programs.MKFSHFS,
allow_missing=True)
check_prog('HFS_TOOL', extra_programs.HFS_TOOL,
allow_missing=True)
check_prog('RPMBUILD', extra_programs.RPMBUILD,
allow_missing=True)
-option('--enable-system-hunspell',
- help="Use system hunspell (located with pkgconfig)")
-
-@depends('--enable-system-hunspell', compile_environment)
-def check_for_hunspell(value, compile_env):
- return value and compile_env
-
-system_hunspell = pkg_check_modules('MOZ_HUNSPELL', 'hunspell',
- when=check_for_hunspell)
-
-set_config('MOZ_SYSTEM_HUNSPELL', depends_if(system_hunspell)(lambda _: True))
-
@depends(target)
@imports('os')
def makensis_progs(target):
if target.kernel != 'WINNT':
return
candidates = [
--- a/mozilla-config.h.in
+++ b/mozilla-config.h.in
@@ -36,18 +36,17 @@
#if defined(__clang__)
#pragma clang diagnostic pop
#endif
/*
* Force-include hunspell_alloc_hooks.h and hunspell_fopen_hooks.h for hunspell,
* so that we don't need to modify them directly.
*
- * HUNSPELL_STATIC is defined in extensions/spellcheck/hunspell/src/Makefile.in,
- * unless --enable-system-hunspell is defined.
+ * HUNSPELL_STATIC is defined in extensions/spellcheck/hunspell/src/moz.build
*/
#if defined(HUNSPELL_STATIC)
#include "hunspell_alloc_hooks.h"
#include "hunspell_fopen_hooks.h"
#endif
/*
* Force-include sdkdecls.h for building the chromium sandbox code.
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -233,19 +233,16 @@ if CONFIG['SERVO_TARGET_DIR']:
OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
if CONFIG['MOZ_SYSTEM_JPEG']:
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
-if CONFIG['MOZ_SYSTEM_HUNSPELL']:
- OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
-
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
if CONFIG['MOZ_SYSTEM_LIBVPX']:
OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
if not CONFIG['MOZ_TREE_PIXMAN']:
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']