Bug 709657: Split uconv out of libxul. r=me a=me CLOSED TREE

--HG--
rename : intl/uconv/src/Makefile.in => intl/uconv/datamodule/Makefile.in
rename : intl/uconv/src/nsUConvModule.cpp => intl/uconv/datamodule/nsUConvDataModule.cpp
This commit is contained in:
Kyle Huey 2011-12-13 10:48:16 -05:00
parent 4e0a9c207c
commit aac6779e29
27 changed files with 1326 additions and 1032 deletions

View File

@ -51,6 +51,9 @@
#else
@BINPATH@/@DLL_PREFIX@xul@DLL_SUFFIX@
#endif
#ifdef XP_WIN
@BINPATH@/components/@DLL_PREFIX@uconvd@DLL_SUFFIX@
#endif
#ifdef XP_MACOSX
@BINPATH@/@MOZ_CHILD_PROCESS_NAME@.app/
@BINPATH@/@DLL_PREFIX@plugin_child_interpose@DLL_SUFFIX@

View File

@ -0,0 +1,96 @@
# vim:set noet ts=8:
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either of the GNU General Public License Version 2 or later (the "GPL"),
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = uconvd
LIBRARY_NAME = uconvd
EXPORT_LIBRARY = 1
IS_COMPONENT = 1
MODULE_NAME = UConvData
ifeq (WINNT,$(OS_TARGET))
FORCE_SHARED_LIB = 1
else
LIBXUL_LIBRARY = 1
endif
# To avoid conflict with OS/2 system uconv.dll
SHORT_LIBNAME = mzuconvd
CPPSRCS = \
nsUConvDataModule.cpp \
$(NULL)
LOCAL_INCLUDES = -I$(srcdir)/../util \
-I$(srcdir)/../ucvlatin \
-I$(srcdir)/../ucvibm \
-I$(srcdir)/../ucvja \
-I$(srcdir)/../ucvtw2 \
-I$(srcdir)/../ucvtw \
-I$(srcdir)/../ucvko \
-I$(srcdir)/../ucvcn \
$(NULL)
EXTRA_DSO_LDOPTS += \
$(XPCOM_GLUE_LDOPTS) \
$(XPCOM_LIBS) \
$(MOZ_JS_LIBS) \
$(NSPR_LIBS) \
$(MOZALLOC_LIB) \
$(NULL)
SHARED_LIBRARY_LIBS += \
../ucvlatin/$(LIB_PREFIX)ucvlatin_s.$(LIB_SUFFIX) \
../ucvibm/$(LIB_PREFIX)ucvibm_s.$(LIB_SUFFIX) \
../ucvja/$(LIB_PREFIX)ucvja_s.$(LIB_SUFFIX) \
../ucvtw2/$(LIB_PREFIX)ucvtw2_s.$(LIB_SUFFIX) \
../ucvtw/$(LIB_PREFIX)ucvtw_s.$(LIB_SUFFIX) \
../ucvko/$(LIB_PREFIX)ucvko_s.$(LIB_SUFFIX) \
../ucvcn/$(LIB_PREFIX)ucvcn_s.$(LIB_SUFFIX) \
$(NULL)
ifdef FORCE_SHARED_LIB
SHARED_LIBRARY_LIBS += \
../util/external/$(LIB_PREFIX)ucvxutil_s.$(LIB_SUFFIX) \
$(NULL)
endif
include $(topsrcdir)/config/rules.mk

File diff suppressed because it is too large Load Diff

View File

@ -76,25 +76,7 @@ ifneq (,$(INTEL_ARCHITECTURE))
CPPSRCS += nsUTF8ToUnicodeSSE2.cpp
endif
LOCAL_INCLUDES = -I$(srcdir)/../util \
-I$(srcdir)/../ucvlatin \
-I$(srcdir)/../ucvibm \
-I$(srcdir)/../ucvja \
-I$(srcdir)/../ucvtw2 \
-I$(srcdir)/../ucvtw \
-I$(srcdir)/../ucvko \
-I$(srcdir)/../ucvcn \
$(NULL)
SHARED_LIBRARY_LIBS += \
../ucvlatin/$(LIB_PREFIX)ucvlatin_s.$(LIB_SUFFIX) \
../ucvibm/$(LIB_PREFIX)ucvibm_s.$(LIB_SUFFIX) \
../ucvja/$(LIB_PREFIX)ucvja_s.$(LIB_SUFFIX) \
../ucvtw2/$(LIB_PREFIX)ucvtw2_s.$(LIB_SUFFIX) \
../ucvtw/$(LIB_PREFIX)ucvtw_s.$(LIB_SUFFIX) \
../ucvko/$(LIB_PREFIX)ucvko_s.$(LIB_SUFFIX) \
../ucvcn/$(LIB_PREFIX)ucvcn_s.$(LIB_SUFFIX) \
$(NULL)
LOCAL_INCLUDES = -I$(srcdir)/../util
include $(topsrcdir)/config/rules.mk

File diff suppressed because it is too large Load Diff

View File

@ -45,8 +45,9 @@ include $(DEPTH)/config/autoconf.mk
MODULE = ucvcn
LIBRARY_NAME = ucvcn_s
FORCE_STATIC_LIB=1
ifneq (WINNT,$(OS_TARGET))
LIBXUL_LIBRARY = 1
endif
CPPSRCS = \
nsGB2312ToUnicodeV2.cpp \

View File

@ -39,6 +39,7 @@
#include "nsUCSupport.h"
#include "nsICharsetConverterManager.h"
#include "nsIServiceManager.h"
#include "nsServiceManagerUtils.h"
static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID);

View File

@ -46,7 +46,9 @@ include $(DEPTH)/config/autoconf.mk
MODULE = ucvibm
LIBRARY_NAME = ucvibm_s
FORCE_STATIC_LIB = 1
ifneq (WINNT,$(OS_TARGET))
LIBXUL_LIBRARY = 1
endif
CPPSRCS = \

View File

@ -46,8 +46,9 @@ include $(DEPTH)/config/autoconf.mk
MODULE = ucvja
LIBRARY_NAME = ucvja_s
FORCE_STATIC_LIB = 1
ifneq (WINNT,$(OS_TARGET))
LIBXUL_LIBRARY = 1
endif
CPPSRCS = \
nsJapaneseToUnicode.cpp \

View File

@ -42,6 +42,7 @@
#include "nsICharsetConverterManager.h"
#include "nsIServiceManager.h"
#include "nsServiceManagerUtils.h"
static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID);
#ifdef XP_OS2

View File

@ -45,8 +45,9 @@ include $(DEPTH)/config/autoconf.mk
MODULE = ucvko
LIBRARY_NAME = ucvko_s
FORCE_STATIC_LIB=1
ifneq (WINNT,$(OS_TARGET))
LIBXUL_LIBRARY = 1
endif
CPPSRCS = \
nsEUCKRToUnicode.cpp \

View File

@ -39,6 +39,7 @@
#include "nsUCSupport.h"
#include "nsICharsetConverterManager.h"
#include "nsIServiceManager.h"
#include "nsServiceManagerUtils.h"
static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID);

View File

@ -45,8 +45,9 @@ include $(DEPTH)/config/autoconf.mk
MODULE = ucvlatin
LIBRARY_NAME = ucvlatin_s
FORCE_STATIC_LIB = 1
ifneq (WINNT,$(OS_TARGET))
LIBXUL_LIBRARY = 1
endif
CPPSRCS = \
nsAsciiToUnicode.cpp \

View File

@ -45,8 +45,9 @@ include $(DEPTH)/config/autoconf.mk
MODULE = ucvtw
LIBRARY_NAME = ucvtw_s
FORCE_STATIC_LIB=1
ifneq (WINNT,$(OS_TARGET))
LIBXUL_LIBRARY = 1
endif
CPPSRCS = \
nsBIG5ToUnicode.cpp \

View File

@ -45,8 +45,9 @@ include $(DEPTH)/config/autoconf.mk
MODULE = ucvtw2
LIBRARY_NAME = ucvtw2_s
FORCE_STATIC_LIB=1
ifneq (WINNT,$(OS_TARGET))
LIBXUL_LIBRARY = 1
endif
CPPSRCS = \
nsEUCTWToUnicode.cpp \

View File

@ -42,6 +42,8 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = external
MODULE = uconv
LIBRARY_NAME = ucvutil_s
EXPORT_LIBRARY = 1
@ -50,18 +52,7 @@ LIBXUL_LIBRARY = 1
MODULE_NAME = nsUCUtil
CSRCS = \
ugen.c \
uscan.c \
umap.c \
$(NULL)
CPPSRCS = \
nsUCSupport.cpp \
nsUCConstructors.cpp \
nsUnicodeDecodeHelper.cpp \
nsUnicodeEncodeHelper.cpp \
$(NULL)
include $(srcdir)/objs.mk
include $(topsrcdir)/config/rules.mk

57
intl/uconv/util/external/Makefile.in vendored Normal file
View File

@ -0,0 +1,57 @@
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either of the GNU General Public License Version 2 or later (the "GPL"),
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH = ../../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = uconv
LIBRARY_NAME = ucvxutil_s
EXPORT_LIBRARY = 1
FORCE_STATIC_LIB = 1
MODULE_NAME = nsExternalUCUtil
VPATH += $(srcdir)/..
include $(srcdir)/../objs.mk
include $(topsrcdir)/config/rules.mk

12
intl/uconv/util/objs.mk Normal file
View File

@ -0,0 +1,12 @@
CSRCS = \
ugen.c \
uscan.c \
umap.c \
$(NULL)
CPPSRCS = \
nsUCSupport.cpp \
nsUCConstructors.cpp \
nsUnicodeDecodeHelper.cpp \
nsUnicodeEncodeHelper.cpp \
$(NULL)

View File

@ -312,6 +312,7 @@ class XPCShellTests(object):
On a remote system, this is more complex and we need to overload this function.
"""
cmd = wrapCommand(cmd)
print cmd
proc = Popen(cmd, stdout=stdout, stderr=stderr,
env=env, cwd=cwd)
return proc

View File

@ -200,6 +200,12 @@ COMPONENT_LIBS += \
windowds \
$(NULL)
ifneq (WINNT,$(OS_ARCH))
COMPONENT_LIBS += \
uconvd \
$(NULL)
endif
ifdef BUILD_CTYPES
COMPONENT_LIBS += \
jsctypes \

View File

@ -205,8 +205,15 @@
#endif
#endif
#ifdef XP_WIN
#define UCONV_DATA_MODULE
#else
#define UCONV_DATA_MODULE MODULE(nsUConvDataModule)
#endif
#define XUL_MODULES \
MODULE(nsUConvModule) \
UCONV_DATA_MODULE \
MODULE(nsI18nModule) \
MODULE(nsChardetModule) \
UNIVERSALCHARDET_MODULE \

View File

@ -237,10 +237,18 @@ ifdef APP_LIBXUL_DIRS
tier_platform_dirs += $(APP_LIBXUL_DIRS)
endif
ifneq (WINNT,$(OS_ARCH))
tier_platform_dirs += intl/uconv/datamodule
endif
tier_platform_dirs += toolkit/library
tier_platform_dirs += xpcom/stub
ifeq (WINNT,$(OS_ARCH))
tier_platform_dirs += intl/uconv/datamodule
endif
ifdef NS_TRACE_MALLOC
tier_platform_dirs += tools/trace-malloc
endif

View File

@ -67,6 +67,7 @@
# define NS_CycleCollectorForget NS_CycleCollectorForget_P
# define NS_CycleCollectorSuspect2 NS_CycleCollectorSuspect2_P
# define NS_CycleCollectorForget2 NS_CycleCollectorForget2_P
# define NS_IsCycleCollectorThread NS_IsCycleCollectorThread_P
#endif
#include "nscore.h"
@ -404,6 +405,9 @@ NS_CycleCollectorSuspect2(nsISupports *n);
XPCOM_API(bool)
NS_CycleCollectorForget2(nsPurpleBufferEntry *e);
XPCOM_API(bool)
NS_IsCycleCollectorThread();
#endif
/**

View File

@ -345,6 +345,7 @@ private:
return PR_SUCCESS;
}
public:
/**
* Shutdown
* Free static members.
@ -356,6 +357,8 @@ private:
sDeadlockDetector = 0;
}
private:
# ifdef MOZILLA_INTERNAL_API
// so it can call BlockingResourceBase::Shutdown()
friend void LogTerm();

View File

@ -225,9 +225,11 @@ private:
mFirstSeen(CallStack::kNone),
mOrderedLT() // FIXME bug 456272: set to empirical
{ // dep size?
MOZ_COUNT_CTOR(OrderingEntry);
}
~OrderingEntry()
{
MOZ_COUNT_DTOR(OrderingEntry);
}
CallStack mFirstSeen; // first site from which the resource appeared
@ -367,6 +369,7 @@ public:
mLock = PR_NewLock();
if (!mLock)
NS_RUNTIMEABORT("couldn't allocate deadlock detector lock");
MOZ_COUNT_CTOR(DeadlockDetector);
}
/**
@ -378,6 +381,7 @@ public:
{
PL_HashTableDestroy(mOrdering);
PR_DestroyLock(mLock);
MOZ_COUNT_DTOR(DeadlockDetector);
}
/**

View File

@ -40,10 +40,9 @@
#include "nscore.h"
#include "mozilla/threads/nsThreadIDs.h"
#if defined(MOZILLA_INTERNAL_API)
#define NS_IsCycleCollectorThread NS_IsCycleCollectorThread_P
#if defined(MOZILLA_INTERNAL_API) && !defined(XPCOM_MAKING_STUB)
#if defined(XP_WIN)
bool NS_IsCycleCollectorThread();
XPCOM_API(bool) NS_IsCycleCollectorThread();
#elif defined(NS_TLS)
// Defined in nsThreadManager.cpp.
extern NS_TLS mozilla::threads::ID gTLSThreadID;
@ -52,10 +51,10 @@ inline bool NS_IsCycleCollectorThread()
return gTLSThreadID == mozilla::threads::CycleCollector;
}
#else
NS_COM_GLUE bool NS_IsCycleCollectorThread();
XPCOM_API(bool) NS_IsCycleCollectorThread();
#endif
#else
NS_COM_GLUE bool NS_IsCycleCollectorThread();
XPCOM_API(bool) NS_IsCycleCollectorThread();
#endif
#endif /* nsCycleCollectorUtils_h__ */

View File

@ -35,6 +35,8 @@
*
* ***** END LICENSE BLOCK ***** */
#define XPCOM_MAKING_STUB
#include "nsXPCOM.h"
#include "nsXPCOMPrivate.h"
#include "nsXPCOMStrings.h"
@ -559,3 +561,12 @@ NS_CycleCollectorForget2(nsPurpleBufferEntry* e)
{
return NS_CycleCollectorForget2_P(e);
}
#ifdef XP_WIN
#undef NS_IsCycleCollectorThread
EXPORT_XPCOM_API(bool)
NS_IsCycleCollectorThread()
{
return NS_IsCycleCollectorThread_P();
}
#endif