octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MSVC compiler support [patch 1]: Extra define's


From: John W. Eaton
Subject: MSVC compiler support [patch 1]: Extra define's
Date: Wed, 25 Oct 2006 12:10:31 -0400

On 17-Oct-2006, Michael Goffioul wrote:

| John W. Eaton a écrit :
| > On 17-Oct-2006, address@hidden wrote:
| >
| > | OK, I tried to split the full patch into smaller consistent pieces and 
put everything
| > | on-line. The entry point is 
http://www.geocities.com/sw286000/README-patches.htm
| > | I hope it'll be OK like that.
| > | 
| > | What's still not handled is the generation of mx-files that do not make 
MSVC to crash.
| > | For the moment, I still apply a local patch.
| >
| > Thanks for splitting the patches.  That will help a lot.  But I would
| > like to ask you to do one more thing, which will make it much easier
| > to handle these patches.  Please submit each patch to the list
| > in a separate message.  That way, we can easily discuss the merits of
| > each patch in a separate thread on the list, and I can more easily
| > keep track of which ones have been applied.
| >   
| 
| As you wish. Here we go.
| 
| 1) Defines extra DEFS flags to allow DLL compilation under MSVC. This 
| kind of trick
| is required to swicth from __declspec(dllexport) to 
| __declspec(dllimport) depending
| on whether we are compiling the DLL or using it.

I applied this part of the patch, but I renamed XTRA_SRC_DEFS to be
XTRA_OCTINTERP_DEFS to use the name of the library rather than the
name of the directory.  I also substituted the XTRA_CRUFT_DEFS in
src/Makerules, which is included in all the libcruft Makefiles,
instead of just libcruft/misc/Makefile.

| 2) Additionally, it defines omit_deps to true for all MSVC compilation 
| as dependency
| list is not supported.

I would rather make it clear that omit_deps is related to
DEPEND_FLAGS, so I made this change instead:

Index: Makeconf.in
===================================================================
RCS file: /cvs/octave/Makeconf.in,v
retrieving revision 1.180
diff -u -u -r1.180 Makeconf.in
--- Makeconf.in 13 Oct 2006 18:11:26 -0000      1.180
+++ Makeconf.in 25 Oct 2006 16:08:40 -0000
@@ -147,6 +147,10 @@
 
 DEPEND_FLAGS = @DEPEND_FLAGS@
 DEPEND_EXTRA_SED_PATTERN = @DEPEND_EXTRA_SED_PATTERN@
+INCLUDE_DEPS = @INCLUDE_DEPS@
+ifeq ($(INCLUDE_DEPS),false)
+  omit_deps = true;
+endif
 
 CXX = @CXX@
 CXX_VERSION = @CXX_VERSION@
Index: configure.in
===================================================================
RCS file: /cvs/octave/configure.in,v
retrieving revision 1.528
diff -u -u -r1.528 configure.in
--- configure.in        18 Oct 2006 20:57:04 -0000      1.528
+++ configure.in        25 Oct 2006 16:08:40 -0000
@@ -249,18 +249,23 @@
 ### The flag to create dependency varies depending on the compier.
 
 # Assume GCC.
+INCLUDE_DEPS=true
 DEPEND_FLAGS="-M"
 DEPEND_EXTRA_SED_PATTERN=""
-case "$canonical_host_type" in
-  sparc-sun-solaris2* | i386-pc-solaris2*)
-    if test "$GCC" = yes; then
-      true
-    else
+if test "$GCC" = yes; then
+  true
+else
+  case "$canonical_host_type" in
+    sparc-sun-solaris2* | i386-pc-solaris2*)
       DEPEND_FLAGS="-xM1"
       DEPEND_EXTRA_SED_PATTERN="-e '/\/opt\/SUNWspro/d'"
-    fi
-  ;;
-esac
+    ;;
+    *)
+      INCLUDE_DEPS=false
+    ;;
+  esac
+fi
+AC_SUBST(INCLUDE_DEPS)
 AC_SUBST(DEPEND_FLAGS)
 AC_SUBST(DEPEND_EXTRA_SED_PATTERN)
 

| 3) Disable compilation of "doc/" under MSVC as I couldn't get it work yet

Why do you need to do this?  Is it because TeX is missing on your
system?  If so, then I'd like to disable the parts of the doc
generation that can't work because of missing tools rather than simply
disable all of it.

Thanks,

jwe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]