]> https://gitweb.dealii.org/ - dealii.git/commitdiff
*** empty log message ***
authorrschulz <rschulz@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 10 Mar 2005 10:09:06 +0000 (10:09 +0000)
committerrschulz <rschulz@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 10 Mar 2005 10:09:06 +0000 (10:09 +0000)
git-svn-id: https://svn.dealii.org/trunk@10075 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/aclocal.m4
deal.II/base/include/base/config.h.in
deal.II/configure
deal.II/configure.in
deal.II/doc/faq.html
deal.II/doc/platforms/windows.html
deal.II/doc/readme.html

index 77dc38b8971e7e88490a14f0c0dcff8eab8c5425..c42b1a4025795bc086fa9652e768045b55d870e5 100644 (file)
@@ -296,6 +296,11 @@ AC_DEFUN(DEAL_II_SET_CXX_FLAGS, dnl
         LDFLAGS="$LDFLAGS -lpthread"
        ;;
 
+      *cygwin* )
+        CXXFLAGSPIC=
+        LDFLAGSPIC=
+        ;;
+
       *)
        CXXFLAGSPIC="-fPIC"
        LDFLAGSPIC="-fPIC"
@@ -987,6 +992,10 @@ AC_DEFUN(DEAL_II_SET_CC_FLAGS, dnl
        CFLAGSPIC="-fPIC"
        ;;
 
+      *cygwin*)
+        CFLAGSPIC=
+        ;;
+
       *)
        CFLAGSPIC="-fPIC"
        ;;
@@ -1206,7 +1215,15 @@ AC_DEFUN(DEAL_II_SET_F77_FLAGS, dnl
           F77FLAGSO="$F77FLAGSO -funroll-loops -funroll-all-loops -fstrict-aliasing"
         fi
   
-       F77FLAGSPIC="-fPIC"
+        case "$target" in
+           *cygwin* )
+                F77FLAGSPIC=
+                ;;
+           * )
+               F77FLAGSPIC="-fPIC"
+                ;;
+        esac
+
         F77LIBS="$F77LIBS -lg2c"
   
        ;;
@@ -1315,7 +1332,20 @@ AC_DEFUN(DEAL_II_CHECK_CPU_OPTIMIZATIONS, dnl
               ;;
         esac
        ;;
+    athlon* | pentium* | i386 | i486 | i586 | i686 | k6* | winchip*)
+        AC_MSG_RESULT(x86 derivate ($withcpu))
+       case "$GXX_VERSION" in
+         gcc*)
+             dnl Tune for this processor, but only in optimized mode
+              dnl (to prevent the effects of possible compiler bugs to affect
+              dnl both debug as well as optimized versions)
+             CXXFLAGSO="$CXXFLAGSO -march=$withcpu"
 
+             dnl Also set the mode for f77 compiler
+             F77FLAGSO="$F77FLAGSO -march=$withcpu"
+          ;;
+        esac
+        ;;
     *)
         AC_MSG_RESULT(none given or not recognized)
        ;;
@@ -3957,22 +3987,24 @@ using namespace std;
 
 
 dnl -------------------------------------------------------------
-dnl Check whether the gethostname() function is available. To
-dnl spice up things, some versions of cygwin have a problem in
-dnl that when you call that function on an AMD system, the FPU
-dnl is set into 64bit mode, rather than 80bit mode, and doesn't
-dnl do any long double computations any more, even though the
-dnl compiler still announces that it does through the std::limits
-dnl class. We have to check for this.
+dnl Check whether socket functions (i.e. functions using the
+dnl network) affect the numerical accuracy. To spice up things,
+dnl on some versions of cygwin (<=1.5.13), calling the windows
+dnl socket function (e.g. the functions defined in unistd.h)
+dnl will set the internal accuracy of the FPU to 64 bits (double)
+dnl instead of 80 bits. Consequently, all long double operations
+dnl are performed with double accuracy only. The compiler will
+dnl not notice this fact and still report long double limits in
+dnl the linits<>-class. We have to check for this, otherwise
+dnl some functions like the QGauss constructor will go into an
+dnl infinite loop.
 dnl
-dnl Usage: DEAL_II_CHECK_GETHOSTNAME
+dnl Usage: DEAL_II_CHECK_BROKEN_SOCKETS
 dnl
 dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_GETHOSTNAME, dnl
+AC_DEFUN(DEAL_II_CHECK_BROKEN_SOCKETS, dnl
 [
-  AC_CHECK_FUNCS(gethostname)
-
-  AC_MSG_CHECKING(for bad gethostname/FPU interaction)
+  AC_MSG_CHECKING(for bad socket functions/FPU interaction)
   AC_LANG(C++)
   CXXFLAGS="$CXXFLAGSG"
   AC_TRY_RUN(
@@ -3999,9 +4031,9 @@ int main()
       AC_MSG_RESULT(no)
     ],
     [
-      AC_MSG_RESULT([yes. disabling gethostname()])
-      AC_DEFINE(DEAL_II_BROKEN_GETHOSTNAME, 1, 
-                [Define if the use of gethostname() leads to strange
+      AC_MSG_RESULT([yes. disabling socket functions])
+      AC_DEFINE(DEAL_II_BROKEN_SOCKETS, 1, 
+                [Define if the use of socket functionality leads to strange
                  results with floating point computations on cygwin 
                  systems.])
     ])
index d336bac2a924fac59b90d04c1d3292abe0a808ef..2ae411434bc370f113e81ddfee0b31f72448ec14 100644 (file)
@@ -53,9 +53,9 @@
    */
 #undef DEAL_II_ARRAY_CONDITIONAL_DECAY_BUG
 
-/* Define if the use of gethostname() leads to strange results with floating
-   point computations on cygwin systems. */
-#undef DEAL_II_BROKEN_GETHOSTNAME
+/* Define if the use of socket functionality leads to strange results with
+   floating point computations on cygwin systems. */
+#undef DEAL_II_BROKEN_SOCKETS
 
 /* Backward compatibility support for functions and classes that do not take
    an explicit mapping variable, but rather use a default Q1 mapping instead
index d4d836f43df10e4ba90baaa025d227f4e0e9b2e9..c4ceeb45ab66fc6248801fa42ff66526e8e89428 100755 (executable)
@@ -3072,6 +3072,11 @@ echo "$as_me: error: Unrecognized compiler -- sorry" >&2;}
         LDFLAGS="$LDFLAGS -lpthread"
        ;;
 
+      *cygwin* )
+        CXXFLAGSPIC=
+        LDFLAGSPIC=
+        ;;
+
       *)
        CXXFLAGSPIC="-fPIC"
        LDFLAGSPIC="-fPIC"
@@ -3843,6 +3848,10 @@ echo "$as_me: error: Unrecognized compiler -- sorry" >&2;}
        CFLAGSPIC="-fPIC"
        ;;
 
+      *cygwin*)
+        CFLAGSPIC=
+        ;;
+
       *)
        CFLAGSPIC="-fPIC"
        ;;
@@ -8126,7 +8135,6 @@ fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
-
 for ac_func in gethostname
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -8229,8 +8237,8 @@ fi
 done
 
 
-  echo "$as_me:$LINENO: checking for bad gethostname/FPU interaction" >&5
-echo $ECHO_N "checking for bad gethostname/FPU interaction... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for bad socket functions/FPU interaction" >&5
+echo $ECHO_N "checking for bad socket functions/FPU interaction... $ECHO_C" >&6
   ac_ext=cc
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -8293,11 +8301,11 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 
-      echo "$as_me:$LINENO: result: yes. disabling gethostname()" >&5
-echo "${ECHO_T}yes. disabling gethostname()" >&6
+      echo "$as_me:$LINENO: result: yes. disabling socket functions" >&5
+echo "${ECHO_T}yes. disabling socket functions" >&6
 
 cat >>confdefs.h <<\_ACEOF
-#define DEAL_II_BROKEN_GETHOSTNAME 1
+#define DEAL_II_BROKEN_SOCKETS 1
 _ACEOF
 
 
@@ -8498,7 +8506,15 @@ echo "${ECHO_T}F77 compiler is unkown. no flags set!" >&6
           F77FLAGSO="$F77FLAGSO -funroll-loops -funroll-all-loops -fstrict-aliasing"
         fi
 
-       F77FLAGSPIC="-fPIC"
+        case "$target" in
+           *cygwin* )
+                F77FLAGSPIC=
+                ;;
+           * )
+               F77FLAGSPIC="-fPIC"
+                ;;
+        esac
+
         F77LIBS="$F77LIBS -lg2c"
 
        ;;
@@ -8593,6 +8609,7 @@ esac
 case "$target" in
    *cygwin )
            shared_lib_suffix=".dll"
+           cygwin_shared_lib="yes"
            ;;
 esac
 
@@ -9762,7 +9779,17 @@ echo "${ECHO_T}PowerPC64" >&6
               ;;
         esac
        ;;
+    athlon* | pentium* | i386 | i486 | i586 | i686 | k6* | winchip*)
+        echo "$as_me:$LINENO: result: x86 derivate ($withcpu)" >&5
+echo "${ECHO_T}x86 derivate ($withcpu)" >&6
+       case "$GXX_VERSION" in
+         gcc*)
+                                                     CXXFLAGSO="$CXXFLAGSO -march=$withcpu"
 
+                     F77FLAGSO="$F77FLAGSO -march=$withcpu"
+          ;;
+        esac
+        ;;
     *)
         echo "$as_me:$LINENO: result: none given or not recognized" >&5
 echo "${ECHO_T}none given or not recognized" >&6
@@ -11399,6 +11426,14 @@ echo
 echo -------------------------------------------------------------
 echo
 
+if test "x$cygwin_shared_lib" = "xyes" ; then
+  echo "     Please add the line"
+  echo "        export PATH=\$PATH:$DEAL2_DIR/lib"
+  echo "     to your .bash_profile file so that windows will be"
+  echo "     able to find the deal.II shared libraries when"
+  echo "     executing your programs."
+fi
+
 if test "x$doxygen_not_found" = "xyes" ; then
   echo "     WARNING: During configuration, no version of the doxygen"
   echo "     WARNING: documentation generation program could be found."
index 315bbc000a2709520bc81aff9ed7ce32c6a4e3f7..77f68333f2ff00d824da41bb947ea4d71a01a535 100644 (file)
@@ -206,7 +206,8 @@ DEAL_II_CHECK_ISNAN
 DEAL_II_CHECK_RAND_R
 DEAL_II_CHECK_QUAD_DEFINE
 DEAL_II_CHECK_ERROR_CODES_DEFINITION
-DEAL_II_CHECK_GETHOSTNAME
+AC_CHECK_FUNCS(gethostname)
+DEAL_II_CHECK_BROKEN_SOCKETS
 
 
 
@@ -281,6 +282,7 @@ esac
 case "$target" in
    *cygwin )
            shared_lib_suffix=".dll"
+           cygwin_shared_lib="yes"
            ;;
 esac  
 
@@ -616,6 +618,14 @@ echo
 echo -------------------------------------------------------------
 echo
 
+if test "x$cygwin_shared_lib" = "xyes" ; then
+  echo "     Please add the line"
+  echo "        export PATH=\$PATH:$DEAL2_DIR/lib"
+  echo "     to your .bash_profile file so that windows will be"
+  echo "     able to find the deal.II shared libraries when"
+  echo "     executing your programs."
+fi
+
 if test "x$doxygen_not_found" = "xyes" ; then
   echo "     WARNING: During configuration, no version of the doxygen"
   echo "     WARNING: documentation generation program could be found."
index 787e00e59bfc58b73fe3e670eb1ee2c000e16750..b8e6a900e00a6785d1e5ec394a1e2f0acd1d008c 100644 (file)
   more specific. The configuration program for
   <acronym>deal.II</acronym> expects a Unix-like environment. This is
   provided by the <a href="http://www.cygwin.com/">cygwin
-  compiler</a>. People reported successful compilation with the
-  following combination of tools:
-  </p>
-  <ul>
-  <li> cygwin 1.3.9-1
-  <li> make 3.79.1-5
-  </ul>
-
-  <p>
-  Earlier versions of "make" caused trouble, still you should try the latest
-  versions first. A look into the <a
+  system</a>. You should always use a current cygwin distribution
+  A look into the <a
   href="http://www.dealii.org/mail/maillist.html">mail
-  archive</a> might be advisable in case of difficulties.
+  archive</a> might be advisable in case of difficulties. There is a
+  small but growing community of <acronym>deal.II</acronym> users
+  under cygwin.
   </p>
 
   <p>
 
   <p>
   (or the place where you have installed deal.II, respectively) in the shell
-  prior to execution, or add this line to <code>.bashrc</code>. 
+  prior to execution, or add this line to <code>.bashrc</code> or
+  <code>.bash_profile</code>. 
   To disable shared libraries, run <code>./configure --disable-shared</code>
   and compile <acronym>deal.II</acronym> again (with <code>make all</code>).
   </p>
index d3209a7bd5fbcc2fbbb144a978e944b217b4d909..9b4acd0fe8c8bc7272325e7558dda67facb121d0 100644 (file)
 
 
     <h1>Installation instructions for Microsoft
-           Windows 95/98/2000/NT</h1>
+           Windows 95/98/2000/NT/XP</h1>
 
     <p>
-    We have no such system to try, but we have been told that it is
-    possible to use <acronym>deal.II</acronym> on Microsoft Windows
-    systems as well, using either the CygWin or MingW environments
+    It is possible to install <acronym>deal.II</acronym> on Microsoft Windows
+    systems as well, using either the <a href="http://www.cygwin.com">Cygwin</a> 
+    or <a href="http://www.mingw.org">MingW</a> environments
     that provide most of the Unix like features for the Windows system
     as well (such as ``perl'', or ``make''). You simply have to run the
     ``./configure'' script on the shell and follow the installation
     instructions in the <a href="../readme.html" target="body">ReadMe</a>
-    file.
+    file. Also, you need to include the <code>deal.II/lib</code> path in your PATH 
+    environment variable (e.g. by editing your <code>.bash_profile</code> 
+    file or the Windows registry).
     </p>
 
     <p>
@@ -34,5 +36,9 @@
     fixes for them.
     </p>
 
+    <p>
+    For more details, please have a look at the <a href="faq.html#windows">FAQ section</a>.
+    </p>
+
   </body>
 </html>
index 440c504290f5f63cd3a5b5c5464a5794e8747ff4..bf3c59081db6d3e1de5737ac9a691bd513b493d8 100644 (file)
           the use of shared libraries; courtesy of 
           <a href="http://testdrive.hp.com">testdrive.hp.com</a>);
       <li>Mac OS X 10.2 with gcc 3.x (with some restrictions on
-          the use of shared libraries).
+          the use of shared libraries);
+      <li><a href="http://www.cygwin.com">Cygwin/Windows</a> with
+          cygwin1.dll versions 1.5.xx and gcc 3.3 under Windows XP
+          and NT.
     </ul>
     Furthermore, for the following list of systems, we have collected
     our experiences on separate pages:
@@ -82,7 +85,7 @@
            PGCC 3.x and 4.x on x86 Linux</a>.
 
       <li> <a href="platforms/windows.html" target="body">Microsoft
-           Windows 95/98/2000/NT</a>.
+           Windows 95/98/2000/NT/XP</a>.
 
       <li> <a href="platforms/bcc.html" target="body">Borland C++/Kylix</a>.
     </ul>
       </p>
     </ul>
     If shared libraries were built instead of static ones, then the
-    suffix <code>.a</code> is replaced by <code>.so</code>
+    suffix <code>.a</code> is replaced by <code>.so</code> or
+    <code>.dll</code> (for Cygwin/Windows).
     </p>
 
     <p>
       <code>--disable-shared</code>. (They are disabled by default on
       those systems for which we could not make them work. This
       applies to AIX, DEC Alpha stations running Linux and OSF1,
-      CygWin Windows systems, and some other systems as
+      and some other systems as
       well. Probably, there are simple solutions, but since we can't
       regularly test on these systems, we did not try very hard. If
       anyone would like to look into this, we would be pleased to
       systems.
       </p>
 
+    <li>
+      <p>
+      <code>--with-cpu=...</code>: this enables specific optimization
+      flags for your processor. Programs compiled with these options
+      might not execute on an other system, even if that system has a very
+      similar CPU (e.g. AMD and Intel processors). However, execution time
+      can be increased by up to 30 percent if this optimization is enabled.
+      </p>
+
+      <p>
+      Currently supported CPUs are <code>PowerPC64</code>, <code>i386</code>,
+      <code>i486</code>, <code>i586</code>, <code>i686</code>,
+      <code>pentium</code>, <code>pentium-mmx</code>, <code>pentiumpro</code>, 
+      <code>pentium2</code>, <code>pentium3</code>, <code>pentium4</code>, 
+      <code>k6</code>, <code>k6-2</code>, <code>k6-3</code>, <code>athlon</code>,
+      <code>athlon-tbird</code>, <code>athlon-4</code>, <code>athlon-xp</code>, 
+      <code>athlon-mp</code>, <code>winchip-c6</code>, and <code>winchip2</code>.
+      </p>
+
+      <p>
+      Optimizations currently only work in conjunction with gcc. Without the
+      option <code>--with-cpu=xxx</code>, no cpu specific optimization is applied.
+      Furthermore, CPU specific optimization is switched on only for the compilation
+      of the optimized library versions.
+      </p>
+
     <li>
       <p>
       <code>--with-doxygen=...</code>: usually, <code>./configure</code> is

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.