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
*/
#pragma makedep typelib
#pragma makedep regtypelib
#include "gameux.idl"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -50,16 +50,17 @@ struct incl_file
struct incl_file *files[MAX_INCLUDES];
};
#define FLAG_SYSTEM 0x0001 /* is it a system include (#include <name>) */
#define FLAG_IDL_PROXY 0x0002 /* generates a proxy (_p.c) file */
#define FLAG_IDL_CLIENT 0x0004 /* generates a client (_c.c) file */
#define FLAG_IDL_SERVER 0x0008 /* generates a server (_s.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_TYPELIB 0x0040 /* generates a typelib (.tlb) file */
#define FLAG_IDL_HEADER 0x0080 /* generates a header (.h) file */
#define FLAG_RC_PO 0x0100 /* rc file contains translations */
#define FLAG_C_IMPLIB 0x0200 /* file is part of an import library */
#define FLAG_SYSTEM 0x0001 /* is it a system include (#include <name>) */
#define FLAG_IDL_PROXY 0x0002 /* generates a proxy (_p.c) file */
#define FLAG_IDL_CLIENT 0x0004 /* generates a client (_c.c) file */
#define FLAG_IDL_SERVER 0x0008 /* generates a server (_s.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_TYPELIB 0x0040 /* generates a typelib (.tlb) file */
#define FLAG_IDL_REGTYPELIB 0x0080 /* generates a registered typelib (_t.res) file */
#define FLAG_IDL_HEADER 0x0100 /* generates a header (.h) file */
#define FLAG_RC_PO 0x0200 /* rc file contains translations */
#define FLAG_C_IMPLIB 0x0400 /* file is part of an import library */
static const struct
{
@ -68,14 +69,14 @@ static const struct
const char *widl_arg;
} idl_outputs[] =
{
{ FLAG_IDL_TYPELIB, ".tlb", "$(TARGETFLAGS) $(IDLFLAGS) -t" },
{ FLAG_IDL_TYPELIB, "_t.res", "$(TARGETFLAGS) $(IDLFLAGS) -t" },
{ FLAG_IDL_CLIENT, "_c.c", "$(IDLFLAGS) -c" },
{ FLAG_IDL_IDENT, "_i.c", "$(IDLFLAGS) -u" },
{ FLAG_IDL_PROXY, "_p.c", "$(IDLFLAGS) -p" },
{ FLAG_IDL_SERVER, "_s.c", "$(IDLFLAGS) -s" },
{ FLAG_IDL_REGISTER, "_r.res", "$(IDLFLAGS) -r" },
{ FLAG_IDL_HEADER, ".h", "$(IDLFLAGS) -h" },
{ FLAG_IDL_TYPELIB, ".tlb", "$(TARGETFLAGS) $(IDLFLAGS) -t" },
{ FLAG_IDL_REGTYPELIB, "_t.res", "$(TARGETFLAGS) $(IDLFLAGS) -t" },
{ FLAG_IDL_CLIENT, "_c.c", "$(IDLFLAGS) -c" },
{ FLAG_IDL_IDENT, "_i.c", "$(IDLFLAGS) -u" },
{ FLAG_IDL_PROXY, "_p.c", "$(IDLFLAGS) -p" },
{ FLAG_IDL_SERVER, "_s.c", "$(IDLFLAGS) -s" },
{ FLAG_IDL_REGISTER, "_r.res", "$(IDLFLAGS) -r" },
{ FLAG_IDL_HEADER, ".h", "$(IDLFLAGS) -h" },
};
static struct list sources = LIST_INIT(sources);
@ -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, "typelib" )) source->flags |= FLAG_IDL_TYPELIB;
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" ))
{