This patch adds Visual Studio 2005 support to the 21.4 build and install kit.
I will post a separate patch for 21.5.
- Vin
nt/ChangeLog addition:
2009-02-06 Vin Shelton <acs(a)xemacs.org>
* xemacs.mak: Visual Studio 2005 support: add manifest to
executables. Added compile flags for the Intel C Compiler.
* XEmacs.iss: Added MSVCR80.dll to support Visual Studio 2005.
21.4 source patch:
Diff command: cvs -q diff -u
Files affected: nt/XEmacs.iss
Index: nt/xemacs.mak
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/nt/xemacs.mak,v
retrieving revision 1.58.2.14
diff -a -u -u -r1.58.2.14 xemacs.mak
--- nt/xemacs.mak 2008/01/23 12:14:02 1.58.2.14
+++ nt/xemacs.mak 2009/02/06 00:57:35
@@ -63,6 +63,18 @@
COPY=xcopy /q
COPYDIR=xcopy /q /e
+########################### Figure out current version of VC++.
+
+!if [if not exist $(OUTDIR) mkdir "$(OUTDIR)"]
+!endif
+!if [echo MSC_VER=_MSC_VER > $(OUTDIR)\vcversion.c]
+!endif
+!if [cl /nologo /EP $(OUTDIR)\vcversion.c > $(OUTDIR)\vcversion.tmp]
+!endif
+!include "$(OUTDIR)\vcversion.tmp"
+
+########################### Process the config.inc options.
+
!include "config.inc"
!if !defined(INFODOCK)
@@ -355,14 +367,10 @@
!if $(USE_INTEL_COMPILER)
CC=icl
-# Use static library if possible
-INTEL_LIBS=libircmt.lib libmmt.lib
-# Debugging requires DLL version of libm
-!if $(DEBUG_XEMACS)
+# The static math lib no longer works for building XEmacs as of version 11.0
+# of the Intel C Compiler, so always link with the dynamic version.
INTEL_LIBS=libircmt.lib libmmd.lib
!endif
-!endif
-
#
# Compiler command echo control. Define VERBOSECC=1 to get verbose compilation.
#
@@ -379,7 +387,10 @@
OPT=-Od -Zi
!else
OPT=-O2 -G5
+!if $(USE_INTEL_COMPILER)
+OPT=-Os -arch:ia32
!endif
+!endif
!if $(USE_CRTDLL)
!if $(DEBUG_XEMACS)
@@ -568,6 +579,11 @@
{$(LIB_SRC)}.c{$(LIB_SRC)}.exe :
cd $(LIB_SRC)
$(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES)
$(CFLAGS) -Fe$@ $** -link -incremental:no setargv.obj
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
cd $(NT)
# Individual dependencies
@@ -576,15 +592,30 @@
$(LIB_SRC)/movemail.exe: $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
cd $(LIB_SRC)
$(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES)
$(CFLAGS) -Fe$@ $** wsock32.lib -link -incremental:no
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
cd $(NT)
$(LIB_SRC)/winclient.exe: $(LIB_SRC)/winclient.c
cd $(LIB_SRC)
$(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES)
$(CFLAGS) -Fe$@ $** user32.lib -link -incremental:no
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
cd $(NT)
$(LIB_SRC)/minitar.exe : $(NT)/minitar.c
$(CCV) $(CFLAGS_NO_LIB) -I"$(ZLIB_DIR)" $(LIB_SRC_DEFINES) -MD -Fe$@
$** $(ZLIB_DIR)\zlib.lib -link -incremental:no
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
LIB_SRC_TOOLS = \
$(LIB_SRC)/etags.exe \
@@ -1438,6 +1469,11 @@
# Make the resource section read/write since almost all of it is the dump
# data which needs to be writable. This avoids having to copy it.
editbin -nologo -stack:0x800000 -section:.rsrc,rw xemacs.exe
+# If we're using Visual Studio 2005 or greater,
+# embed the manifest into the executable.
+!if $(MSC_VER) >= 1400
+ mt -manifest $@.manifest -outputresource:$@;1
+!endif
$(DEL) $(TEMACS_DIR)\xemacs.dmp
!else
editbin -nologo -stack:0x800000 xemacs.exe
Index: nt/XEmacs.iss
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/nt/Attic/XEmacs.iss,v
retrieving revision 1.1.2.11
diff -a -u -u -r1.1.2.11 XEmacs.iss
--- nt/XEmacs.iss 2009/01/09 01:13:40 1.1.2.11
+++ nt/XEmacs.iss 2009/02/06 00:57:35
@@ -3,6 +3,8 @@
; This script requires the Inno Setup pre-processor.
;
; Version History
+; 2009-01-29 Vin Shelton <acs(a)xemacs.org> Add MSVCR80.dll, which
is required by VS 2005 and needed at
+; installation time by minitar.
; 2009-01-06 Vin Shelton <acs(a)xemacs.org> Remove {#KitName} and
{#XEmacs_Branch} and force the caller
; to define the ReadMe
file name and Setup file name directly.
; 2009-01-03 Vin Shelton <acs(a)xemacs.org> Bump default version to 21.4.22.
@@ -86,6 +88,7 @@
Source: "{#PkgSrc}\xemacs-base-*-pkg.tar"; DestDir:
"{app}\xemacs-packages"; Flags: ignoreversion
; minitar.exe and unpack.cmd are used to unpack the packages
Source: "{#ExecSrc}\XEmacs-{#XEmacsVersion}\i586-pc-win32\minitar.exe";
DestDir: "{app}\xemacs-packages"; Flags: ignoreversion
+Source: "{#ExecSrc}\XEmacs-{#XEmacsVersion}\i586-pc-win32\MSVCR80.dll";
DestDir: "{app}\xemacs-packages"; Flags: ignoreversion
Source: "unpack.cmd"; DestDir: "{app}\xemacs-packages"; Flags:
ignoreversion
Source: "{#PkgSrc}\package-index.LATEST.gpg"; DestDir: "{app}";
#ifndef QUICKIE_TEST
cvs diff: closing down connection to
cvs.xemacs.org: No such file or directory
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches