makedep: Add a separate pragma flag for typelibs that need registration.

This commit is contained in:
Alexandre Julliard 2013-12-24 20:01:53 +01:00
parent 7779af1df9
commit 566d3418af
30 changed files with 49 additions and 47 deletions

View File

@ -18,6 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "gameux.idl" #include "gameux.idl"

View File

@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
import "unknwn.idl"; import "unknwn.idl";
import "objidl.idl"; import "objidl.idl";

View File

@ -18,6 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "netfw.idl" #include "netfw.idl"

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#pragma makedep register #pragma makedep register
#include "exdisp.idl" #include "exdisp.idl"

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "jsglobal_dispid.h" #include "jsglobal_dispid.h"

View File

@ -17,6 +17,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "mmc.idl" #include "mmc.idl"

View File

@ -16,6 +16,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "mshtml.idl" #include "mshtml.idl"

View File

@ -19,7 +19,7 @@
#pragma makedep ident #pragma makedep ident
#pragma makedep register #pragma makedep register
#pragma makedep typelib #pragma makedep regtypelib
#include "msiserver_dispids.h" #include "msiserver_dispids.h"
import "unknwn.idl"; import "unknwn.idl";

View File

@ -16,6 +16,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "msxml.idl" #include "msxml.idl"

View File

@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include <msxml2did.h> #include <msxml2did.h>
#include <idispids.h> #include <idispids.h>

View File

@ -16,6 +16,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "msxml2.idl" #include "msxml2.idl"

View File

@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include <msxml2did.h> #include <msxml2did.h>
#include <idispids.h> #include <idispids.h>

View File

@ -16,6 +16,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "msxml6.idl" #include "msxml6.idl"

View File

@ -16,6 +16,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "oleacc.idl" #include "oleacc.idl"

View File

@ -18,6 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "msdasc.idl" #include "msdasc.idl"

View File

@ -18,6 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "pstore.idl" #include "pstore.idl"

View File

@ -14,6 +14,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "control.idl" #include "control.idl"

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
import "unknwn.idl"; import "unknwn.idl";
import "objidl.idl"; import "objidl.idl";

View File

@ -16,6 +16,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "exdisp.idl" #include "exdisp.idl"

View File

@ -16,6 +16,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "shldisp.idl" #include "shldisp.idl"

View File

@ -18,6 +18,6 @@
* *
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "stdole2.idl" #include "stdole2.idl"

View File

@ -18,7 +18,7 @@
* *
*/ */
#pragma makedep typelib #pragma makedep regtypelib
[ [
uuid(00020430-0000-0000-C000-000000000046), uuid(00020430-0000-0000-C000-000000000046),

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
import "oaidl.idl"; import "oaidl.idl";

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
import "oaidl.idl"; import "oaidl.idl";

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
import "oaidl.idl"; import "oaidl.idl";

View File

@ -18,6 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "wbemdisp.idl" #include "wbemdisp.idl"

View File

@ -18,6 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "httprequest.idl" #include "httprequest.idl"

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
import "oaidl.idl"; import "oaidl.idl";
cpp_quote("#undef ExpandEnvironmentStrings") cpp_quote("#undef ExpandEnvironmentStrings")

View File

@ -18,6 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#pragma makedep typelib #pragma makedep regtypelib
#include "wuapi.idl" #include "wuapi.idl"

View File

@ -57,9 +57,10 @@ struct incl_file
#define FLAG_IDL_IDENT 0x0010 /* generates an ident (_i.c) file */ #define FLAG_IDL_IDENT 0x0010 /* generates an ident (_i.c) file */
#define FLAG_IDL_REGISTER 0x0020 /* generates a registration (_r.res) file */ #define FLAG_IDL_REGISTER 0x0020 /* generates a registration (_r.res) file */
#define FLAG_IDL_TYPELIB 0x0040 /* generates a typelib (.tlb) file */ #define FLAG_IDL_TYPELIB 0x0040 /* generates a typelib (.tlb) file */
#define FLAG_IDL_HEADER 0x0080 /* generates a header (.h) file */ #define FLAG_IDL_REGTYPELIB 0x0080 /* generates a registered typelib (_t.res) file */
#define FLAG_RC_PO 0x0100 /* rc file contains translations */ #define FLAG_IDL_HEADER 0x0100 /* generates a header (.h) file */
#define FLAG_C_IMPLIB 0x0200 /* file is part of an import library */ #define FLAG_RC_PO 0x0200 /* rc file contains translations */
#define FLAG_C_IMPLIB 0x0400 /* file is part of an import library */
static const struct static const struct
{ {
@ -69,7 +70,7 @@ static const struct
} idl_outputs[] = } idl_outputs[] =
{ {
{ FLAG_IDL_TYPELIB, ".tlb", "$(TARGETFLAGS) $(IDLFLAGS) -t" }, { FLAG_IDL_TYPELIB, ".tlb", "$(TARGETFLAGS) $(IDLFLAGS) -t" },
{ FLAG_IDL_TYPELIB, "_t.res", "$(TARGETFLAGS) $(IDLFLAGS) -t" }, { FLAG_IDL_REGTYPELIB, "_t.res", "$(TARGETFLAGS) $(IDLFLAGS) -t" },
{ FLAG_IDL_CLIENT, "_c.c", "$(IDLFLAGS) -c" }, { FLAG_IDL_CLIENT, "_c.c", "$(IDLFLAGS) -c" },
{ FLAG_IDL_IDENT, "_i.c", "$(IDLFLAGS) -u" }, { FLAG_IDL_IDENT, "_i.c", "$(IDLFLAGS) -u" },
{ FLAG_IDL_PROXY, "_p.c", "$(IDLFLAGS) -p" }, { FLAG_IDL_PROXY, "_p.c", "$(IDLFLAGS) -p" },
@ -858,6 +859,7 @@ static void parse_pragma_directive( struct incl_file *source, char *str )
else if (!strcmp( flag, "ident" )) source->flags |= FLAG_IDL_IDENT; else if (!strcmp( flag, "ident" )) source->flags |= FLAG_IDL_IDENT;
else if (!strcmp( flag, "typelib" )) source->flags |= FLAG_IDL_TYPELIB; else if (!strcmp( flag, "typelib" )) source->flags |= FLAG_IDL_TYPELIB;
else if (!strcmp( flag, "register" )) source->flags |= FLAG_IDL_REGISTER; else if (!strcmp( flag, "register" )) source->flags |= FLAG_IDL_REGISTER;
else if (!strcmp( flag, "regtypelib" )) source->flags |= FLAG_IDL_REGTYPELIB;
} }
else if (strendswith( source->name, ".rc" )) else if (strendswith( source->name, ".rc" ))
{ {