This commit is contained in:
Olivier Sirol 1999-09-09 14:24:53 +00:00
parent a7f2e06280
commit b249ae4bec
51 changed files with 4383 additions and 0 deletions

23
dev/scripts/.header.gpl.c Normal file
View File

@ -0,0 +1,23 @@
/*
* This file is part of the Alliance CAD System
* Copyright (C) Laboratoire LIP6 - Département ASIM
* Universite Pierre et Marie Curie
*
* Home page : http://www-asim.lip6.fr/alliance/
* E-mail support : mailto:alliance-support@asim.lip6.fr
*
* This progam is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* Alliance VLSI CAD System is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with the GNU C Library; see the file COPYING. If not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

View File

@ -0,0 +1,23 @@
#
# This file is part of the Alliance CAD System
# Copyright (C) Laboratoire LIP6 - Département ASIM
# Universite Pierre et Marie Curie
#
# Home page : http://www-asim.lip6.fr/alliance/
# E-mail support : mailto:alliance-support@asim.lip6.fr
#
# This progam is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
# Alliance VLSI CAD System is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with the GNU C Library; see the file COPYING. If not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#

View File

@ -0,0 +1,23 @@
/*
* This file is part of the Alliance CAD System
* Copyright (C) Laboratoire LIP6 - Département ASIM
* Universite Pierre et Marie Curie
*
* Home page : http://www-asim.lip6.fr/alliance/
* E-mail support : mailto:alliance-support@asim.lip6.fr
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Library General Public License as published
* by the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* Alliance VLSI CAD System is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with the GNU C Library; see the file COPYING. If not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

View File

@ -0,0 +1,23 @@
#
# This file is part of the Alliance CAD System
# Copyright (C) Laboratoire LIP6 - Département ASIM
# Universite Pierre et Marie Curie
#
# Home page : http://www-asim.lip6.fr/alliance/
# E-mail support : mailto:alliance-support@asim.lip6.fr
#
# This library is free software; you can redistribute it and/or modify it
# under the terms of the GNU Library General Public License as published
# by the Free Software Foundation; either version 2 of the License, or (at
# your option) any later version.
#
# Alliance VLSI CAD System is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with the GNU C Library; see the file COPYING. If not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#

29
dev/scripts/marker Normal file
View File

@ -0,0 +1,29 @@
Alliance VLSI CAD System
Copyright (C) Laboratoire LIP6 - Département ASIM
Universite Pierre et Marie Curie
4, place Jussieu
75252 Paris Cedex 05
France
Alliance VLSI CAD System is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
Alliance libraries are distributed under the terms of the GNU Library
General Public License as published by the Free Software Foundation.
Alliance VLSI CAD System is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
02139, USA.
You are welcome to use the software package even for commercial designs
whithout any fee. You are just required to mention : "Designed with
Alliance CAD system"

View File

@ -0,0 +1,34 @@
#! /bin/csh
if ( $#argv != 1 ) then
echo "PRINT_CELLS_DOC needs to know the printer device you are using"
echo "Example:"
echo "$ PRINT_CELLS_DOC sparc"
echo "if your printer is named 'sparc'."
exit
endif
# miscellaneous
lpr -P$1 alliance_doc/padlib_c.ps
lpr -P$1 ring/padlib.ps
foreach i ( ring/*_p.ps )
echo $i
lpr -P$1 -h $i
end
lpr -P$1 alliance_doc/sclib_c.ps
lpr -P$1 scr/sclib.ps
foreach i ( scr/*_y.ps )
echo $i
lpr -P$1 -h $i
lpr -P$1 alliance_doc/dplib_c.ps
lpr -P$1 fitpath/dplib.ps
foreach i ( fitpath/*_dp.ps )
echo $i
lpr -P$1 -h $i
end

110
dev/scripts/misc/PRINT_TOOLS_DOC Executable file
View File

@ -0,0 +1,110 @@
#! /bin/csh
if ( $#argv != 1 ) then
echo "PRINT_TOOLS_DOC needs to know the printer device you are using"
echo "Example :"
echo "$ PRINT_TOOLS_DOC sparc"
echo "if your printer is named 'sparc'."
exit
endif
# list of tools
lpr -P$1 -h alliance_doc/alligator_c.ps
lpr -P$1 -h fpga/alligator.ps
lpr -P$1 -h alliance_doc/amg_c.ps
lpr -P$1 -h amg/amg.ps
lpr -P$1 -h alliance_doc/asimut_c.ps
lpr -P$1 -h asimut/asimut.ps
lpr -P$1 -h alliance_doc/bbr_c.ps
lpr -P$1 -h flop/bbr.ps
lpr -P$1 -h alliance_doc/bsg_c.ps
lpr -P$1 -h bsg/bsg.ps
lpr -P$1 -h alliance_doc/cheops_c.ps
lpr -P$1 -h cheops/IKHUM.ps
lpr -P$1 -h cheops/XKHUM0.ps
lpr -P$1 -h cheops/XKHUM1.ps
lpr -P$1 -h cheops/XKHUM2.ps
lpr -P$1 -h cheops/XKHUM3.ps
lpr -P$1 -h cheops/XKHUM4.ps
lpr -P$1 -h cheops/XKHUM5.ps
lpr -P$1 -h alliance_doc/desb_c.ps
lpr -P$1 -h desb/userManual.ps
lpr -P$1 -h alliance_doc/dlx_asm_c.ps
lpr -P$1 -h asm/dlx_asm.ps
lpr -P$1 -h alliance_doc/dpr_c.ps
lpr -P$1 -h dpr/dpr.ps
lpr -P$1 -h alliance_doc/dreal_c.ps
lpr -P$1 -h dreal/dreal.ps
lpr -P$1 -h alliance_doc/druc_c.ps
lpr -P$1 -h druc/druc.ps
lpr -P$1 -h alliance_doc/fpgen_c.ps
lpr -P$1 -h fitpath/fpgen.ps
lpr -P$1 -h alliance_doc/genlib_c.ps
lpr -P$1 -h genlib/genlib.ps
lpr -P$1 -h alliance_doc/genpat_c.ps
lpr -P$1 -h genpat/genpat.ps
lpr -P$1 -h alliance_doc/genview_c.ps
lpr -P$1 -h genview/genview.ps
lpr -P$1 -h alliance_doc/graal_c.ps
lpr -P$1 -h graal/graal.ps
lpr -P$1 -h alliance_doc/grog_c.ps
lpr -P$1 -h grog/grog.ps
lpr -P$1 -h alliance_doc/l2p_c.ps
lpr -P$1 -h rds2ps/l2p.ps
lpr -P$1 -h alliance_doc/logic_c.ps
lpr -P$1 -h sl/logic.ps
lpr -P$1 -h alliance_doc/lvx_c.ps
lpr -P$1 -h lvx/lvx.ps
lpr -P$1 -h alliance_doc/lynx_c.ps
lpr -P$1 -h lynx/lynx.ps
lpr -P$1 -h alliance_doc/netoptim_c.ps
lpr -P$1 -h netoptim/netoptim.ps
lpr -P$1 -h alliance_doc/proof_c.ps
lpr -P$1 -h proof/proof.ps
lpr -P$1 -h alliance_doc/rage_c.ps
lpr -P$1 -h rage/rage.ps
lpr -P$1 -h alliance_doc/rfg_c.ps
lpr -P$1 -h rfg/rfg.ps
lpr -P$1 -h alliance_doc/ring_c.ps
lpr -P$1 -h ring/ring.ps
lpr -P$1 -h alliance_doc/rsa_c.ps
lpr -P$1 -h rsa/rsa.ps
lpr -P$1 -h alliance_doc/s2r_c.ps
lpr -P$1 -h s2r/s2r.ps
lpr -P$1 -h alliance_doc/scr_c.ps
lpr -P$1 -h scr/scr.ps
lpr -P$1 -h alliance_doc/syf_c.ps
lpr -P$1 -h syf/syf.ps
lpr -P$1 -h alliance_doc/tas_c.ps
lpr -P$1 -h tas/tas.ps

View File

@ -0,0 +1,11 @@
ac fpmap
anthony cns yagle
czo alcban bdd genpat icones mbkedif mbkhilo pat rage sl testools rds2ps flatbeh mbktools gscr scr
franck amg bsg lvx rfg ring rsa s2r
fred flop genlib genview grog mbk mbkmg mbkvti
gregoire lynx mbkal mbkspice
jpc dpr fitpath mbkap
karim elp tas
ludo dreal druc graal rds rdscif rdsgds syf
mourad mbkvrlog
pirouz asimut asm beh behvhdl mbkvhdl

View File

@ -0,0 +1,16 @@
.\" Generic header for alliance man pages
.\"
.\" $Id: alc_bug_rprt.1,v 1.1 1999/09/09 14:24:53 czo Exp $
.\"
.SH BUG REPORT
This tool is under development at the
.B ASIM/LIP6
laboratory, cao-vlsi research team.
.br
If you have problems please e-mail to :
.I alliance-support@asim.lip6.fr

View File

@ -0,0 +1,5 @@
rm alliance-3.2a-Linux_elf.tgz
rm alliance-3.2a-common.tgz
cp alliance/README alliance.README
tar cvzf alliance-3.2a-Linux_elf.tgz alliance/archi/Linux_elf/ &
tar cvzf alliance-3.2a-common.tgz alliance/CHANGES alliance/LICENCE alliance/FAQ alliance/README alliance/overview.ps alliance/share/ &

29
dev/scripts/misc/alc_create_rep Executable file
View File

@ -0,0 +1,29 @@
#! /bin/sh
# Cree l'arborescence classique $HOME/labo et $HOME/dev
# $Id: alc_create_rep,v 1.1 1999/09/09 14:24:53 czo Exp $
# labo + dev
for ROOT in labo dev
do
echo "==> making rep in $HOME/$ROOT"
for REP in 1 3 5
do
mkdir -p $HOME/$ROOT/man/man$REP
done
mkdir -p $HOME/$ROOT/doc
mkdir -p $HOME/$ROOT/sce
done
# labo seulement
ROOT=labo
for ARCHI in Linux_elf Solaris SunOS
do
for REP in bin obj lib include
do
mkdir -p $HOME/labo/$ARCHI/$REP
done
done

View File

@ -0,0 +1,99 @@
# -*- Mode: Shell-script -*-
# ,,,
# (o o)
####=====oOO--(_)--OOO=========================================####
#
# Alliance CAD system environnement
# Usage (in C-shell) : > source alc_env.csh
# (C) 1997 Czo -- <sirol@asim.lip6.fr>
# $Id: alc_env.csh,v 1.1 1999/09/09 14:24:53 czo Exp $
# $Name: $
# Which platform for Alliance CAD
switch (`uname`)
case Linux:
if ( `uname -r` =~ 1.* ) then
setenv MACHINE Linux_aout
else
setenv MACHINE Linux_elf
endif
breaksw
case SunOS:
if ( `uname -r` =~ 5* ) then
setenv MACHINE Solaris
else
setenv MACHINE SunOS
endif
breaksw
default:
setenv MACHINE Unknown
breaksw
endsw
# Where the Alliance CAD is installed
setenv TOP /users/soft5/newlabo/$MACHINE
# User def
setenv MBK_IN_LO vst
setenv MBK_OUT_LO vst
setenv MBK_IN_PH ap
setenv MBK_OUT_PH ap
setenv MBK_WORK_LIB .
setenv MBK_CATAL_NAME CATAL
setenv VH_MAXERR 10
setenv VH_BEHSFX vbe
setenv VH_PATSFX pat
setenv MBK_CATA_LIB .:$TOP/cells/sclib
setenv MBK_TARGET_LIB $TOP/cells/sclib
setenv MBK_C4_LIB ./cellsC4
setenv XPAT_PARAM_NAME $TOP/etc/xpat.par
setenv XFSM_PARAM_NAME $TOP/etc/xfsm.par
setenv DREAL_TECHNO_NAME $TOP/etc/cmos_7.dreal
setenv GRAAL_TECHNO_NAME $TOP/etc/cmos_7.graal
setenv RDS_TECHNO_NAME $TOP/etc/cmos_7.rds
setenv RDS_IN cif
setenv RDS_OUT cif
setenv ELP_TECHNO_NAME $TOP/etc/prol10.elp
# Update PATH and MANPATH
if $?PATH then
setenv PATH $HOME/labo/$MACHINE/bin:$TOP/bin:$PATH
else
setenv PATH $HOME/labo/$MACHINE/bin:$TOP/bin
endif
if $?MANPATH then
setenv MANPATH $TOP/man:$MANPATH
else
setenv MANPATH $TOP/man
endif
# Show results
if ($?prompt) then
alias xmbk 'eval `\xmbk -c`'
cat /users/soft5/newlabo/motd
echo ""
echo "Alliance settings :"
echo ""
echo " MACHINE = $MACHINE"
echo " TOP = $TOP"
echo ""
endif
# EOF -- $Source: /dsk/l1/alliance/cvsroot/dev/scripts/misc/alc_env.csh,v $

View File

@ -0,0 +1,82 @@
# -*- Mode: Shell-script -*-
# ,,,
# (o o)
####=====oOO--(_)--OOO=========================================####
#
# Alliance CAD system environnement
# Usage (in Bourne-shell) : > . alc_env.sh
# (C) 1997 Czo -- <sirol@asim.lip6.fr>
# $Id: alc_env.sh,v 1.1 1999/09/09 14:24:53 czo Exp $
# $Name: $
# Which platform for Alliance CAD
case `uname` in
Linux*) case `uname -r` in
1.*) MACHINE=Linux_aout ;;
*) MACHINE=Linux_elf ;;
esac ;;
SunOS*) case `uname -r` in
5*) MACHINE=Solaris ;;
*) MACHINE=SunOS ;;
esac ;;
*) MACHINE=Unknown ;;
esac
export MACHINE
# Where the Alliance CAD is installed
TOP=/users/soft5/newlabo/$MACHINE ; export TOP
# User def
MBK_IN_LO=vst; export MBK_IN_LO
MBK_OUT_LO=vst; export MBK_OUT_LO
MBK_IN_PH=ap; export MBK_IN_PH
MBK_OUT_PH=ap; export MBK_OUT_PH
MBK_WORK_LIB=.; export MBK_WORK_LIB
MBK_CATAL_NAME=CATAL; export MBK_CATAL_NAME
VH_MAXERR=10; export VH_MAXERR
VH_BEHSFX=vbe; export VH_BEHSFX
VH_PATSFX=pat; export VH_PATSFX
MBK_CATA_LIB=.:$TOP/cells/sclib; export MBK_CATA_LIB
MBK_TARGET_LIB=$TOP/cells/sclib; export MBK_TARGET_LIB
MBK_C4_LIB=./cellsC4; export MBK_C4_LIB
XPAT_PARAM_NAME=$TOP/etc/xpat.par; export XPAT_PARAM_NAME
XFSM_PARAM_NAME=$TOP/etc/xfsm.par; export XFSM_PARAM_NAME
DREAL_TECHNO_NAME=$TOP/etc/cmos_7.dreal; export DREAL_TECHNO_NAME
GRAAL_TECHNO_NAME=$TOP/etc/cmos_7.graal; export GRAAL_TECHNO_NAME
RDS_TECHNO_NAME=$TOP/etc/cmos_7.rds; export RDS_TECHNO_NAME
ELP_TECHNO_NAME=$TOP/etc/prol10.elp; export ELP_TECHNO_NAME
## Update PATH and MANPATH
PATH=$HOME/labo/$MACHINE/bin:$TOP/bin:$PATH
export PATH
MANPATH=$TOP/man:$MANPATH
export MANPATH
# Show results
if [ "$PS1" != "" ]; then
if [ ! $PS1 = "\$" ]; then
alias xmbk='eval `\xmbk -c`'
cat /users/soft5/newlabo/motd
echo ""
echo "Alliance settings :"
echo ""
echo " MACHINE = $MACHINE"
echo " TOP = $TOP"
echo ""
fi
fi
# EOF -- $Source: /dsk/l1/alliance/cvsroot/dev/scripts/misc/alc_env.sh,v $

43
dev/scripts/misc/alc_flock Executable file
View File

@ -0,0 +1,43 @@
#!/bin/sh
# -*- Mode: shell-script -*-
#
# Script to using a lock file
#
# Author : Olivier SIROL
# Date : Sep 1997
# $Id: alc_flock,v 1.1 1999/09/09 14:24:53 czo Exp $
#
LOCK_FILE=/users/cao3/sirol/toto
LOCK_HOST=silver
trap "rm -f $LOCK_FILE ; exit 0" 0 1 2 15
getlock() {
while [ X`rsh $LOCK_HOST /users/cao3/sirol/local/Linux_elf/bin/shlock -f $LOCK_FILE -p 1`Y = XLOCKEDY ] ;
do
echo "$LOCK_FILE is locked, waiting 2 sec..."
sleep 2
done
echo "Creating lock file : $LOCK_FILE"
}
rmlock() {
echo "Removing lock file : $LOCK_FILE"
rsh $LOCK_HOST rm -f $LOCK_FILE ;
}
# main
#getlock 2> /dev/null
getlock
sleep 5
rmlock

View File

@ -0,0 +1,127 @@
#!/bin/sh
# -*- Mode: shell-script -*-
#
# Script to install 1 Alliance account
#
# Author : Olivier SIROL
# Date : Jul 1997
# $Id: alc_install_account,v 1.1 1999/09/09 14:24:53 czo Exp $
#
# Ex d'appel : "alc_install_account testools"
# Installe sur HOUSE tous les
# |- labo -----------+- Solaris --------+- bin
# | | |- include
# | | |- lib
# | | `- obj
# Si il existe la meme chose dans bin et lib (include doit etre un lien comme man)
# pour toutes les archi, on installe...
# $MACHINE
# SunOS
# Solaris
# Linux_elf
# Linux_aout
#
# Les binaires sont renomes en .new
#
# Copie de tout ce qu'on installe dans tous les spool (donc binaire.new aussi)
# cf `alc_update_spool` pour des commentaires a propos de spool
#
# le nom du compte a installer
ACCOUNT_NAME=$1
ALC_HOUSE=/users/soft5/newlabo/
SPOOL_DIR=$ALC_HOUSE/alc_spool/
ALL_HOSTS="bechet opera morton"
ALL_MACHINE="Solaris SunOS Linux_elf Linux_aout"
ALL_REP="bin lib include"
function fail {
echo -e "\
\n\
\n\
@@@@@@@@@ @ @@@@@@ @@@@@@ \n\
@@ @ @ @@ @@ \n\
@@ @ @@@ @@ @@ \n\
@@ @@@ @@ @@ \n\
@@ @ @ @@ @@ @@ \n\
@@@@@@ @ @@ @@ @@ \n\
@@ @ @ @@ @@ @@ \n\
@@ @@@@@@@ @@ @@ \n\
@@ @ @@ @@ @@ @\n\
@@ @ @@ @@ @@ @ \n\
@@@@@@ @@@@ @@@@ @@@@@@ @@@@@@@@@@ "
exit 1
}
function pass {
echo -e "\
\n\
\n\
@@@@@@@ @ @@@@ @ @@@@ @ \n\
@@ @@ @ @ @@ @ @@ \n\
@@ @@ @@@ @@ @ @@ @ \n\
@@ @@ @@@ @@@ @@@ \n\
@@ @@ @ @@ @@@@ @@@@ \n\
@@@@@ @ @@ @@@@ @@@@ \n\
@@ @ @@ @@@ @@@ \n\
@@ @@@@@@@ @ @@ @ @@\n\
@@ @ @@ @@ @@ @@ @@\n\
@@ @ @@ @@@ @ @@@ @ \n\
@@@@@@ @@@@ @@@@ @ @@@@ @ @@@@ "
}
if [ $# -lt 1 ] ; then
echo "Usage : `basename $0` XXX"
echo "where XXX is the account name you want to install"
exit 1
fi
# Verifier quil y a la meme chose pour toute les $ALL_MACHINE
# for FILE in `find ....$REP -type f`
# do
# done
for THIS_MACHINE in $ALL_MACHINE
do
for THIS_REP in $ALL_REP
do
#!!!!!!!!!!!!!!!!!!! l'expansion du tilde marche pas faut faire man
# et je part en turquie!
echo find ~$ACCOUNT_NAME/labo/$THIS_MACHINE/$THIS_REP -type f
for FILE in `find ~$ACCOUNT_NAME/labo/$THIS_MACHINE/$THIS_REP -type f`
do
FILENAME=`basename $FILE`
echo cp $FILE $ALC_HOUSE/$THIS_REP/
if [ $? -ne 0 ] ; then
fail
fi
echo chmod ... $ALC_HOUSE/$THIS_REP/$FILENAME
# update spool
for THIS_HOST in $ALL_HOSTS
do
echo touch $SPOOL_DIR/$THIS_HOST/$THIS_REP/$FILENAME
done
done
done
done
# alc_update_libraries.mk $ALC_HOUSE/Solaris
pass
# il faut tout mailer a alc_team
#
# peut etre plus de :
# if [ $? -ne 0 ] ; then
# fail
# fi

View File

@ -0,0 +1,38 @@
#! /bin/sh
# Efface $HOME/labo
# $Id: alc_link_labo_sce,v 1.1 1999/09/09 14:24:53 czo Exp $
TARGETS="Linux_elf Solaris SunOS"
echo "==> Exporting $LOGNAME on $TARGETS architectures"
echo "==> Cleaning $HOME/labo"
for i in $TARGETS sparc sun pc linux dec ; do
rm -rf $HOME/labo/$i
done
echo "==> Cleaning $HOME/labo/sce"
cd $HOME/labo/sce/
make clean
ROOT=labo
for ARCHI in $TARGETS
do
echo "==> link rep $ARCHI"
for REP in bin obj lib include
do
mkdir -p $HOME/labo/$ARCHI/$REP
done
done
echo "==> Making links..."
for i in $TARGETS; do
for j in `ls $HOME/labo/sce`; do
ln $HOME/labo/sce/$j $HOME/labo/$i/obj
done
done
echo "==> Done."

12
dev/scripts/misc/alc_man_test Executable file
View File

@ -0,0 +1,12 @@
#!/bin/sh
for file in *.?
do
echo "Press <ENTER> key to see $file man [Ctrl-C to abort]" ;
read
read
man ./$file 2> /dev/ttyp4 ;
done

50
dev/scripts/misc/alc_man_up Executable file
View File

@ -0,0 +1,50 @@
#!/bin/sh
for FILE in $*
do
echo "%%%%%%%%%%%%%%%%%%% Processing $FILE"
cat $FILE | gawk -v FILE=$FILE '
# enlever .if . \{ une ligne avant .SH BUG
#/\.if . \\/ {go=1; mal=NR ; SAVE=$0; next}
##/^[\t ]*$/ {if (go) next}
#/\.SH BUG/ {if (go)
# if (NR==(mal+1))
# {
# SAVE="";
## printf("%s:%d\n", FILE , mal);
# }
# }
# {if (go) print SAVE ; print; go=0}
#
# remplacer .SH BUG.... par .so
#BEGIN { go = 1; }
#
#/\.SH BUG/ { go = 0;
# printf( ".so man1/alc_origin.1\n" );
# next;
# }
#
#/\.SH/ { go = 1; }
#
# {if (go) print}
# remplacer .TH
#.TH TAS 1 "September 30 1997" "Release 5.20" "cao\-vlsi reference manual"
#/^\.TH/ {printf(".TH %s %s \"October 1 1997\" %s %s", $2, $3, $5, $6 ) ; next; }
BEGIN {FS="\"";
gsub (/\./, " " , FILE);
FILE=toupper(FILE);}
/^\.TH/ {printf(".TH %s \"October 1, 1997\" \"ASIM/LIP6\" \"%s\"\n", FILE, $(NF-1)) ;next; }
{ print }
' > tmp_file.tmp
#sed -e "s/$1/$2/g" $FILE > tmp_file.tmp
cp tmp_file.tmp $FILE
rm tmp_file.tmp
done

152
dev/scripts/misc/alc_news Normal file
View File

@ -0,0 +1,152 @@
alcteam :
--------
Gregoire.Avot@asim.lip6.fr
Mourad.Aberbour@asim.lip6.fr
Pirouz.Bazargan-Sabet@asim.lip6.fr
Abdelhafid.Bouaraoua@asim.lip6.fr
Arnaud.Caron@asim.lip6.fr
Jean-Paul.Chaput@asim.lip6.fr
Anne.Derieux@asim.lip6.fr
Gilles-Eric.Descamps@asim.lip6.fr
Karim.Dioury@asim.lip6.fr
Olivier.Florent@asim.lip6.fr
Alain.Greiner@asim.lip6.fr
Ludovic.Jacomme@asim.lip6.fr
Anthony.Lester@asim.lip6.fr
Frederic.Petrot@asim.lip6.fr
Housseine.Rejouan@asim.lip6.fr
Olivier.Sirol@asim.lip6.fr
Huu-Nghia.Vuong@asim.lip6.fr
Franck.Wajsburt@asim.lip6.fr
La liste des mots cles pour les differentes architectures :
> - SunOS (mi, roll)
> - Solaris (adagio, opera)
> - Linux_aout (gallus, leonin)
> - Linux_elf (parker, cherry)
Plusieurs remarques:
o Nous avons decide de retirer tout ce qui concerne les
outils et les librarires AsGa de la prochaine version.
o Nous avons decide de retirer tout ce qui concerne les
Icons de la prochaine version d'Alliance.
o Il s'avere que tres peu de librairies n'ont pas de
responsable (voir la liste ci-dessous).
RESPONSABLES OUTILS et BIBLIOTHEQUES ALLIANCE
(Juin 1997)
BIBLIOTHEQUES (les numeros de version ne sont pas significatifs)
Abl101.a / L.Jacomme / manipulation ABL (SYF / YEAP)
Apr102.a / H.Rejouan / fonctions placement/:routage (SCR / BBR)
Aut101.a / L.Jacomme / Utilitaires pour ABL (SYF / YEAP)
Bdd101.a / L.Jacomme / BDD (SYF / YEAP)
Beh109.a / P.Bazargan / fonctions de creation/destruction befig
Bhl109.a / P.Bazargan / fonctions d'acces befig
Bvl111.a / P.Bazargan / parser-driver fichier .vbe <-> befig
Cns200.a / A.Lester / fonctions d'acces cnsfig
Elp104.a / K.Dioury / parser fichier .elp (TAS)
Fcl100.a / A.Lester / reconnaissance formes (YAGLE)
Fgn107.a / J.P. Chaput / langage FPGEN
Fks101.a / L.Jacomme / parser fichier .kiss2 -> fsmfig
Fsm101.a / L.Jacomme / fonctions d'acces fsmfig
Fbh101.a / L.Jacomme / parser fichier .fsm (1ere partie)
Fbl101.a / L.Jacomme / parser fichier .fsm (2è partie)
Ftl101.a / L.Jacomme / choix du parser fsmfig
Fvh101.a / L.Jacomme / parser fichier .fsm (3e partie)
Gam000.a / ? / generateur AMG
Gbs201.a / ? / generateur BSG
Gfp107.a / J.P. Chaput / generateurs FPLIB
Gga300.a / ? / generateur RSA
Ggr001.a / F.Petrot / genrateur GROG
Grf604.a / P.Bazargan / generateur RFG
lInf109.a / A.Lester / parser fichier .inf (YAGLE et TAS)
Mal500.a / K.Dioury / parser-driver fichier .al <-> lofig
Map403.a / J.P. Chaput / parser-driver fichier .ap <-> phfig
Mcl408.a / F.Petrot / parser-driver fichier .hnl <-> lofig
Mcp402.a / F.Petrot / parser-driver fichier .cp <-> lofig
Mel406.a / O.Florent / parser-driver EDIF <-> lofig
Mgn324.a / F.Petrot / langage GENLIB
Mhl403.a / O.Florent / driver lofig -> HILO
Mlo406.a / F.Petrot / fonctions d'acces lofig
Mlu413.a / F.Petrot / utilitaires lofig
Mmg402.a / F.Petrot / parser-driver MODGEN <-> phfig
Mph402.a / F.Petrot / fonctions d'acces phfig
Mpu404.a / F.Petrot / utilitaires phfig
Msl614.a / A.Lester / parser-driver SPICE <-> lofig
Mut317.a / F.Petrot / utilitaires MBK
Mvl409.a / P.Bazargan / parser-driver .vst
Pat106.a / P.Bazargan/ / fonctions creation/destruction structure pat
Pgn101.a / K.Vuong / langage GENPAT/
Phl106.a / P.Bazargan / fonctions acces structure pat
Ppt106.a / P.Bazargan / parser-driver fichier .pat <-> structure pat
Pwl100.a / O.Florent / driver patterns HILO
Rcf108.a / L.Jacomme / parser-driver fichier .cif <-> rdsfig
Rcn102.a / K.Dioury / representation des resistances dans la lofig
Rcz106.a / ? /
Rds206.a / L.Jacomme / fonctions d'acces rdsfig
Rfm207.a / L.Jacomme / expansion symbolique rectangles
Rgs109.a / L.Jacomme / parser-driver fichier .gds <-> rdsfig
Rpr209.a / L.Jacomme / parser fichier .rds (S2R / LYNX)
Rps103.a / GED / driver rdsfig-> postscript
Rtl107.a / L.Jacomme / choix parser rdsfig
Rut205.a / L.Jacomme / utilitaires rdsfig
Rwi106.a / L.Jacomme / fenetrage rdsfig
Tas510.a / K.Dioury / Calcul delais elementaires pour TAS
Ttv100.a / K.Dioury / parser-driver .ttv et fonctions d'acces ttvfig
Vrd300.a / L.Jacomme / DRUC pour GRAAL
Yag200.a / A.Lester / fonctions de desassemblage (YAGLE / TAS)
log200.a / O.Sirol / ABL et BDD (LOGIC / ASIMUT)
OUTILS
alligator A. Caron
amg -
asimut P. Bazargan
bbr F. Petrot
bsg -
dlxasm P. Bazargan
dpr J.P. Chaput
dreal L. Jacomme
druc L. Jacomme
fpgen J.P. Chaput
genlib F. Petrot
genpat H.N. Vuong
genscan A. Guettaf
genview F. Petrot
graal L. Jacomme
grog F. Petrot
l2p -
logic O. Sirol
lvx -
lynx G. Avot
netoptim O. Sirol
padlib F. Wajsburt
proof O. Sirol
rage A. Bouaraoua
rfg -
ring F. Wajburt
rsa -
s2r F. Wajsburt
sclib A. Derieux
scr H. Rejouan
syf L. Jacomme
tas K. Dioury
yagle A.Lester

View File

@ -0,0 +1,20 @@
.\" Generic header for alliance man pages
.\"
.\" $Id: alc_origin.1,v 1.1 1999/09/09 14:24:53 czo Exp $
.\"
.SH ORIGIN
This software belongs to the
.I ALLIANCE
CAD system from the
.br
CAO-VLSI team at
.B ASIM/LIP6
laboratory, University P. et M. Curie
.br
4, place Jussieu ; 75252 PARIS Cedex 05 ; FRANCE
.br
Fax : {33/0} 1.44.27.62.86 ; E-mail :
.I alliance-support@asim.lip6.fr

View File

@ -0,0 +1,106 @@
#!/bin/sh
# -*- Mode: shell-script -*-
#
# Script to update Alliance binaries
# toto.old <- toto <- toto.new
#
# Author : Olivier SIROL
# Date : Jul 1997
# $Id: alc_update_binaries,v 1.1 1999/09/09 14:24:53 czo Exp $
#
# Ex d'appel : "alc_update_binaries genscan"
# Sur HOUSE seulement : toto.old <- toto <- toto.new
# Copie dans le spool...
# le nom de l'exec a renomer
BIN_NAME=$1
ALC_HOUSE=/users/soft5/newlabo/
SPOOL_DIR=$ALC_HOUSE/alc_spool/
ALL_HOSTS="bechet opera morton"
ALL_MACHINE="Solaris SunOS Linux_elf"
fail() {
echo -e "\
\n\
\n\
@@@@@@@@@ @ @@@@@@ @@@@@@ \n\
@@ @ @ @@ @@ \n\
@@ @ @@@ @@ @@ \n\
@@ @@@ @@ @@ \n\
@@ @ @ @@ @@ @@ \n\
@@@@@@ @ @@ @@ @@ \n\
@@ @ @ @@ @@ @@ \n\
@@ @@@@@@@ @@ @@ \n\
@@ @ @@ @@ @@ @\n\
@@ @ @@ @@ @@ @ \n\
@@@@@@ @@@@ @@@@ @@@@@@ @@@@@@@@@@ "
exit 1
}
pass() {
echo -e "\
\n\
\n\
@@@@@@@ @ @@@@ @ @@@@ @ \n\
@@ @@ @ @ @@ @ @@ \n\
@@ @@ @@@ @@ @ @@ @ \n\
@@ @@ @@@ @@@ @@@ \n\
@@ @@ @ @@ @@@@ @@@@ \n\
@@@@@ @ @@ @@@@ @@@@ \n\
@@ @ @@ @@@ @@@ \n\
@@ @@@@@@@ @ @@ @ @@\n\
@@ @ @@ @@ @@ @@ @@\n\
@@ @ @@ @@@ @ @@@ @ \n\
@@@@@@ @@@@ @@@@ @ @@@@ @ @@@@ "
}
if [ $# -lt 1 ] ; then
echo "Usage : `basename $0` XXX"
echo "where XXX is the tool exec name"
exit 1
fi
# toto.old <- toto <- toto.new
for THIS_MACHINE in $ALL_MACHINE
do
OLD_NAME=$ALC_HOUSE/$THIS_MACHINE/bin/$BIN_NAME.old
CURRENT_NAME=$ALC_HOUSE/$THIS_MACHINE/bin/$BIN_NAME
NEW_NAME=$ALC_HOUSE/$THIS_MACHINE/bin/$BIN_NAME.new
TMP_NAME=$ALC_HOUSE/$THIS_MACHINE/bin/$BIN_NAME.tmp
# copie (en cas de disk full)
echo cp $NEW_NAME $TMP_NAME
if [ $? -ne 0 ] ; then
fail
fi
echo rm $OLD_NAME
echo mv $CURRENT_NAME $OLD_NAME
echo mv $NEW_NAME $CURRENT_NAME
echo mv $TMP_NAME $NEW_NAME
done
# update spool
for THIS_HOST in $ALL_HOSTS
do
echo touch $SPOOL_DIR/$THIS_HOST/bin/$OLD_NAME
echo touch $SPOOL_DIR/$THIS_HOST/bin/$CURRENT_NAME
echo touch $SPOOL_DIR/$THIS_HOST/bin/$NEW_NAME
done
pass
# il faut tout mailer a alc_team
#
# peut etre plus de :
# if [ $? -ne 0 ] ; then
# fail
# fi

View File

@ -0,0 +1,314 @@
#!/bin/sh
# -*- Mode: shell-script -*-
#
# Script to update Alliance XXX/etc/libraries.mk whith
# the newest libs found in XXX/lib/
# and the newest includes found in XXX/include/.
#
# Creates XXX/etc/libraries.mk.update and gives warnings to stderr
# then copy old libraries.mk to libraries.mk.`date`
# then copy new libraries.mk.update to libraries.mk
#
# Usage :
# Requires 1 arg : XXX which is the path to
# etc/libraries.mk, lib/ and include/
# Eg : update_libraries.mk.sh /users/soft5/labo_pc
#
# Author : Olivier SIROL
# Date : April 1997
# $Id: alc_update_libraries.mk,v 1.1 1999/09/09 14:24:53 czo Exp $
# DO_UPDATE: 0 chk only, 1 write file, 2 print stdout
DO_UPDATE=2
if [ $# -ge 1 ] ; then
if [ $1 = "-u" ] ; then
DO_UPDATE=1
shift
fi
if [ $1 = "-c" ] ; then
DO_UPDATE=0
shift
fi
fi
if [ $# -lt 1 ] ; then
echo "Usage : `basename $0` [-c|-u] XXX"
echo "where XXX is the path to :"
echo " lib : XXX/lib/lib*.a"
echo " header : XXX/include/*.h"
echo " makefile : XXX/etc/libraries.mk"
echo "if -c is specified as first arg, only check (no files are written)"
echo "if -u is specified as first arg, write libraries.mk"
echo "whithout first arg, print to stdout"
exit 1
fi
if [ -d $1/lib ] && [ -d $1/include ] && [ -f $1/etc/libraries.mk ] ; then
ROOT_DIR=$1;
LIBMK=$1/etc/libraries.mk;
#if [ $DO_UPDATE -eq 1 ] ; then
# LIBMK_UPD=$LIBMK.update
# LIBMK_OLD=$LIBMK.`date +%Y_%m_%d`
#else
# if [ $DO_UPDATE -eq 2 ] ; then
# LIBMK_UPD=
# else
# LIBMK_UPD=> /dev/null
# fi
#fi
(cat $LIBMK) | gawk -v ROOT_DIR=$ROOT_DIR '
BEGIN {
# On cree un tableau contennant
# - le nom des librairies installees
# - le numero de version
# - un flag pour verifier par la suite quelles sont dans libraries.mk
#
FIRSTPASS=0;
OLD_PREFIX="";
OLD_NUMBER="0";
i=1;
MAFONC = "(cd "ROOT_DIR"/lib ; ls -1 lib*.a | sort)";
while (MAFONC | getline)
{
LIB_NAME=$0;
sub ( /.a$/ , "", LIB_NAME);
sub ( /^lib/ , "", LIB_NAME);
LIB_PREFIX=LIB_NAME;
LIB_NUMBER=LIB_NAME;
sub ( /[0-9]*$/ , "", LIB_PREFIX);
sub ( LIB_PREFIX , "", LIB_NUMBER);
if (OLD_PREFIX==LIB_PREFIX && FIRSTPASS)
{
if ((LIB_NUMBER+0) > (OLD_NUMBER+0))
OLD_NUMBER=LIB_NUMBER;
}
else
{
if (!FIRSTPASS)
FIRSTPASS=1;
else
{
HL[1,i]=OLD_PREFIX;
HL[2,i]=OLD_NUMBER;
HL[3,i]=0;
i++;
}
OLD_PREFIX=LIB_PREFIX;
OLD_NUMBER=LIB_NUMBER;
}
}
HL[1,i]=OLD_PREFIX;
HL[2,i]=OLD_NUMBER;
HL[3,i]=0;
MAX_HL=i;
close (MAFONC);
# On cree un autre tableau pour les headers
FIRSTPASS=0;
OLD_PREFIX="";
OLD_NUMBER="0";
i=1;
MAFONC = "(cd "ROOT_DIR"/include ; ls -1 *.h | sort)";
while (MAFONC | getline)
{
LIB_NAME=$0;
sub ( /.h$/ , "", LIB_NAME);
LIB_PREFIX=LIB_NAME;
LIB_NUMBER=LIB_NAME;
sub ( /[0-9]*$/ , "", LIB_PREFIX);
sub ( LIB_PREFIX , "", LIB_NUMBER);
if (OLD_PREFIX==LIB_PREFIX && FIRSTPASS)
{
if ((LIB_NUMBER+0) > (OLD_NUMBER+0))
OLD_NUMBER=LIB_NUMBER;
}
else
{
if (!FIRSTPASS)
FIRSTPASS=1;
else
{
HH[1,i]=OLD_PREFIX;
HH[2,i]=OLD_NUMBER;
HH[3,i]=0;
i++;
}
OLD_PREFIX=LIB_PREFIX;
OLD_NUMBER=LIB_NUMBER;
}
}
HH[1,i]=OLD_PREFIX;
HH[2,i]=OLD_NUMBER;
HH[3,i]=0;
MAX_HH=i;
close (MAFONC);
}
#
# process du libraries.mk
# on remplace les numeros inc/lib par les derniers numeros de version
# si inc/lib introuvable, on ne modifie pas la ligne
# Il doit y avoir une seul maro par ligne du type
# xxxx_L ou
# xxxx_LIB ou
# xxxx_H
#
# warnings sur stderr
#
# si commentaire, on laisse tomber
/# Last updated on/ {
printf("# Last updated on %s\n", strftime("on %A %d %B %Y at %H:%M %Z"));
next;
}
/^[ \t]*#/ {
print;
next;
}
# si macro, ca nous interresse
/=/ {
MACRO = $0;
NAME = $0;
sub(/[ \t]*=.*$/, "", MACRO);
sub(/^.*=[ \t]*/, "", NAME);
LIB_NAME = NAME;
if ( MACRO ~ /_L/)
{
if (MACRO ~ /_LIB/)
{
sub ( /.a$/ , "", LIB_NAME);
sub ( /^lib/ , "", LIB_NAME);
}
else
sub ( /^-l/ , "", LIB_NAME);
LIB_PREFIX=LIB_NAME;
LIB_NUMBER=LIB_NAME;
sub ( /[0-9]*$/ , "", LIB_PREFIX);
sub ( LIB_PREFIX , "", LIB_NUMBER);
for (i=1; i<=MAX_HL; i++)
{
if (i==MAX_HL || HL[1,i]==LIB_PREFIX)
break;
}
if (HL[1,i]==LIB_PREFIX)
{
if (MACRO ~ /_LIB/)
{
if ((HL[2,i]+0) > (LIB_NUMBER+0))
printf ("## CHANGED : lib%s%s.a is older than existing, changed\n",
LIB_PREFIX, LIB_NUMBER) > "/dev/stderr";
if ((HL[2,i]+0) < (LIB_NUMBER+0))
printf ("## CHANGED : lib%s%s.a is newer than existing, changed\n",
LIB_PREFIX, LIB_NUMBER) > "/dev/stderr";
printf ("%-10s = lib%s%s.a\n", MACRO,LIB_PREFIX, HL[2,i]);
}
else
printf ("%-10s = -l%s%s\n", MACRO,LIB_PREFIX, HL[2,i]);
HL[3,i]=1;
}
else
{
printf ("%s\n", $0);
printf ("## Warning lib %s not found, left as is\n",
LIB_PREFIX) > "/dev/stderr";
}
}
else
if ( MACRO ~ /_H/)
{
sub ( /.h$/ , "", LIB_NAME);
LIB_PREFIX=LIB_NAME;
LIB_NUMBER=LIB_NAME;
sub ( /[0-9]*$/ , "", LIB_PREFIX);
sub ( LIB_PREFIX , "", LIB_NUMBER);
for (i=1; i<=MAX_HH; i++)
{
if (i==MAX_HH || HH[1,i]==LIB_PREFIX)
break;
}
if (HH[1,i]==LIB_PREFIX)
{
if ((HH[2,i]+0) > (LIB_NUMBER+0))
printf ("## CHANGED : %s%s.h is older than existing, changed\n",
LIB_PREFIX, LIB_NUMBER) > "/dev/stderr";
if ((HH[2,i]+0) < (LIB_NUMBER+0))
printf ("## CHANGED : %s%s.h is newer than existing, changed\n",
LIB_PREFIX, LIB_NUMBER) > "/dev/stderr";
printf ("%-10s = %s%s.h\n", MACRO,LIB_PREFIX, HH[2,i]);
HH[3,i]=1;
}
else
{
printf ("%s\n", $0);
printf ("## Warning header %s not found, left as is\n",
LIB_PREFIX) > "/dev/stderr";
}
}
else
{
printf ("## Warning : unrecognized line, left as is\n") > "/dev/stderr";
printf ("%s\n", $0);
}
next;
}
# sinon cest une ligne normale
{print;}
END {
for (i=1; i<=MAX_HL; i++)
if (HL[3,i]==0)
printf ("## WARNING no macro in libraries.mk for lib%s%s.a\n",
HL[1,i] , HL[2,i]) > "/dev/stderr";
for (i=1; i<=MAX_HH; i++)
if (HH[3,i]==0)
printf ("## WARNING no macro in libraries.mk for %s%s.h\n",
HH[1,i] , HH[2,i]) > "/dev/stderr";
}'
# $LIBMK_UPD
#if [ $DO_UPDATE -eq 1 ] ; then
# cp -f $LIBMK $LIBMK_OLD
# cp -f $LIBMK_UPD $LIBMK
# rm -f $LIBMK_UPD
# echo $LIBMK updated!
# exit 0
#fi
else
echo "`basename $0` : error, can't find file or dir"
echo "lib : $1/lib/lib*.a"
echo "header : $1/include/*.h"
echo "makefile : $1/etc/libraries.mk"
exit 1
fi

View File

@ -0,0 +1,93 @@
#!/bin/sh
# -*- Mode: shell-script -*-
#
# Script to update files on local disks
#
# Author : Olivier SIROL
# Date : Jul 1997
# $Id: alc_update_spool,v 1.1 1999/09/09 14:24:53 czo Exp $
#
# Sur chaque machine concernee ce fichier
# devrait tourner en crontab
#
# Sur HOUSE il y a l'arboressence complete pour toutes
# les machines qui ont alliance en local
# |-alc_spool----------+- bechet --------+- bin
# | |- include
# | |- lib
# | `- etc
#
ALC_HOUSE=/users/soft5/newlabo/
SPOOL_DIR=$ALC_HOUSE/alc_spool/
ALL_REP="bin lib include etc"
THIS_HOST=bechet
THIS_MACHINE=Linux_elf
function fail {
echo -e "\
\n\
\n\
@@@@@@@@@ @ @@@@@@ @@@@@@ \n\
@@ @ @ @@ @@ \n\
@@ @ @@@ @@ @@ \n\
@@ @@@ @@ @@ \n\
@@ @ @ @@ @@ @@ \n\
@@@@@@ @ @@ @@ @@ \n\
@@ @ @ @@ @@ @@ \n\
@@ @@@@@@@ @@ @@ \n\
@@ @ @@ @@ @@ @\n\
@@ @ @@ @@ @@ @ \n\
@@@@@@ @@@@ @@@@ @@@@@@ @@@@@@@@@@ "
exit 1
}
function pass {
echo -e "\
\n\
\n\
@@@@@@@ @ @@@@ @ @@@@ @ \n\
@@ @@ @ @ @@ @ @@ \n\
@@ @@ @@@ @@ @ @@ @ \n\
@@ @@ @@@ @@@ @@@ \n\
@@ @@ @ @@ @@@@ @@@@ \n\
@@@@@ @ @@ @@@@ @@@@ \n\
@@ @ @@ @@@ @@@ \n\
@@ @@@@@@@ @ @@ @ @@\n\
@@ @ @@ @@ @@ @@ @@\n\
@@ @ @@ @@@ @ @@@ @ \n\
@@@@@@ @@@@ @@@@ @ @@@@ @ @@@@ "
}
# ATTENTION gnu find de moins de dix ans!!!!!!!!!!
for REP in $ALL_REP
do
# echo find $SPOOL_DIR/$THIS_HOST/$REP -type f
for FILE in `find $SPOOL_DIR/$THIS_HOST/$REP -type f`
do
# rcp house:/labo/$THIS_MACHINE ...
# echo $FILE
FILENAME=`basename $FILE`
# echo $FILENAME
echo cp $ALC_HOUSE/$THIS_MACHINE/$REP/$FILENAME /labo/$REP/
if [ $? -ne 0 ] ; then
fail
fi
echo rm $FILE
done
done
pass
# il faut tout mailer a alc_team
#
# peut etre plus de :
# if [ $? -ne 0 ] ; then
# fail
# fi

257
dev/scripts/misc/alcteam Normal file
View File

@ -0,0 +1,257 @@
alcteam :
--------
Gregoire.Avot@asim.lip6.fr
Mourad.Aberbour@asim.lip6.fr
Pirouz.Bazargan-Sabet@asim.lip6.fr
Abdelhafid.Bouaraoua@asim.lip6.fr
Arnaud.Caron@asim.lip6.fr
Jean-Paul.Chaput@asim.lip6.fr
Anne.Derieux@asim.lip6.fr
Gilles-Eric.Descamps@asim.lip6.fr
Karim.Dioury@asim.lip6.fr
Olivier.Florent@asim.lip6.fr
Alain.Greiner@asim.lip6.fr
Ludovic.Jacomme@asim.lip6.fr
Anthony.Lester@asim.lip6.fr
Frederic.Petrot@asim.lip6.fr
Housseine.Rejouan@asim.lip6.fr
Olivier.Sirol@asim.lip6.fr
Huu-Nghia.Vuong@asim.lip6.fr
Franck.Wajsburt@asim.lip6.fr
La liste des mots cles pour les differentes architectures :
> - SunOS (mi, roll)
> - Solaris (adagio, opera)
> - Linux_aout (gallus, leonin)
> - Linux_elf (parker, cherry)
Plusieurs remarques:
o Nous avons decide de retirer tout ce qui concerne les
outils et les librarires AsGa de la prochaine version.
o Nous avons decide de retirer tout ce qui concerne les
Icons de la prochaine version d'Alliance.
o Il s'avere que tres peu de librairies n'ont pas de
responsable (voir la liste ci-dessous).
RESPONSABLES OUTILS et BIBLIOTHEQUES ALLIANCE
(Juin 1997)
BIBLIOTHEQUES (les numeros de version ne sont pas significatifs)
Abl101.a / L.Jacomme / manipulation ABL (SYF / YEAP)
Apr102.a / H.Rejouan / fonctions placement/:routage (SCR / BBR)
Aut101.a / L.Jacomme / Utilitaires pour ABL (SYF / YEAP)
Bdd101.a / L.Jacomme / BDD (SYF / YEAP)
Beh109.a / P.Bazargan / fonctions de creation/destruction befig
Bhl109.a / P.Bazargan / fonctions d'acces befig
Bvl111.a / P.Bazargan / parser-driver fichier .vbe <-> befig
Cns200.a / A.Lester / fonctions d'acces cnsfig
Elp104.a / K.Dioury / parser fichier .elp (TAS)
Fcl100.a / A.Lester / reconnaissance formes (YAGLE)
Fgn107.a / J.P. Chaput / langage FPGEN
Fks101.a / L.Jacomme / parser fichier .kiss2 -> fsmfig
Fsm101.a / L.Jacomme / fonctions d'acces fsmfig
Ftl101.a / L.Jacomme / choix du parser fsmfig
Fvh101.a / L.Jacomme / parser fichier .fsm (3e partie)
Gam000.a / Franck / generateur AMG
Gbs201.a / Franck / generateur BSG
Gfp107.a / J.P. Chaput / generateurs FPLIB
Gga300.a / Franck / generateur RSA
Ggr001.a / F.Petrot / genrateur GROG
Grf604.a / P.Bazargan / generateur RFG
lInf109.a / A.Lester / parser fichier .inf (YAGLE et TAS)
Mal500.a / K.Dioury / parser-driver fichier .al <-> lofig
Map403.a / J.P. Chaput / parser-driver fichier .ap <-> phfig
Mcl408.a / F.Petrot / parser-driver fichier .hnl <-> lofig
Mgl100.a / M.Aberbour / driver verilog .vlg <- lofig
Mcp402.a / F.Petrot / parser-driver fichier .cp <-> lofig
Mel406.a / O.Florent / parser-driver EDIF <-> lofig
Mgn324.a / F.Petrot / langage GENLIB
Mhl403.a / O.Florent / driver lofig -> HILO
Mlo406.a / F.Petrot / fonctions d'acces lofig
Mlu413.a / F.Petrot / utilitaires lofig
Mmg402.a / F.Petrot / parser-driver MODGEN <-> phfig
Mph402.a / F.Petrot / fonctions d'acces phfig
Mpu404.a / F.Petrot / utilitaires phfig
Msl614.a / A.Lester / parser-driver SPICE <-> lofig
Mut317.a / F.Petrot / utilitaires MBK
Mvl409.a / P.Bazargan / parser-driver .vst
Pat106.a / P.Bazargan/ / fonctions creation/destruction structure pat
Pgn101.a / K.Vuong / langage GENPAT/
Phl106.a / P.Bazargan / fonctions acces structure pat
Ppt106.a / P.Bazargan / parser-driver fichier .pat <-> structure pat
Pwl100.a / O.Florent / driver patterns HILO
Rcf108.a / L.Jacomme / parser-driver fichier .cif <-> rdsfig
Rcn102.a / K.Dioury / representation des resistances dans la lofig
Rds206.a / L.Jacomme / fonctions d'acces rdsfig
Rfm207.a / L.Jacomme / expansion symbolique rectangles
Rgs109.a / L.Jacomme / parser-driver fichier .gds <-> rdsfig
Rpr209.a / L.Jacomme / parser fichier .rds (S2R / LYNX)
Rps103.a / GED / driver rdsfig-> postscript
Rtl107.a / L.Jacomme / choix parser rdsfig
Rut205.a / L.Jacomme / utilitaires rdsfig
Rwi106.a / L.Jacomme / fenetrage rdsfig
Tas510.a / K.Dioury / Calcul delais elementaires pour TAS
Ttv100.a / K.Dioury / parser-driver .ttv et fonctions d'acces ttvfig
Vrd300.a / L.Jacomme / DRUC pour GRAAL
Yag200.a / A.Lester / fonctions de desassemblage (YAGLE / TAS)
log200.a / O.Sirol / ABL et BDD (LOGIC / ASIMUT)
OUTILS
alligator A. Caron
amg Franck
asimut P. Bazargan
bbr F. Petrot
bsg Franck
dlxasm P. Bazargan
dpr J.P. Chaput
dreal L. Jacomme
druc L. Jacomme
genlib F. Petrot
genpat H.N. Vuong
genscan A. Guettaf
genview F. Petrot
graal L. Jacomme
grog F. Petrot
l2p GED
logic O. Sirol
lvx Franck
lynx G. Avot
netoptim O. Sirol
padlib F. Wajsburt
proof O. Sirol
rage A. Bouaraoua
rfg Franck
ring F. Wajburt
rsa Franck
s2r F. Wajsburt
sclib A. Derieux
scr H. Rejouan
syf L. Jacomme
tas K. Dioury
yagle A.Lester
Dans l'ordre make
MBK = mbk
RCN = rcn
MBK_LO = mbkal mbkedif mbkhilo mbkspice mbkvhdl mbkvti
MBK_PH = mbkap mbkmg mbkvti mbkvrlog
BDD = bdd
BEH = beh
BEHV = behvhdl
APR = gscr
PAT = pat
RDS = rds
RDS_GEN = rdscif rdsgds
ELP = elp
ICON = icones
GENLIB = genlib
RSA = rsa
BLC_GEN = bsg rfg
amg
asimut
e-mail :
mbk fred
rcn karim
mbkal karim
mbkedif olivier rhosts
mbkhilo olivier rhosts dev
mbkspice antony rhosts dev
mbkvhdl pirouz rhosts dev
mbkvti fred rhosts
mbkvrlog mourad
mbkap jpc
mbkmg fred
bdd czo rhosts
beh pirouz
behvhdl pirouz rhosts
gscr rejouan rhosts
pat kiki rhosts
rds ludo
rdscif ludo
rdsgds ludo
elp karim
icones czo rhosts
cns pascal
alcban czo
genlib fred
rsa franck rhosts
bsg franck rhosts
rfg franck rhosts
amg franck rhosts
asimut pirouz rhosts
asm pirouz rhosts
fitpath jpc
dpr jpc
druc ludo
syf ludo
dreal ludo
graal ludo
rage ab
genview fred
flop fred
grog fred
rds2ps ged (l2p)
scr rejouan
lvx franck
ring franck
s2r franck
lynx gregoire
genpat kiki
sl czo
yagle anthony
tas karim
testools amar
flatbeh czo
mbktools czo
################################
sclib anne
fpga ac

View File

@ -0,0 +1,104 @@
A PROPOS DE LA DISTRIB 3.2b
Bonjour,
Voici un resume de ce qu'il reste a faire :
0) Pour les ingenieurs system
1- Installer une nouvelle distrib Linux_elf sur tous les PC
(ensig et recher) (pourquoi pas la RedHat 4.2)
2- Installer MOTIF 1.2 en STATIQUE et dynamique sur tous les PC
(Denis : Le cd Xaccel/CDE modifie les lib X11 : Attention)
I) Alliance distrib
Evidement, je ne fais pas trop d'illusions sur ce qui sera fait dans
une semaine. Je serais donc ammene a faire des modif des sources, des mans
et autres fichiers. Pour ne pas avoir a faire ca a chaque distrib,
ajoutez moi dans votre .rhost (+sirol). Merci
0- Nouvaux outils
Logic disparait au profit de :
logic -o -> booloptim
logic -l -> booloptim -l
logic -s -> scmap
logic -c -> c4map
Deux nouvaux outils X (merci ludo) :
xpat : waveform viewer
xfsm : fsm viewer
1- Il serait bien que tout le monde teste rapidement son/ses outils respectif
sur la nouvelle distrib :
Pour compiler :
> setenv TOP /users/soft5/newlabo/$MACHINE
avec $MACHINE => Linux_elf, Solaris et SunOS
Pour installer:
> instool ~testools
2- Il y a plusieurs fichiers a changer dans la distrib :
COPYING
COPYING.LIB --> on est plus GPL !
LIBRARIES.ps
MAPPING.ps
OVERVIEW.ps --> qui s'en occupe?
Il serait bienvenu, qu'overview.ps explique la methode generale
utilisee avec alliance :
- ecriture vhdl
- simul
- optim bool
- mapping ......
TAPELABEL.ps --> etiquettes, on verra plus tard...
3- Je m'occupe des tutoriaux (avec l'aide de ludo)
Mise a jour et validation.
4- Le repertoire DOC, disparait momentanement.
suite a la prochaine distrib...
5- Je m'occupe des man pages, je prends ceux qui sont installes,
et je les mets a jour...Pour la prochaine distrib,
jespere que tout le monde aura modifie son Makefile
pour qu'il installe les mans
6- Sources
- Chaque parser/driver doit avoir son propre include. De cette facon, toute
library aura un .h correspondant. Pour de prochaines distrib il serait
TRES BIEN que tout le monde utilise des prototypes (j'en reparlerais)
- Reecriture de genlib, genpat et fpgen : Idee : chaque script ecrit puis
execute un Makefile (au lieu de lancer gcc). C'est une tres bonne chose,
a mon avis de les changer, je ne sais pas si cela pourra etre fait a temps.
-Alliance banner : personne est d'accord avec ce que je disait :-(
je rformulerais qqchose plus tard (c'etait juste dans un souci
d'homogeneite)
RESUME :
- .h / parser / driver
- s'assurer que les sources compilent sur toutes
les archi et $TOP=newlabo (avec gcc)
- Ecrire ou revoir les fichiers de la racine de la distrib.
Voila, surtout n'hesitez pas a me contacter rapidement, pour me dire
1- c'est bon, moi mes comptes y sont a jour et tout marche...
2- #@!~|#, jai pas le temps de faire tout ca..
Merci a tous!!!

View File

@ -0,0 +1,115 @@
# Alliance VLSI CAD System
#
# Home page : http://www-asim.lip6.fr/alliance/
# E-mail support : mailto:alliance-support@asim.lip6.fr
# ftp sites : ftp://ftp.lip6.fr/lip6/softs/alliance/
# or ftp://ftp-asim.lip6.fr/pub/alliance/
#
# $Id: alliance.README,v 1.1 1999/09/09 14:24:53 czo Exp $
# Alliance
# ===================================================================
"Alliance VLSI CAD System" is free Software.
Unlike versions of Alliance up to 3.1 that where released
including sources, version 3.2 and up will not be available
with the source code.
Source is however still available, but only upon request to
alliance-support@lip6.fr. The release of the source is now
subject to a non disclosure agreement.
You are welcome to use the software package even for commercial
designs whithout any fee. You are just required to mention :
"Designed with Alliance CAD system"
You can get Alliance via anonymous FTP from ftp.lip6.fr
ftp://ftp.lip6.fr/lip6/softs/alliance/
or ftp://ftp-asim.lip6.fr/pub/alliance/
# Downloading
# ===================================================================
You will have to download at least two files : one for the common files
of Alliance (like cells library) and another containing binaries for
your specific platform. Actually only Linux_elf, SunOS and Solaris
are supported.
alliance-3.2b-common.tar.gz Files common to each platform *required*
alliance-3.2b-i386-linux-2.0.30.tar.gz Binaries Linux_elf
alliance-3.2b-sparc-sunos-4.1.1.tar.gz Binaries SunOS
alliance-3.2b-sparc-solaris-2.5.1.tar.gz Binaries Solaris
# Installation :
# ===================================================================
You *dont* need to be root to install Alliance in a directory you *own*
In the example above I assume you have logged as root
1/ cd to the directory where you want to install Alliance
> cd /usr/local
2/ Unpack the common package
> gunzip -c alliance-3.2b-common.tgz | tar -vxf -
3/ Unpack one of the platform specific package
> gunzip -c alliance-3.2b-Linux_elf.tgz | tar -vxf -
4/ cd to alliance/share/etc and run the 'configure' script
(This is the *only* script you need to run)
> cd alliance/share/etc
> ./configure
If you install Alliance on different platforms you'll
need to run the 'configure' script on each of them
# Usage :
# ===================================================================
Each user has to source alc_env.[c]sh to set Alliance environment
variables to be able to run the Alliance tools.
in sh > . [where you have installed Alliance]/alliance/share/etc/alc_env.sh
in csh > source [where you have installed Alliance]/alliance/share/etc/alc_env.csh
This could be done in system's profile (/etc/profile)...
so that it would be done at user login
This sets various default environement variables which could be changed by user
later (Like MBK_OUT_LO to set the netlist output file format).
If you encounter problems, check the value of these variables in alc_env.[c]sh
$MACHINE : actually Linux_elf
or SunOS
or Solaris
$TOP : actually [where you have installed Alliance]/alliance/archi/Linux_elf
or [where you have installed Alliance]/alliance/archi/SunOS
or [where you have installed Alliance]/alliance/archi/Solaris
That's all :-)
# EOF

View File

@ -0,0 +1,15 @@
Begin3
Title: Alliance
Version: 3.2b
Entered-date: 12 JAN 1998
Description: A complete system for designing chips using a subset of VHDL
http://www-asim.lip6.fr/alliance/
Keywords: VHDL alliance CAD simulator chip CMOS timing analysis
Author: (C) ASIM/LIP6/UPMC
Maintained-by: alliance-support@asim.lip6.fr
Primary-site: ftp://sunsite.unc.edu/pub/Linux/apps/circuits/
Alternate-site: ftp://ftp.lip6.fr/lip6/softs/alliance/
Original-site: ftp://ftp-asim.lip6.fr/pub/alliance/
Platforms: Unix Systems
Copying-policy: FRS
End

4
dev/scripts/misc/ccvinst Executable file
View File

@ -0,0 +1,4 @@
rcp -p mi:/users/outil/ccv/labo/leo/bin/* bliss:/users/bliss4/bin
rcp -pr mi:/users/outil/ccv/labo/leo/lib/* bliss:/users/bliss4/lib/gnu/gcc
rcp -p mi:/users/outil/ccv/labo/etc/gnu/* bliss:/users/bliss4/etc/gnu
rcp -pr mi:/users/outil/ccv/labo/etc/emacs/* bliss:/users/bliss4/etc/emacs

216
dev/scripts/misc/changes Normal file
View File

@ -0,0 +1,216 @@
Ca y est, les man d'alliance sont remis a jour...
Ils sont installes dans newlabo, les vieux sont toujours dans /labo
Les changements :
1)IMPORTANT
Il n'y a plus de man 2 ni de man 8
<<<<<<<<<<<<<<<<<< On utilse seulement les man 1 3 5 >>>>>>>>>>>>>>>>>
en effet voici a quoi correspond le chiffre :
man 1 : User commands --> man de'executables + var d'environnement
man 3 : Subroutines --> fonctions C des lib Alliance
man 5 : File formats --> +cellules
Pour les curieux :
man 2 : system call
man 4 : Devices
man 6 : games
man 7 : misc
man 8 : Sys Admin
2)les sed :
- man 2,8 --> 3,1
- desb --> yagle
- logic --> bop ou scmap ou c4map
- MASI --> ASIM/LIP6
3)Il y a 1 fichier commun a tous les man pour ORIGIN.
4)Il y a 1 fichier commun a tous les man pour BUG REPORT.
5)Ils sont tous dates du 1 oct 1997
Il vous faut recuperer les votres et les mettre dans vos compte outil!!!
A la demande generale (au moins 1 personne) je vous rappelle
l'arborescence d'un compte outil :
toolrep -+- dev ------------+- doc
| |- man ------------+- man1
| | |- man3
| | `- man5
| `- sce
|- labo -----------+- doc
| |- Linux_elf ------+- bin
| | |- include
| | |- lib
| | `- obj
| |- man ------------+- man1
| | |- man3
| | `- man5
| |- sce
| |- Solaris --------+- bin
| | |- include
| | |- lib
| | `- obj
| `- SunOS ----------+- bin
| |- include
| |- lib
J'ai ecrit 3 scripts si cela vous interresse :
/users/cao3/sirol/dev/distrib/alc_create_rep* : pour creer l'arbo ci
dessu
/users/cao3/sirol/dev/distrib/alc_dev2labo* : pour copier dev dans
labo et
faire les liens des obj/
/users/cao3/sirol/dev/distrib/alc_build_all* : pour rsh et make sur
les 3 archi
Rappel sur les Makefiles :
0- On utilise plus de fichiers DISTRIB ou target distrib...
1- la premiere target est "all", ainsi
> make
est equivallent a
> make all
2- Il faut une target "clean" qui efface les *~ *.o ....
mais PAS les bin ou libs installees : cest le role
de "distclean"
3- Il faut une target "distclean" qui fait clean + efface
tout ce qui a ete installe...
A PROPOS DE LA DISTRIB 3.2b
Bonjour,
Voici un resume de ce qu'il reste a faire :
0) Pour les ingenieurs system
1- Installer une nouvelle distrib Linux_elf sur tous les PC
(ensig et recher) (pourquoi pas la RedHat 4.2)
2- Installer MOTIF 1.2 en STATIQUE et dynamique sur tous les PC
(Denis : Le cd Xaccel/CDE modifie les lib X11 : Attention)
I) Alliance distrib
Evidement, je ne fais pas trop d'illusions sur ce qui sera fait dans
une semaine. Je serais donc ammene a faire des modif des sources, des
mans
et autres fichiers. Pour ne pas avoir a faire ca a chaque distrib,
ajoutez moi dans votre .rhost (+sirol). Merci
0- Nouvaux outils
Logic disparait au profit de :
logic -o -> booloptim
logic -l -> booloptim -l
logic -s -> scmap
logic -c -> c4map
Deux nouvaux outils X (merci ludo) :
xpat : waveform viewer
xfsm : fsm viewer
1- Il serait bien que tout le monde teste rapidement son/ses
outils respectif
sur la nouvelle distrib :
Pour compiler :
> setenv TOP /users/soft5/newlabo/$MACHINE
avec $MACHINE => Linux_elf, Solaris et SunOS
Pour installer:
> instool ~testools
2- Il y a plusieurs fichiers a changer dans la distrib :
COPYING
COPYING.LIB --> on est plus GPL !
LIBRARIES.ps
MAPPING.ps
OVERVIEW.ps --> qui s'en occupe?
Il serait bienvenu, qu'overview.ps explique la methode
generale
utilisee avec alliance :
- ecriture vhdl
- simul
- optim bool
- mapping ......
TAPELABEL.ps --> etiquettes, on verra plus tard...
3- Je m'occupe des tutoriaux (avec l'aide de ludo)
Mise a jour et validation.
4- Le repertoire DOC, disparait momentanement.
suite a la prochaine distrib...
5- Je m'occupe des man pages, je prends ceux qui sont installes,
et je les mets a jour...Pour la prochaine distrib,
jespere que tout le monde aura modifie son Makefile
pour qu'il installe les mans
6- Sources
- Chaque parser/driver doit avoir son propre include. De
cette facon, toute
library aura un .h correspondant. Pour de prochaines
distrib il serait
TRES BIEN que tout le monde utilise des prototypes (j'en
reparlerais)
- Reecriture de genlib, genpat et fpgen : Idee : chaque
script ecrit puis
execute un Makefile (au lieu de lancer gcc). C'est une tres
bonne chose,
a mon avis de les changer, je ne sais pas si cela pourra etre
fait a temps.
-Alliance banner : personne est d'accord avec ce que je
disait :-(
je rformulerais qqchose plus tard (c'etait juste dans un
souci
d'homogeneite)
RESUME :
- .h / parser / driver
- s'assurer que les sources compilent sur toutes
les archi et $TOP=newlabo (avec gcc)
- Ecrire ou revoir les fichiers de la racine de la distrib.
Voila, surtout n'hesitez pas a me contacter rapidement, pour me dire
1- c'est bon, moi mes comptes y sont a jour et tout marche...
2- #@!~|#, jai pas le temps de faire tout ca..
Merci a tous!!!

8
dev/scripts/misc/copytool Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
TOOL_HOME=`eval echo ~$1`
cp -rp czosce/$1/sce/ $1
cp -rp $TOOL_HOME/labo/sce/ ../../old/labo_11_97/$1
ln -s $TOOL_HOME/labo/sce/ ../../old/current/$1

8
dev/scripts/misc/copytoolok Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
TOOL_HOME=`eval echo ~$1`
cp -rp $TOOL_HOME/labo/sce/ $1
cp -rp $TOOL_HOME/labo/sce/ ../../old/labo_11_97/$1
ln -s $TOOL_HOME/labo/sce/ ../../old/current/$1

24
dev/scripts/misc/critique.c Executable file
View File

@ -0,0 +1,24 @@
#define OUTIL "cheops"
#include <stdio.h>
main (argc, argv)
int argc;
char **argv;
{
char nom[15];
char cmd[80];
printf ("Programme d'installation de l'outil ");
printf ("%s en periode critique.\n\n", OUTIL);
printf ("ATTENTION : lancer le batch sur la station MI.\n\n");
printf ("Quel est votre nom ? ");
scanf ("%s", nom);
setuid (30136);
seteuid (30136);
setruid (30136);
setgid (30100);
setegid (30100);
setrgid (30100);
sprintf (cmd, "/labo/sys/install %s %s", OUTIL, nom);
execlp ("/bin/csh", "csh", "-c", cmd, (char *) NULL);
}

326
dev/scripts/misc/distrib3.2 Normal file
View File

@ -0,0 +1,326 @@
La distrib alliance :
- alliance -------+- archi ----------+- Linux_elf ------+- bin
| | |- cells@
| | |- etc@
| | |- include@
| | `- lib
| `- Solaris --------+- bin
| |- cells@
| |- etc@
| |- include@
| `- lib
+- share ----------+- cells ----------+- amg
| | |- bat
| | |- bsg
| | |- clara
| | |- fglib
| | |- fitpath --------+- dplib
| | | `- fplib
| | |- grog
| | |- rage
| | |- rfg
| | |- ring ------------- padsymb
| | |- rsa
| | |- sara
| | |- sclib
| | `- testools
| |- doc ------------+- asimut
| | |- asm
| | |- bdd
| | |- beh
| | |- behvhdl
| | |- bsg
| | |- cns
| | |- dreal
| | |- druc
| | |- elp
| | |- fitpath
| | |- flop
| | |- fpga
| | |- genlib
| | |- genpat
| | |- genview
| | |- graal
| | |- grog
| | |- gscr
| | |- icones
| | |- lvx
| | |- lynx
| | |- mbk
| | |- mbkal
| | |- mbkap
| | |- mbkedif
| | |- mbkhilo
| | |- mbkmg
| | |- mbkspice
| | |- mbkvhdl
| | |- mbkvti
| | |- netoptim
| | |- pat
| | |- proof
| | |- rage
| | |- rcn
| | |- rds
| | |- rds2ps
| | |- rdscif
| | |- rdsgds
| | |- rfg
| | |- rsa
| | |- s2r
| | |- sclib
| | |- scr
| | |- sl
| | |- syf
| | |- tas
| | `- yagle
| |- etc
| |- include
| |- man ------------+- man1
| | |- man2
| | |- man3
| | |- man4
| | |- man5
| | |- man6
| | |- man7
| | `- man8
| |- tools ----------+- amg -------------- sce
| | |- asimut ----------- sce -------------- asimut
| | |- asm -------------- sce -------------- asm
| | |- bat -------------- sce
| | |- bdd -------------- sce
| | |- beh -------------- sce ------------+- beh
| | | |- bhl
| | | `- include
| | |- behvhdl ---------- sce ------------+- behave
| | | |- behvhdl
| | | |- include
| | | `- util
| | |- bsg -------------- sce
| | |- clara ------------ sce
| | |- cns -------------- sce -------------- parser
| | |- dpr -------------- sce
| | |- dreal ------------ sce
| | |- druc ------------- sce
| | |- elp -------------- sce
| | |- fglib ------------ sce
| | |- fitpath ---------- sce -------------- FpGen
| | |- flop ------------- sce
| | |- fpga ------------- sce ------------+- ablorder
| | | |- bddorder
| | | |- bus2mux
| | | |- compil
| | | |- facto
| | | |- fpgasce
| | | |- fpmenu
| | | |- lca_vbe
| | | |- lca_vbe4
| | | |- mapping
| | | |- param
| | | |- prepar
| | | |- proof
| | | `- synthe
| | |- genlib ----------- sce
| | |- genpat ----------- sce -------------- genpat
| | |- genview ---------- sce -------------- gcc-1.42 --------- config
| | |- graal ------------ sce
| | |- grog ------------- sce
| | |- gscr ------------- sce
| | |- icones ----------- sce
| | |- lvx -------------- sce
| | |- lynx ------------- sce
| | |- mbk -------------- sce
| | |- mbkal ------------ sce
| | |- mbkap ------------ sce
| | |- mbkedif ---------- sce
| | |- mbkhilo ---------- sce
| | |- mbkmg ------------ sce
| | |- mbkspice --------- sce
| | |- mbkvhdl ---------- sce ------------+- mbkvhdl
| | | |- struct
| | | `- util
| | |- mbkvti ----------- sce
| | |- netoptim --------- sce
| | |- pat -------------- sce ------------+- include
| | | |- pat
| | | |- phl
| | | `- ppt
| | |- proof ------------ sce
| | |- raga ------------- sce
| | |- rage ------------- sce
| | |- rcn -------------- sce
| | |- rds -------------- sce
| | |- rds2ps ----------- sce
| | |- rdscif ----------- sce
| | |- rdsgds ----------- sce
| | |- rfg -------------- sce
| | |- ring ------------- sce
| | |- rsa -------------- sce
| | |- s2r -------------- sce
| | |- sara ------------- sce
| | |- sclib ------------ sce
| | |- scr -------------- sce
| | |- sl --------------- sce
| | |- syf -------------- sce ------------+- abl
| | | |- aut
| | | |- bdd
| | | |- fbh
| | | |- fbl
| | | |- fks
| | | |- fsm
| | | |- ftl
| | | |- fvh
| | | |- gef
| | | |- syf
| | | |- xfs
| | | `- xpt
| | |- tas -------------- sce ------------+- tas
| | | |- tel
| | | |- trc
| | | `- ttv
| | |- testools --------- sce -------------- genscan.sce
| | `- yagle ------------ sce ------------+- fcl
| | |- inf
| | `- yagle
| `- tutorials ------+- addaccu
| |- alligator ------+- doc
| | `- examples -------+- addaccu --------+- global
| | | `- local
| | |- count ----------+- global
| | | `- local
| | |- dlxsts ---------+- global
| | | `- local
| | `- misex1 ---------+- global
| | `- local
| |- amd2901
| |- bench ----------+- genpat
| | |- genscan
| | |- genview
| | `- x2y
| |- dlxm -----------+- latex
| | |- mclib
| | `- stock_asm
| |- fitpath --------+- doc -------------- ps
| | `- mclib
| `- synth ------------ C4
repertoire RACINE
17982 May 23 10:07 COPYING
25265 May 23 10:07 COPYING.LIB GPL ?
81454 May 26 17:30 LIBRARIES.ps
203903 May 26 17:30 MAPPING.ps
226212 May 26 17:30 OVERVIEW.ps
227758 May 26 17:30 TAPELABEL.ps
ca c'est moi...
3974 May 23 10:12 HISTORY
5626 May 23 10:25 INSTALL*
5626 May 23 10:27 INSTALL.Linux_aout*
5626 May 23 10:27 INSTALL.Linux_elf*
5626 May 23 10:28 INSTALL.Solaris*
5626 May 23 10:27 INSTALL.SunOS*
2076 May 23 10:17 LABEL
401 May 20 20:32 LinkAll*
139 May 20 14:51 LinkArchi*
610 May 22 10:19 LinkTool*
28108 May 30 14:01 Makefile.Linux_aout
28108 May 30 14:02 Makefile.Linux_elf
28108 May 30 14:02 Makefile.Solaris
28108 May 30 14:02 Makefile.SunOS
10904 May 26 17:11 README
338 May 30 13:46 TOOLS
329 May 30 13:46 TOOLS_SORT
repertoire DOC
May 20 14:59 asimut/
May 20 14:59 asm/
*May 20 14:59 bdd/
May 20 14:59 beh/
May 20 14:59 behvhdl/
May 20 14:59 bsg/
May 20 17:08 cns/
May 20 15:00 dreal/
May 20 15:00 druc/
May 20 18:40 elp/
*May 20 15:04 fitpath/
May 20 15:04 flop/
May 20 15:04 fpga/
*May 20 15:05 genlib/
May 20 15:05 genpat/
May 20 15:05 genview/
May 20 15:05 graal/
*May 20 15:06 grog/
*May 20 15:06 gscr/
*May 20 15:06 icones/
*May 20 15:06 lvx/
*May 22 10:10 lynx/
*May 20 15:06 mbk/
*May 20 15:06 mbkal/
*May 20 15:06 mbkap/
*May 20 15:06 mbkedif/
May 20 15:06 mbkhilo/
May 20 15:06 mbkmg/
May 20 15:06 mbkspice/
May 20 15:06 mbkvhdl/
May 20 15:06 mbkvti/
May 22 11:15 netoptim/
*May 20 15:06 pat/
May 22 11:14 proof/
May 20 15:06 rage/
May 20 15:55 rcn/
*May 20 15:07 rds/
May 20 15:07 rds2ps/
May 20 15:07 rdscif/
May 20 15:07 rdsgds/
May 20 15:07 rfg/
*May 20 15:07 rsa/
*May 20 15:07 s2r/
*May 21 12:04 sclib/
May 20 15:08 scr/
May 22 11:16 sl/
May 20 15:09 syf/
May 28 17:10 tas/
May 28 17:11 yagle/
repertoire ETC
May 23 18:33 ENV_VAR
May 28 11:22 Linux_aout.mk
Sep 10 16:47 Linux_elf.mk
May 28 11:22 Solaris.mk
May 28 16:37 SunOS.mk
May 20 15:00 asga_7.dreal
May 20 15:05 asga_7.genview
May 20 15:05 asga_7.graal
May 20 15:07 asga_7.rds
May 20 15:00 cmos_7.dreal
May 20 15:05 cmos_7.genview
May 20 15:05 cmos_7.graal
May 20 15:07 cmos_7.rds
Sep 8 16:30 libraries.mk
May 20 18:40 prol10.elp
May 20 15:07 prol10_7.rds
May 20 15:09 xfsm.par
May 20 15:09 xpat.par
pour les man...
.so man1/alc_origin.1
.so man1/alc_bug_rprt.1

360
dev/scripts/misc/dri Normal file
View File

@ -0,0 +1,360 @@
CDROM Alliance
--------------
Alliance VLSI CAD System
Copyright (C) Laboratoire LIP6 - Département ASIM
Universite Pierre et Marie Curie
4, place Jussieu
75252 Paris Cedex 05
France
Ce CDROM est au format ISO9660 extension RockRidge.
Il est lisible sur n'importe quel OS (Dos, Windows, MacOS, Unix)
Les noms de fichiers longs n'apparaitront que sous unix.
Ce CDROM contient les fichiers sources de la chaine de CAO VLSI
Alliance.
Ces sources sont divisees en deux blocs :
1- share :
- biblioteques de cellule
amg - array multiplior generator
bsg - barrel shifter generator
dplib - cell library for data-path custom operators.
fplib - cells library for fitpath dedicated generators.
grog - a generic rom generator
padlib - symbolic pad library
rage - random acess memory(ram) generator
rfg - register file generator
rsa - recurrence solver adder generator
sclib - a portable cmos standard cell library
- documentation
- tutoriels
2- sources
- sources 'C' des librairies et programmes
Organisation du CDROM :
alliance ---+- share ------+- cells ------+- amg
| | |- bsg
| | |- dplib
| | |- fplib
| | |- grog
| | |- padlib
| | |- rage
| | |- rfg
| | |- rsa
| | `- sclib
| |- doc --------+- html
| | |- misc
| | `- ps
| |- etc
| |- man --------+- man1
| | |- man3
| | `- man5
| `- tutorials --+- addaccu
| `- amd2901
`- sources ----+- alcban
|- amg
|- asimut ------- asimut
|- asm --------+- dlx ---------- asm
| `- mips --------- asm
|- bdd
|- beh --------+- beh
| |- bhl
| `- include
|- behvhdl ----+- behave
| |- behvhdl
| |- include
| `- util
|- bsg
|- cns ---------- parser
|- dpr
|- dreal
|- druc
|- elp
|- fitpath ------ FpGen
|- flatbeh
|- flop
|- fpga -------+- abl
| |- aut
| |- bdd
| |- beh
| |- bfl ---------- avl
| |- bhl
| |- but ---------- abstract
| |- bvl
| |- fpm ---------- RCS
| |- include
| |- lax ---------- lax
| |- lib
| `- xnf
|- genlib
|- genpat
|- genview ------ gcc-1.42 ----- config
|- graal
|- grog
|- gscr
|- icones
|- lvx
|- lynx
|- mbk
|- mbkal
|- mbkap
|- mbkedif
|- mbkhilo
|- mbkmg
|- mbkspice
|- mbktools
|- mbkvhdl ----+- mbkvhdl
| |- struct
| `- util
|- mbkvrlog
|- mbkvti
|- pat --------+- include
| |- pat
| |- phl
| `- ppt
|- rage
|- rcn
|- rds
|- rds2ps
|- rdscif
|- rdsgds
|- rfg
|- ring
|- rsa
|- s2r
|- scr
|- sl
|- syf --------+- abl
| |- aut
| |- bdd
| |- btr
| |- fks
| |- fsm
| |- ftl
| |- fvh
| |- k2f
| |- syf
| |- xfs
| `- xpt
|- tas --------+- etas
| |- tas
| |- tel
| |- trc
| `- ttv
|- testools
|- yagle ------+- fcl
| |- inf
| `- yagle
`- yeap -------+- include
|- lib
|- sce
`- sceall -----+- abl ---------- sce102
|- aut ---------- sce102
|- bdd ---------- sce102
|- beh ---------- sce102
|- bhl ---------- sce102
|- bvl ---------- sce102
|- etc
`- log ---------- sce102
Librairies de base Alliance :
---------------------------
mbk : - mut : general purpose utilities
functions related to symbolic layout representation :
- mph : basic data structures - mpu : user level functions
functions related to net-list representation :
- mlo : basic data structures
- mlu : user level functions
rcn : - rcn : data structures for resistor representation
mbkal : - mal : parser & driver for Al format
mbkedif : - mel : parser & driver for EDIF
mbkhilo : - mhl : driver for GHDL net-list
mbkspice : - msl : parser & driver for SPICE
mbkvhdl : - mvl : parser & driver for VHDL net-lists
mbkvti - mcp : parser & driver for COMPASS Compose layout
- mcl : parser & driver for COMPASS net-lists
mbkvrlog : - mgl : driver for VERILOG net-lists
mbkap - map : parser & driver for AP format
mbkmg - mmg : parser & driver for MODGEN
bdd : log : lisp-like tress, binary decision diagram
beh : - beh : basic data structures
- bhl : high level functions
behvhdl : - bvl : parser & driver for Data-Flow VHDL and user
level functions
gscr : apr : place & route functions
pat : functions related to simulation patterns representation :
- pat : basic data structures
- phl : high level functions
- ppt : parser & driver for PAT format and user level
functions
rds :
functions related to physical (micron) layout :
- rds : basic data structures
- rut : user level functions
- rfm : physical layout from symbolic layout
- rpr : parser for technology file
- rwi : windowing functions
- rtl : user level functions
rdscif :
- rcf : parser & driver for CIF format
rdsgds :
- rgs : parser & driver for GDSII format
elp : - elp : electrical parameters' file parser
icones : functions related to icon representation :
- icn : basic data structures
- ica : parser & driver for Alliance icon format
- icc : parser & driver for Compass icon format
- icu : user level functions
cns : functions related to cone net-list representation :
- cns : cone net_list
Outils :
------
alcban : baniere Alliance
genlib : Language procedural de description de netlists
rsa :
%%%%%%%%% building bsg
bsg
gbs201.h
libGbs201.a
%%%%%%%%% building rfg
rfg
grf604.h
libGrf604.a
%%%%%%%%% building amg
gam000.h
libGam000.a
amg
%%%%%%%%% building asimut
asimut
%%%%%%%%% building asm
dlx_asm
mips_asm
%%%%%%%%% building fitpath
libGfp110.a
gfp110.h
libFgn110.a
fgn110.h
fpgen.h
fpgen
%%%%%%%%% building dpr
dpr
%%%%%%%%% building druc
vrd300.h
druc
libVrd300.a
%%%%%%%%% building syf
aut102.h
libAut102.a
abl102.h
libAbl102.a
bdd102.h
libBdd102.a
fsm102.h
libFsm102.a
libFks102.a
fvh102.h
libFvh102.a
ftl102.h
libFtl102.a
syf
xfsm
xpat
%%%%%%%%% building dreal
dreal
%%%%%%%%% building graal
graal
%%%%%%%%% building rage
rage
%%%%%%%%% building genview
genview
genview_cpp
%%%%%%%%% building flop
bbr
%%%%%%%%% building grog
libGgr001.a
grog
%%%%%%%%% building rds2ps
rps103.h
libRps103.a
l2p
%%%%%%%%% building scr
scr
%%%%%%%%% building lvx
lvx
%%%%%%%%% building ring
ring
%%%%%%%%% building s2r
s2r
%%%%%%%%% building lynx
lynx
flatrds
%%%%%%%%% building genpat
libPgn102.a
genpat
genpat.h
%%%%%%%%% building sl
glop
bop
proof
scmap
c4map
%%%%%%%%% building yagle
libInf109.a
inf109.h
libFcl102.a
fcl102.h
libYag202.a
yag202.h
yagle
%%%%%%%%% building tas
libTel100.a
libTrc100.a
trc100.h
libTtv110.a
ttv110.h
libTas521.a
tas521.h
tas
etas
%%%%%%%%% building testools
genscan
%%%%%%%%% building flatbeh
flatbeh
%%%%%%%%% building mbktools
x2y
flatlo
flatph

27
dev/scripts/misc/gendeclib Executable file
View File

@ -0,0 +1,27 @@
# batch generique d'installation des librairies
if ( "$1" == "" ) then
echo "$0 prend comme premier parametre le source"
exit
endif
if ( "$2" == "" ) then
echo "$0 prend comme deuxieme parametre la destination"
exit
endif
set SCEDIR=$1
set DSTDIR=$2
cd $SCEDIR
set FILES=`/bin/ls`
if ( "$FILES" == "" ) then
echo "aucun fichier. "
exit
endif
cd $DSTDIR
foreach FILE ( $SCEDIR/* )
set FIC=`basename $FILE`
echo -n $FIC" "
cp $SCEDIR/$FIC $DSTDIR
/usr/bin/ranlib $FIC
end
echo " "

130
dev/scripts/misc/generic Executable file
View File

@ -0,0 +1,130 @@
#!/bin/tcsh -f
date +" Labo cao-vlsi, le %a %d %h 19%y a %H:%M"
if ( "$1" == "" ) then
echo "install prend comme premier parametre le nom de l'outil1 a installer"
exit
endif
if ( "$2" == "" ) then
echo "install prend comme deuxieme parametre le nom de l'utilisateur qui installe"
exit
endif
echo " "
echo "Compte-rendu d'installation de l'outil1 $1 faite pour $2"
echo " "
set HOME=$1
set OUTIL=`basename $HOME`
set PCLIST="varese xenakis"
#set LINUXLIST="cherry morton bechet waller carter parker silver konitz"
set LINUXLIST="cherry morton bechet waller carter parker silver konitz"
# Installation des executables
echo "======================================================================="
echo " Executables "
echo "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
foreach archi (sparc dec pc linux)
echo -n " + $archi : "
rsh -n house "/users/outil1/generic/genspabin $HOME/labo/$archi/bin /users/soft5/labo_$archi/bin"
end
foreach ordi ($PCLIST)
echo -n " + pc [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspabin $HOME/labo/pc/bin /labo/bin"
end
foreach ordi ($LINUXLIST)
echo -n " + linux [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspabin $HOME/labo/linux/bin /labo/bin"
end
# Installation des librairies
echo "======================================================================="
echo " Librairies "
echo "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
foreach archi (sparc dec pc linux)
echo -n " + $archi : "
rsh -n house "/users/outil1/generic/genspalib $HOME/labo/$archi/lib /users/soft5/labo_$archi/lib"
end
foreach ordi ($PCLIST)
echo -n " + pc [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspalib $HOME/labo/pc/lib /labo/lib"
end
foreach ordi ($LINUXLIST)
echo -n " + linux [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genlnxlib $HOME/labo/linux/lib /labo/lib"
end
# Installation des includes
echo "======================================================================="
echo " Includes "
echo "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
foreach archi (sparc dec pc linux)
echo -n " + $archi : "
rsh -n house "/users/outil1/generic/genspabin $HOME/labo/$archi/include /users/soft5/labo_$archi/include"
end
foreach ordi ($PCLIST)
echo -n " + pc [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspabin $HOME/labo/pc/include /labo/include"
end
foreach ordi ($LINUXLIST)
echo -n " + linux [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspabin $HOME/labo/linux/include /labo/include"
end
# Installation des etcaetera
echo "======================================================================="
echo " Et Caetera "
echo "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
echo -n " + sparc, dec, pc, linux : "
rsh -n house "/users/outil1/generic/genspabin $HOME/labo/etc /labo/etc"
foreach ordi ($PCLIST)
echo -n " + pc [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspabin $HOME/labo/etc /labo/etc"
end
foreach ordi ($LINUXLIST)
echo -n " + linux [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspabin $HOME/labo/etc /labo/etc"
end
# Installation des cellules
echo "======================================================================="
echo " Cellules "
echo "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
echo -n " + sparc, dec, pc, linux : "
rsh -n house "/users/outil1/generic/genspabin $HOME/labo/cells /labo/cells/$OUTIL"
foreach ordi ($PCLIST)
echo -n " + pc [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspabin $HOME/labo/cells /labo/cells/$OUTIL"
end
foreach ordi ($LINUXLIST)
echo -n " + linux [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspabin $HOME/labo/cells /labo/cells/$OUTIL"
end
# Installation des pages du manuel
echo "======================================================================="
echo " ManPages (...mann) "
echo "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
echo -n " + sparc, dec, pc, linux : "
rsh -n house "/users/outil1/generic/genspaman $HOME/labo/man /labo/man"
foreach ordi ($PCLIST)
echo -n " + pc [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspaman $HOME/labo/man /labo/man"
end
foreach ordi ($LINUXLIST)
echo -n " + linux [$ordi] : "
rsh -n $ordi "/users/outil1/generic/genspaman $HOME/labo/man /labo/man"
end
echo "======================================================================="
echo " "
date +"Fini d'installer le %a %d %h 19%y a %H:%M, [pour $2]."

28
dev/scripts/misc/genlnxlib Executable file
View File

@ -0,0 +1,28 @@
#!/bin/csh
# batch generique d'installation sur sparc des librairies
if ( "$1" == "" ) then
echo "$0 prend comme premier parametre le source"
exit
endif
if ( "$2" == "" ) then
echo "$0 prend comme deuxieme parametre la destination"
exit
endif
set SCEDIR=$1
set DSTDIR=$2
cd $SCEDIR
set FILES=`/bin/ls`
if ( "$FILES" == "" ) then
echo "aucun fichier. "
exit
endif
cd $DSTDIR
foreach FILE ( $SCEDIR/* )
set FIC=`basename $FILE`
echo -n $FIC" "
cp $SCEDIR/$FIC $DSTDIR
/bin/ranlib -t $FIC
end
echo " "

35
dev/scripts/misc/genspabin Executable file
View File

@ -0,0 +1,35 @@
#!/bin/csh
# batch generique d'installation sur sparc des executables
if ( "$1" == "" ) then
echo "$0 prend comme premier parametre le source"
exit
endif
if ( "$2" == "" ) then
echo "$0 prend comme deuxieme parametre la destination"
exit
endif
set SCEDIR=$1
set DSTDIR=$2
cd $SCEDIR
set PLEIN="NON"
set LISTE=`/bin/ls -1 | wc -l`
if ( "$LISTE" != "0" ) then
set PLEIN="OUI"
endif
if ( "$PLEIN" == "NON" ) then
echo "aucun fichier. "
exit
endif
cd $DSTDIR
foreach FILE ( $SCEDIR/* )
set FIC=`basename $FILE`
echo -n $FIC" "
/bin/rm $DSTDIR/$FIC >& /dev/null
cp -r $SCEDIR/$FIC $DSTDIR
end
echo " "

28
dev/scripts/misc/genspaetc Executable file
View File

@ -0,0 +1,28 @@
#!/bin/csh
# batch generique d'installation sur sparc des executables
if ( "$1" == "" ) then
echo "$0 prend comme premier parametre le source"
exit
endif
if ( "$2" == "" ) then
echo "$0 prend comme deuxieme parametre la destination"
exit
endif
set SCEDIR=$1
set DSTDIR=$2
cd $SCEDIR
set FILES=`/bin/ls`
if ( "$FILES" == "" ) then
echo "aucun fichier. "
exit
endif
cd $DSTDIR
foreach FILE ( $SCEDIR/* )
set FIC=`basename $FILE`
echo -n $FIC" "
/bin/rm $DSTDIR/$FIC >& /dev/null
cp -r $SCEDIR/$FIC $DSTDIR
end
echo " "

28
dev/scripts/misc/genspalib Executable file
View File

@ -0,0 +1,28 @@
#!/bin/csh
# batch generique d'installation sur sparc des librairies
if ( "$1" == "" ) then
echo "$0 prend comme premier parametre le source"
exit
endif
if ( "$2" == "" ) then
echo "$0 prend comme deuxieme parametre la destination"
exit
endif
set SCEDIR=$1
set DSTDIR=$2
cd $SCEDIR
set FILES=`/bin/ls`
if ( "$FILES" == "" ) then
echo "aucun fichier. "
exit
endif
cd $DSTDIR
foreach FILE ( $SCEDIR/* )
set FIC=`basename $FILE`
echo -n $FIC" "
cp $SCEDIR/$FIC $DSTDIR
/usr/ccs/bin/ranlib -t $FIC
end
echo " "

31
dev/scripts/misc/inslib.c Executable file
View File

@ -0,0 +1,31 @@
#include <stdio.h>
#ifndef LIB
#define LIB "cns"
#endif
main (argc, argv)
int argc;
char **argv;
{
char cmd[80];
char nom[15];
printf ("Programme d'installation de la librairie ");
printf ("%s.\n\n", LIB);
if (strcmp (getenv("HOST"), "heavy") != 0) {
printf ("ERREUR : a lancer sur la station 'heavy'.\n\n");
exit (1);
};
printf ("Quel est votre nom ? ");
scanf ("%s", nom);
setuid (30136);
seteuid (30136);
setruid (30136);
setgid (30100);
setegid (30100);
setrgid (30100);
sprintf (cmd, "/users/outil1/generic/install %s %s", LIB, nom);
execlp ("/bin/csh", "csh", "-c", cmd, (char *) NULL);
}

538
dev/scripts/misc/mail Normal file
View File

@ -0,0 +1,538 @@
a verifier :
jpc : dpr fitpath mbkap
fred : genlib mbk mbkvti grog flop genview mbkmg
ludo : graal syf dreal druc rds rdsgds rdscif
gregoire : lynx
mourad : mbkvrlog
karim : elp mbkal rcn tas
anthony : yaggle mbkspice
pascal : cns
a metrre a jour:
ab : rage
amar : testools
franck : amg bsg lvx rfg ring rsa s2r
ged : rds2ps
kiki : pat genpat
pirouz : asimut asm beh behvhdl mbkvhdl
rejouan : gscr scr
czo : alcban bdd icones sl flatbeh mbkedif mbkhilo mbktools yeap
ac : fpga
alcban
amg
asimut : VHDL logic simulator
asm
bdd
beh
behvhdl
bsg
cns
dpr
dreal
druc
elp
fitpath
flatbeh
flop
fpga
genlib
genpat
genview
graal
grog
gscr
icones
lvx
lynx
mbk
mbkal
mbkap
mbkedif
mbkhilo
mbkmg
mbkspice
mbktools
mbkvhdl
mbkvrlog
mbkvti
pat
rage
rcn
rds
rds2ps
rdscif
rdsgds
rfg
ring
rsa
s2r
scr
sl
syf
tas
testools
yagle
yeap
alcteam :
--------
Gregoire.Avot@asim.lip6.fr
Mourad.Aberbour@asim.lip6.fr
Pirouz.Bazargan-Sabet@asim.lip6.fr
Abdelhafid.Bouaraoua@asim.lip6.fr
Arnaud.Caron@asim.lip6.fr
Jean-Paul.Chaput@asim.lip6.fr
Anne.Derieux@asim.lip6.fr
Gilles-Eric.Descamps@asim.lip6.fr
Karim.Dioury@asim.lip6.fr
Olivier.Florent@asim.lip6.fr
Alain.Greiner@asim.lip6.fr
Ludovic.Jacomme@asim.lip6.fr
Anthony.Lester@asim.lip6.fr
Frederic.Petrot@asim.lip6.fr
Housseine.Rejouan@asim.lip6.fr
Olivier.Sirol@asim.lip6.fr
Huu-Nghia.Vuong@asim.lip6.fr
Franck.Wajsburt@asim.lip6.fr
RESPONSABLES OUTILS et BIBLIOTHEQUES ALLIANCE
(Juin 1997)
BIBLIOTHEQUES (les numeros de version ne sont pas significatifs)
syf Abl101.a / L.Jacomme / manipulation ABL (SYF / YEAP)
gscr Apr102.a / H.Rejouan / fonctions placement/:routage (SCR / BBR)
syf Aut101.a / L.Jacomme / Utilitaires pour ABL (SYF / YEAP)
syf Bdd101.a / L.Jacomme / BDD (SYF / YEAP)
beh Beh109.a / P.Bazargan / fonctions de creation/destruction befig
beh Bhl109.a / P.Bazargan / fonctions d'acces befig
behvhdl Bvl111.a / P.Bazargan / parser-driver fichier .vbe <-> befig
cns Cns200.a / A.Lester / fonctions d'acces cnsfig
elp Elp104.a / K.Dioury / parser fichier .elp (TAS)
yagle Fcl100.a / A.Lester / reconnaissance formes (YAGLE)
fitpath Fgn107.a / J.P. Chaput / langage FPGEN
Fks101.a / L.Jacomme / parser fichier .kiss2 -> fsmfig
Fsm101.a / L.Jacomme / fonctions d'acces fsmfig
Ftl101.a / L.Jacomme / choix du parser fsmfig
Fvh101.a / L.Jacomme / parser fichier .fsm (3e partie)
Gam000.a / Franck / generateur AMG
Gbs201.a / Franck / generateur BSG
Gfp107.a / J.P. Chaput / generateurs FPLIB
Gga300.a / Franck / generateur RSA
Ggr001.a / F.Petrot / genrateur GROG
Grf604.a / P.Bazargan / generateur RFG
lInf109.a / A.Lester / parser fichier .inf (YAGLE et TAS)
Mal500.a / K.Dioury / parser-driver fichier .al <-> lofig
Map403.a / J.P. Chaput / parser-driver fichier .ap <-> phfig
Mcl408.a / F.Petrot / parser-driver fichier .hnl <-> lofig
Mgl100.a / M.Aberbour / driver verilog .vlg <- lofig
Mcp402.a / F.Petrot / parser-driver fichier .cp <-> lofig
Mel406.a / O.Florent / parser-driver EDIF <-> lofig
Mgn324.a / F.Petrot / langage GENLIB
Mhl403.a / O.Florent / driver lofig -> HILO
Mlo406.a / F.Petrot / fonctions d'acces lofig
Mlu413.a / F.Petrot / utilitaires lofig
Mmg402.a / F.Petrot / parser-driver MODGEN <-> phfig
Mph402.a / F.Petrot / fonctions d'acces phfig
Mpu404.a / F.Petrot / utilitaires phfig
Msl614.a / A.Lester / parser-driver SPICE <-> lofig
Mut317.a / F.Petrot / utilitaires MBK
Mvl409.a / P.Bazargan / parser-driver .vst
Pat106.a / P.Bazargan/ / fonctions creation/destruction structure pat
Pgn101.a / K.Vuong / langage GENPAT/
Phl106.a / P.Bazargan / fonctions acces structure pat
Ppt106.a / P.Bazargan / parser-driver fichier .pat <-> structure pat
Pwl100.a / O.Florent / driver patterns HILO
Rcf108.a / L.Jacomme / parser-driver fichier .cif <-> rdsfig
Rcn102.a / K.Dioury / representation des resistances dans la lofig
Rds206.a / L.Jacomme / fonctions d'acces rdsfig
Rfm207.a / L.Jacomme / expansion symbolique rectangles
Rgs109.a / L.Jacomme / parser-driver fichier .gds <-> rdsfig
Rpr209.a / L.Jacomme / parser fichier .rds (S2R / LYNX)
Rps103.a / GED / driver rdsfig-> postscript
Rtl107.a / L.Jacomme / choix parser rdsfig
Rut205.a / L.Jacomme / utilitaires rdsfig
Rwi106.a / L.Jacomme / fenetrage rdsfig
Tas510.a / K.Dioury / Calcul delais elementaires pour TAS
Ttv100.a / K.Dioury / parser-driver .ttv et fonctions d'acces ttvfig
Vrd300.a / L.Jacomme / DRUC pour GRAAL
Yag200.a / A.Lester / fonctions de desassemblage (YAGLE / TAS)
log200.a / O.Sirol / ABL et BDD (LOGIC / ASIMUT)
OUTILS
alligator A. Caron
amg Franck
asimut P. Bazargan
bbr F. Petrot
bsg Franck
dlxasm P. Bazargan
dpr J.P. Chaput
dreal L. Jacomme
druc L. Jacomme
genlib F. Petrot
genpat H.N. Vuong
genscan A. Guettaf
genview F. Petrot
graal L. Jacomme
grog F. Petrot
l2p GED
logic O. Sirol
lvx Franck
lynx G. Avot
netoptim O. Sirol
padlib F. Wajsburt
proof O. Sirol
rage A. Bouaraoua
rfg Franck
ring F. Wajburt
rsa Franck
s2r F. Wajsburt
sclib A. Derieux
scr H. Rejouan
syf L. Jacomme
tas K. Dioury
yagle A.Lester
Dans l'ordre make
MBK = mbk
RCN = rcn
MBK_LO = mbkal mbkedif mbkhilo mbkspice mbkvhdl mbkvti
MBK_PH = mbkap mbkmg mbkvti mbkvrlog
BDD = bdd
BEH = beh
BEHV = behvhdl
APR = gscr
PAT = pat
RDS = rds
RDS_GEN = rdscif rdsgds
ELP = elp
ICON = icones
GENLIB = genlib
RSA = rsa
BLC_GEN = bsg rfg
amg
asimut
e-mail :
mbk fred
rcn karim
mbkal karim
mbkedif olivier rhosts
mbkhilo olivier rhosts dev
mbkspice antony rhosts dev
mbkvhdl pirouz rhosts dev
mbkvti fred rhosts
mbkvrlog mourad
mbkap jpc
mbkmg fred
bdd czo rhosts
beh pirouz
behvhdl pirouz rhosts
gscr rejouan rhosts
pat kiki rhosts
rds ludo
rdscif ludo
rdsgds ludo
elp karim
icones czo rhosts
cns pascal
alcban czo
genlib fred
rsa franck rhosts
bsg franck rhosts
rfg franck rhosts
amg franck rhosts
asimut pirouz rhosts
asm pirouz rhosts
fitpath jpc
dpr jpc
druc ludo
syf ludo
dreal ludo
graal ludo
rage ab
genview fred
flop fred
grog fred
rds2ps ged (l2p)
scr rejouan
lvx franck
ring franck
s2r franck
lynx gregoire
genpat kiki
sl czo
yagle anthony
tas karim
testools amar
flatbeh czo
mbktools czo
################################
sclib anne
fpga ac
%%%%%%%%% building mbk
mph408.h
libMph408.a
mpu405.h
libMpu405.a
mlo407.h
libMlo407.a
mlu414.h
libMlu414.a
mut323.h
libMut323.a
%%%%%%%%% building rcn
libRcn102.a
%%%%%%%%% building mbkal
libMal500.a
mal500.h
%%%%%%%%% building mbkedif
libMel407.a
%%%%%%%%% building mbkhilo
libMhl403.a
%%%%%%%%% building mbkspice
libMsl614.a
msl614.h
%%%%%%%%% building mbkvhdl
libMvl409.a
%%%%%%%%% building mbkvti
libMcp405.a
libMcl410.a
mcp405.h
mcl410.h
%%%%%%%%% building mbkvrlog
libMgl100.a
%%%%%%%%% building mbkap
libMap406.a
%%%%%%%%% building mbkmg
libMmg402.a
%%%%%%%%% building bdd
log201.h
liblog201.a
%%%%%%%%% building beh
beh109.h
libBeh109.a
bhl109.h
libBhl109.a
%%%%%%%%% building behvhdl
bvl111.h
libBvl111.a
%%%%%%%%% building gscr
apr102.h
libApr102.a
%%%%%%%%% building pat
pat106.h
libPat106.a
libPhl106.a
ppt106.h
libPpt106.a
%%%%%%%%% building rds
libRds207.a
rds207.h
libRfm208.a
rfm208.h
libRut206.a
rut206.h
libRtl108.a
rtl108.h
libRpr210.a
rpr210.h
libRwi107.a
rwi107.h
%%%%%%%%% building rdscif
rcf109.h
libRcf109.a
%%%%%%%%% building rdsgds
rgs110.h
libRgs110.a
%%%%%%%%% building elp
libElp104.a
elp104.h
%%%%%%%%% building icones
icn201.h
iac201.h
icu201.h
libIcn201.a
libIcc201.a
libIca201.a
libIcu201.a
%%%%%%%%% building genlib
genlib
libMgn327.a
genlib.h
mgn327.h
mbkgen.h
%%%%%%%%% building rsa
gga301.h
libGga301.a
rsa
%%%%%%%%% building bsg
bsg
gbs201.h
libGbs201.a
%%%%%%%%% building rfg
rfg
grf604.h
libGrf604.a
%%%%%%%%% building amg
gam000.h
libGam000.a
amg
%%%%%%%%% building asimut
asimut
%%%%%%%%% building cns
libCns202.a
cns202.h
%%%%%%%%% building alcban
alcbanner
%%%%%%%%% building asm
dlx_asm
mips_asm
%%%%%%%%% building fitpath
libGfp110.a
gfp110.h
libFgn110.a
fgn110.h
fpgen.h
fpgen
%%%%%%%%% building dpr
dpr
%%%%%%%%% building druc
vrd300.h
druc
libVrd300.a
%%%%%%%%% building syf
aut102.h
libAut102.a
abl102.h
libAbl102.a
bdd102.h
libBdd102.a
fsm102.h
libFsm102.a
libFks102.a
fvh102.h
libFvh102.a
ftl102.h
libFtl102.a
syf
xfsm
xpat
%%%%%%%%% building dreal
dreal
%%%%%%%%% building graal
graal
%%%%%%%%% building rage
rage
%%%%%%%%% building genview
genview
genview_cpp
%%%%%%%%% building flop
bbr
%%%%%%%%% building grog
libGgr001.a
grog
%%%%%%%%% building rds2ps
rps103.h
libRps103.a
l2p
%%%%%%%%% building scr
scr
%%%%%%%%% building lvx
lvx
%%%%%%%%% building ring
ring
%%%%%%%%% building s2r
s2r
%%%%%%%%% building lynx
lynx
flatrds
%%%%%%%%% building genpat
libPgn102.a
genpat
genpat.h
%%%%%%%%% building sl
glop
bop
proof
scmap
c4map
%%%%%%%%% building yagle
libInf109.a
inf109.h
libFcl102.a
fcl102.h
libYag202.a
yag202.h
yagle
%%%%%%%%% building tas
libTel100.a
libTrc100.a
trc100.h
libTtv110.a
ttv110.h
libTas521.a
tas521.h
tas
etas
%%%%%%%%% building testools
genscan
%%%%%%%%% building flatbeh
flatbeh
%%%%%%%%% building mbktools
x2y
flatlo
flatph

View File

@ -0,0 +1,18 @@
Subject: bug scr : command line problem
Date: Tue, 30 Sep 1997 13:26:24
Type: Question
Résumé du problème :
Fichier(s) qui pose(nt) problème(s) :
Platefome matérielle et système d'exploitation (résultat de « uname -a »):
Description détaillée du problème :

View File

@ -0,0 +1,51 @@
alcban czo
amg franck
asimut pirouz
asm pirouz
bdd czo
beh pirouz
behvhdl pirouz
bsg franck
cns pascal
dpr jpc
dreal ludo
druc ludo
elp karim
fitpath jpc
flop fred
genlib fred
genpat kiki
genview fred
graal ludo
grog fred
gscr rejouan
icones czo
lvx franck
lynx gregoire
mbk fred
mbkal karim
mbkap jpc
mbkedif olivier
mbkhilo olivier
mbkmg fred
mbkspice antony
mbkvhdl pirouz
mbkvrlog mourad
mbkvti fred
pat kiki
rage ab
rcn karim
rds ludo
rds2ps ged (l2p)
rdscif ludo
rdsgds ludo
rfg franck
ring franck
rsa franck
s2r franck
scr rejouan
sl czo
syf ludo
tas karim
testools amar
yagle anthony

19
dev/scripts/misc/motd Normal file
View File

@ -0,0 +1,19 @@
==============================================================================
ALLIANCE NEWS Wed 29/10/97
==============================================================================
Dorenavant, il y aura un mot du jour sur Alliance
------------------------------------------------------------------------------
Du nouveau sur les scripts a lancer :
ETUDIANTS : 'source /users/soft5/newlabo/full_env.csh'
(ceci positionnera le PATH pour que vous ayez acces a VIM)
AUTRES : 'source /users/soft5/newlabo/alc_env.csh'
(pas de changements)
------------------------------------------------------------------------------
Vous pouvez utiliser la commande 'xmbk' pour changer "graphiquement"
les variables d'environnement Alliance.
------------------------------------------------------------------------------
Si vous trouvez des bugs, utilisez la page web de bug report :
http://www-asim.lip6.fr/alliance/support/bug-report/
==============================================================================

2
dev/scripts/misc/mydiff Executable file
View File

@ -0,0 +1,2 @@
#! /bin/sh
diff -b -B -r -I '^.*This file is part of the Alliance CAD System.*$' -I '^.*Copyright (C) Laboratoire LIP6 - Département ASIM.*$' -I '^.*Universite Pierre et Marie Curie.*$' -I '^.*Home page : http:..www-asim.lip6.fr.alliance..*$' -I '^.*E-mail support : mailto:alliance-support@asim.lip6.fr.*$' -I '^.*This progam is free software; you can redistribute it and.or modify it.*$' -I '^.*under the terms of the GNU General Public License as published by the.*$' -I '^.*Free Software Foundation; either version 2 of the License, or (at your.*$' -I '^.*option) any later version..*$' -I '^.*Alliance VLSI CAD System is distributed in the hope that it will be.*$' -I '^.*useful, but WITHOUT ANY WARRANTY; without even the implied warranty of.*$' -I '^.*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General.*$' -I '^.*Public License for more details..*$' -I '^.*You should have received a copy of the GNU General Public License along.*$' -I '^.*with the GNU C Library; see the file COPYING. If not, write to the Free.*$' -I '^.*Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.*$' $*

View File

@ -0,0 +1,54 @@
#include <stdio.h>
#include <time.h>
char *pstime(Time)
time_t Time;
{
#define TIMESIZE 19
static char FormatedTime[TIMESIZE]; /* mmm dd yyyy HH:MM */
#ifdef sparc
strftime(FormatedTime, TIMESIZE, "%d %h %Y %R", localtime(&Time));
return FormatedTime;
#else
return "No time today";
#endif
}
main (argc, argv)
int argc;
char **argv;
{
long Time;
char nom[15];
char outil[15];
char cmd[80];
char date[30];
int heure;
printf ("Programme d'installation d'outil ");
printf ("en periode critique.\n\n");
if (strcmp (getenv("HOST"), "heavy") != 0) {
printf ("ERREUR : a lancer sur la station 'heavy'.\n\n");
exit (1);
};
strcpy (date, pstime (time (&Time)));
heure = atoi (date+12);
printf ("Nous sommes le %s, il est %d heures environ.\n", date, heure);
if ((heure > 8) && (heure < 18)) {
printf ("ERREUR : Recommencer apres 17h59.\n");
exit (1);
};
printf ("Quel est le compte a installer ? ");
scanf ("%s", outil);
strcpy (nom, getenv("USER"));
setuid (30136);
seteuid (30136);
setruid (30136);
setgid (30100);
setegid (30100);
setrgid (30100);
sprintf (cmd, "/labo/sys/install %s %s", outil, nom);
execlp ("/bin/csh", "csh", "-c", cmd, (char *) NULL);
}

2
dev/scripts/misc/sedgpl Executable file
View File

@ -0,0 +1,2 @@
#! /bin/sh
diff -b -B -r -I 'This file is part of the Alliance CAD System' -I 'Copyright (C) Laboratoire LIP6 - Département ASIM' -I 'Universite Pierre et Marie Curie' -I 'Home page : http:..www-asim.lip6.fr.alliance.' -I 'E-mail support : mailto:alliance-support@asim.lip6.fr' -I 'This progam is free software; you can redistribute it and.or modify it' -I 'under the terms of the GNU General Public License as published by the' -I 'Free Software Foundation; either version 2 of the License, or (at your' -I 'option) any later version.' -I 'Alliance VLSI CAD System is distributed in the hope that it will be' -I 'useful, but WITHOUT ANY WARRANTY; without even the implied warranty of' -I 'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General' -I 'Public License for more details.' -I 'You should have received a copy of the GNU General Public License along' -I 'with the GNU C Library; see the file COPYING. If not, write to the Free' -I 'Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.' $*

120
dev/scripts/misc/shlock.1 Normal file
View File

@ -0,0 +1,120 @@
.Dd June 29, 1997
.Dt SHLOCK 1
.Os
.Sh NAME
.Nm shlock
.Nd create or verify a lock file for shell scripts
.Sh SYNOPSIS
.Nm shlock
.Fl f
.Ar lockfile
.Op Fl p Ar PID
.Op Fl u
.Op Fl v
.Sh DESCRIPTION
The
.Nm shlock
command can create or verify a lock file on behalf of a shell or
other script program.
When it attempts to create a lock file, if one already exists,
.Nm shlock
verifies that it is or is not valid.
If valid,
.Nm shlock
will exit with a non-zero exit code.
If invalid,
.Nm shlock
will remove the lock file, and
create a new one.
.Pp
.Nm shlock
uses the
.Xr rename 2
system call to make the final target lock file, which is an atomic
operation (i.e. "dot locking", so named for this mechanism's original
use for locking system mailboxes).
It puts the process ID ("PID") from the command line into the
requested lock file.
.Pp
.Nm shlock
verifies that an extant lock file is still valid by
using
.Xr kill 2
with a zero signal to check for the existence of the process that
holds the lock.
.Pp
The
.Fl f
argument with
.Ar lockfile
is always required.
.Pp
The
.Fl p
option with
.Ar PID
is given when the program is to create a lock file; when absent,
.Nm shlock
will simply check for the validity of the lock file.
.Pp
The
.Fl u
option causes
.Nm shlock
to read and write the PID as a binary pid_t, instead of as ASCII,
to be compatible with the locks created by UUCP.
.Pp
The
.Fl v
option causes
.Nm shlock
to be verbose about what it is doing.
.Sh RETURN VALUES
A zero exit code indicates a valid lock file.
.Sh EXAMPLES
.Ss BOURNE SHELL
.Bd -literal
#!/bin/sh
lckfile=/tmp/foo.lock
if shlock -f ${lckfile} -p $$
then
# do what required the lock
rm ${lckfile}
else
echo Lock ${lckfile} already held by `cat ${lckfile}`
fi
.Ed
.Ss C SHELL
.Bd -literal
#!/bin/csh -f
set lckfile=/tmp/foo.lock
shlock -f ${lckfile} -p $$
if ($status == 0) then
# do what required the lock
rm ${lckfile}
else
echo Lock ${lckfile} already held by `cat ${lckfile}`
endif
.Ed
.Pp
The examples assume that the filesystem where the lock file is to
be created is writeable by the user, and has space available.
.Sh HISTORY
.Nm shlock
was written for the first Network News Transfer Protocol (NNTP)
software distribution, released in March 1986.
The algorithm was suggested by Peter Honeyman,
from work he did on HoneyDanBer UUCP.
.Sh AUTHOR
Erik E. Fair <fair@clock.org>
.Sh BUGS
Does not work on NFS or other network filesystem on different
systems because the disparate systems have disjoint PID spaces.
.Pp
Cannot handle the case where a lock file was not deleted, the
process that created it has exited, and the system has created a
new process with the same PID as in the dead lock file.
The lock file will appear to be valid even though the process is
unrelated to the one that created the lock in the first place.
Always remove your lock files after you're done.

361
dev/scripts/misc/shlock.c Normal file
View File

@ -0,0 +1,361 @@
/*
** Program to produce reliable locks for shell scripts.
** Algorithmn suggested by Peter Honeyman, January 1984,
** in connection with HoneyDanBer UUCP.
**
** I tried extending this to handle shared locks in November 1987,
** and ran into to some fundamental problems:
**
** Neither 4.3 BSD nor System V have an open(2) with locking,
** so that you can open a file and have it locked as soon as
** it's real; you have to make two system calls, and there's
** a race...
**
** When removing dead process id's from a list in a file,
** you need to truncate the file (you don't want to create a
** new one; see above); unfortunately for the portability of
** this program, only 4.3 BSD has ftruncate(2).
**
** Erik E. Fair <fair@ucbarpa.berkeley.edu>, November 8, 1987
**
** Extensions for UUCP style locks (i.e. pid is an int in the file,
** rather than an ASCII string). Also fix long standing bug with
** full file systems and temporary files.
**
** Erik E. Fair <fair@apple.com>, November 12, 1989
**
** ANSIfy the code somewhat to make gcc -Wall happy with the code.
** Submit to NetBSD
**
** Erik E. Fair <fair@clock.org>, May 20, 1997
*/
#include <sys/types.h>
#include <sys/file.h>
#include <fcntl.h> /* Needed on hpux */
#include <stdio.h>
#include <signal.h>
#include <errno.h>
#include <strings.h>
#include <unistd.h>
#include <stdlib.h>
#define LOCK_SET 0
#define LOCK_FAIL 1
#define LOCK_GOOD 0
#define LOCK_BAD 1
#define FAIL (-1)
#define TRUE 1
#define FALSE 0
int Debug = FALSE;
char *Pname;
char *USAGE = "%s: USAGE: shlock -f file -p pid [-d][-u]\n";
char *E_unlk = "%s: unlink(%s): %s\n";
char *E_open = "%s: open(%s): %s\n";
#define dprintf if (Debug) printf
/*
** Prototypes to make the ANSI compilers happy
** Didn't lint used to do type and argument checking?
** (and wasn't that sufficient?)
*/
#ifdef __STDC__
/* the following is in case you need to make the prototypes go away. */
#define _P(x) x
char *xtmpfile _P((char *, pid_t, int));
int p_exists _P((pid_t));
int cklock _P((char *, int));
int mklock _P((char *, pid_t, int));
void bad_usage _P((void));
int main _P((int, char **));
#endif /* __STDC__ */
int
czo_exit(val)
int val;
{
if (val)
printf("LOCKED\n");
exit(val);
}
/*
** Create a temporary file, all ready to lock with.
** The file arg is so we get the filename right, if he
** gave us a full path, instead of using the current directory
** which might not be in the same filesystem.
*/
char *
xtmpfile(file, pid, uucpstyle)
char *file;
pid_t pid;
int uucpstyle;
{
register int fd;
register int len;
char *cp, buf[BUFSIZ];
static char tempname[BUFSIZ];
sprintf(buf, "shlock%d", getpid());
if ((cp = strrchr(strcpy(tempname, file), '/')) != (char *)NULL) {
*++cp = '\0';
(void) strcat(tempname, buf);
} else
(void) strcpy(tempname, buf);
dprintf("%s: temporary filename: %s\n", Pname, tempname);
sprintf(buf, "%d\n", pid);
len = strlen(buf);
openloop:
if ((fd = open(tempname, O_RDWR|O_CREAT|O_EXCL, 0644)) < 0) {
switch(errno) {
case EEXIST:
dprintf("%s: file %s exists already.\n",
Pname, tempname);
if (unlink(tempname) < 0) {
fprintf(stderr, E_unlk,
Pname, tempname, strerror(errno));
return((char *)NULL);
}
/*
** Further profanity
*/
goto openloop;
default:
fprintf(stderr, E_open,
Pname, tempname, strerror(errno));
return((char *)NULL);
}
}
/*
** Write the PID into the temporary file before attempting to link
** to the actual lock file. That way we have a valid lock the instant
** the link succeeds.
*/
if (uucpstyle ?
(write(fd, &pid, sizeof(pid)) != sizeof(pid)) :
(write(fd, buf, len) < 0))
{
fprintf(stderr, "%s: write(%s,%d): %s\n",
Pname, tempname, pid, strerror(errno));
(void) close(fd);
if (unlink(tempname) < 0) {
fprintf(stderr, E_unlk,
Pname, tempname, strerror(errno));
}
return((char *)NULL);
}
(void) close(fd);
return(tempname);
}
/*
** Does the PID exist?
** Send null signal to find out.
*/
int
p_exists(pid)
pid_t pid;
{
dprintf("%s: process %d is ", Pname, pid);
if (pid <= 0) {
dprintf("invalid\n");
return(FALSE);
}
if (kill(pid, 0) < 0) {
switch(errno) {
case ESRCH:
dprintf("dead\n");
return(FALSE); /* pid does not exist */
case EPERM:
dprintf("alive\n");
return(TRUE); /* pid exists */
default:
dprintf("state unknown: %s\n", strerror(errno));
return(TRUE); /* be conservative */
}
}
dprintf("alive\n");
return(TRUE); /* pid exists */
}
/*
** Check the validity of an existing lock file.
**
** Read the PID out of the lock
** Send a null signal to determine whether that PID still exists
** Existence (or not) determines the validity of the lock.
**
** Two bigs wins to this algorithmn:
**
** o Locks do not survive crashes of either the system or the
** application by any appreciable period of time.
**
** o No clean up to do if the system or application crashes.
**
*/
int
cklock(file, uucpstyle)
char *file;
int uucpstyle;
{
register int fd = open(file, O_RDONLY);
register ssize_t len;
pid_t pid;
char buf[BUFSIZ];
dprintf("%s: checking extant lock <%s>\n", Pname, file);
if (fd < 0) {
if (errno != ENOENT)
fprintf(stderr, E_open, Pname, file, strerror(errno));
return(TRUE); /* might or might not; conservatism */
}
if (uucpstyle ?
((len = read(fd, &pid, sizeof(pid))) != sizeof(pid)) :
((len = read(fd, buf, sizeof(buf))) <= 0))
{
close(fd);
dprintf("%s: lock file format error\n", Pname);
return(FALSE);
}
close(fd);
buf[len + 1] = '\0';
return(p_exists(uucpstyle ? pid : atoi(buf)));
}
int
mklock(file, pid, uucpstyle)
char *file;
pid_t pid;
int uucpstyle;
{
register char *tmp;
register int retcode = FALSE;
dprintf("%s: trying lock <%s> for process %d\n", Pname, file, pid);
if ((tmp = xtmpfile(file, pid, uucpstyle)) == (char *)NULL)
return(FALSE);
linkloop:
if (link(tmp, file) < 0) {
switch(errno) {
case EEXIST:
dprintf("%s: lock <%s> already exists\n", Pname, file);
if (cklock(file, uucpstyle)) {
dprintf("%s: extant lock is valid\n", Pname);
break;
} else {
dprintf("%s: lock is invalid, removing\n",
Pname);
if (unlink(file) < 0) {
fprintf(stderr, E_unlk,
Pname, file, strerror(errno));
break;
}
}
/*
** I hereby profane the god of structured programming,
** Edsgar Dijkstra
*/
goto linkloop;
default:
fprintf(stderr, "%s: link(%s, %s): %s\n",
Pname, tmp, file, strerror(errno));
break;
}
} else {
dprintf("%s: got lock <%s>\n", Pname, file);
retcode = TRUE;
}
if (unlink(tmp) < 0) {
fprintf(stderr, E_unlk, Pname, tmp, strerror(errno));
}
return(retcode);
}
void
bad_usage()
{
fprintf(stderr, USAGE, Pname);
czo_exit(LOCK_FAIL);
}
int
main(ac, av)
int ac;
char *av[];
{
register int x;
char *file = (char *)NULL;
pid_t pid = 0;
int uucpstyle = FALSE; /* indicating UUCP style locks */
int only_check = TRUE; /* don't make a lock */
Pname = ((Pname = strrchr(av[0], '/')) ? Pname + 1 : av[0]);
for(x = 1; x < ac; x++) {
if (av[x][0] == '-') {
switch(av[x][1]) {
case 'u':
uucpstyle = TRUE;
break;
case 'd':
Debug = TRUE;
break;
case 'p':
if (strlen(av[x]) > 2) {
pid = atoi(&av[x][2]);
} else {
if (++x >= ac) {
bad_usage();
}
pid = atoi(av[x]);
}
only_check = FALSE; /* wants one */
break;
case 'f':
if (strlen(av[x]) > 2) {
file = &av[x][2];
} else {
if (++x >= ac) {
bad_usage();
}
file = av[x];
}
break;
default:
fprintf(stderr, USAGE, Pname);
czo_exit(LOCK_FAIL);
}
}
}
if (file == (char *)NULL || (!only_check && pid <= 0)) {
bad_usage();
}
if (only_check) {
czo_exit(cklock(file, uucpstyle) ? LOCK_GOOD : LOCK_BAD);
}
czo_exit(mklock(file, pid, uucpstyle) ? LOCK_SET : LOCK_FAIL);
}

12
dev/scripts/misc/wrhost Executable file
View File

@ -0,0 +1,12 @@
#! /bin/sh
for REP in rage testools yagle mbkspice alcban bdd icones sl amg bsg lvx rfg ring rsa s2r flop genlib genview grog mbk mbkmg mbkvti rds2ps lynx dpr fitpath mbkap elp mbkal rcn tas genpat pat dreal druc graal rds rdscif rdsgds syf mbkvrlog mbkedif mbkhilo cns asimut asm beh behvhdl mbkvhdl gscr scr
do
#echo %%%%%%%%%%%%%%% $REP
AA=`eval echo ~$REP`
ls -al $AA/.rhosts
grep czo $AA/.rhosts
done