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
51ffea5a
Commit
51ffea5a
authored
Dec 18, 2019
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winegcc: Use winebuild to set the builtin flag.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
9dc348a0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
23 deletions
+11
-23
winegcc.c
tools/winegcc/winegcc.c
+11
-23
No files found.
tools/winegcc/winegcc.c
View file @
51ffea5a
...
...
@@ -524,28 +524,6 @@ static int check_platform( struct options *opts, const char *file )
return
ret
;
}
static
void
make_wine_builtin
(
const
char
*
file
)
{
static
const
char
wine_magic
[
32
]
=
"Wine builtin DLL"
;
int
fd
;
struct
{
unsigned
short
e_magic
;
unsigned
short
unused
[
29
];
unsigned
int
e_lfanew
;
}
header
;
if
((
fd
=
open
(
file
,
O_RDWR
|
O_BINARY
))
==
-
1
)
error
(
"Failed to add signature to %s
\n
"
,
file
);
if
(
read
(
fd
,
&
header
,
sizeof
(
header
)
)
==
sizeof
(
header
)
&&
!
memcmp
(
&
header
.
e_magic
,
"MZ"
,
2
))
{
if
(
header
.
e_lfanew
<
sizeof
(
header
)
+
sizeof
(
wine_magic
))
error
(
"Not enough space (%x) for Wine signature
\n
"
,
header
.
e_lfanew
);
write
(
fd
,
wine_magic
,
sizeof
(
wine_magic
)
);
}
close
(
fd
);
}
static
const
char
*
get_multiarch_dir
(
enum
target_cpu
cpu
)
{
switch
(
cpu
)
...
...
@@ -882,6 +860,16 @@ static strarray *get_winebuild_args(struct options *opts)
return
spec_args
;
}
static
void
make_wine_builtin
(
struct
options
*
opts
,
const
char
*
file
)
{
strarray
*
args
=
get_winebuild_args
(
opts
);
strarray_add
(
args
,
"--builtin"
);
strarray_add
(
args
,
file
);
spawn
(
opts
->
prefix
,
args
,
0
);
strarray_free
(
args
);
}
/* check if there is a static lib associated to a given dll */
static
char
*
find_static_lib
(
const
char
*
dll
)
{
...
...
@@ -1267,7 +1255,7 @@ static void build(struct options* opts)
spawn
(
opts
->
prefix
,
link_args
,
0
);
strarray_free
(
link_args
);
if
(
is_pe
&&
opts
->
wine_builtin
)
make_wine_builtin
(
output_path
);
if
(
is_pe
&&
opts
->
wine_builtin
)
make_wine_builtin
(
o
pts
,
o
utput_path
);
/* set the base address with prelink if linker support is not present */
if
(
opts
->
prelink
&&
!
opts
->
target
)
...
...
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