Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
32b365c9
Commit
32b365c9
authored
Mar 20, 2019
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winebuild: List stubs in the import library .def files.
This way we have the full list of names to compute ordinal hints. Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
074ec584
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
8 deletions
+10
-8
build.h
tools/winebuild/build.h
+1
-1
spec32.c
tools/winebuild/spec32.c
+9
-7
No files found.
tools/winebuild/build.h
View file @
32b365c9
...
...
@@ -308,7 +308,7 @@ extern void output_bin_resources( DLLSPEC *spec, unsigned int start_rva );
extern
void
output_spec32_file
(
DLLSPEC
*
spec
);
extern
void
output_pe_module
(
DLLSPEC
*
spec
);
extern
void
output_fake_module
(
DLLSPEC
*
spec
);
extern
void
output_def_file
(
DLLSPEC
*
spec
,
int
include_
private
);
extern
void
output_def_file
(
DLLSPEC
*
spec
,
int
include_
stubs
);
extern
void
load_res16_file
(
const
char
*
name
,
DLLSPEC
*
spec
);
extern
void
output_res16_data
(
DLLSPEC
*
spec
);
extern
void
output_bin_res16_data
(
DLLSPEC
*
spec
);
...
...
tools/winebuild/spec32.c
View file @
32b365c9
...
...
@@ -934,7 +934,7 @@ void output_fake_module( DLLSPEC *spec )
*
* Build a Win32 def file from a spec file.
*/
void
output_def_file
(
DLLSPEC
*
spec
,
int
include_
private
)
void
output_def_file
(
DLLSPEC
*
spec
,
int
include_
stubs
)
{
DLLSPEC
*
spec32
=
NULL
;
const
char
*
name
;
...
...
@@ -961,16 +961,14 @@ void output_def_file( DLLSPEC *spec, int include_private )
for
(
i
=
total
=
0
;
i
<
spec
->
nb_entry_points
;
i
++
)
{
const
ORDDEF
*
odp
=
&
spec
->
entry_points
[
i
];
int
is_data
=
0
;
int
is_data
=
0
,
is_private
=
odp
->
flags
&
FLAG_PRIVATE
;
if
(
odp
->
name
)
name
=
odp
->
name
;
else
if
(
odp
->
export_name
)
name
=
odp
->
export_name
;
else
continue
;
if
(
!
(
odp
->
flags
&
FLAG_PRIVATE
))
total
++
;
else
if
(
!
include_private
)
continue
;
if
(
odp
->
type
==
TYPE_STUB
)
continue
;
if
(
!
is_private
)
total
++
;
if
(
!
include_stubs
&&
odp
->
type
==
TYPE_STUB
)
continue
;
output
(
" %s"
,
name
);
...
...
@@ -995,13 +993,17 @@ void output_def_file( DLLSPEC *spec, int include_private )
output
(
"=%s"
,
get_link_name
(
odp
));
break
;
}
case
TYPE_STUB
:
if
(
!
kill_at
&&
target_cpu
==
CPU_x86
)
output
(
"@%d"
,
get_args_size
(
odp
));
is_private
=
1
;
break
;
default:
assert
(
0
);
}
output
(
" @%d"
,
odp
->
ordinal
);
if
(
!
odp
->
name
||
(
odp
->
flags
&
FLAG_ORDINAL
))
output
(
" NONAME"
);
if
(
is_data
)
output
(
" DATA"
);
if
(
odp
->
flags
&
FLAG_PRIVATE
)
output
(
" PRIVATE"
);
if
(
is_private
)
output
(
" PRIVATE"
);
output
(
"
\n
"
);
}
if
(
!
total
)
warning
(
"%s: Import library doesn't export anything
\n
"
,
spec
->
file_name
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment