Commit 67a4baf6 authored by GRASLAND Hadrien's avatar GRASLAND Hadrien
Browse files

Update compiler config

- Use C99 standard with extensions like M_PI
- Remove obsolete compilers that Sophya doesn't support anymore
- Homogeneize configuration
- Use O3 optimization level
- Enable x*y+z to FMA translation on clang
parent 1c8efabe
Pipeline #188057 failed with stages
in 15 minutes and 2 seconds
# ----------------------------------------
# --------- File AIX_xlC_make.inc --------
# Compilation avec xlC / AIX (IBM)
# Compilation avec xlC / AIX (IBM)
# ------- Dec 2005-Avr 2007 ------------
# Liste des librariries externes
# Liste des librariries externes
# Pour link fortran -lf ( pas besoin de -lxlf -lxlfutil )
# -lessl pour le BLAS IBM
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -lessl -lf
# Flag preprocesseur
CPPFLAGS = -DAIX -I$(SOPHYAINCP) $(SOPEXTINCP)
CPPFLAGS = -DAIX -I$(SOPHYAINCP) $(SOPEXTINCP)
# Def compilateur C et flags
CC = xlc
# Replace [CNFPHFLF] by specific compilation flags below (done by configure)
# Pour compilation en mode 64 bits : -q64
CFLAGS = -O -g CNFPHFLF
# Pour compilation en mode 64 bits : -q64
CFLAGS = -std=c99 -U__STRICT_ANSI__ -O3 -fPIC -g CNFPHFLF
# Def compilateur C++ et flags
CXX = xlC
# Flag IBM xlC (Dec 2005)
# Flag IBM xlC (Dec 2005)
# -qrtti=all : generate all RTTI infomation dynamic_cast + typeinfo
# -qeh=v6 : Exception handling compatible with v6
CXXFLAGS = -qrtti=all -qeh=v6 -O -g CNFPHFLF
# -qeh=v6 : Exception handling compatible with v6
CXXFLAGS = -qrtti=all -qeh=v6 -O3 -fPIC -g CNFPHFLF
# flags specifiques pour templates repository...
# CXXTEMPFLG = -qtemplateregistry=$(SOPHYAOBJP)/templateregistry -qtemplaterecompile
CXXTEMPFLG =
# Compilo fortran
FC = xlf CNFPHFLF
FFLAGS =
# Pour fabriquer les lib .a (-X 64 pour les librairies en mode 64 bits)
FC = xlf CNFPHFLF
FFLAGS =
# Pour fabriquer les lib .a (-X 64 pour les librairies en mode 64 bits)
AR = ar
ARFLAGS = -rcs
# Ordres de compilation
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
# Extension de nom pour les librairies partagees
SLEXT = so
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -brtl -qmkshrobj
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -brtl -qmkshrobj
# Liste de librairie de base, necessaire pour libsophya
SOPBASELIBS = -lpthread -lm -lc -ldl
LIBFORT =
SOPBASELIBS = -lpthread -lm -lc -ldl
LIBFORT =
# --- Chemin pour l ensemble les librairies SOPHYA , +ExtLibs
SOPHYALIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPBASELIBS)
......@@ -56,7 +56,7 @@ SOPHYAALLLIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPEXTLIBS) $(SOPBASELIBS)
SOPHYASLBLIST = -L$(SOPHYASLBP) -lsophya $(SOPBASELIBS)
##----
# Il n'a pas ete possible de faire marcher les executables avec
# Il n'a pas ete possible de faire marcher les executables avec
# des shared-libs, linke avec d'autres librairies (lapack, cfitsio ...)
## SOPHYAEXTSLBLIST = -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPEXTLIBS) $(SOPBASELIBS)
## SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lPI -lextsophya -lsophya $(SOPEXTLIBS) $(SOPBASELIBS)
......@@ -71,9 +71,9 @@ SOPHYAEXTSLBLIST = -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPBASELIBS)
SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPBASELIBS)
# Commande de link pour creation d'executables
CXXLINK = $(CXX) $(CXXFLAGS) -brtl
CXXLINK = $(CXX) $(CXXFLAGS) -brtl
CLINK = $(CC) $(CFLAGS)
FCLINK = $(FC) $(FFLAGS)
# Commande de link pour creation de module pouvant etre charge dynamiquement
CXXDLL = $(CXX) $(CXXFLAGS) -qmkshrobj
CXXDLL = $(CXX) $(CXXFLAGS) -qmkshrobj
# --------- File Darwin_c++_make.inc --------
# --------- File Darwin_c++_make.inc --------
# Liste des librariries externes
# Liste des librariries externes
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -framework Accelerate
......@@ -9,38 +9,35 @@ CPPFLAGS = -DDarwin -I$(SOPHYAINCP) $(SOPEXTINCP)
# Def compilateur C et flags
CC = cc
# Replace [CNFPHFLF] by specific compilation flags below (done by configure)
CFLAGS = -fno-common -g -O -fPIC CNFPHFLF
# With optimization flags
# CFLAGS = -fno-common -g -fastf -mtune=G5 -fPIC
CFLAGS = -std=c99 -U__STRICT_ANSI__ -fno-common -g -O3 -ffp-contract=fast -fPIC CNFPHFLF
# Def compilateur C++ et flags
CXX = c++
# Replace [SOCXDIAL] by the chosen C++ dialect (done by configure)
CXXFLAGS = -fno-common -g -O -fPIC -std=SOCXDIAL CNFPHFLF
# CXXFLAGS = -fno-common -g -fastf -mtune=G5 -fPIC
CXXFLAGS = -fno-common -g -O3 -ffp-contract=fast -fPIC -std=SOCXDIAL CNFPHFLF
# flags specifiques pour templates repository...
CXXTEMPFLG =
# Compilo fortran
FC = gfortran
FFLAGS =
FFLAGS =
# Pour fabriquer les lib .a
AR = libtool
ARFLAGS = -static -o
AR = libtool
ARFLAGS = -static -o
# Ordres de compilation
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
# Extension de nom pour les librairies partagees
SLEXT = dylib
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -dynamiclib
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -dynamiclib
# Liste de librairie de base, necessaire pour libsophya
SOPBASELIBS = -lpthread -lm -lc -ldl
LIBFORT =
SOPBASELIBS = -lpthread -lm -lc -ldl
LIBFORT =
# --- Chemin pour l ensemble les librairies SOPHYA , +ExtLibs
SOPHYALIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPBASELIBS)
......@@ -54,4 +51,4 @@ SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPEXTLIBS) $(SOPBASEL
# Commande de link pour creation d'executables
CXXLINK = $(CXX) $(CXXFLAGS) -bind_at_load
# Commande de link pour creation de module pouvant etre charge dynamiquement
CXXDLL = $(CXX) $(CXXFLAGS) -bundle
CXXDLL = $(CXX) $(CXXFLAGS) -bundle
# --------- File Darwin_clang_make.inc --------
# make.inc stubb for Darwin (MacOSX) and Clang compiler suite
# --------- File Darwin_clang_make.inc --------
# make.inc stubb for Darwin (MacOSX) and Clang compiler suite
# Liste des librariries externes
# Liste des librariries externes
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -framework Accelerate
# Flag preprocesseur
CPPFLAGS = -DDarwin -I$(SOPHYAINCP) $(SOPEXTINCP)
CPPFLAGS = -DDarwin -I$(SOPHYAINCP) $(SOPEXTINCP)
# Def compilateur C et flags
CC = clang
# Replace [CNFPHFLF] by specific compilation flags below (done by configure)
# CFLAGS = -fno-common -g -O -fPIC CNFPHFLF
CFLAGS = -fno-common -g -O CNFPHFLF
# With optimization flags
# CFLAGS = -fno-common -g -fastf -mtune=G5 -fPIC
CFLAGS = -std=c99 -U__STRICT_ANSI__ -fno-common -g -O3 -ffp-contract=fast -fPIC CNFPHFLF
# Def compilateur C++ et flags
CXX = clang++
# CXXFLAGS = -fno-common -g -O -fPIC CNFPHFLF
# Replace [SOCXDIAL] by the chosen C++ dialect (done by configure)
CXXFLAGS = -fno-common -g -O -std=SOCXDIAL CNFPHFLF
# CXXFLAGS = -fno-common -g -fastf -mtune=G5 -fPIC
CXXFLAGS = -fno-common -g -O3 -ffp-contract=fast -fPIC -std=SOCXDIAL CNFPHFLF
# flags specifiques pour templates repository...
CXXTEMPFLG =
# Compilo fortran
FC = g77
FFLAGS =
FFLAGS =
# Pour fabriquer les lib .a
AR = libtool
ARFLAGS = -static -o
AR = libtool
ARFLAGS = -static -o
# Ordres de compilation
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
# Extension de nom pour les librairies partagees
SLEXT = dylib
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -dynamiclib
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -dynamiclib
# Liste de librairie de base, necessaire pour libsophya
SOPBASELIBS = -lpthread -lm -lc -ldl
LIBFORT =
SOPBASELIBS = -lpthread -lm -lc -ldl
LIBFORT =
# --- Chemin pour l ensemble les librairies SOPHYA , +ExtLibs
SOPHYALIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPBASELIBS)
......@@ -57,4 +52,4 @@ SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPEXTLIBS) $(SOPBASEL
# Commande de link pour creation d'executables
CXXLINK = $(CXX) $(CXXFLAGS) -bind_at_load
# Commande de link pour creation de module pouvant etre charge dynamiquement
CXXDLL = $(CXX) $(CXXFLAGS) -bundle
CXXDLL = $(CXX) $(CXXFLAGS) -bundle
# --------- File Darwin_g++_make.inc --------
# --------- File Darwin_g++_make.inc --------
# Liste des librariries externes
# Liste des librariries externes
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -framework Accelerate
# Flag preprocesseur
CPPFLAGS = -DDarwin -I$(SOPHYAINCP) $(SOPEXTINCP)
CPPFLAGS = -DDarwin -I$(SOPHYAINCP) $(SOPEXTINCP)
# Def compilateur C et flags
CC = gcc
# Replace [CNFPHFLF] by specific compilation flags below (done by configure)
CFLAGS = -fno-common -g -O -fPIC CNFPHFLF
# With optimization flags
# CFLAGS = -fno-common -g -fastf -mtune=G5 -fPIC
CFLAGS = -std=c99 -U__STRICT_ANSI__ -fno-common -g -O3 -ffp-contract=fast -fPIC CNFPHFLF
# Def compilateur C++ et flags
CXX = g++
# Replace [SOCXDIAL] by the chosen C++ dialect (done by configure)
CXXFLAGS = -fno-common -g -O -fPIC -std=SOCXDIAL CNFPHFLF
# CXXFLAGS = -fno-common -g -fastf -mtune=G5 -fPIC
CXXFLAGS = -fno-common -g -O3 -ffp-contract=fast -fPIC -std=SOCXDIAL CNFPHFLF
# flags specifiques pour templates repository...
CXXTEMPFLG =
# Compilo fortran
FC = gfortran
FFLAGS =
FFLAGS =
# Pour fabriquer les lib .a
AR = libtool
ARFLAGS = -static -o
AR = libtool
ARFLAGS = -static -o
# Ordres de compilation
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
# Extension de nom pour les librairies partagees
SLEXT = dylib
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -dynamiclib
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -dynamiclib
# Liste de librairie de base, necessaire pour libsophya
SOPBASELIBS = -lgomp -lpthread -lm -lc -ldl
LIBFORT =
SOPBASELIBS = -lgomp -lpthread -lm -lc -ldl
LIBFORT =
# --- Chemin pour l ensemble les librairies SOPHYA , +ExtLibs
SOPHYALIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPBASELIBS)
......@@ -54,4 +51,4 @@ SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPEXTLIBS) $(SOPBASEL
# Commande de link pour creation d'executables
CXXLINK = $(CXX) $(CXXFLAGS) -bind_at_load
# Commande de link pour creation de module pouvant etre charge dynamiquement
CXXDLL = $(CXX) $(CXXFLAGS) -bundle
CXXDLL = $(CXX) $(CXXFLAGS) -bundle
# --------- File Darwin_g++_make.inc --------
# --------- File Darwin_g++_make.inc --------
# Liste des librariries externes
# Liste des librariries externes
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -framework Accelerate
......@@ -9,40 +9,36 @@ CPPFLAGS = -DDarwin -I$(SOPHYAINCP) $(SOPEXTINCP)
# Def compilateur C et flags
CC = gcc
# Replace [CNFPHFLF] by specific compilation flags below (done by configure)
CFLAGS = -fno-common -g -O -fPIC CNFPHFLF
# With optimization flags
# CFLAGS = -fno-common -g -fastf -mtune=G5 -fPIC
CFLAGS = -std=c99 -U__STRICT_ANSI__ -fno-common -g -O3 -ffp-contract=fast -fPIC CNFPHFLF
# Def compilateur C++ et flags
CXX = g++
#JEC add -fopenmp -O3
# Replace [SOCXDIAL] by the chosen C++ dialect (done by configure)
CXXFLAGS = -fno-common -g -O3 -fPIC -fopenmp -std=SOCXDIAL CNFPHFLF
####OLD CXXFLAGS = -fno-common -g -O -fPIC CNFPHFLF
###CXXFLAGS = -fno-common -g -fastf -mtune=G5 -fPIC
CXXFLAGS = -fno-common -g -O3 -ffp-contract=fast -fPIC -fopenmp -std=SOCXDIAL CNFPHFLF
# flags specifiques pour templates repository...
CXXTEMPFLG =
# Compilo fortran
FC = gfortran
FFLAGS =
FFLAGS =
# Pour fabriquer les lib .a
AR = libtool
ARFLAGS = -static -o
AR = libtool
ARFLAGS = -static -o
# Ordres de compilation
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
# Extension de nom pour les librairies partagees
SLEXT = dylib
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -dynamiclib
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -dynamiclib
# Liste de librairie de base, necessaire pour libsophya
SOPBASELIBS = -lpthread -lm -lc -ldl
LIBFORT =
SOPBASELIBS = -lpthread -lm -lc -ldl
LIBFORT =
# --- Chemin pour l ensemble les librairies SOPHYA , +ExtLibs
SOPHYALIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPBASELIBS)
......@@ -57,4 +53,4 @@ SOPHYAALLSLBLIST = -fopenmp -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPEXTLIBS) $
# Commande de link pour creation d'executables
CXXLINK = $(CXX) $(CXXFLAGS) -bind_at_load
# Commande de link pour creation de module pouvant etre charge dynamiquement
CXXDLL = $(CXX) $(CXXFLAGS) -bundle
CXXDLL = $(CXX) $(CXXFLAGS) -bundle
# --------- File IRIX64_CC_make.inc --------
# Liste des librariries externes (complib.sgimath : lapack+blas de SGI)
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -lcomplib.sgimath
# Chemin et librairie pour PI
PIINC = $(PIEXTINC) -I/usr/include/
PILIBS = $(PIEXTLIB) -L/usr/lib/ -lXt -lX11
# Flag preprocesseur
CPPFLAGS = -I$(SOPHYAINCP) $(SOPEXTINCP) $(PIINC)
# Def compilateur C et flags
CC = cc
# Replace [CNFPHFLF] by specific compilation flags below (done by configure)
# Mode 64 bits : flag -64 pour CFLAGS et CXXFLAGS
CFLAGS = -g3 -O CNFPHFLF
# Def compilateur C++ et flags
CXX = CC
CXXFLAGS = -prelink -LANG:std -g3 -O CNFPHFLF
# flags specifiques pour templates repository...
CXXTEMPFLG =
# Compilo fortran / commande et flags a verifier
FC = f90
FFLAGS = CNFPHFLF
# Pour fabriquer les lib .a
AR = /usr/bin/ar
ARFLAGS = -rcs
# Ordres de compilation
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
# Extension de nom pour les librairies partagees
SLEXT = so
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -shared
# Liste de librairie de base, necessaire pour libsophya
SOPBASELIBS = -lpthread -lm
LIBFORT =
# --- Chemin pour l ensemble les librairies SOPHYA , +ExtLibs, +PI
SOPHYALIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPBASELIBS)
SOPHYAEXTLIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPEXTLIBS) $(SOPBASELIBS)
SOPHYAALLLIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPPILIBLIST) $(PILIBS) $(SOPEXTLIBS) $(SOPBASELIBS)
SOPHYASLBLIST = -L$(SOPHYASLBP) -lsophya $(SOPBASELIBS)
SOPHYAEXTSLBLIST = -L$(SOPHYASLBP) -lextsophya -lsophya $(SOPEXTLIBS) $(SOPBASELIBS)
SOPHYAALLSLBLIST = -L$(SOPHYASLBP) -lPI -lextsophya -lsophya $(PILIBS) $(SOPEXTLIBS) $(SOPBASELIBS)
# Commande de link pour creation d executables
CXXLINK = $(CXX) $(CXXFLAGS)
CLINK = $(CC) $(CFLAGS)
FCLINK = $(FC) $(FFLAGS)
# Commande de link pour creation de module pouvant etre charge dynamiquement
CXXDLL = $(CXX) $(CXXFLAGS) -shared
# --------- File Linux_g_make.inc --------
# --------- File Linux_g_make.inc --------
# Liste des librariries externes
# Liste des librariries externes
#SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -lg2c
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -lgfortran
# Flag preprocesseur
CPPFLAGS = -DLinux -I$(SOPHYAINCP) $(SOPEXTINCP)
CPPFLAGS = -DLinux -I$(SOPHYAINCP) $(SOPEXTINCP)
# Def compilateur C et flags
CC = gcc
# Replace [CNFPHFLF] by specific compilation flags below (done by configure)
CFLAGS = -Wall -Wpointer-arith -Wmissing-prototypes -O -g -fPIC CNFPHFLF
CFLAGS = -std=c99 -U__STRICT_ANSI__ -Wall -Wpointer-arith -Wmissing-prototypes -O3 -g -fPIC CNFPHFLF
# Def compilateur C++ et flags
CXX = g++
# Flag de warning -Wsynth NON inclus par defaut (04/2007)
# Replace [SOCXDIAL] by the chosen C++ dialect (done by configure)
CXXFLAGS = -Wall -Wpointer-arith -O -g -fPIC -std=SOCXDIAL CNFPHFLF
CXXFLAGS = -Wall -Wpointer-arith -O3 -g -fPIC -std=SOCXDIAL CNFPHFLF
# flags specifiques pour templates repository...
CXXTEMPFLG =
# Compilo fortran
#FC = g77
FC = gfortran
FFLAGS =
FFLAGS =
# Pour fabriquer les lib .a
AR = ar
ARFLAGS = -rcs
# Ordres de compilation
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
# Extension de nom pour les librairies partagees
SLEXT = so
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -shared
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXTEMPFLG) -shared
# Liste de librairie de base, necessaire pour libsophya
SOPBASELIBS = -lstdc++ -lgomp -lpthread -lm -lc -ldl
SOPBASELIBS = -lstdc++ -lgomp -lpthread -lm -lc -ldl
#LIBFORT = -lg2c
LIBFORT = -lgfortran
......
# --------- File Linux_icc_make.inc --------
# --------- File Linux_icc_make.inc --------
# Liste des librariries externes
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST)
# Liste des librariries externes
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST)
# Flag preprocesseur
CPPFLAGS = -I$(SOPHYAINCP) $(SOPEXTINCP)
CPPFLAGS = -I$(SOPHYAINCP) $(SOPEXTINCP)
# Def compilateur C et flags
CC = icc
# Replace [CNFPHFLF] by specific compilation flags below (done by configure)
CFLAGS = -fpic -O -g -qopenmp -mkl CNFPHFLF
CFLAGS = -std=c99 -U__STRICT_ANSI__ -fpic -O3 -g -qopenmp -mkl CNFPHFLF
# Def compilateur C++ et flags
CXX = icpc
# Replace [SOCXDIAL] by the chosen C++ dialect (done by configure)
CXXFLAGS = -fpic -O -frtti -g -qopenmp -mkl -std=SOCXDIAL CNFPHFLF
CXXFLAGS = -fpic -O3 -frtti -g -qopenmp -mkl -std=SOCXDIAL CNFPHFLF
CXXREP =
# Compilo fortran
FC = ifort
FFLAGS = -fpic
FFLAGS = -fpic
# Pour fabriquer les lib .a
AR = ar
ARFLAGS = -rcs
# Ordres de compilation
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
CXXCOMPILELIB = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(CXXREP) -c
CXXCOMPILEPROG = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(CXXREP) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
CCOMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) -c
CXXCOMPILE = $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
CXXCOMPILELIB = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(CXXREP) -c
CXXCOMPILEPROG = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(CXXREP) -c
FCCOMPILE = $(FC) $(FFLAGS) -c
# Extension de nom pour les librairies partagees
SLEXT = so
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXREP) -shared
# Fabrication de librairies partagees
CMDSHLCXX = $(CXX) $(CXXFLAGS) $(CXXREP) -shared
# Liste de librairie de base, necessaire pour libsophya
SOPBASELIBS = -lpthread -lm -lc -ldl
SOPBASELIBS = -lpthread -lm -lc -ldl
# LIBFORT = -lgfortran
LIBFORT = -lifcore
LIBFORT = -lifcore
# --- Chemin pour l ensemble les librairies SOPHYA , +ExtLibs,
SOPHYALIBLIST = -L$(SOPHYALIBP) $(SOPMODLIBLIST) $(SOPBASELIBS)
......
A/ 9 Fev 2006 -- Reza
-------------------------
A.1/ Test de compilation OK
A.2/ J'ai un probleme de fabrication et/ou d'utilisation des librairies
partagees - Je n'ai pas reussi a faire fonctionner correctement les
programmes lorsque j'utilise libextsophya.so
Ca passe avec les lib static .a libFitsIOServer.o libIFFTW.a
Idem pour les librairie avec PI - (s)piapp ne marche qu'avec
les lib.a !!
Sinon, ca fait un plantage bizarre +/- avant de rentrer ds le code SOPHYA
A.3/ Quand on met les librairies fortran -lxlf ... ==> plantage bizarre de nouveau
A.4/ Ceci est peut-etre lie au probleme de l'ordre d'initialisation des
librairies partagees ???
A.5/ Ne pas oublier de definir la variable d'environnement
LIBPATH pour que le link dynamique fonctionne
csh> setenv LIBPATH .
ou
csh> setenv LIBPATH .:$SOPHYABASE/slb
B/ Avril 2008 -- Reza
----------------------
B.1/ Le probleme avec les shared-libs semble resolu.
les programmes semblent fonctionner en 32 et 64 bits, avec la
serie des trois librairies partagees (libPI.so libextsophya.so libsophya.so)
B.2/ en 64 bits, l'affichage d'image par piapp a un probleme.
Il semble que les bits rouge et vert (R/G) sont echanges et
les bits bleus (B) sont perdus.
# --------- File OSF1_cxx_make.inc --------
# Liste des librariries externes
SOPEXTLIBS = $(SOPEXTLIBP) $(SOPEXTLIBLIST) -lfor
# Chemin et librairie pour PI
PIINC = $(PIEXTINC) -I/usr/include/
PILIBS = $(PIEXTLIB) -L/usr/lib/ -lXt -lX11
# Flag preprocesseur
CPPFLAGS = -