[MOAB-dev] r3542 - in MOAB/trunk: . tools tools/iGeom tools/iMesh

hongjun at mcs.anl.gov hongjun at mcs.anl.gov
Sat Feb 13 10:56:21 CST 2010


Thank you for your fix.
I need more study to understand "configure.ac".
Thanks.

Hong-Jun

----- Original Message -----
From: kraftche at cae.wisc.edu
To: moab-dev at mcs.anl.gov
Sent: Saturday, February 13, 2010 7:18:01 AM GMT -06:00 US/Canada Central
Subject: [MOAB-dev] r3542 - in MOAB/trunk: . tools tools/iGeom tools/iMesh

Author: kraftche
Date: 2010-02-13 07:18:01 -0600 (Sat, 13 Feb 2010)
New Revision: 3542

Added:
   MOAB/trunk/tools/iGeom/iGeom_FCDefs.h.in
   MOAB/trunk/tools/iMesh/iMesh_FCDefs.h.in
Modified:
   MOAB/trunk/configure.ac
   MOAB/trunk/tools/Makefile.am
   MOAB/trunk/tools/iGeom/Makefile.am
   MOAB/trunk/tools/iMesh/Makefile.am
Log:
Fix iGeom configure & build logic.

o Add missing SUBDIRS entry for tools/iGeom
o Remove redundant configure logic for iMesh & iGeom
o Allow Fortran name mangling to be enabled/disabled separately
  for iMesh and iGeom
o Rename FORCE_ENABLE_(IMESH|IGEOM) to FORCE_(IMESH|IGEOM) in
  configure.ac because this value indicates that the user explicitly
  enabled or *disabled* support for the API.



Modified: MOAB/trunk/configure.ac
===================================================================
--- MOAB/trunk/configure.ac	2010-02-12 07:30:59 UTC (rev 3541)
+++ MOAB/trunk/configure.ac	2010-02-13 13:18:01 UTC (rev 3542)
@@ -15,12 +15,12 @@
 ################################################################################
 
 CONFIGURE_FORTRAN=no
-FORCE_ENABLE_IMESH=no
+FORCE_IMESH=no
 AC_ARG_ENABLE( [imesh],
 [AC_HELP_STRING([--enable-imesh(=nofortran)],[Build iMesh interface.  If optional
 'nofortran' argument is given, support for FORTRAN name mangling will be disabled.])
 AC_HELP_STRING([--disable-imesh],[Don't build support for iMesh interface.])],
-[FORCE_ENABLE_IMESH=yes
+[FORCE_IMESH=yes
  DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --enable-imesh=\"${enableval}\""],
 [enableval=yes] )
 
@@ -28,9 +28,11 @@
   yes)
     ENABLE_imesh=yes
     CONFIGURE_FORTRAN=yes
+    AC_DEFINE([IMESH_FORTRAN],[1],[Fortran-mangle iMesh symbol names])
     ;;
   nofortran|NoFortran|noFORTRAN|NoFORTRAN|Nofortran)
     ENABLE_imesh=yes
+    IMESH_FORTRAN=no
     ;;
   no)
     ENABLE_imesh=no
@@ -44,18 +46,18 @@
 #                           iGeom Part 1 of 3
 ################################################################################
 
-CONFIGURE_FORTRAN=no
-FORCE_ENABLE_IGEOM=no
+FORCE_IGEOM=no
 AC_ARG_ENABLE( [igeom],
 [AC_HELP_STRING([--enable-igeom(=nofortran)],[Build iGeom interface.  If optional
 'nofortran' argument is given, support for FORTRAN name mangling will be disabled.])
 AC_HELP_STRING([--disable-igeom],[Don't build support for iGeom interface (default).])],
-[enableval="$enableval"],[enableval=no] )
+[FORCE_IGEOM=yes],[enableval=no] )
 
 case $enableval in
   yes)
     ENABLE_igeom=yes
     CONFIGURE_FORTRAN=yes
+    AC_DEFINE([IGEOM_FORTRAN],[1],[Fortran-mangle iGeom symbol names])
     ;;
   nofortran|NoFortran|noFORTRAN|NoFORTRAN|Nofortran)
     ENABLE_igeom=yes
@@ -151,7 +153,7 @@
 
 
 ################################################################################
-#                           iMesh Part 2 of 3
+#                           iMesh/iGeom Part 2 of 3
 ################################################################################
 
 # The iMesh option must be checked before configuring the compilers
@@ -161,49 +163,32 @@
 
 AC_MSG_CHECKING([size of MBEntityHandle])
 AC_MSG_RESULT([$SIZEOF_MBENTITYHANDLE])
-IMESH_VALID_HANDLE_SIZE=yes
+ITAPS_VALID_HANDLE_SIZE=yes
 if test $SIZEOF_VOID_P -ne $SIZEOF_MBENTITYHANDLE; then
-  IMESH_VALID_HANDLE_SIZE=no
-  AC_MSG_WARN([Cannot build iMesh API because sizeof(MBEntityHandle) != sizeof(void*)])
-  if test "x$FORCE_ENABLE_IMESH" = "xno"; then
+  ITAPS_VALID_HANDLE_SIZE=no
+  AC_MSG_WARN([Cannot build iMesh or iGeom API because sizeof(MBEntityHandle) != sizeof(void*)])
+  if test "x$FORCE_IMESH" = "xno"; then
     ENABLE_imesh=no
   fi
+  if test "x$FORCE_IGEOM" = "xno"; then
+    ENABLE_igeom=no
+  fi
 fi
 
 AC_MSG_CHECKING([if iMesh support is to be built])
 AC_MSG_RESULT([$ENABLE_imesh])
 AM_CONDITIONAL([ENABLE_imesh],[test "xyes" = "x$ENABLE_imesh"])
 if test "x$ENABLE_imesh" = "xyes"; then
-  if test "x$IMESH_VALID_HANDLE_SIZE" != "xyes"; then
+  if test "x$ITAPS_VALID_HANDLE_SIZE" != "xyes"; then
     AC_MSG_ERROR([Cannot build iMesh API with sizeof(MBEntityHandle) != sizeof(void*)])
   fi
 fi
 
-################################################################################
-#                           iGeom Part 2 of 3
-################################################################################
-
-# The iGeom option must be checked before configuring the compilers
-# so that we know if we need Fortran.  This stuff has to be done
-# after configuring the compilers so that we know what size of 
-# various types are.
-
-AC_MSG_CHECKING([size of MBEntityHandle])
-AC_MSG_RESULT([$SIZEOF_MBENTITYHANDLE])
-IGEOM_VALID_HANDLE_SIZE=yes
-if test $SIZEOF_VOID_P -ne $SIZEOF_MBENTITYHANDLE; then
-  IMESH_VALID_HANDLE_SIZE=no
-  AC_MSG_WARN([Cannot build iMesh API because sizeof(MBEntityHandle) != sizeof(void*)])
-  if test "x$FORCE_ENABLE_IGEOM" = "xno"; then
-    ENABLE_igeom=no
-  fi
-fi
-
 AC_MSG_CHECKING([if iGeom support is to be built])
 AC_MSG_RESULT([$ENABLE_igeom])
 AM_CONDITIONAL([ENABLE_igeom],[test "xyes" = "x$ENABLE_igeom"])
 if test "x$ENABLE_igeom" = "xyes"; then
-  if test "x$IGEOM_VALID_HANDLE_SIZE" != "xyes"; then
+  if test "x$ITAPS_VALID_HANDLE_SIZE" != "xyes"; then
     AC_MSG_ERROR([Cannot build iGeom API with sizeof(MBEntityHandle) != sizeof(void*)])
   fi
 fi
@@ -1013,7 +998,7 @@
 AC_ARG_VAR([FC], [FORTRAN compiler command])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_HEADERS([MBVersion.h MBEntityHandle.h parallel/MBmpi_config.h])
-AC_CONFIG_HEADERS([iBase_FCDefs.h])
+AC_CONFIG_HEADERS([iBase_FCDefs.h tools/iMesh/iMesh_FCDefs.h tools/iGeom/iGeom_FCDefs.h])
 AC_CONFIG_FILES([Makefile 
                  moab.make 
                  testdir.h

Modified: MOAB/trunk/tools/Makefile.am
===================================================================
--- MOAB/trunk/tools/Makefile.am	2010-02-12 07:30:59 UTC (rev 3541)
+++ MOAB/trunk/tools/Makefile.am	2010-02-13 13:18:01 UTC (rev 3542)
@@ -115,7 +115,14 @@
   imesh_DIR = 
 endif 
 
+if ENABLE_igeom
+  igeom_DIR = iGeom
+else
+  igeom_DIR = 
+endif 
+
 SUBDIRS = $(imesh_DIR) \
+          $(igeom_DIR) \
           $(mbchaco_DIR) \
           $(mbcoupler_DIR) \
           $(mbzoltan_DIR) \

Modified: MOAB/trunk/tools/iGeom/Makefile.am
===================================================================
--- MOAB/trunk/tools/iGeom/Makefile.am	2010-02-12 07:30:59 UTC (rev 3541)
+++ MOAB/trunk/tools/iGeom/Makefile.am	2010-02-13 13:18:01 UTC (rev 3542)
@@ -47,8 +47,5 @@
 	echo "IGEOM_LIBDIR=${libdir}" >> $(DESTDIR)$(cfgdir)/iGeom-Defs.inc
 	echo "MOAB_LIBDIR=${libdir}" >> $(DESTDIR)$(cfgdir)/iGeom-Defs.inc
 
-iGeom_protos.h: iGeom.h mkprotos.sh
-	$(srcdir)/mkprotos.sh iGeom MBCN $< $@ MBCN_FCDefs.h
-
-iGeom_FCDefs.h: iBase_FCDefs.h
-	cd ../.. && ./config.status tools/iGeom/iGeom_FCDefs.h
\ No newline at end of file
+iGeom_protos.h: iGeom.h mkprotos.sh Makefile.am
+	$(srcdir)/mkprotos.sh iGeom MBCN $< $@ iGeom_FCDefs.h

Added: MOAB/trunk/tools/iGeom/iGeom_FCDefs.h.in
===================================================================
--- MOAB/trunk/tools/iGeom/iGeom_FCDefs.h.in	                        (rev 0)
+++ MOAB/trunk/tools/iGeom/iGeom_FCDefs.h.in	2010-02-13 13:18:01 UTC (rev 3542)
@@ -0,0 +1,7 @@
+
+/* Fortran-mangle iGeom symbol names */
+#undef IGEOM_FORTRAN
+
+#ifdef IGEOM_FORTRAN
+# include "MBCN_FCDefs.h"
+#endif

Modified: MOAB/trunk/tools/iMesh/Makefile.am
===================================================================
--- MOAB/trunk/tools/iMesh/Makefile.am	2010-02-12 07:30:59 UTC (rev 3541)
+++ MOAB/trunk/tools/iMesh/Makefile.am	2010-02-13 13:18:01 UTC (rev 3542)
@@ -77,14 +77,11 @@
 	echo "IMESH_LIBDIR=${libdir}" >> $(DESTDIR)$(cfgdir)/iMesh-Defs.inc
 	echo "MOAB_LIBDIR=${libdir}" >> $(DESTDIR)$(cfgdir)/iMesh-Defs.inc
 
-iMesh_protos.h: iMesh.h mkprotos.sh
-	$(srcdir)/mkprotos.sh iMesh MBCN $< $@ MBCN_FCDefs.h
+iMesh_protos.h: iMesh.h mkprotos.sh Makefile.am
+	$(srcdir)/mkprotos.sh iMesh MBCN $< $@ iMesh_FCDefs.h
 
 iMesh_extensions_protos.h: iMesh_extensions.h mkprotos.sh
-	$(srcdir)/mkprotos.sh iMesh MBCN $< $@ MBCN_FCDefs.h
+	$(srcdir)/mkprotos.sh iMesh MBCN $< $@ iMesh_FCDefs.h
 
 iMeshP_protos.h: iMeshP.h mkprotos.sh
-	$(srcdir)/mkprotos.sh iMeshP MBCN $< $@ MBCN_FCDefs.h
-
-iMesh_FCDefs.h: iBase_FCDefs.h
-	cd ../.. && ./config.status tools/iMesh/iMesh_FCDefs.h
+	$(srcdir)/mkprotos.sh iMeshP MBCN $< $@ iMesh_FCDefs.h

Added: MOAB/trunk/tools/iMesh/iMesh_FCDefs.h.in
===================================================================
--- MOAB/trunk/tools/iMesh/iMesh_FCDefs.h.in	                        (rev 0)
+++ MOAB/trunk/tools/iMesh/iMesh_FCDefs.h.in	2010-02-13 13:18:01 UTC (rev 3542)
@@ -0,0 +1,7 @@
+
+/* Fortran-mangle iMesh symbol names */
+#undef IMESH_FORTRAN
+
+#ifdef IMESH_FORTRAN
+# include "MBCN_FCDefs.h"
+#endif



More information about the moab-dev mailing list