+ 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:
parent
c261412fc8
commit
ce19e896aa
|
@ -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
|
||||
IF(UNIX)
|
||||
|
||||
SET(OA_DIR_SEARCH $ENV{OPENACCESS_TOP})
|
||||
SET(OA_DIR_SEARCH $ENV{OA_LIB_DIR})
|
||||
IF(OA_DIR_SEARCH)
|
||||
FILE(TO_CMAKE_PATH ${OA_DIR_SEARCH} OA_DIR_SEARCH)
|
||||
ENDIF(OA_DIR_SEARCH)
|
||||
|
@ -90,31 +90,13 @@ IF(UNIX)
|
|||
#
|
||||
# Look for an installation.
|
||||
#
|
||||
FIND_PATH(OA_INCLUDE_PATH NAMES oa/oaDesign.h PATHS
|
||||
# Look in other places.
|
||||
${OA_DIR_SEARCH}
|
||||
FIND_PATH(OA_INCLUDE_PATH NAMES oa/oaDesign.h PATHS $ENV{OA_INCLUDE_DIR}
|
||||
PATH_SUFFIXES include
|
||||
# Help the user find it if we cannot.
|
||||
DOC "The ${OA_INCLUDE_PATH_DESCRIPTION}"
|
||||
)
|
||||
|
||||
|
||||
# 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_LIBRARY_DIR ${OA_DIR_SEARCH})
|
||||
|
||||
# Set OA_OACOMMON_LIBRARY
|
||||
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)
|
||||
SET(OA_FOUND "NO")
|
||||
IF(OA_FIND_REQUIRED)
|
||||
MESSAGE( FATAL_ERROR "OpenAccess libraries, includes NOT found!")
|
||||
MESSAGE( FATAL_ERROR "OpenAccess NOT found!")
|
||||
ELSE(OA_FIND_REQUIRED)
|
||||
MESSAGE( STATUS "OpenAccess libraries, includes NOT found!")
|
||||
MESSAGE( STATUS "OpenAccess NOT found!")
|
||||
ENDIF(OA_FIND_REQUIRED)
|
||||
ENDIF (OA_INCLUDE_PATH AND OA_OACOMMON_LIBRARY AND OA_OABASE_LIBRARY
|
||||
AND OA_OADM_LIBRARY AND OA_OATECH_LIBRARY AND OA_OADESIGN_LIBRARY
|
||||
|
|
|
@ -2,4 +2,9 @@
|
|||
all:
|
||||
cd ../../../../.. && make
|
||||
|
||||
.PHONY: all
|
||||
mrproper:
|
||||
cd testDriver && make mrproper
|
||||
cd testParser && make mrproper
|
||||
rm -rf .cadence
|
||||
|
||||
.PHONY: all mrproper
|
||||
|
|
|
@ -1,36 +1,49 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# we assume that the directory pointed by OPENACCESS_TOP is like in other project of the lab
|
||||
# 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
|
||||
# we assume we work on linux for 32bit or 64 bits x86.
|
||||
#
|
||||
# this script set environment variable for crlcore compilation with cadence OA
|
||||
# with these hypothesis
|
||||
#
|
||||
#OA_VERSION=oa_v22.04.057
|
||||
#ARCH=linux_rhel40_64
|
||||
# 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
|
||||
# third we set the OA_PLUGIN_PATH and systems PATHS so the plugins and shared lib will load.
|
||||
#
|
||||
|
||||
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
|
||||
#from virtuoso editor
|
||||
source $TEMP/IC613.sh
|
||||
# get encouter router too if possible
|
||||
if test -f ~opus/bin/EDI910.sh
|
||||
then
|
||||
source ~opus/bin/EDI910.sh
|
||||
fi
|
||||
|
||||
|
||||
ARCH=$(uname -i)
|
||||
|
||||
OPENACCESS_TOP=$OPUS_TOP/$OA_VERSION
|
||||
|
||||
# we need oa + specific cadence libs ...
|
||||
export OA_LIB_PATH=$OPENACCESS_TOP/lib:$OPUS_TOP/tools.lnx86/lib/64bit
|
||||
echo $OA_LIB_PATH
|
||||
case "$ARCH" in
|
||||
"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
|
||||
echo $OA_INCLUDE_PATH
|
||||
export PATH=$PATH:$OPENACCESS_TOP/bin
|
||||
|
||||
export LD_LIBRARY_PATH=$OA_LIB_PATH:$LD_LIBRARY_PATH
|
||||
|
||||
#for plugins .plg files
|
||||
export OA_PLUGIN_PATH=$OPENACCESS_TOP/data/plugins
|
||||
|
||||
#get encouter router too
|
||||
source $TEMP/EDI910.sh
|
||||
# for plugins .plg files
|
||||
export OA_PLUGIN_PATH=$OPENACCESS_TOP/data
|
||||
|
||||
# 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
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
TESTDIR= ./testOA
|
||||
TECHNOFILE= /asim/chams/etc/chams/config.freePDK45.xml
|
||||
M=$$(uname -m)
|
||||
|
||||
all: compile lefTest run
|
||||
|
||||
|
@ -11,26 +12,25 @@ compile:
|
|||
./compile.sh
|
||||
|
||||
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
|
||||
gdb -args ./x86_64/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR)
|
||||
gdb -args ./$(M)/usr/local/bin/testOAWrapper $(TECHNOFILE) $(TESTDIR)
|
||||
|
||||
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 ./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 -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
|
||||
rm -rf $(TESTDIR) *.log .cadence
|
||||
cd sxlib2lef && make mrproper
|
||||
|
||||
clean:
|
||||
rm -rf x86_64
|
||||
|
||||
rm -rf $(M)
|
||||
|
||||
.PHONY: clean mrproper valgrind ddd debug run compile all lefTest
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
TECHNOFILE= /asim/chams/etc/chams/config.freePDK45.xml
|
||||
M=$$(uname -m)
|
||||
|
||||
all: compile
|
||||
|
||||
|
@ -7,7 +8,7 @@ compile:
|
|||
./compile.sh
|
||||
|
||||
run:
|
||||
./x86_64/usr/local/bin/testOAWrapper \
|
||||
./$(M)/usr/local/bin/testOAWrapper \
|
||||
"/dsk/l1/misc/caba/OA_BENCHMARKS/NangateOpenCellLibrary_PDKv1_3_v2009_07/openaccess" \
|
||||
"NangateOpenCellLibrary" \
|
||||
"/dsk/l1/misc/caba/OA_BENCHMARKS/NangateOpenCellLibrary_PDKv1_3_v2009_07/openaccess" \
|
||||
|
@ -17,7 +18,6 @@ mrproper: clean
|
|||
rm -rf *.log .cadence
|
||||
|
||||
clean:
|
||||
rm -rf x86_64
|
||||
|
||||
rm -rf $(M)
|
||||
|
||||
.PHONY: clean mrproper compile all run
|
||||
|
|
Loading…
Reference in New Issue