Commit a826042a authored by Carsten "Tomcat" Book's avatar Carsten "Tomcat" Book
Browse files

Merge mozilla-central to mozilla-inbound

parents bddd4476 cf611bec
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7,4 +7,5 @@ EXPORTS DllGetClassObject PRIVATE
               DllCanUnloadNow        PRIVATE
               DllRegisterServer      PRIVATE
               DllUnregisterServer    PRIVATE
               GetProxyDllInfo        PRIVATE
+5 −0
Original line number Diff line number Diff line
/* 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/. */

1 typelib IA2Typelib.tlb
+37 −0
Original line number Diff line number Diff line
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */

typedef struct _MozRemotableHandle
{
  long fContext;
  long hRemote;
} MozRemotableHandle;

typedef [unique] MozRemotableHandle * mozHWND;
typedef [unique] MozRemotableHandle * mozHMENU;
typedef [unique] MozRemotableHandle * mozHACCEL;
typedef [unique] MozRemotableHandle * mozHBRUSH;
typedef [unique] MozRemotableHandle * mozHFONT;
typedef [unique] MozRemotableHandle * mozHDC;
typedef [unique] MozRemotableHandle * mozHICON;
typedef [unique] MozRemotableHandle * mozHRGN;
typedef [unique] MozRemotableHandle * mozHMONITOR;

cpp_quote("#if 0")
typedef [wire_marshal(mozHWND)] void* HWND;
typedef [wire_marshal(mozHMENU)] void* HMENU;
typedef [wire_marshal(mozHACCEL)] void* HACCEL;
typedef [wire_marshal(mozHBRUSH)] void* HBRUSH;
typedef [wire_marshal(mozHFONT)] void* HFONT;
typedef [wire_marshal(mozHDC)] void* HDC;
typedef [wire_marshal(mozHICON)] void* HICON;
typedef [wire_marshal(mozHRGN)] void* HRGN;
typedef [wire_marshal(mozHMONITOR)] void* HMONITOR;
cpp_quote("#endif // 0")

// We are explicitly using #include instead of import so that the imported
// IDL is treated as part of this IDL file.
#include "ia2_api_all.idl"
+27 −4
Original line number Diff line number Diff line
@@ -4,7 +4,9 @@

IA2DIR        = $(topsrcdir)/other-licenses/ia2

GARBAGE       += $(MIDL_GENERATED_FILES)
GARBAGE       += $(MIDL_GENERATED_FILES) \
                 $(MIDL_UNUSED_GENERATED_FILES) \
                 $(NULL)

# Please keep this list in sync with the moz.build file until the rest of this
# Makefile is ported over.
@@ -39,6 +41,10 @@ MIDL_ENUMS = \
  IA2CommonTypes.idl \
  $(NULL)

MIDL_LIBRARIES = \
  IA2Typelib.idl \
  $(NULL)

CSRCS = \
  dlldata.c \
  $(MIDL_INTERFACES:%.idl=%_p.c) \
@@ -53,6 +59,15 @@ MIDL_GENERATED_FILES = \
  $(MIDL_ENUMS:%.idl=%.h) \
  $(NULL)

# We want to generate a .tlb from MIDL_LIBRARIES, but midl also generates
# a bunch of .h and .c files that we're not interested in.
MIDL_UNUSED_GENERATED_FILES = \
  $(MIDL_LIBRARIES:%.idl=%_p.c) \
  $(MIDL_LIBRARIES:%.idl=%_i.c) \
  $(MIDL_LIBRARIES:%.idl=%.h) \
  $(MIDL_LIBRARIES:%.idl=%.c) \
  $(NULL)

EMBED_MANIFEST_AT = 2

INSTALL_TARGETS += midl
@@ -68,7 +83,7 @@ missing:=$(strip $(foreach onefile,$(strip $(subst dlldata.c,,$(MIDL_GENERATED_F

missing_base:=$(sort $(basename $(subst _p.c,,$(subst _i.c,,$(missing)))))

$(MIDL_GENERATED_FILES) : midl_done
$(MIDL_GENERATED_FILES) : midl_done typelib_done

ifneq ("$(missing)","")
midl_done : FORCE
@@ -80,6 +95,14 @@ midl_done : $(addprefix $(IA2DIR)/,$(MIDL_INTERFACES) $(MIDL_ENUMS))
	done
	touch $@

# This marshall dll is also registered in the installer
# The intent of this rule is to generate the .tlb file that is referenced in the
# .rc file for IA2Marshal.dll
typelib_done : $(MIDL_LIBRARIES)
	for idl in $?; do \
		$(MIDL) $(MIDL_FLAGS) -app_config -I $(IA2DIR) -D _MIDL_DECLARE_WIREM_HANDLE -dlldata `basename $$idl .idl`.c -Oicf $$idl; \
	done
	touch $@

# This marshall dll is NOT registered in the installer (agreed to by IA2 participants)
register::
	regsvr32 -s $(DIST)/bin/$(SHARED_LIBRARY)
+6 −0
Original line number Diff line number Diff line
@@ -18,6 +18,12 @@ OS_LIBS += [
    'oleaut32',
]

GENERATED_FILES += [
    'IA2Typelib.tlb',
]

RCINCLUDE = 'IA2Marshal.rc'

# The Windows MIDL code generator creates things like:
#
#   #endif !_MIDL_USE_GUIDDEF_
Loading