From 58bd0ec35a3078f99d646111398811d3053f0348 Mon Sep 17 00:00:00 2001 From: "bsmedberg%covad.net" Date: Tue, 8 Nov 2005 21:20:05 +0000 Subject: [PATCH] MFCEmbed (with the standalone glue) needs to link against the XPCOM_GLUE versions of XPCOM functions, not the dllimport versions. Bug 315601, this needs ex-post-facto review but I'm checking it in to get mfcembed working. git-svn-id: svn://10.0.0.236/trunk@184317 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/embedding/base/Makefile.in | 15 +--- mozilla/embedding/base/objs.mk | 47 ++++++++++++ mozilla/embedding/base/standalone/Makefile.in | 74 +++++++++++++++++++ mozilla/embedding/tests/mfcembed/Makefile.in | 13 ++-- 4 files changed, 133 insertions(+), 16 deletions(-) create mode 100644 mozilla/embedding/base/objs.mk create mode 100644 mozilla/embedding/base/standalone/Makefile.in diff --git a/mozilla/embedding/base/Makefile.in b/mozilla/embedding/base/Makefile.in index fb48e226e13..40116168bf0 100644 --- a/mozilla/embedding/base/Makefile.in +++ b/mozilla/embedding/base/Makefile.in @@ -41,6 +41,8 @@ topsrcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ +DIRS = standalone + MODULE = embed_base LIBRARY_NAME = embed_base_s XPIDL_MODULE = embed_base @@ -78,17 +80,9 @@ XPIDLSRCS = \ nsIWindowCreator2.idl \ $(NULL) -CPPSRCS = \ - nsEmbedAPI.cpp \ - $(NULL) +include $(srcdir)/objs.mk -ifeq (,$(filter-out WINNT WINCE,$(OS_ARCH))) -CPPSRCS += nsEmbedWin32.cpp -endif - -ifeq ($(OS_ARCH),OS2) -CPPSRCS += nsEmbedOS2.cpp -endif +CPPSRCS += $(EMBED_CPPSRCS) # we don't want the shared lib, but we want to force the creation of a # static lib. @@ -97,4 +91,3 @@ FORCE_STATIC_LIB = 1 include $(topsrcdir)/config/rules.mk CXXFLAGS += $(MOZ_TOOLKIT_REGISTRY_CFLAGS) - diff --git a/mozilla/embedding/base/objs.mk b/mozilla/embedding/base/objs.mk new file mode 100644 index 00000000000..b2ac165b499 --- /dev/null +++ b/mozilla/embedding/base/objs.mk @@ -0,0 +1,47 @@ +# vim:set ts=8 sw=8 sts=8 noet: +# +# ***** 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 the Mozilla browser. +# +# The Initial Developer of the Original Code is +# Christopher Blizzard. Portions created by Christopher Blizzard Copyright (C) 1999, Christopher Blizzard. All Rights Reserved. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# +# Alternatively, the contents of this file may be used under the terms of +# either 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 ***** + +EMBED_CPPSRCS = nsEmbedAPI.cpp + +ifeq (,$(filter-out WINNT WINCE,$(OS_ARCH))) +EMBED_CPPSRCS += nsEmbedWin32.cpp +endif + +ifeq ($(OS_ARCH),OS2) +EMBED_CPPSRCS += nsEmbedOS2.cpp +endif diff --git a/mozilla/embedding/base/standalone/Makefile.in b/mozilla/embedding/base/standalone/Makefile.in new file mode 100644 index 00000000000..45647bd7817 --- /dev/null +++ b/mozilla/embedding/base/standalone/Makefile.in @@ -0,0 +1,74 @@ +# vim:set ts=8 sw=8 sts=8 noet: +# +# ***** 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 the Mozilla browser. +# +# The Initial Developer of the Original Code is +# Christopher Blizzard. Portions created by Christopher Blizzard Copyright (C) 1999, Christopher Blizzard. All Rights Reserved. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# +# Alternatively, the contents of this file may be used under the terms of +# either 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@ + +MODULE = embed_base +LIBRARY_NAME = embed_base_standalone +XPIDL_MODULE = embed_base + +include $(DEPTH)/config/autoconf.mk + +REQUIRES = xpcom \ + intl \ + embedcomponents \ + $(NULL) + +DEFINES += -DMOZILLA_STRICT_API -DXPCOM_GLUE + +SDK_LIBRARY = \ + $(LIB_PREFIX)embed_base_standalone.$(LIB_SUFFIX) \ + $(NULL) + +include $(srcdir)/../objs.mk + +CPPSRCS += $(EMBED_CPPSRCS) + +# we don't want the shared lib, but we want to force the creation of a +# static lib. +FORCE_STATIC_LIB = 1 + +include $(topsrcdir)/config/rules.mk + +CXXFLAGS += $(MOZ_TOOLKIT_REGISTRY_CFLAGS) + +export:: + $(INSTALL) $(addprefix $(srcdir)/../,$(EMBED_CPPSRCS)) . diff --git a/mozilla/embedding/tests/mfcembed/Makefile.in b/mozilla/embedding/tests/mfcembed/Makefile.in index 5fcce9bae22..447a2b44e51 100644 --- a/mozilla/embedding/tests/mfcembed/Makefile.in +++ b/mozilla/embedding/tests/mfcembed/Makefile.in @@ -109,23 +109,26 @@ CPPSRCS = \ StdAfx.cpp \ $(NULL) -EXTRA_DSO_LIBS = embed_base_s profdirserviceprovidersa_s +LIBS = $(DIST)/lib/$(LIB_PREFIX)profdirserviceprovidersa_s.$(LIB_SUFFIX) ifdef NS_TRACE_MALLOC -EXTRA_DSO_LIBS += tracemalloc +LIBS += tracemalloc endif -LIBS = \ - $(EXTRA_DSO_LIBS) \ +LIBS += \ $(MOZ_UNICHARUTIL_LIBS) \ $(NULL) ifdef GRE_BUILD LIBS += \ + $(DIST)/lib/$(LIB_PREFIX)embed_base_standalone.$(LIB_SUFFIX) \ $(DIST)/lib/$(LIB_PREFIX)xpcomglue.$(LIB_SUFFIX) \ $(NULL) else -LIBS += $(XPCOM_LIBS) +LIBS += \ + $(DIST)/lib/$(LIB_PREFIX)embed_base_s.$(LIB_SUFFIX) \ + $(XPCOM_LIBS) \ + $(NULL) ifdef BUILD_STATIC_LIBS LIBS += $(MOZ_JS_LIBS) endif