Parent Directory
|
Revision Log
|
Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint55c_post: | (view) (download) (annotate) |
Sticky Tag: |
o fix minor BUILD_INFO.h problem
o add header info to both the NetCDF output and the model stdout - requested by Steph
o correctly handle the case where $FC != $LINK
o fix small syntax error in the --help option
o fix typo
o make the CC default a better guess and make it work with the CC environment variable which was the previous behavior
o fix missing CC entry
o genmake2: add ability to search for C compilers and cleanup test output - fixes recent SX-6 problems and should help with others (eg. HP-UX)
o make it easy to specify the "cyrus" makedepend
o netcdf (mnc) now compiles and runs on halem
o convert "test -e" to "test -f" which seems to be more portable - the "sh" shell on NEC SX-6 machines dies without it!
o remove bash-isms (such as "${##/*/}") and further simplify the syntax so that even the old and balky sh shell on halem will successfully run genmake2
o http://mitgcm.org/pipermail/mitgcm-support/2004-July/002343.html
o fix the "find a working makedepend" bug found by JMC
o do a better job of finding makedepend even when an optfile is specified
Fixed .SUFFIXES order o order must reflect order of dependencies o now works with all flavors of "make" not just gmake
New and improved test for ETIME actually finds it when it is there.
Update to genmake that makes it check for ETIME and sets HAVE_ETIME accordingly. #ifdef HAVE_ETIME added to timers.F for this
o invoke "sh" instead of "bash" -- hopefully its more portable
o add description of "-adof" and synonymous options to the "--help" output
Better clean up of STD* files
o MITgcm now builds and runs on cygwin - Note that there is still a problem due to directories in verification named "aux". Apparently, windows is such broken crap that that you cannot use "aux" as a file or dir name. In the mean time, check out the code using: cvs co MITgcm_verif_basic and you can avoid those directories.
o more changes to allow for arbitrary Fortran 77/90 file extensions on fundamentally broken environments (eg. cygwin, MacOS HFS+) that cannot distinguish between .F and .f files - works with arbitrary extensions on Linux - needs more testing on cygwin and MacOS
o first step towards fixing the *.F/*.f problem that exists within cygwin and MacOSX environments
o expand_pkg_groups now returns a state indicating whether it did an expansion or not o expand_pkg_groups is called repeatedly until all expansions are complete o implemented -pkg in packages.conf (thought we were already doing this but it didn't seem to be there)
o fix for arguments requiring quotes to protect them from the shell eg: -mods="../a ../b" becomes " -mods=../a ../b" in the Makefile
o more small fixes for CRAY SV1 systems
o fixes for baroque-n CRAY systems - replace all "echo -n" commands with the more portable "printf" - add a "-bash /path/to/shell" option so that a Bourne- or BASH-compatible shell can be explicitly specified within the Makefile
o add "LDADD" variable
o increase static sizes within the Cyrus makedepend o add new makedepend code to genmake2
Missing E
o fixed -fc=* so that an appropriate optfile is used if it exists o created place-holders for -mpi and -mpi=PATH functionality for when the automatic MPI configuration is written o -mpi now turns on MPI cpp flags x these are still present in the optfiles and should be removed from them but I'm deferring that until we tidy up the optfiles
o add automatic "discovery" of the -lnetcdf library - Note that this will work if the NetCDF files are installed in standard locations such as /usr/lib or /usr/local/lib. If the NetCDF files are installed in a non-standard location, then the user will have to specify the path ("-L /path/to/the/lib") within the optfile.
Fix TOOLSDIR error message typo
o new version of MNC "internals" with per-file association of all entities o first version with NetCDF read support o fixed the cleanup of internal lookup tables at file closure o numerous small bug fixes
o Add a check for $CPP in /lib - NOTE: this should eventually be replaced with a more general function that searches for executables and is marked as such
o build the templates for type conversion in MNC o small fixes to error handling
o minor output-redirecton fix
o add test for ability to build & execute NetCDF code
o fix afe syntax error
forgotten changes to genmake2 and hs94.cs-32x32x5/code
o change --standarddirs option so that one can specify -standarddirs="" and actually remove all the standard directories from use
o add conversion "x86_64" -> "amd64"
no more DEFINES="-DALLOW_AIM" ; no longer "REALLY ugly", but still a little
*** empty log message ***
o add "# OPTFILE='...' comment to the Makefile so that it can be later extracted by the testing/verification scripts
o FC_NAMEMANGLE.h is now created by make o modularized the CPP macro checking of CPP_OPTIONS.h o introduced check for CPP_EEOPTIONS.h but we are not calling it yet
o changed rule for building without make depend - having all depend on links always led to re-linking because links never exists o Added run.log and *.bak to Clean
o fix typo in the "-ad"/"-adof" options handling
o changed the shell invocation syntax to "#! /usr/bin/env ${SHELL}" and verified that this works on the following machines: - all available Linux boxes - Mac OS X - OSF1 eg. halem - AIX SP[34] clusters eg. bluesky/blackforest/babyblue @ NCAR - SGI O[23]k clusters eg. turing/lomax/chapman @ nas.nasa.gov - Solaris [89] eg. slough.mit.edu
removed 'links' dependencies from ad/ftl targets to enforce use of 'make depend'. This is required to enable successive adtaf, ftltaf usage.
o Corrected spelling mistake in Warning comment o Switched to using the convert script to generate the initial .h files
o Fixed missing barrier in PACKAGES_CONFIG.h o Changed order of #define, #undef to #undef, #define to fix problem with aim and aim_v23
adding 'links' to adall ftlall dependency list
o Created mechanism for make makefile to use $TOOLSDIR variable of Makefile - previously it recorded the actual invocation of genmake2 which meant that editing TOOLSDIR was not sufficient to be able to move the set-up o In addition to everything else, we now record the pkg configuration in the Makefile - previously the configuration was only recorded in PACKAGES_CONFIG.h and gm_state o Created targets for Makefile: PACKAGES_CONFIG.h: this allows "make" to create the pkg config file given the configuration state that is now recorded in Makefile AD_CONFIG.h: creates the appropriate null adj config file for compiling the forward model o The switching of AD_CONFIG.h is unchanged but the files used for comparison of the state are now created only briefly by make and only for the duration of the comparison - previously these files were left in place and an inadvertent deletion required a new invocation of genmake2 o Added new "generic" script for converting cmd-line cpp options to cpp statements in a file o Created a file in tools/adjoint_sed containing the sed commands needed to patch back myThid in adjoint code. This file used to be created in the CWD by genmake2 Comments: o genmake2, make now works without the make depend phase - this is necessary (and was an old feature) for occasions when makedepend is not available and xmakedepend doesn't work or is too slow to be useful o make clean now deletes all temporary files (except FC_NAMEMANGLE.h) so that make CLEAN only leaves the Makefile and the Makefile now contains sufficient information to rebuild everything. This was a capability of the old genmake.
o fix FC_NAMEMANGLE handling for the efc compiler on Altix systems
Added genmake_warnings to target Clean
o cleanups: add better description of options and remove dead options
add target ftltafonly in addition to target adtafonly
o yet another attempt to fix my pervious errors
o cleanup test-compilation files
added target 'adtafonly' to enable splitting of build process into local compile and remote taf (where it is available)
o remove "make -C" syntax that fails with older (non-GNU) make implementations
o make "ln -s" handling smarter and remove it from the options files
o fix Bourne shell ("sh") compatibility issue - tested on AIX machine by PH
Added backup selection of xmakedepend in TOOLSDIR for occasions when makedepend does not exist on the system (e.g. new and partial Linux installs).
o add test file cleanup
o improve the FORTRAN <==> C name-mangling detection algorithm - tested on: linux_ia32_g77, linux_ia64_g77, darwin_ppc_g77, darwin_ppc_xlf, AIX SP4 (blackforest)
o have xmakedepend use the genmake2 output in order to select the C pre-processor
o add various compilation tests to genmake2 so that it acts more like a typical autoconf-generated "./configure" script: - HAVE_SYSTEM - HAVE_FDATE - FC_NAMEMANGLE.h o small code modifications to use the above #define-s
o cleanup: convert DISABLE_MOM_FLUXFORM & DISABLE_MOM_VECINV to the newer ALLOW_${pkg} form - the only remaining package-based "special case" within genmake2 is the one for AIM vs. AIM_V23
o cleanup: convert '#ifndef DISABLE_DEBUGMODE"' to '#ifdef ALLOW_DEBUG"'
changed dependency list for AD from SRCFILES to AD_FILES
o add platform detection for OSX ('darwin') on PPC ('Power Macintosh') hardware
Added genmake2 settings for Intel compiler on ia64 (efc) and included efc in searched for compiler names lisst in genmake2. Settings were tested on orion.jpl.nasa.gov SGI Altix system.
o check-in of all PH's changes: continued efforts to get the adjoint working with genmake2
o added the [#include "AD_CONFIG.h"] statement to all files that need it for adjoint/tl #defines o re-worked the build logic in genmake2 to support AD_CONFIG.h o removed tools/genmake since it no longer works
o added convenience targets and changed the executable names to mitgcmuv_[ ad | ftl | svd ] to reflect how they were built o minor cleanups to remove temporary files
Correcting '_ftl' for TAF forward mode output.
o fix TAF/TAMC default o fix typo: flt --> ftl
o remove bad target
o add -taf_extra='...' and -tamc_extra='...' flags so that its easy to support TAF's -pure and -mpi options for DIVA and DIVA+MPI
o add remaining TAF/TAMC targets to the Makefile
o fix genmake2 for broken SUNOS awk implementations
o first version of genmake2 that works with TAF -- note that only the "ad_taf" target has been confirmed to work and the others are in progress
o fix $CPP "check-if-working" bug discovered by JMC
o first check-in for the "branch-genmake2" merge o verification suite as run on shelley (gcc 3.2.2): Wed Oct 8 23:42:29 EDT 2003 T S U V G D M c m s m s m s m s E p a R g m m e . m m e . m m e . m m e . N n k u 2 i a a d i a a d i a a d i a a d 2 d e n d n x n . n x n . n x n . n x n . OPTFILE=NONE Y Y Y Y 13 16 16 16 0 16 16 16 16 16 16 16 16 13 12 0 0 pass adjustment.128x64x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 0 0 16 16 0 0 pass adjustment.cs-32x32x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 22 0 16 16 22 0 pass adjust_nlfs.cs-32x32x1 Y Y Y Y -- 13 13 16 16 13 13 13 13 16 16 16 16 16 16 16 16 N/O advect_cs Y Y Y Y -- 22 16 16 16 16 16 16 13 16 16 16 16 16 16 16 16 N/O advect_xy Y Y Y Y -- 13 16 13 16 16 16 16 16 16 16 22 16 16 16 16 16 N/O advect_xz Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass aim.5l_cs Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 16 16 16 16 13 16 pass aim.5l_Equatorial_Channel Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 13 16 16 13 13 16 pass aim.5l_LatLon Y Y Y Y 13 16 16 16 16 16 16 16 16 16 13 12 13 13 16 13 16 pass exp0 Y Y Y Y 14 16 16 16 16 16 16 16 22 16 16 16 13 16 16 22 16 pass exp1 Y Y Y Y 13 13 16 13 16 16 16 16 16 13 13 16 16 13 13 13 13 pass exp2 Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass exp4 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 22 16 16 16 22 16 pass exp5 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass front_relax Y Y Y Y 14 16 16 13 13 16 16 13 13 16 13 13 16 12 13 13 16 pass global_ocean.90x40x15 Y Y Y Y 10 16 16 13 13 16 13 16 16 13 13 13 13 16 16 13 16 FAIL global_ocean.cs32x15 Y Y Y Y 6 11 12 13 13 12 13 16 13 9 9 9 9 10 9 9 11 FAIL global_ocean_pressure Y Y Y Y 14 16 16 13 16 16 16 13 13 13 13 13 16 12 16 13 16 pass global_with_exf Y Y Y Y 14 16 16 16 16 16 16 16 16 11 13 22 13 16 16 9 16 pass hs94.128x64x5 Y Y Y Y 13 16 16 16 16 16 16 16 16 11 16 16 16 13 16 22 13 pass hs94.1x64x5 Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 13 13 16 16 22 13 pass hs94.cs-32x32x5 Y Y Y Y 10 10 16 13 13 16 16 16 22 16 13 13 13 13 13 22 13 FAIL ideal_2D_oce Y Y Y Y 8 16 16 16 16 16 16 16 16 13 13 8 16 16 16 16 16 FAIL internal_wave Y Y Y Y 14 16 16 16 16 16 16 16 16 13 13 22 13 13 13 22 16 pass inverted_barometer Y Y Y Y 12 16 16 16 16 16 16 16 16 16 13 12 13 13 13 13 13 FAIL lab_sea Y Y Y Y 11 16 16 16 16 16 16 16 13 13 13 12 13 16 13 12 13 FAIL natl_box Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass plume_on_slope Y Y Y Y 13 16 16 16 16 13 16 16 16 16 16 16 16 13 16 16 16 pass solid-body.cs-32x32x1
o added a platform-detection mechanism to guess at the optfile to use when none are specified o changed some optfile names to reflect the new platform naming convention--more work still needed in this area o added parsing of MITGCM_* environment variables
o Bug fix for following scenario: Compiling in verification/expt/code/ or working with a local real file version of CPP_OPTIONS.h then genmake2 fails because it can not find a copy of CPP_OPTIONS.h o also change on screen comment corresponding to changed code x Note! This breaks the functionality of the original genmake(1) because it assumes that a CPP_OPTIONS.h should take priority over a ./CPP_OPTIONS.h
Bug fix for following scenario: % genmake2 % make links % genmake2 % make CLEAN % make links Results in symbolic links pointing to themselves.
Verify that FC, LINK, CPP, and S64 are defined. If not, provide helpful errors.
- fix absolute path on f90mkdepend - add EXEHOOK to the Makefile
two small changes to fix compilation on the IBM sp4 "bluesky"
Small cleanups to genmake2 and its "optfiles". Initial check-in of "testreport" which functions similarly to "testscript" but supports more genmake2 options and emails results to a central address for automated testing.
fix errors in "-opt opt_arg"-style options parsing
Changes that should only affect when there are .F90 files present e.g. ESMF drivers etc...
Remove (accidental) bash v2 syntax so genmake2 is compatible with bash v1. Still need to test against Bourne shell.
This is the first version of "genmake2" and "testscript2" (and support files) that pass all the standard verification tests on faulks. Since they have new names, they can be run side-by-side (no known conflicts) with the existing genmake and testscript versions. If you get a chance, please try them on your system and mail the output to <eh3@mit.edu>.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
ViewVC Help | |
Powered by ViewVC 1.1.22 |