Win64 patch 1/13
Ge van Geldorp
ge at gse.nl
Mon Jun 19 13:03:32 CDT 2006
Changelog:
Ge van Geldorp <ge at gse.nl>
- Prepare build system for Win64 specific .c and .spec files
Index: configure.ac
===================================================================
RCS file: /home/wine/wine/configure.ac,v
retrieving revision 1.456
diff -u -r1.456 configure.ac
--- configure.ac 15 Mar 2006 11:13:39 -0000 1.456
+++ configure.ac 19 Jun 2006 16:33:48 -0000
@@ -62,6 +62,14 @@
WIN16_INSTALL=""
fi
+AC_SUBST(WIN64_FILES,"\$(WIN64_FILES)")
+AC_SUBST(MAINSPEC,"\$(SPEC_SRC64)")
+if test "x$enable_win64" != "xyes"
+then
+ WIN64_FILES=""
+ MAINSPEC="\$(SPEC_SRC32)"
+fi
+
dnl **** Check for some programs ****
AC_PROG_MAKE_SET
@@ -1000,7 +1008,7 @@
fi
case $host_cpu in
- *i[[3456789]]86*)
+ *i[[3456789]]86* | x86_64)
AC_CACHE_CHECK([whether we can relocate the executable to 0x7bf00000], ac_cv_ld_reloc_exec,
[WINE_TRY_CFLAGS([-Wl,--section-start,.interp=0x7bf00400],
ac_cv_ld_reloc_exec="yes", ac_cv_ld_reloc_exec="no")])
Index: dlls/Makedll.rules.in
===================================================================
RCS file: /home/wine/wine/dlls/Makedll.rules.in,v
retrieving revision 1.85
diff -u -r1.85 Makedll.rules.in
--- dlls/Makedll.rules.in 16 Mar 2006 20:41:41 -0000 1.85
+++ dlls/Makedll.rules.in 19 Jun 2006 16:33:48 -0000
@@ -15,10 +15,13 @@
IMPLIBEXT = @IMPLIBEXT@
DEFS = -D__WINESRC__ $(DLLDEFS) $(EXTRADEFS)
BASEMODULE = $(MODULE:%.dll=%)
-MAINSPEC = $(BASEMODULE).spec
+SPEC_SRC32 = $(BASEMODULE).spec
+SPEC_SRC64 ?= $(SPEC_SRC32)
+MAINSPEC = @MAINSPEC@
SPEC_DEF = lib$(BASEMODULE).def
WIN16_FILES = $(SPEC_SRCS16:.spec=.spec.o) $(C_SRCS16:.c=.o) $(EXTRA_OBJS16)
-ALL_OBJS = @WIN16_FILES@ $(OBJS) $(RC_SRCS:.rc=.res)
+WIN64_FILES = $(C_SRCS64:.c=.o) $(EXTRA_OBJS64)
+ALL_OBJS = @WIN16_FILES@ @WIN64_FILES@ $(OBJS) $(RC_SRCS:.rc=.res)
ALL_LIBS = -L$(LIBDIR) -lwine $(EXTRALIBS) $(LIBPORT) $(LDFLAGS) $(LIBS)
ALL_IMPORTS = $(DELAYIMPORTS) $(IMPORTS)
IMPLIB_OBJS = $(IMPLIB_SRCS:.c=.o)
Index: programs/Makeprog.rules.in
===================================================================
RCS file: /home/wine/wine/programs/Makeprog.rules.in,v
retrieving revision 1.43
diff -u -r1.43 Makeprog.rules.in
--- programs/Makeprog.rules.in 16 Mar 2006 20:41:41 -0000 1.43
+++ programs/Makeprog.rules.in 19 Jun 2006 16:33:48 -0000
@@ -12,6 +12,8 @@
DLLDEFS = @DLLDEFS@
DLLFLAGS = @DLLFLAGS@
DEFS = $(DLLDEFS) $(EXTRADEFS)
+WIN64_FILES = $(C_SRCS64:.c=.o) $(EXTRA_OBJS64)
+ALL_OBJS = @WIN64_FILES@ $(OBJS)
ALL_IMPORTS = $(DELAYIMPORTS) $(IMPORTS)
ALL_LIBS = $(ALL_IMPORTS:%=-l%) -L$(LIBDIR) -lwine $(EXTRALIBS) $(LIBPORT) $(LDFLAGS) $(LIBS)
BASEMODULE = $(MODULE:.exe=)
@@ -23,16 +25,16 @@
# Rules for .so main module
-$(MODULE).so: $(OBJS) $(RC_SRCS:.rc=.res) Makefile.in
- $(WINEGCC) -B$(TOOLSDIR)/tools/winebuild $(APPMODE) $(OBJS) $(RC_SRCS:.rc=.res) -o $@ -L$(DLLDIR) $(ALL_LIBS) $(DELAYIMPORTS:%=-Wb,-d%)
+$(MODULE).so: $(ALL_OBJS) $(RC_SRCS:.rc=.res) Makefile.in
+ $(WINEGCC) -B$(TOOLSDIR)/tools/winebuild $(APPMODE) $(ALL_OBJS) $(RC_SRCS:.rc=.res) -o $@ -L$(DLLDIR) $(ALL_LIBS) $(DELAYIMPORTS:%=-Wb,-d%)
$(BASEMODULE): $(WINEWRAPPER)
$(RM) $@ && $(LN_S) $(WINEWRAPPER) $@
# Rules for .exe main module
-$(MODULE): $(OBJS) $(RCOBJS) Makefile.in
- $(CC) $(APPMODE) $(OBJS) $(RCOBJS) -o $@ $(ALL_LIBS)
+$(MODULE): $(ALL_OBJS) $(RCOBJS) Makefile.in
+ $(CC) $(APPMODE) $(ALL_OBJS) $(RCOBJS) -o $@ $(ALL_LIBS)
# Rules for testing
More information about the wine-patches
mailing list