[cig-commits] r5187 - in mc/3D/CitcomS/trunk: . CitcomS etc lib module visual

leif at geodynamics.org leif at geodynamics.org
Mon Nov 6 17:33:06 PST 2006


Author: leif
Date: 2006-11-06 17:33:06 -0800 (Mon, 06 Nov 2006)
New Revision: 5187

Added:
   mc/3D/CitcomS/trunk/CitcomS/Makefile.am
   mc/3D/CitcomS/trunk/citcoms.in
   mc/3D/CitcomS/trunk/etc/Makefile.am
   mc/3D/CitcomS/trunk/lib/Makefile.am
   mc/3D/CitcomS/trunk/module/Makefile.am
   mc/3D/CitcomS/trunk/pycitcoms.c
Removed:
   mc/3D/CitcomS/trunk/bin/
   mc/3D/CitcomS/trunk/module/Exchanger/
   mc/3D/CitcomS/trunk/project.cfg
Modified:
   mc/3D/CitcomS/trunk/
   mc/3D/CitcomS/trunk/Makefile.am
   mc/3D/CitcomS/trunk/configure.ac
   mc/3D/CitcomS/trunk/setup.py
   mc/3D/CitcomS/trunk/visual/Makefile.am
Log:
Took a step backwards so that I can take a more conservative
approach to build/install.  Also, temporarily deleted 'Exchanger'
and all references to it, to avoid confusion.  We can always
go back in time and retrieve it later.



Property changes on: mc/3D/CitcomS/trunk
___________________________________________________________________
Name: svn:externals
   + m4          http://geodynamics.org/svn/cig/cs/autoconf/trunk



Copied: mc/3D/CitcomS/trunk/CitcomS/Makefile.am (from rev 5059, mc/3D/CitcomS/trunk/CitcomS/Makefile.am)
===================================================================
--- mc/3D/CitcomS/trunk/CitcomS/Makefile.am	2006-10-17 09:18:15 UTC (rev 5059)
+++ mc/3D/CitcomS/trunk/CitcomS/Makefile.am	2006-11-07 01:33:06 UTC (rev 5187)
@@ -0,0 +1,70 @@
+## Process this file with automake to produce Makefile.in
+##
+##<LicenseText>
+##
+## CitcomS.py by Eh Tan, Eun-seo Choi, and Pururav Thoutireddy.
+## Copyright (C) 2002-2005, California Institute of Technology.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+##
+##</LicenseText>
+
+# $Id$
+
+nobase_pkgpython_PYTHON = \
+	__init__.py \
+	BaseApplication.py \
+	Components/__init__.py \
+	Components/Advection_diffusion/Advection_diffusion.py \
+	Components/Advection_diffusion/__init__.py \
+	Components/BC.py \
+	Components/CitcomComponent.py \
+	Components/Const.py \
+	Components/IC.py \
+	Components/Output.py \
+	Components/Param.py \
+	Components/Phase.py \
+	Components/Sphere/__init__.py \
+	Components/Sphere/FullSphere.py \
+	Components/Sphere/RegionalSphere.py \
+	Components/Sphere/Sphere.py \
+	Components/Stokes_solver/Incompressible.py \
+	Components/Stokes_solver/__init__.py \
+	Components/Tracer.py \
+	Components/Visc.py \
+	Controller.py \
+	CoupledApp.py \
+	Coupler/__init__.py \
+	Coupler/ContainingCoupler.py \
+	Coupler/EmbeddedCoupler.py \
+	Coupler/Inlet.py \
+	Coupler/Outlet.py \
+	Layout.py \
+	SimpleApp.py \
+	Solver/__init__.py \
+	Solver/CoupledFullSolver.py \
+	Solver/CoupledRegionalSolver.py \
+	Solver/CoupledSolver.py \
+	Solver/FullSolver.py \
+	Solver/RegionalSolver.py \
+	Solver/Solver.py
+
+nodist_pkgpython_PYTHON = \
+	config.py
+config.py: $(top_builddir)/config.h $(top_builddir)/Makefile
+	$(PYCONFIG) -h $(top_builddir)/config.h -m $(top_builddir)/Makefile -o $@
+CLEANFILES = $(nodist_pkgpython_PYTHON)
+
+## end of Makefile.am


Property changes on: mc/3D/CitcomS/trunk/CitcomS/Makefile.am
___________________________________________________________________
Name: svn:keywords
   + Id

Modified: mc/3D/CitcomS/trunk/Makefile.am
===================================================================
--- mc/3D/CitcomS/trunk/Makefile.am	2006-11-07 00:49:42 UTC (rev 5186)
+++ mc/3D/CitcomS/trunk/Makefile.am	2006-11-07 01:33:06 UTC (rev 5187)
@@ -23,97 +23,118 @@
 
 # $Id$
 
-SUBDIRS =
-DIST_SUBDIRS = examples tests visual
-MERLIN_SUBDIRS = module
 
-bin_PROGRAMS = CitcomSFull CitcomSRegional
+ACLOCAL_AMFLAGS = -I ./m4
 
-CitcomSFull_CPPFLAGS = -I$(top_srcdir)/lib
+if COND_PYRE
+    MAYBE_PYRE = CitcomS etc examples module tests visual
+endif
+
+SUBDIRS = lib $(MAYBE_PYRE)
+
+
+INCLUDES = -I$(top_srcdir)/lib
+
+AM_CPPFLAGS =
+if COND_HDF5
+    AM_CPPFLAGS += -DUSE_HDF5
+endif
+
+
+if COND_PYRE
+
+if COND_EMBEDDING
+    bin_PROGRAMS = pycitcoms
+else
+    bin_PROGRAMS =
+endif
+
+    bin_SCRIPTS = citcoms
+else
+    bin_PROGRAMS = CitcomSFull CitcomSRegional
+    bin_SCRIPTS =
+endif
+
+
+######## legacy drivers ########
+
+
 CitcomSFull_SOURCES = Citcom.c CitcomSFull.c
-CitcomSFull_LDADD = libCitcomS.a
-
-CitcomSRegional_CPPFLAGS = -I$(top_srcdir)/lib
+CitcomSFull_LDADD = $(top_builddir)/lib/libCitcomS.a $(LIBHDF5)
 CitcomSRegional_SOURCES = Citcom.c CitcomSRegional.c
-CitcomSRegional_LDADD = libCitcomS.a
+CitcomSRegional_LDADD = $(top_builddir)/lib/libCitcomS.a $(LIBHDF5)
 
-noinst_LIBRARIES = libCitcomS.a
 
-libCitcomS_a_CPPFLAGS = -I$(top_srcdir)/lib
-libCitcomS_a_SOURCES = \
-	lib/Advection_diffusion.c \
-	lib/advection_diffusion.h \
-	lib/advection.h \
-	lib/BC_util.c \
-	lib/Citcom_init.c \
-	lib/citcom_init.h \
-	lib/Construct_arrays.c \
-	lib/Convection.c \
-	lib/convection_variables.h \
-	lib/Drive_solvers.c \
-	lib/drive_solvers.h \
-	lib/Element_calculations.c \
-	lib/element_definitions.h \
-	lib/General_matrix_functions.c \
-	lib/global_defs.h \
-	lib/Global_operations.c \
-	lib/hdf5_related.h \
-	lib/Initial_temperature.c \
-	lib/initial_temperature.h \
-	lib/Instructions.c \
-	lib/Interuption.c \
-	lib/interuption.h \
-	lib/lith_age.h \
-	lib/Lith_age.c \
-	lib/Nodal_mesh.c \
-	lib/Output.c \
-	lib/output.h \
-	lib/Output_h5.c \
-	lib/output_h5.h \
-	lib/Pan_problem_misc_functions.c \
-	lib/parallel_related.h \
-	lib/Parallel_util.c \
-	lib/Parsing.c \
-	lib/parsing.h \
-	lib/Phase_change.c \
-	lib/phase_change.h \
-	lib/Problem_related.c \
-	lib/Process_buoyancy.c \
-	lib/Shape_functions.c \
-	lib/Size_does_matter.c \
-	lib/Solver_conj_grad.c \
-	lib/Solver_multigrid.c \
-	lib/solver.h \
-	lib/sphere_communication.h \
-	lib/Sphere_harmonics.c \
-	lib/Sphere_util.c \
-	lib/Stokes_flow_Incomp.c \
-	lib/temperature_descriptions.h \
-	lib/Topo_gravity.c \
-	lib/Tracer_advection.c \
-	lib/tracer_defs.h \
-	lib/viscosity_descriptions.h \
-	lib/Viscosity_structures.c \
-	lib/Full_boundary_conditions.c \
-	lib/Full_geometry_cartesian.c \
-	lib/Full_lith_age_read_files.c \
-	lib/Full_parallel_related.c \
-	lib/Full_read_input_from_files.c \
-	lib/Full_solver.c \
-	lib/Full_sphere_related.c \
-	lib/Full_version_dependent.c \
-	lib/Regional_boundary_conditions.c \
-	lib/Regional_geometry_cartesian.c \
-	lib/Regional_lith_age_read_files.c \
-	lib/Regional_parallel_related.c \
-	lib/Regional_read_input_from_files.c \
-	lib/Regional_solver.c \
-	lib/Regional_sphere_related.c \
-	lib/Regional_version_dependent.c
 
-EXTRA_DIST = \
-	lib/Obsolete.c \
-	lib/Full_obsolete.c \
-	lib/Regional_obsolete.c
+######## pyrized driver ########
 
+
+abs_top_srcdir = @abs_top_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_builddir = @abs_builddir@
+
+
+if COND_EMBEDDING
+    INTERPRETER = $(bindir)/pycitcoms
+    noinstINTERPRETER = $(abs_builddir)/pycitcoms
+    noinstPYTHONPATH = $(abs_top_srcdir)
+    libCitcomS = $(top_builddir)/lib/libCitcomS.a
+else
+    INTERPRETER = $(PYTHON)
+    noinstINTERPRETER = $(PYTHON)
+    noinstPYTHONPATH = $(abs_top_srcdir):$(abs_top_builddir)/module/.libs
+    libCitcomS = $(top_builddir)/lib/libCitcomS.la
+endif
+
+if COND_PYRE
+INCLUDES += \
+	-I$(top_srcdir)/module \
+	$(PYTHON_EGG_CPPFLAGS) \
+	-I$(PYTHON_INCDIR)
+endif
+
+
+# citcoms (top-level Python script)
+do_build = sed -e s%[@]INTERPRETER[@]%$(noinstINTERPRETER)%g -e s%[@]PYTHONPATH[@]%$(noinstPYTHONPATH)%g
+do_install = sed -e s%[@]INTERPRETER[@]%$(INTERPRETER)%g -e s%[@]PYTHONPATH[@]%$(PYTHONPATH)%g
+citcoms: $(srcdir)/citcoms.in Makefile
+	$(do_build) < $(srcdir)/citcoms.in > $@ || (rm -f $@ && exit 1)
+	chmod +x $@
+install-binSCRIPTS: $(bin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  if test -f "$$p.in"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f $$d$$p.in; then \
+	    f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	    echo " $(do_install) '$$d$$p.in' > '$(DESTDIR)$(bindir)/$$f'"; \
+	    $(do_install) "$$d$$p.in" > "$(DESTDIR)$(bindir)/$$f"; \
+	    echo " chmod +x '$(DESTDIR)$(bindir)/$$f'"; \
+	    chmod +x "$(DESTDIR)$(bindir)/$$f"; \
+	  else :; fi; \
+	done
+EXTRA_DIST = citcoms.in
+CLEANFILES = $(bin_SCRIPTS)
+
+
+# pycitcoms (libCitcomS + CitcomSLibmodule + embedded Python interpreter)
+pycitcoms_SOURCES = pycitcoms.c
+pycitcoms_LDADD = \
+	$(top_builddir)/module/libCitcomSLibmodule.a \
+	$(libCitcomS) \
+	$(LIBHDF5) \
+	$(LIBM)
+pycitcoms$(EXEEXT): $(pycitcoms_OBJECTS) $(pycitcoms_DEPENDENCIES) 
+	@rm -f pycitcoms$(EXEEXT)
+	$(LINK) $(PYTHON_LDFLAGS) $(PYTHON_LINKFORSHARED) \
+		$(pycitcoms_LDFLAGS) $(pycitcoms_OBJECTS) $(pycitcoms_LDADD) \
+		$(PYTHON_EGG_LDFLAGS) \
+		$(PYTHON_BLDLIBRARY) \
+		$(MPILIBS) \
+		$(FCLIBS) \
+		$(PYTHON_LIBS) $(PYTHON_MODLIBS) $(PYTHON_SYSLIBS) \
+		$(LIBS) \
+		$(PYTHON_LDLAST)
+
+
 ## end of Makefile.am

Copied: mc/3D/CitcomS/trunk/citcoms.in (from rev 5184, mc/3D/CitcomS/trunk/bin/citcoms.in)

Modified: mc/3D/CitcomS/trunk/configure.ac
===================================================================
--- mc/3D/CitcomS/trunk/configure.ac	2006-11-07 00:49:42 UTC (rev 5186)
+++ mc/3D/CitcomS/trunk/configure.ac	2006-11-07 01:33:06 UTC (rev 5187)
@@ -26,13 +26,53 @@
 
 AC_PREREQ(2.59)
 AC_INIT([CitcomS], [2.1.0], [cig-mc at geodynamics.org], [CitcomS])
+AC_CONFIG_AUX_DIR([./aux-config])
 AC_CONFIG_SRCDIR([Citcom.c])
 AC_CONFIG_HEADER([config.h])
+AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([foreign])
 
+# 'configure' options
+AC_ARG_VAR(PYTHON, [Python interpreter])
+AC_ARG_VAR(PYTHONPATH, [Python module search path])
+AC_ARG_VAR(PHDF5_HOME, [home path to parallel HDF5 library])
+AC_ARG_WITH([pyre],
+    [AC_HELP_STRING([--with-pyre],
+        [build Pyre modules @<:@default=yes@:>@])],
+    [want_pyre="$withval"],
+    [want_pyre=yes])
+AM_CONDITIONAL([COND_PYRE], [test "$want_pyre" = yes])
+AC_ARG_WITH([hdf5],
+    [AC_HELP_STRING([--with-hdf5],
+        [enable HDF5 output @<:@default=auto@:>@])],
+    [want_hdf5="$withval"],
+    [want_hdf5=auto])
+AC_ARG_ENABLE([embedding],
+    [AC_HELP_STRING([--enable-embedding],
+        [embed Python with CitcomS in a single executable @<:@default=yes@:>@])],
+    [want_embedding="$enableval"],
+    [want_embedding=yes])
+AM_CONDITIONAL([COND_EMBEDDING], [test "$want_embedding" = yes])
+
+if test "$want_pyre" = yes; then
+    # Check for Python.
+    AM_PATH_PYTHON([2.3])
+    CIT_PYTHON_SYSCONFIG
+
+    # Checks for Python modules and packages.
+    CIT_CHECK_PYTHON_EGG([pythia >= 0.8.1.0b2, < 0.8.2a])
+    CIT_PYTHON_EGG_FLAGS
+fi
+
 # Checks for programs.
 AC_PROG_CC([mpicc hcc mpcc mpcc_r mpxlc cmpicc gcc cc cl icc ecc pgcc xlc xlc_r])
-AC_PROG_RANLIB
+if test "$want_pyre" = yes; then
+    CIT_PROG_PYCONFIG
+    AC_SUBST([pkgsysconfdir], [\${sysconfdir}/$PACKAGE])
+fi
+# We don't need Fortran.
+AC_PROVIDE([AC_PROG_F77])
+AC_PROG_LIBTOOL
 
 # Checks for libraries.
 AC_SEARCH_LIBS([MPI_Init], [mpi mpich], [], [AC_MSG_ERROR([MPI library not found])])
@@ -40,21 +80,95 @@
 
 # Checks for header files.
 AC_CHECK_HEADER([mpi.h], [], [AC_MSG_ERROR([header 'mpi.h' not found])])
+if test "$want_hdf5" != no; then
+    if test "$PHDF5_HOME"; then
+        CPPFLAGS="-I$PHDF5_HOME/include $CPPFLAGS"
+    fi
+    AC_CHECK_HEADERS([hdf5.h], [AC_DEFINE([HAVE_HDF5_H])], [HDF5NOTFOUND=1])
+    if test "$HDF5NOTFOUND"; then
+        if test "$want_hdf5" = auto; then
+            want_hdf5=no
+            AC_MSG_WARN([Cannot find hdf5.h, disabling HDF5 support])
+        else
+            AC_MSG_ERROR([HDF5 header file "hdf5.h" not found!])
+        fi
+    fi
+fi
 AC_CHECK_HEADERS([malloc.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
 
 # Checks for library functions.
+AC_ARG_VAR(LIBM, [math library])
+if test -z "$LIBM"; then
+    AC_CHECK_FUNC(sqrt, , [
+        AC_CHECK_LIB(m, sqrt, [
+            LIBM="-lm"
+        ], [
+            AC_MSG_ERROR([math library not found; try setting LIBM])
+        ])
+    ])
+fi
+AC_SUBST(LIBM)
 
+if test "$want_hdf5" != no; then
+    if test "$PHDF5_HOME"; then
+        LDFLAGS="-L$PHDF5_HOME/lib $LDFLAGS"
+    fi
+    # Checks for basic HDF5 function
+    AC_CHECK_FUNC(H5Fopen, , [
+        AC_CHECK_LIB(hdf5, H5Fopen, [LIBHDF5="-lhdf5"], [HDF5NOTFOUND=1])
+    ])
+    if test "$HDF5NOTFOUND"; then
+        if test "$want_hdf5" = auto; then
+            want_hdf5=no
+            AC_MSG_WARN([Cannot find HDF5 library, disabling HDF5 support])
+        else
+            AC_MSG_ERROR([HDF5 library not found; try setting PHDF5_HOME])
+        fi
+    fi
+fi
+if test "$want_hdf5" != no; then
+    # Checks for HDF5 parallel-IO function
+    AC_CHECK_LIB(hdf5, H5Pset_dxpl_mpio, [have_phdf5="yes"], [HDF5NOTFOUND=1])
+    if test "$HDF5NOTFOUND"; then
+        if test "$want_hdf5" = auto; then
+            want_hdf5=no
+            AC_MSG_WARN([Cannot find parallel HDF5 library, disabling HDF5 support])
+        else
+            AC_MSG_ERROR([Need Parallel HDF5; try compiling HDF5 with --enable-parallel])
+        fi
+    fi
+    if test "$want_hdf5" = auto; then
+	want_hdf5=yes
+    fi
+fi
+AM_CONDITIONAL([COND_HDF5], [test "$want_hdf5" = yes])
+AC_SUBST(LIBHDF5)
+
 AC_CONFIG_FILES([Makefile
+                 CitcomS/Makefile
+                 etc/Makefile
                  examples/Makefile
+                 lib/Makefile
+                 module/Makefile
                  tests/Makefile
                  visual/Makefile
                  visual/OpenDXMacro/Makefile])
 
 AC_OUTPUT
 
-# Warning!
-AC_MSG_WARN([to build the Pyrized version, run 'merlin configure' instead])
+# report configuration summary
+echo -e "\n\n"
+echo "================ Configuration Summary ================"
+echo -e "\t PYTHON: " $PYTHON
+echo -e "\t PYTHONPATH: " $PYTHONPATH
+echo -e "\t CC: " $CC
+echo -e "\t CFLAGS: " $CFLAGS
+echo -e "\t CPPFLAGS: " $CPPFLAGS
+echo -e "\t LDFLAGS: " $LDFLAGS
+echo -e "\t with-pyre: " $want_pyre
+echo -e "\t with-hdf5: " $want_hdf5
+echo
 
 dnl end of configure.ac

Copied: mc/3D/CitcomS/trunk/etc/Makefile.am (from rev 5059, mc/3D/CitcomS/trunk/etc/Makefile.am)


Property changes on: mc/3D/CitcomS/trunk/etc/Makefile.am
___________________________________________________________________
Name: svn:keywords
   + Id

Copied: mc/3D/CitcomS/trunk/lib/Makefile.am (from rev 5059, mc/3D/CitcomS/trunk/lib/Makefile.am)
===================================================================
--- mc/3D/CitcomS/trunk/lib/Makefile.am	2006-10-17 09:18:15 UTC (rev 5059)
+++ mc/3D/CitcomS/trunk/lib/Makefile.am	2006-11-07 01:33:06 UTC (rev 5187)
@@ -0,0 +1,135 @@
+## Process this file with automake to produce Makefile.in
+##
+##<LicenseText>
+##
+## CitcomS by Louis Moresi, Shijie Zhong, Lijie Han, Eh Tan,
+## Clint Conrad, Michael Gurnis, and Eun-seo Choi.
+## Copyright (C) 1994-2005, California Institute of Technology.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+##
+##</LicenseText>
+
+# $Id$
+
+noinst_LIBRARIES =
+lib_LTLIBRARIES =
+
+if COND_PYRE
+
+if COND_EMBEDDING
+    # static library
+    noinst_LIBRARIES += libCitcomS.a
+else
+    # shared library (libtool)
+    lib_LTLIBRARIES += libCitcomS.la
+endif
+
+else
+    # static library
+    noinst_LIBRARIES += libCitcomS.a
+endif
+
+AM_CPPFLAGS =
+if COND_HDF5
+    AM_CPPFLAGS += -DUSE_HDF5
+endif
+
+# static library
+libCitcomS_a_CFLAGS = $(AM_CFLAGS) # hack for automake
+libCitcomS_a_SOURCES = $(sources)
+
+# shared library (libtool)
+libCitcomS_la_LIBADD = $(LIBM) $(LIBHDF5)
+libCitcomS_la_LDFLAGS = -release $(VERSION)
+libCitcomS_la_SOURCES = $(sources)
+
+sources = \
+	Advection_diffusion.c \
+	advection_diffusion.h \
+	advection.h \
+	BC_util.c \
+	Citcom_init.c \
+	citcom_init.h \
+	Construct_arrays.c \
+	Convection.c \
+	convection_variables.h \
+	Drive_solvers.c \
+	drive_solvers.h \
+	Element_calculations.c \
+	element_definitions.h \
+	General_matrix_functions.c \
+	global_defs.h \
+	Global_operations.c \
+	hdf5_related.h \
+	Initial_temperature.c \
+	initial_temperature.h \
+	Instructions.c \
+	Interuption.c \
+	interuption.h \
+	lith_age.h \
+	Lith_age.c \
+	Nodal_mesh.c \
+	Output.c \
+	output.h \
+	Output_h5.c \
+	output_h5.h \
+	Pan_problem_misc_functions.c \
+	parallel_related.h \
+	Parallel_util.c \
+	Parsing.c \
+	parsing.h \
+	Phase_change.c \
+	phase_change.h \
+	Problem_related.c \
+	Process_buoyancy.c \
+	Shape_functions.c \
+	Size_does_matter.c \
+	Solver_conj_grad.c \
+	Solver_multigrid.c \
+	solver.h \
+	sphere_communication.h \
+	Sphere_harmonics.c \
+	Sphere_util.c \
+	Stokes_flow_Incomp.c \
+	temperature_descriptions.h \
+	Topo_gravity.c \
+	Tracer_advection.c \
+	tracer_defs.h \
+	viscosity_descriptions.h \
+	Viscosity_structures.c \
+	Full_boundary_conditions.c \
+	Full_geometry_cartesian.c \
+	Full_lith_age_read_files.c \
+	Full_parallel_related.c \
+	Full_read_input_from_files.c \
+	Full_solver.c \
+	Full_sphere_related.c \
+	Full_version_dependent.c \
+	Regional_boundary_conditions.c \
+	Regional_geometry_cartesian.c \
+	Regional_lith_age_read_files.c \
+	Regional_parallel_related.c \
+	Regional_read_input_from_files.c \
+	Regional_solver.c \
+	Regional_sphere_related.c \
+	Regional_version_dependent.c
+
+EXTRA_DIST = \
+	Obsolete.c \
+	Full_obsolete.c \
+	Regional_obsolete.c
+
+## end of Makefile.am


Property changes on: mc/3D/CitcomS/trunk/lib/Makefile.am
___________________________________________________________________
Name: svn:keywords
   + Id

Copied: mc/3D/CitcomS/trunk/module/Makefile.am (from rev 5059, mc/3D/CitcomS/trunk/module/Makefile.am)
===================================================================
--- mc/3D/CitcomS/trunk/module/Makefile.am	2006-10-17 09:18:15 UTC (rev 5059)
+++ mc/3D/CitcomS/trunk/module/Makefile.am	2006-11-07 01:33:06 UTC (rev 5187)
@@ -0,0 +1,85 @@
+## Process this file with automake to produce Makefile.in
+##
+##<LicenseText>
+##
+## CitcomS.py by Eh Tan, Eun-seo Choi, and Pururav Thoutireddy.
+## Copyright (C) 2002-2005, California Institute of Technology.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+##
+##</LicenseText>
+
+# $Id$
+
+noinst_LIBRARIES =
+pyexec_LTLIBRARIES =
+
+if COND_EMBEDDING
+    # static library
+    noinst_LIBRARIES += libCitcomSLibmodule.a
+else
+    # extension module (libtool)
+    pyexec_LTLIBRARIES += CitcomSLibmodule.la
+endif
+
+AM_CPPFLAGS =
+if COND_HDF5
+    AM_CPPFLAGS += -DUSE_HDF5
+endif
+
+INCLUDES = \
+	-I$(top_srcdir)/lib \
+	$(PYTHON_EGG_CPPFLAGS) \
+	-I$(PYTHON_INCDIR)
+
+# static libraries
+
+libCitcomSLibmodule_a_CFLAGS = $(AM_CFLAGS) # hack for automake
+libCitcomSLibmodule_a_SOURCES = $(sources)
+
+# extension modules (libtool)
+
+CitcomSLibmodule_la_LDFLAGS = -module -release $(VERSION)
+CitcomSLibmodule_la_LIBADD = \
+	$(top_builddir)/lib/libCitcomS.la \
+	$(PYTHON_EGG_LDFLAGS)
+CitcomSLibmodule_la_SOURCES = $(sources)
+
+# sources
+
+sources = \
+	CitcomSmodule.c \
+	CitcomSmodule.h \
+	advdiffu.c \
+	advdiffu.h \
+	bindings.c \
+	bindings.h \
+	exceptions.c \
+	exceptions.h \
+	getProperty.h \
+	initial_conditions.c \
+	initial_conditions.h \
+	mesher.c \
+	mesher.h \
+	misc.c \
+	misc.h \
+	outputs.c \
+	outputs.h \
+	setProperties.c \
+	setProperties.h \
+	stokes_solver.c \
+	stokes_solver.h
+
+## end of Makefile.am


Property changes on: mc/3D/CitcomS/trunk/module/Makefile.am
___________________________________________________________________
Name: svn:keywords
   + Id

Deleted: mc/3D/CitcomS/trunk/project.cfg
===================================================================
--- mc/3D/CitcomS/trunk/project.cfg	2006-11-07 00:49:42 UTC (rev 5186)
+++ mc/3D/CitcomS/trunk/project.cfg	2006-11-07 01:33:06 UTC (rev 5187)
@@ -1,132 +0,0 @@
-[merlin.spells.thisfile.metadata]
-format.version = '1'
-
-
-[projects.CitcomS]
-
-version = '2.1'
-
-summary = """A finite element mantle convection code."""
-
-description = """
-  CitcomS is a finite element code designed to solve thermal convection
-  problems relevant to Earth's mantle. Written in C, the code runs on a
-  variety of parallel processing computers, including shared and
-  distributed memory platforms."""
-
-license = licenses.GPL
-homepage = 'http://www.geodynamics.org/cig/software/packages/citcoms/'
-contact = mailingLists.cigMC
-
-
-# actions
-
-
-[projects.CitcomS.actions.run]
-requires = [libraries.CitcomS]
-entryPoint = libraries.CitcomS.SimpleApp
-
-
-# components
-
-
-[projects.CitcomS.components.hdf]
-modifiers = [optional]
-requires = [libraries.HDFLib]
-
-
-[projects.CitcomS.components.exchanger]
-modifiers = [experimental]
-requires = [libraries.ExchangerLib]
-
-
-# programs (legacy)
-
-
-[projects.CitcomS.programs.CitcomSFull]
-modifiers = [legacy, primitive]
-requires = [libraries.libCitcomS]
-source.files = ['Citcom.c', 'CitcomSFull.c']
-
-
-[projects.CitcomS.programs.CitcomSRegional]
-modifiers = [legacy, primitive]
-requires = [libraries.libCitcomS]
-source.files = ['Citcom.c', 'CitcomSRegional.c']
-
-
-# libraries
-
-
-[projects.CitcomS.libraries.CitcomS]
-authors = [tan2, ces74, puru]
-modifiers = [scriptable]
-requires = [libraries.CitcomSLib, imports.pythia]
-
-
-[projects.CitcomS.libraries.CitcomSLib]
-modifiers = [private, native]
-source.directory = module
-requires = [libraries.libCitcomS]
-
-
-[projects.CitcomS.libraries.libCitcomS]
-authors = [moresi, szhong, han, tan2, conrad, gurnis]
-modifiers = [private, primitive]
-source.directory = lib
-requires = [imports.libm, imports.MPI]
-
-
-[projects.CitcomS.libraries.ExchangerLib]
-modifiers = [private, native]
-requires = [imports.Exchanger]
-
-
-[projects.CitcomS.libraries.HDFLib]
-modifiers = [private, native]
-requires = [imports.HDF]
-
-
-# authors of CitcomS & CitcomSLib
-
-[people]
-
-tan2.name = 'Eh Tan'
-tan2.modifiers = [author]
-
-ces74.name = 'Eun-seo Choi'
-ces74.modifiers = [author]
-
-puru.name = 'Pururav Thoutireddy'
-puru.modifiers = [author]
-
-
-# authors of libCitcomS
-
-[people]
-
-moresi.name = 'Louis Moresi'
-moresi.modifiers = [original author]
-
-szhong.name = 'Shijie Zhong'
-szhong.modifiers = [author]
-
-han.name = 'Lijie Han'
-han.modifiers = [author]
-
-# tan2 (listed above)
-
-conrad.name = 'Clint Conrad'
-conrad.modifiers = [author]
-
-gurnis.name = 'Michael Gurnis'
-gurnis.modifiers = [author]
-
-# ces74  (listed above)
-
-
-[mailingLists.cig.mc]
-postAddress = 'cig-mc at geodynamics.org'
-
-
-# end of file

Copied: mc/3D/CitcomS/trunk/pycitcoms.c (from rev 5184, mc/3D/CitcomS/trunk/bin/pycitcoms.c)
===================================================================
--- mc/3D/CitcomS/trunk/bin/pycitcoms.c	2006-11-06 22:32:23 UTC (rev 5184)
+++ mc/3D/CitcomS/trunk/pycitcoms.c	2006-11-07 01:33:06 UTC (rev 5187)
@@ -0,0 +1,52 @@
+/* 
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// 
+//<LicenseText>
+//
+// CitcomS.py by Eh Tan, Eun-seo Choi, and Pururav Thoutireddy.
+// Copyright (C) 2002-2005, California Institute of Technology.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+//</LicenseText>
+// 
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/ 
+
+#include <Python.h>
+#include <stdio.h>
+#include <mpi.h>
+#include "CitcomSmodule.h"
+
+/* include the implementation of _mpi */
+#include "mpi/_mpi.c"
+
+struct _inittab inittab[] = {
+    { "_mpi", init_mpi },
+    { "CitcomSLib", initCitcomSLib },
+    { 0, 0 }
+};
+
+int main(int argc, char **argv)
+{
+    /* add our extension module */
+    if (PyImport_ExtendInittab(inittab) == -1) {
+        fprintf(stderr, "%s: PyImport_ExtendInittab failed! Exiting...\n", argv[0]);
+        return 1;
+    }
+    return Py_Main(argc, argv);
+}
+
+/* End of file */

Modified: mc/3D/CitcomS/trunk/setup.py
===================================================================
--- mc/3D/CitcomS/trunk/setup.py	2006-11-07 00:49:42 UTC (rev 5186)
+++ mc/3D/CitcomS/trunk/setup.py	2006-11-07 01:33:06 UTC (rev 5187)
@@ -1,6 +1,33 @@
 
-from imports.merlin import use_merlin
-use_merlin()
+from ez_setup import use_setuptools
+use_setuptools()
 
-from merlin import setup
-setup()
+from setuptools import setup, find_packages
+
+setup(
+    
+    name = 'CitcomS', 
+    version = '2.1',
+
+    zip_safe = False,
+    packages = find_packages(),
+    
+    #setup_requires = [
+    #'merlin',
+    #],
+    install_requires = [
+    'pythia[mpi] >= 0.8.1.0b2, < 0.8.2a, == dev',
+    ],
+    extras_require = {
+    'Exchanger': ['Exchanger >= 1.0, < 2.0a'],
+    },
+
+    author = 'Louis Moresi, et al.',
+    author_email = 'cig-mc at geodynamics.org',
+    description = """A finite element mantle convection code.""",
+    long_description = """CitcomS is a finite element code designed to solve thermal convection problems relevant to Earth's mantle. Written in C, the code runs on a variety of parallel processing computers, including shared and distributed memory platforms.""",
+    license = 'GPL',
+    url = 'http://www.geodynamics.org/cig/software/packages/citcoms/',
+    download_url = 'http://crust.geodynamics.org/~leif/shipping/', # temporary
+
+)

Modified: mc/3D/CitcomS/trunk/visual/Makefile.am
===================================================================
--- mc/3D/CitcomS/trunk/visual/Makefile.am	2006-11-07 00:49:42 UTC (rev 5186)
+++ mc/3D/CitcomS/trunk/visual/Makefile.am	2006-11-07 01:33:06 UTC (rev 5187)
@@ -101,7 +101,7 @@
 	@$(NORMAL_INSTALL)
 	test -z "$(visualdir)" || $(mkdir_p) "$(DESTDIR)$(visualdir)"
 	@list='$(nodist_visual_DATA)'; for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f "$$p.in"; then d=; else d="$(srcdir)/"; fi; \
 	  f=$(am__strip_dir) \
 	  echo " $(do_install) '$$d$$p.in' > '$(DESTDIR)$(visualdir)/$$f'"; \
 	  $(do_install) "$$d$$p.in" > "$(DESTDIR)$(visualdir)/$$f"; \



More information about the cig-commits mailing list