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
c4e0b9d0
Commit
c4e0b9d0
authored
May 18, 2019
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
makefiles: Support cross-compilation of 16-bit libraries.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
d58953b3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
11 deletions
+16
-11
exe16_entry.c
dlls/winecrt0/exe16_entry.c
+1
-1
makedep.c
tools/makedep.c
+14
-6
winegcc.c
tools/winegcc/winegcc.c
+1
-4
No files found.
dlls/winecrt0/exe16_entry.c
View file @
c4e0b9d0
...
...
@@ -18,7 +18,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if
defined(__i386__) && !defined(_WIN32)
#if
def __i386__
#include <stdarg.h>
#include "windef.h"
...
...
tools/makedep.c
View file @
c4e0b9d0
...
...
@@ -3221,9 +3221,11 @@ static void output_module( struct makefile *make )
{
strarray_add
(
&
make
->
clean_files
,
strmake
(
"lib%s.def"
,
make
->
importlib
));
output
(
"%s.def: %s %s
\n
"
,
importlib_path
,
tools_path
(
make
,
"winebuild"
),
spec_file
);
output
(
"
\t
%s -w --def -o $@
--export %s"
,
tools_path
(
make
,
"winebuild"
),
spec_file
);
output
(
"
\t
%s -w --def -o $@
"
,
tools_path
(
make
,
"winebuild"
)
);
output_filenames
(
target_flags
);
if
(
make
->
is_win16
)
output_filename
(
"-m16"
);
output_filename
(
"--export"
);
output_filename
(
spec_file
);
output
(
"
\n
"
);
add_install_rule
(
make
,
make
->
importlib
,
strmake
(
"lib%s.def"
,
make
->
importlib
),
...
...
@@ -3240,8 +3242,11 @@ static void output_module( struct makefile *make )
output
(
"%s.a: %s %s"
,
importlib_path
,
tools_path
(
make
,
"winebuild"
),
spec_file
);
output_filenames_obj_dir
(
make
,
make
->
implib_objs
);
output
(
"
\n
"
);
output
(
"
\t
%s -w --implib -o $@
--export %s"
,
tools_path
(
make
,
"winebuild"
),
spec_file
);
output
(
"
\t
%s -w --implib -o $@
"
,
tools_path
(
make
,
"winebuild"
)
);
output_filenames
(
target_flags
);
if
(
make
->
is_win16
)
output_filename
(
"-m16"
);
output_filename
(
"--export"
);
output_filename
(
spec_file
);
output_filenames_obj_dir
(
make
,
make
->
implib_objs
);
output
(
"
\n
"
);
add_install_rule
(
make
,
make
->
importlib
,
...
...
@@ -3264,8 +3269,10 @@ static void output_module( struct makefile *make )
output
(
": %s %s"
,
tools_path
(
make
,
"winebuild"
),
spec_file
);
output_filenames_obj_dir
(
make
,
cross_files
);
output
(
"
\n
"
);
output
(
"
\t
%s -b %s -w --implib -o $@ --export %s"
,
tools_path
(
make
,
"winebuild"
),
crosstarget
,
spec_file
);
output
(
"
\t
%s -b %s -w --implib -o $@"
,
tools_path
(
make
,
"winebuild"
),
crosstarget
);
if
(
make
->
is_win16
)
output_filename
(
"-m16"
);
output_filename
(
"--export"
);
output_filename
(
spec_file
);
output_filenames_obj_dir
(
make
,
cross_files
);
output
(
"
\n
"
);
}
...
...
@@ -3586,6 +3593,7 @@ static void output_subdirs( struct makefile *make )
output_filename
(
tools_path
(
make
,
"winebuild"
));
output
(
"
\n
"
);
output
(
"
\t
%s -b %s -w -o $@"
,
tools_path
(
make
,
"winebuild"
),
crosstarget
);
if
(
submake
->
is_win16
)
output_filename
(
"-m16"
);
output_filename
(
"--implib"
);
output_filename
(
"--export"
);
output_filename
(
spec_file
);
...
...
@@ -4175,14 +4183,14 @@ static void load_sources( struct makefile *make )
LIST_FOR_EACH_ENTRY
(
file
,
&
make
->
includes
,
struct
incl_file
,
entry
)
parse_file
(
make
,
file
,
0
);
LIST_FOR_EACH_ENTRY
(
file
,
&
make
->
sources
,
struct
incl_file
,
entry
)
get_dependencies
(
file
,
file
);
if
(
crosstarget
&&
!
make
->
is_win16
&&
!
strarray_exists
(
&
make
->
imports
,
"kernel"
))
make
->
is_cross
=
(
make
->
testdll
||
make
->
use_msvcrt
||
!
has_object_file
(
make
));
if
(
crosstarget
)
make
->
is_cross
=
(
make
->
testdll
||
make
->
use_msvcrt
||
!
has_object_file
(
make
));
if
(
make
->
is_cross
)
{
for
(
i
=
0
;
i
<
make
->
imports
.
count
;
i
++
)
strarray_add_uniq
(
&
cross_import_libs
,
make
->
imports
.
str
[
i
]
);
if
(
make
->
use_msvcrt
)
strarray_add_uniq
(
&
cross_import_libs
,
"msvcrt"
);
if
(
make
->
is_win16
)
strarray_add_uniq
(
&
cross_import_libs
,
"kernel"
);
strarray_add_uniq
(
&
cross_import_libs
,
"winecrt0"
);
strarray_add_uniq
(
&
cross_import_libs
,
"kernel32"
);
strarray_add_uniq
(
&
cross_import_libs
,
"ntdll"
);
...
...
tools/winegcc/winegcc.c
View file @
c4e0b9d0
...
...
@@ -429,7 +429,7 @@ static strarray *get_link_args( struct options *opts, const char *output_name )
case
PLATFORM_WINDOWS
:
case
PLATFORM_CYGWIN
:
if
(
opts
->
shared
)
if
(
opts
->
shared
||
opts
->
win16_app
)
{
strarray_add
(
flags
,
"-shared"
);
strarray_add
(
flags
,
"-Wl,--kill-at"
);
...
...
@@ -999,9 +999,6 @@ static void build(struct options* opts)
lang
=
file
;
}
if
(
opts
->
win16_app
&&
is_pe
)
error
(
"Building 16-bit code is not supported for Windows
\n
"
);
/* add the default libraries, if needed */
if
(
!
opts
->
wine_objdir
&&
!
opts
->
nodefaultlibs
)
...
...
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