Commit a6917b14 authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

wined3d: Use IDL to generate wined3d.h.

parent 5e77c74f
......@@ -200,6 +200,7 @@ include/urlmon.h
include/vmr9.h
include/wine/itss.h
include/wine/svcctl.h
include/wine/wined3d.h
include/wtypes.h
include/xmldom.h
include/xmldso.h
......
......@@ -33,7 +33,7 @@
#include "wingdi.h"
#include "wine/debug.h"
#include "d3d8.h"
#include "wine/wined3d_interface.h"
#include "wine/wined3d.h"
/* Device caps */
#define INITIAL_SHADER_HANDLE_TABLE_SIZE 64
......
......@@ -36,7 +36,7 @@
#include "wine/unicode.h"
#include "d3d9.h"
#include "wine/wined3d_interface.h"
#include "wine/wined3d.h"
/* ===========================================================================
Internal use
......
......@@ -25,6 +25,8 @@
#include <stdlib.h>
#include <string.h>
#define COBJMACROS
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
......
......@@ -35,7 +35,7 @@
#include "ddcomimpl.h"
#include "wine/wined3d_interface.h"
#include "wine/wined3d.h"
#include "wine/list.h"
/*****************************************************************************
......
......@@ -28,7 +28,7 @@
#include "objbase.h"
#include "dxgi.h"
#include "wine/wined3d_interface.h"
#include "wine/wined3d.h"
#ifdef DXGI_INIT_GUID
#include "initguid.h"
#endif
......
......@@ -37,9 +37,9 @@
#include "wine/debug.h"
#include "wine/unicode.h"
#include "objbase.h"
#include "wined3d_private_types.h"
#include "wine/wined3d_interface.h"
#include "wine/wined3d_caps.h"
#include "wine/wined3d.h"
#include "wined3d_gl.h"
#include "wine/list.h"
......
......@@ -4,7 +4,10 @@ SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = none
IDL_H_SRCS = \
PRIVATE_IDL_H_SRCS = \
wine/wined3d.idl
PUBLIC_IDL_H_SRCS = \
activaut.idl \
activdbg.idl \
activscp.idl \
......@@ -80,7 +83,7 @@ IDL_TLB_SRCS = \
SRCDIR_INCLUDES = \
$(IDL_TLB_SRCS) \
$(IDL_H_SRCS) \
$(PUBLIC_IDL_H_SRCS) \
accctrl.h \
aclapi.h \
adshlp.h \
......@@ -475,11 +478,13 @@ INSTALLDIRS = \
$(DESTDIR)$(includedir)/msvcrt \
$(DESTDIR)$(includedir)
IDL_H_SRCS = $(PUBLIC_IDL_H_SRCS) $(PRIVATE_IDL_H_SRCS)
@MAKE_RULES@
OBJDIR_INCLUDES = $(IDL_H_SRCS:.idl=.h) $(IDL_TLB_SRCS:.idl=.tlb)
OBJDIR_INCLUDES = $(PUBLIC_IDL_H_SRCS:.idl=.h) $(IDL_TLB_SRCS:.idl=.tlb)
all: $(OBJDIR_INCLUDES)
all: $(IDL_H_SRCS:.idl=.h) $(IDL_TLB_SRCS:.idl=.tlb)
install install-dev:: $(OBJDIR_INCLUDES) $(INSTALLDIRS)
for f in $(SRCDIR_INCLUDES); do case $$f in \
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -115,6 +115,7 @@ my %private_idl_headers = (
"devenum.idl" => 1,
"dyngraph.idl" => 1,
"vmrender.idl" => 1,
"wine/wined3d.idl" => 1,
);
my (@makefiles, %makefiles);
......@@ -486,31 +487,38 @@ sub update_dlls(@)
sub update_includes()
{
return unless -d ".git";
my (@h_srcs, @idl_srcs, @tlb_srcs, %subdirs);
my (@h_srcs, @private_idl_srcs, @public_idl_srcs, @tlb_srcs, %subdirs);
my @includes = map { s/^include\///; $_; } split /\0/, `git ls-files -c -z include`;
foreach my $incl (@includes)
{
if ($incl =~ /(.*)\//) { $subdirs{$1} = 1; }
next if ($incl =~ /^wine\// && !$exported_wine_headers{$incl});
next if ($incl =~ /\.in$/);
if ($incl =~ /^wine\// && !$exported_wine_headers{$incl})
{
if ($private_idl_headers{$incl}) { push @private_idl_srcs, $incl; }
next;
}
if ($incl =~ /stdole2\.idl$/) { push @tlb_srcs, $incl; }
elsif ($private_idl_headers{$incl}) { push @h_srcs, $incl; }
elsif ($incl =~ /\.h$/) { push @h_srcs, $incl; }
elsif ($incl =~ /\.rh$/) { push @h_srcs, $incl; }
elsif ($incl =~ /\.inl$/) { push @h_srcs, $incl; }
elsif ($incl =~ /\.idl$/) { push @idl_srcs, $incl; }
elsif ($incl =~ /\.idl$/) { push @public_idl_srcs, $incl; }
else { die "unknown file $incl in include dir"; }
}
replace_in_file( "include/Makefile.in", '^IDL_H_SRCS\s*=', '^INSTALLDIRS',
"IDL_H_SRCS = \\\n\t",
join( " \\\n\t", sort @idl_srcs ),
replace_in_file( "include/Makefile.in", '^PRIVATE_IDL_H_SRCS\s*=', '^INSTALLDIRS',
"PRIVATE_IDL_H_SRCS = \\\n\t",
join( " \\\n\t", sort @private_idl_srcs ),
"\n\nPUBLIC_IDL_H_SRCS = \\\n\t",
join( " \\\n\t", sort @public_idl_srcs ),
"\n\nIDL_TLB_SRCS = \\\n\t",
join( " \\\n\t", sort @tlb_srcs ),
"\n\nSRCDIR_INCLUDES = \\\n\t\$(IDL_TLB_SRCS) \\\n\t\$(IDL_H_SRCS) \\\n\t",
"\n\nSRCDIR_INCLUDES = \\\n\t\$(IDL_TLB_SRCS) \\\n\t\$(PUBLIC_IDL_H_SRCS) \\\n\t",
join( " \\\n\t", sort @h_srcs ),
"\n\nEXTRASUBDIRS = ",
join( " ", sort keys %subdirs ),
"\n\nINSTALLDIRS = \\\n" );
return map { s/(.*)\.idl$/include\/$1.h/; $_; } @public_idl_srcs, @private_idl_srcs;
}
......@@ -561,8 +569,6 @@ else
@makefiles = map { s/^\.\/(.*)\.in/$1/; $_; } split(/\s/,`find . -name Makefile.in -print`);
}
update_includes();
foreach my $file (sort values %makerules, @makefiles)
{
my %make = parse_makefile( $file );
......@@ -570,6 +576,7 @@ foreach my $file (sort values %makerules, @makefiles)
}
update_makefiles( @makefiles );
push @ignores, update_includes();
push @ignores, update_ignores( @makefiles );
push @ignores, update_dlls( sort grep /^dlls\//, @makefiles );
update_gitignore( @ignores );
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment