This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Compiling POOMA 2.3.0 with gcc 3.0


Hi,

Has anyone here been able to successfully compile POOMA 2.3.0 with
gcc 3.0?  Since pooma is mentioned as one of the test suite applications
which make up the acceptance tests for gcc 3.0, I thought I
would try it out.

I followed the following steps:
(1)  Obtain POOMA 2.3.0 from: http://www.acl.lanl.gov/pooma/download.html
(2)  Create a new arch file, LINUXGCC.conf (based on some modifications
     to LINUXEGCS.conf), and place it in
     the pooma-2.3.0/config/arch directory.
     I have attached the conf file to this message.
(3)  Apply the following patch to POOMA:


diff -u -r orig/pooma-2.3.0/src/Utilities/Inform.h pooma-2.3.0/src/Utilities/Inform.h
--- orig/pooma-2.3.0/src/Utilities/Inform.h	Wed Jun 14 12:40:09 2000
+++ pooma-2.3.0/src/Utilities/Inform.h	Sat Apr 14 14:55:54 2001
@@ -275,7 +275,7 @@
   void print() { flush(); }
   void output() { flush(); }
   
-#if defined(__MWERKS__) && __MWERKS__ >= 0x2301
+#if (defined(__MWERKS__) && __MWERKS__ >= 0x2301) || (defined(__GNUG__) && __GNUG__ >= 3)
   typedef std::ios_base::fmtflags FmtFlags_t;
 #else
   typedef long FmtFlags_t;


(4)  Configure POOMA with:
      ./configure --arch LINUXGCC --suite test1

(5)  Set the POOMASUITE environment variable to: test1

(6) make

I was able to build things, but cannot tell how to evaluate
the performance of this package, for GCC acceptance testing.

Can someone give me guidance on how to do this?

Thanks.
-- 
Craig Rodrigues        
http://www.gis.net/~craigr    
rodrigc@mediaone.net          
# Perl input file
# ACL:license
#  ----------------------------------------------------------------------
#  This software and ancillary information (herein called "SOFTWARE")
#  called POOMA (Parallel Object-Oriented Methods and Applications) is
#  made available under the terms described here.  The SOFTWARE has been
#  approved for release with associated LA-CC Number LA-CC-98-65.
#  
#  Unless otherwise indicated, this SOFTWARE has been authored by an
#  employee or employees of the University of California, operator of the
#  Los Alamos National Laboratory under Contract No.  W-7405-ENG-36 with
#  the U.S. Department of Energy.  The U.S. Government has rights to use,
#  reproduce, and distribute this SOFTWARE, and to allow others to do so.
#  The public may copy and use this SOFTWARE, FOR NONCOMMERCIAL USE ONLY,
#  without charge, provided that this Notice and any statement of
#  authorship are reproduced on all copies.  Neither the Government nor
#  the University makes any warranty, express or implied, or assumes any
#  liability or responsibility for the use of this SOFTWARE.
#  
#  If SOFTWARE is modified to produce derivative works, such modified
#  SOFTWARE should be clearly marked, so as not to confuse it with the
#  version available from LANL.
#  
#  For more information about POOMA, send e-mail to pooma@acl.lanl.gov,
#  or visit the POOMA web page at http://www.acl.lanl.gov/pooma/.
#  ----------------------------------------------------------------------
# ACL:license

###########################################################################
# POOMA configuration settings
#
# Platform: LINUX (Intel Pentium running Linux)
# Compiler: EGCS
#
###########################################################################
#
# This file contains specialized settings indicating how to build POOMA
# with this platform and compiler.  This is a perl script executed by
# the 'configure' script at the top level of the POOMA directory structure.
# This file has two sections:
#   1) The locations of include files and libraries for external packages.
#   3) The specialized settings on how to use this platform and compiler.
# You should edit the lines in section 1) to the proper location of the
# external packages.  Do not edit the lines in section 2) unless you
# know what you're doing.
#
###########################################################################

###########################################################################
# Section 1: external package locations. 
#   Include search directories should have a '-I' prepended.
#   Library search directories should have a '-L' prepended.
#   Library filenames should just list the name or use -l prefix as needed.
#   Required defines should have -a '-D' prepended.
###########################################################################

### location of SMARTS files for threads

$threads_able             = 1;
$threads_default_dir      = "/home/smarts/build/smarts-current";
$threads_lib_subdir       = "linux/lib";
$threads_basic_makefile   = "Makefile.smarts-g++";
$threads_profile_makefile = "Makefile.smarts-tau-g++";


### location of TAU files for profiling

$profile_able              = 1;
$profile_default_dir       = "/home/tau/build/tau-current";
$ductape_default_dir       = "/usr/local/pooma/packages/ductape";
$profile_lib_subdir        = "linux/lib";
$profile_basic_makefile    = "Makefile.tau-egcs";
$profile_smarts_makefile   = "Makefile.tau-smarts-egcs";
$profile_pthreads_makefile = "Makefile.tau-pthread-egcs";


### location of PAWS files for program coupling

$paws_able                 = 1;
$paws_default_dir          = "/home/paws/build/paws-current";
$paws_lib_subdir           = "linux/lib";
$paws_makefile             = "Makefile.paws-egcs";


### location of HDF5 files for I/O

$hdf5_able                 = 1;
$hdf5_default_dir          = "/usr/local/pooma/packages/hdf5";


### location of FFTW files for ffts

$fftw_able                 = 1;
$fftw_default_dir          = "/home/pooma/packages/fftw/linux";


### location of cheetah

$cheetah_able              = 1;
$cheetah_default_dir       = "/home/cheetah/build/cheetah-1.0.0";
$cheetah_arch              = "linux";
$cheetah_lib_subdir        = "lib/g++";
$cheetah_include_makefile  = "Makefile.cheetah";


### location of LUX files for runtime visualization

$lux_able                  = 0;


### location and names of Purify analysis package

$purify_able    = 0;


### location and names of Insure++ analysis package

$insure_able    = 1;
$cppinsure      = "g++";
$cinsure        = "gcc";
$cpp_insure_run = "insure";
$cpp_insure_arg = "-Zvm -Zoi \"compiler $cppinsure\"";
$c_insure_run   = "insure";
$c_insure_arg   = "-Zvm -Zoi \"compiler $cinsure\"";
$ar_insure_run  = "ar";
$ar_insure_arg  = "";
$ld_insure_run  = "insure";
$ld_insure_arg  = "-Zvm -Zoi \"compiler $cppinsure\"";


###########################################################################
# Section 2: compilation settings
###########################################################################

###################
### characteristics
###################

### the name of this architecture

$archtype = "linux";
$comptype = "gcc";
$compext  = "-gcc";

### are shared libraries supported?

$canmakesharedlib = 1;
$shared = 0;
$sharedext = "so";

### other special characteristics: for all special cases for this
### architecture that differ from the standard, include a line
### here to indicate what the differences are, setting a variable
### equal to one.  If the architecture does the "right thing", though,
### there is no reason to mention anything here, although you can set
### the special characteristics variables to 0 if you want.

# EGCS does not have the C++ standard stringstream class
#$no_stringstream = 0;

# EGCS does not have all the proper iomanips
#$no_complete_iomanips = 0;

# EGCS does have restrict (use __restrict__)
$no_restrict = 0;

# EGCS does not have complex in the std:: namespace
#$no_std_complex = 1;

# EGCS does not have a ios_base class in std:: namespace
#$no_std_iosbase = 0;

# Must include <sys/stat.h> to get POSIX file modes
$inc_sys_stat_h_file_modes = 1;

################
### C++ settings
################

### general settings for using the C++ compiler, for both libs and apps

$cpp        = "g++";
$cppargs    = "-ftemplate-depth-60 -Drestrict=__restrict__";
$cppex      = "";                  # flag to use exceptions
$cppnoex    = "-fno-exceptions";   # flag to use to turn off exceptions
$cppverbose = "-v";                # flag for verbose compiler output
$cpponeper  = "";                  # flag to turn on one-instantance-per-obj
$cppstrict  = " -ansi";            # flag for ANSI conformance checking


### debug or optimized build settings for C++ applications

$cppdbg_app  = "-g";
$cppopt_app  = "-DNOPAssert -DNOCTAssert -O2 -fno-default-inline -funroll-loops -fstrict-aliasing";


### debug or optimized build settings for C++ libraries

$cppdbg_lib  = $cppdbg_app;
$cppopt_lib  = $cppopt_app;


##############
### C settings
##############

### general settings for using the C compiler, for both libs and apps

$c        = "gcc";
$cargs    = "-Drestrict=__restrict__";
$cverbose = "-v -Wall";


### debug or optimized build settings for C applications

$cdbg_app = "-g";
$copt_app = "-O3 -funroll-loops -fstrict-aliasing";


### debug or optimized build settings for C libraries

$cdbg_lib = $cdbg_app;
$copt_lib = $copt_app;


################
### F77 settings
################

### general settings for using the F77 compiler, for both libs and apps

$f77        = "g77";
$f77args    = "";
$f77libs    = "";
$f77verbose = "-v";


### debug or optimized build settings for F77 applications

$f77dbg_app = "-g";
$f77opt_app = "-O3 -funroll-loops";


### debug or optimized build settings for F77 libraries

$f77dbg_lib = $f77dbg_app;
$f77opt_lib = $f77opt_app;


###################
### linker settings
###################

$link        = $cpp;
$linkargs    = "";
$linkverbose = "-Wl,-v";
$linkshare   = "-Wl,-rpath \$(POOMA_LIBDIR)";

#####################
### archiver settings
#####################

$ar          = "ar";                     # program to make static lib
$arshare     = $cpp;                     # program to make shared lib

# arguments for making static lib
$arargs      = "rc";
# arguments for making shared lib
$arshareargs = "-Wl,-noinhibit-exec -shared -o";

# flag to turn on verbose ar output
$arverbose      = "";
$arshareverbose = $cppverbose;

# flag for exceptions
$arex        = "";
$arshareex   = $cppex;

# flag for no exceptions
$arnoex      = "";
$arsharenoex = $cppnoex;

# flag for one instantiation per object
$aroneper      = "";
$arshareoneper = $cpponeper;

# flag for ANSI conformance checking
$arstrict      = "";
$arsharestrict = $cppstrict;

### debug or optimized build settings for archiving libraries

$ardbg       = "";
$aropt       = "";
$arsharedbg  = $cppdbg_app;
$arshareopt  = $cppopt_app;


# ACL:rcsinfo
#  ----------------------------------------------------------------------
#  $RCSfile: LINUXEGCS.conf,v $   $Author: luchini $
#  $Revision: 1.23 $   $Date: 2000/05/05 07:44:36 $
#  ----------------------------------------------------------------------
# ACL:rcsinfo

###########################################################################
# the last line of this file must be a '1' so that Perl sees a non-zero
# results from this file
###########################################################################
1;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]