+ testing on 32 and 64 bits x86 machines

+ change cmake OpenAccess macro we need 2 env variables :
    OA_LIB_DIR where are the oa libs 
    OA_INCLUDE_DIR where are the oa headers 
   this way different headers version can be tested versus different OA compiled libs
This commit is contained in:
Jean-Manuel Caba 2010-08-13 00:08:16 +00:00
parent c261412fc8
commit ce19e896aa
5 changed files with 58 additions and 58 deletions

View File

@ -82,7 +82,7 @@ SET(OA_DIR_MESSAGE "Set the OA_INCLUDE_DIR cmake cache entry to the ${OA_INCLUDE
# don't even bother under WIN32 # don't even bother under WIN32
IF(UNIX) IF(UNIX)
SET(OA_DIR_SEARCH $ENV{OPENACCESS_TOP}) SET(OA_DIR_SEARCH $ENV{OA_LIB_DIR})
IF(OA_DIR_SEARCH) IF(OA_DIR_SEARCH)
FILE(TO_CMAKE_PATH ${OA_DIR_SEARCH} OA_DIR_SEARCH) FILE(TO_CMAKE_PATH ${OA_DIR_SEARCH} OA_DIR_SEARCH)
ENDIF(OA_DIR_SEARCH) ENDIF(OA_DIR_SEARCH)
@ -90,31 +90,13 @@ IF(UNIX)
# #
# Look for an installation. # Look for an installation.
# #
FIND_PATH(OA_INCLUDE_PATH NAMES oa/oaDesign.h PATHS FIND_PATH(OA_INCLUDE_PATH NAMES oa/oaDesign.h PATHS $ENV{OA_INCLUDE_DIR}
# Look in other places.
${OA_DIR_SEARCH}
PATH_SUFFIXES include PATH_SUFFIXES include
# Help the user find it if we cannot. # Help the user find it if we cannot.
DOC "The ${OA_INCLUDE_PATH_DESCRIPTION}" DOC "The ${OA_INCLUDE_PATH_DESCRIPTION}"
) )
SET(OA_LIBRARY_DIR ${OA_DIR_SEARCH})
# FIND_PROGRAM(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
# IF(CMAKE_UNAME)
# EXEC_PROGRAM(uname ARGS -a OUTPUT_VARIABLE SYSTEM_TYPE)
# ELSE(CMAKE_UNAME)
# MESSAGE(FATAL_ERROR, "uname command was not found")
# ENDIF(CMAKE_UNAME)
# IF($SYSTEM_TYPE MATCHES ".*x86_64.*")
# SET(OA_LIBRARY_DIR ${OA_DIR_SEARCH}/lib/linux_rhel30_64/dbg)
# ELSEIF($SYSTEM_TYPE MATCHES ".*i686.*")
# SET(OA_LIBRARY_DIR ${OA_DIR_SEARCH}/lib/linux_rhel21_32/dbg)
# ELSE($SYSTEM_TYPE MATCHES ".*x86_64.*")
# SET(OA_LIBRARY_DIR "unknown")
# ENDIF($SYSTEM_TYPE MATCHES ".*x86_64.*")
SET(OA_LIBRARY_DIR ${OA_DIR_SEARCH}/lib)
# Set OA_OACOMMON_LIBRARY # Set OA_OACOMMON_LIBRARY
FIND_LIBRARY(OA_OACOMMON_LIBRARY_RELEASE NAMES oaCommon PATHS ${OA_LIBRARY_DIR} NO_DEFAULT_PATH ) FIND_LIBRARY(OA_OACOMMON_LIBRARY_RELEASE NAMES oaCommon PATHS ${OA_LIBRARY_DIR} NO_DEFAULT_PATH )
@ -223,9 +205,9 @@ IF(UNIX)
ELSE (OA_INCLUDE_PATH AND OA_LIBRARY_PATH) ELSE (OA_INCLUDE_PATH AND OA_LIBRARY_PATH)
SET(OA_FOUND "NO") SET(OA_FOUND "NO")
IF(OA_FIND_REQUIRED) IF(OA_FIND_REQUIRED)
MESSAGE( FATAL_ERROR "OpenAccess libraries, includes NOT found!") MESSAGE( FATAL_ERROR "OpenAccess NOT found!")
ELSE(OA_FIND_REQUIRED) ELSE(OA_FIND_REQUIRED)
MESSAGE( STATUS "OpenAccess libraries, includes NOT found!") MESSAGE( STATUS "OpenAccess NOT found!")
ENDIF(OA_FIND_REQUIRED) ENDIF(OA_FIND_REQUIRED)
ENDIF (OA_INCLUDE_PATH AND OA_OACOMMON_LIBRARY AND OA_OABASE_LIBRARY ENDIF (OA_INCLUDE_PATH AND OA_OACOMMON_LIBRARY AND OA_OABASE_LIBRARY
AND OA_OADM_LIBRARY AND OA_OATECH_LIBRARY AND OA_OADESIGN_LIBRARY AND OA_OADM_LIBRARY AND OA_OATECH_LIBRARY AND OA_OADESIGN_LIBRARY

View File

@ -2,4 +2,9 @@
all: all:
cd ../../../../.. && make cd ../../../../.. && make
.PHONY: all mrproper:
cd testDriver && make mrproper
cd testParser && make mrproper
rm -rf .cadence
.PHONY: all mrproper

View File

@ -1,36 +1,49 @@
#!/bin/sh #!/bin/sh
# #
# we assume that the directory pointed by OPENACCESS_TOP is like in other project of the lab # we assume we work on linux for 32bit or 64 bits x86.
# to do so we should have :
# - included symbolic link to bin data lib and license directories from cadence OA
# - included doc and example from si2.org OA
# - included a symbolic link to an installation of headers from si2.org OA
# #
# this script set environment variable for crlcore compilation with cadence OA # this script set environment variable for crlcore compilation with cadence OA
# with these hypothesis # first we set OPENACCESS_LIB to the oa directory containing the OA version we want to use
# # second we set OPENACCESS_INCLUDE to where the OA include we want to use are
#OA_VERSION=oa_v22.04.057 # third we set the OA_PLUGIN_PATH and systems PATHS so the plugins and shared lib will load.
#ARCH=linux_rhel40_64
# #
export OPENACCESS_TOP=$TEMP/CADENCE_OA # use oa from virtuoso
OA_VERSION=oa_v22.04.057
# get OPUS_TOP and tools
# from virtuoso editor (needed)
source ~opus/bin/IC613.sh
#get OPUS_TOP and tools # get encouter router too if possible
#from virtuoso editor if test -f ~opus/bin/EDI910.sh
source $TEMP/IC613.sh then
source ~opus/bin/EDI910.sh
fi
ARCH=$(uname -i)
OPENACCESS_TOP=$OPUS_TOP/$OA_VERSION
# we need oa + specific cadence libs ... # we need oa + specific cadence libs ...
export OA_LIB_PATH=$OPENACCESS_TOP/lib:$OPUS_TOP/tools.lnx86/lib/64bit case "$ARCH" in
echo $OA_LIB_PATH "x86_64")
export OA_LIB_DIR=$OPENACCESS_TOP/lib/linux_rhel40_64/opt
export LD_LIBRARY_PATH=$OA_LIB_DIR:$OPUS_TOP/tools.lnx86/lib/64bit:$LD_LIBRARY_PATH
;;
*)
export OA_LIB_DIR=$OPENACCESS_TOP/lib/linux_rhel40_32/opt
export LD_LIBRARY_PATH=$OA_LIB_DIR:$OPUS_TOP/tools.lnx86/lib:$LD_LIBRARY_PATH
;;
esac
export OA_INCLUDE_PATH=$OPENACCESS_TOP/include export PATH=$PATH:$OPENACCESS_TOP/bin
echo $OA_INCLUDE_PATH
export LD_LIBRARY_PATH=$OA_LIB_PATH:$LD_LIBRARY_PATH # for plugins .plg files
export OA_PLUGIN_PATH=$OPENACCESS_TOP/data
#for plugins .plg files
export OA_PLUGIN_PATH=$OPENACCESS_TOP/data/plugins
#get encouter router too
source $TEMP/EDI910.sh
# where the si2 hearders have been installed
# note that $TEMP is /dsk/l1/misc/$(USER) directory
export OA_INCLUDE_DIR=$TEMP/OA_HEADER
#si on utilise OA de si2 on aura
#export OPENACCESS_INCLUDE=$OPENACCESS_TOP/include

View File

@ -1,6 +1,7 @@
TESTDIR= ./testOA TESTDIR= ./testOA
TECHNOFILE= /asim/chams/etc/chams/config.freePDK45.xml TECHNOFILE= /asim/chams/etc/chams/config.freePDK45.xml
M=$$(uname -m)
all: compile lefTest run all: compile lefTest run
@ -11,26 +12,25 @@ compile:
./compile.sh ./compile.sh
run: compile run: compile
./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log ./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log
debug: compile debug: compile
gdb -args ./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) gdb -args ./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR)
ddd: compile ddd: compile
ddd -args ./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) ddd -args ./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR)
valgrind_simple: compile valgrind_simple: compile
valgrind ./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log valgrind ./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log
valgrind_full: compile valgrind_full: compile
valgrind -v --leak-check=full --show-reachable=yes ./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log valgrind -v --leak-check=full --show-reachable=yes ./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR) 2>&1 | tee $@.log
mrproper: clean mrproper: clean
rm -rf $(TESTDIR) *.log .cadence rm -rf $(TESTDIR) *.log .cadence
cd sxlib2lef && make mrproper cd sxlib2lef && make mrproper
clean: clean:
rm -rf x86_64 rm -rf $(M)
.PHONY: clean mrproper valgrind ddd debug run compile all lefTest .PHONY: clean mrproper valgrind ddd debug run compile all lefTest

View File

@ -1,5 +1,6 @@
TECHNOFILE= /asim/chams/etc/chams/config.freePDK45.xml TECHNOFILE= /asim/chams/etc/chams/config.freePDK45.xml
M=$$(uname -m)
all: compile all: compile
@ -7,7 +8,7 @@ compile:
./compile.sh ./compile.sh
run: run:
./x86_64/usr/local/bin/testOAWrapper \ ./$(M)/usr/local/bin/testOAWrapper \
"/dsk/l1/misc/caba/OA_BENCHMARKS/NangateOpenCellLibrary_PDKv1_3_v2009_07/openaccess" \ "/dsk/l1/misc/caba/OA_BENCHMARKS/NangateOpenCellLibrary_PDKv1_3_v2009_07/openaccess" \
"NangateOpenCellLibrary" \ "NangateOpenCellLibrary" \
"/dsk/l1/misc/caba/OA_BENCHMARKS/NangateOpenCellLibrary_PDKv1_3_v2009_07/openaccess" \ "/dsk/l1/misc/caba/OA_BENCHMARKS/NangateOpenCellLibrary_PDKv1_3_v2009_07/openaccess" \
@ -17,7 +18,6 @@ mrproper: clean
rm -rf *.log .cadence rm -rf *.log .cadence
clean: clean:
rm -rf x86_64 rm -rf $(M)
.PHONY: clean mrproper compile all run .PHONY: clean mrproper compile all run