Patch: New gcc Configuration Files

Jeffrey Oldham oldham at codesourcery.com
Wed Mar 21 00:50:46 UTC 2001


Attached are proposed configuration files for compiling the Pooma
source code with the latest mainline gcc.  Basically, I copied the
*EGCS.conf files, substituting "gcc" for "ecgs" and removing a few
variables indicating that ECGS did not support some C++ features.

(Allan asked if I reversed SGIN32gcc.conf and SUNgcc.conf.  I do not
think so, but please let me know if I did.)

Approved by	Jim Crotinger
Tested on	Linux and gcc

Thanks,
Jeffrey D. Oldham
oldham at codesourcery.com
-------------- next part --------------
# 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 at 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: gcc
#
###########################################################################
#
# 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-gcc";
$profile_smarts_makefile   = "Makefile.tau-smarts-gcc";
$profile_pthreads_makefile = "Makefile.tau-pthread-gcc";


### 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-gcc";


### 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.

# gcc does not have restrict (use __restrict__)
$no_restrict = 1;

# 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: LINUXgcc.conf,v $   $Author: oldham $
#  $Revision: 1.1 $   $Date: 2001/03/21 00:45:21 $
#  ----------------------------------------------------------------------
# ACL:rcsinfo

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

-------------- next part --------------
# 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 at acl.lanl.gov,
#  or visit the POOMA web page at http://www.acl.lanl.gov/pooma/.
#  ----------------------------------------------------------------------
# ACL:license

###########################################################################
# POOMA configuration settings
#
# Platform: SGI64 (Silicon Graphics 64-bit)
# Compiler: GCC
#
###########################################################################
#
# 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       = "sgi64/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        = "sgi64/lib";
$profile_basic_makefile    = "Makefile.tau-sgitimers-gcc";
$profile_smarts_makefile   = "Makefile.tau-sgitimers-smarts-gcc";
$profile_pthreads_makefile = "Makefile.tau-sgitimers-pthread-gcc";


### location of PAWS files for program coupling

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


### location of HDF5 files for I/O

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


### location of cheetah

$cheetah_able              = 1;
$cheetah_default_dir       = "/home/cheetah/build/cheetah-1.0.0";
$cheetah_arch              = "sgi64";
$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
###########################################################################

$sgibits = "-mabi=64 -mips4";


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

### the name of this architecture

$archtype = "sgi64";
$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.

# gcc does not have restrict (use __restrict__)
$no_restrict = 1;


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

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

$cpp        = "g++";
$cppargs    = "$sgibits -ftemplate-depth-60";
$cppargs   .= " -D__SGI_STL_INTERNAL_RELOPS -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    = "$sgibits -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    = "$sgibits";
$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    = "$sgibits";
$linkverbose = "-v";
$linkshare   = "-rpath \$(POOMA_LIBDIR)";


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

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

$arargs      = "rc";                     # arguments for making static lib
$arshareargs = "$sgibits -shared -o";    # arguments for making shared lib

# 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: SGI64gcc.conf,v $   $Author: oldham $
#  $Revision: 1.1 $   $Date: 2001/03/21 00:45:21 $
#  ----------------------------------------------------------------------
# ACL:rcsinfo

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

-------------- next part --------------
# 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 at acl.lanl.gov,
#  or visit the POOMA web page at http://www.acl.lanl.gov/pooma/.
#  ----------------------------------------------------------------------
# ACL:license

###########################################################################
# POOMA configuration settings
#
# Platform: SGIN32 (Silicon Graphics n32 format)
# Compiler: GCC
#
###########################################################################
#
# 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       = "sgin32/lib";
$threads_basic_makefile   = "Makefile.smarts-gcc";
$threads_profile_makefile = "Makefile.smarts-tau-gcc";


### 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        = "sgin32/lib";
$profile_basic_makefile    = "Makefile.tau-sgitimers-gcc";
$profile_smarts_makefile   = "Makefile.tau-sgitimers-smarts-gcc";
$profile_pthreads_makefile = "Makefile.tau-sgitimers-pthread-gcc";


### location of PAWS files for program coupling

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


### location of HDF5 files for I/O

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


### location of cheetah

$cheetah_able              = 1;
$cheetah_default_dir       = "/home/cheetah/build/cheetah-1.0.0";
$cheetah_arch              = "sgin32";
$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
###########################################################################

$sgibits = "-mabi=n32 -mips4";


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

### the name of this architecture

$archtype = "sgin32";
$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.

# gcc does not have restrict (use __restrict__)
$no_restrict = 1;


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

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

$cpp        = "g++";
$cppargs    = "$sgibits -ftemplate-depth-60";
$cppargs   .= " -D__SGI_STL_INTERNAL_RELOPS -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 -O3 -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    = "$sgibits -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    = "$sgibits";
$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    = "$sgibits";
$linkverbose = "-v";
$linkshare   = "-rpath \$(POOMA_LIBDIR)";


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

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

$arargs      = "rc";                     # arguments for making static lib
$arshareargs = "$sgibits -shared -o";    # arguments for making shared lib

# 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: SGIN32gcc.conf,v $   $Author: oldham $
#  $Revision: 1.1 $   $Date: 2001/03/21 00:45:21 $
#  ----------------------------------------------------------------------
# ACL:rcsinfo

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

-------------- next part --------------
# 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 at acl.lanl.gov,
#  or visit the POOMA web page at http://www.acl.lanl.gov/pooma/.
#  ----------------------------------------------------------------------
# ACL:license

###########################################################################
# POOMA configuration settings
#
# Platform: SUN UltraSPARC
# Compiler: GCC
#
###########################################################################
#
# 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             = 0;


### location of TAU files for profiling

$profile_able              = 0;


### location of PAWS files for program coupling

$paws_able                 = 0;


### location of HDF5 files for I/O

$hdf5_able                 = 0;


### location of cheetah

$cheetah_able              = 0;


### 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 = "sun";
$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.

# gcc does not have restrict (use __restrict__)
$no_restrict = 1;

# SUN requires include of <sys/stat.h> for 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 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 -O3 -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 = "-v";
$linkshare   = "-rpath \$(POOMA_LIBDIR)";


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

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

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

# 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: SUNgcc.conf,v $   $Author: oldham $
#  $Revision: 1.1 $   $Date: 2001/03/21 00:45:21 $
#  ----------------------------------------------------------------------
# ACL:rcsinfo

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



More information about the pooma-dev mailing list