Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
76ac103b
Commit
76ac103b
authored
Dec 30, 2009
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winebuild: Add support for generating import libs for 16-bit dlls.
parent
9d55475e
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
16 additions
and
9 deletions
+16
-9
main.c
tools/winebuild/main.c
+0
-1
parser.c
tools/winebuild/parser.c
+7
-0
spec16.c
tools/winebuild/spec16.c
+0
-8
spec32.c
tools/winebuild/spec32.c
+9
-0
No files found.
tools/winebuild/main.c
View file @
76ac103b
...
@@ -657,7 +657,6 @@ int main(int argc, char **argv)
...
@@ -657,7 +657,6 @@ int main(int argc, char **argv)
break
;
break
;
case
MODE_DEF
:
case
MODE_DEF
:
if
(
argv
[
0
])
fatal_error
(
"file argument '%s' not allowed in this mode
\n
"
,
argv
[
0
]
);
if
(
argv
[
0
])
fatal_error
(
"file argument '%s' not allowed in this mode
\n
"
,
argv
[
0
]
);
if
(
spec
->
type
==
SPEC_WIN16
)
fatal_error
(
"Cannot yet build .def file for 16-bit dlls
\n
"
);
if
(
!
spec_file_name
)
fatal_error
(
"missing .spec file
\n
"
);
if
(
!
spec_file_name
)
fatal_error
(
"missing .spec file
\n
"
);
if
(
!
parse_input_file
(
spec
))
break
;
if
(
!
parse_input_file
(
spec
))
break
;
BuildDef32File
(
spec
);
BuildDef32File
(
spec
);
...
...
tools/winebuild/parser.c
View file @
76ac103b
...
@@ -744,6 +744,13 @@ void add_16bit_exports( DLLSPEC *spec32, DLLSPEC *spec16 )
...
@@ -744,6 +744,13 @@ void add_16bit_exports( DLLSPEC *spec32, DLLSPEC *spec16 )
int
i
;
int
i
;
ORDDEF
*
odp
;
ORDDEF
*
odp
;
spec32
->
file_name
=
xstrdup
(
spec16
->
file_name
);
if
(
spec16
->
characteristics
&
IMAGE_FILE_DLL
)
{
spec32
->
characteristics
=
IMAGE_FILE_DLL
;
spec32
->
init_func
=
xstrdup
(
"__wine_spec_dll_entry"
);
}
/* add an export for the NE module */
/* add an export for the NE module */
odp
=
add_entry_point
(
spec32
);
odp
=
add_entry_point
(
spec32
);
...
...
tools/winebuild/spec16.c
View file @
76ac103b
...
@@ -860,14 +860,6 @@ void output_spec16_file( DLLSPEC *spec16 )
...
@@ -860,14 +860,6 @@ void output_spec16_file( DLLSPEC *spec16 )
{
{
DLLSPEC
*
spec32
=
alloc_dll_spec
();
DLLSPEC
*
spec32
=
alloc_dll_spec
();
spec32
->
file_name
=
xstrdup
(
spec16
->
file_name
);
if
(
spec16
->
characteristics
&
IMAGE_FILE_DLL
)
{
spec32
->
characteristics
=
IMAGE_FILE_DLL
;
spec32
->
init_func
=
xstrdup
(
"__wine_spec_dll_entry"
);
}
resolve_imports
(
spec16
);
resolve_imports
(
spec16
);
add_16bit_exports
(
spec32
,
spec16
);
add_16bit_exports
(
spec32
,
spec16
);
...
...
tools/winebuild/spec32.c
View file @
76ac103b
...
@@ -768,9 +768,17 @@ void output_fake_module( DLLSPEC *spec )
...
@@ -768,9 +768,17 @@ void output_fake_module( DLLSPEC *spec )
*/
*/
void
BuildDef32File
(
DLLSPEC
*
spec
)
void
BuildDef32File
(
DLLSPEC
*
spec
)
{
{
DLLSPEC
*
spec32
=
NULL
;
const
char
*
name
;
const
char
*
name
;
int
i
,
total
;
int
i
,
total
;
if
(
spec
->
type
==
SPEC_WIN16
)
{
spec32
=
alloc_dll_spec
();
add_16bit_exports
(
spec32
,
spec
);
spec
=
spec32
;
}
if
(
spec_file_name
)
if
(
spec_file_name
)
output
(
"; File generated automatically from %s; do not edit!
\n\n
"
,
output
(
"; File generated automatically from %s; do not edit!
\n\n
"
,
spec_file_name
);
spec_file_name
);
...
@@ -835,4 +843,5 @@ void BuildDef32File( DLLSPEC *spec )
...
@@ -835,4 +843,5 @@ void BuildDef32File( DLLSPEC *spec )
output
(
"
\n
"
);
output
(
"
\n
"
);
}
}
if
(
!
total
)
warning
(
"%s: Import library doesn't export anything
\n
"
,
spec
->
file_name
);
if
(
!
total
)
warning
(
"%s: Import library doesn't export anything
\n
"
,
spec
->
file_name
);
if
(
spec32
)
free_dll_spec
(
spec32
);
}
}
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