Importing RDSCIF sources into the new CVS tree
This commit is contained in:
parent
3663f0049a
commit
969d5ffc21
|
@ -0,0 +1 @@
|
|||
SUBDIRS = src
|
|
@ -0,0 +1,318 @@
|
|||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = .
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
CC = @CC@
|
||||
INCLUDES = @INCLUDES@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
RANLIB = @RANLIB@
|
||||
|
||||
SUBDIRS = src
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
DIST_COMMON = Makefile.am Makefile.in configure configure.in
|
||||
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
|
||||
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive \
|
||||
check-recursive installcheck-recursive info-recursive dvi-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
dot_seen=no; \
|
||||
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
rev="$$subdir $$rev"; \
|
||||
test "$$subdir" = "." && dot_seen=yes; \
|
||||
done; \
|
||||
test "$$dot_seen" = "no" && rev=". $$rev"; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $$unique $(LISP)
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
-rm -rf $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
|
||||
mkdir $(distdir)/=build
|
||||
mkdir $(distdir)/=inst
|
||||
dc_install_base=`cd $(distdir)/=inst && pwd`; \
|
||||
cd $(distdir)/=build \
|
||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist
|
||||
-rm -rf $(distdir)
|
||||
@banner="$(distdir).tar.gz is ready for distribution"; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo "$$dashes"; \
|
||||
echo "$$banner"; \
|
||||
echo "$$dashes"
|
||||
dist: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
dist-all: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
distdir: $(DISTFILES)
|
||||
-rm -rf $(distdir)
|
||||
mkdir $(distdir)
|
||||
-chmod 777 $(distdir)
|
||||
here=`cd $(top_builddir) && pwd`; \
|
||||
top_distdir=`cd $(distdir) && pwd`; \
|
||||
distdir=`cd $(distdir) && pwd`; \
|
||||
cd $(top_srcdir) \
|
||||
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign Makefile
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
for subdir in $(SUBDIRS); do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d $(distdir)/$$subdir \
|
||||
|| mkdir $(distdir)/$$subdir \
|
||||
|| exit 1; \
|
||||
chmod 777 $(distdir)/$$subdir; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
info-am:
|
||||
info: info-recursive
|
||||
dvi-am:
|
||||
dvi: dvi-recursive
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
installcheck-am:
|
||||
installcheck: installcheck-recursive
|
||||
install-exec-am:
|
||||
install-exec: install-exec-recursive
|
||||
|
||||
install-data-am:
|
||||
install-data: install-data-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-recursive
|
||||
uninstall-am:
|
||||
uninstall: uninstall-recursive
|
||||
all-am: Makefile
|
||||
all-redirect: all-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-tags mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
clean-am: clean-tags clean-generic mostlyclean-am
|
||||
|
||||
clean: clean-recursive
|
||||
|
||||
distclean-am: distclean-tags distclean-generic clean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f config.status
|
||||
|
||||
maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
|
||||
distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f config.status
|
||||
|
||||
.PHONY: install-data-recursive uninstall-data-recursive \
|
||||
install-exec-recursive uninstall-exec-recursive installdirs-recursive \
|
||||
uninstalldirs-recursive all-recursive check-recursive \
|
||||
installcheck-recursive info-recursive dvi-recursive \
|
||||
mostlyclean-recursive distclean-recursive clean-recursive \
|
||||
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
|
||||
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
|
||||
dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
|
||||
install-exec install-data-am install-data install-am install \
|
||||
uninstall-am uninstall all-redirect all-am all installdirs-am \
|
||||
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,51 @@
|
|||
dnl
|
||||
dnl This file is part of the Alliance CAD System
|
||||
dnl Copyright (C) Laboratoire LIP6 - Département ASIM
|
||||
dnl Universite Pierre et Marie Curie
|
||||
dnl
|
||||
dnl Home page : http://www-asim.lip6.fr/alliance/
|
||||
dnl E-mail support : mailto:alliance-support@asim.lip6.fr
|
||||
dnl
|
||||
dnl This library is free software; you can redistribute it and/or modify it
|
||||
dnl under the terms of the GNU Library General Public License as published
|
||||
dnl by the Free Software Foundation; either version 2 of the License, or (at
|
||||
dnl your option) any later version.
|
||||
dnl
|
||||
dnl Alliance VLSI CAD System is distributed in the hope that it will be
|
||||
dnl useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
dnl Public License for more details.
|
||||
dnl
|
||||
dnl You should have received a copy of the GNU General Public License along
|
||||
dnl with the GNU C Library; see the file COPYING. If not, write to the Free
|
||||
dnl Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
dnl
|
||||
dnl Purpose : Auto stuffing Alliance
|
||||
dnl Almost ten years since I wrote this stuff, I just can't
|
||||
dnl believe it
|
||||
dnl Date : 01/02/2002
|
||||
dnl Author : Frederic Petrot <Frederic.Petrot@lip6.fr>
|
||||
dnl $Id: configure.in,v 1.1 2002/03/13 13:38:16 fred Exp $
|
||||
dnl
|
||||
dnl
|
||||
|
||||
AC_INIT(src/cif_drive.c)
|
||||
AM_INIT_AUTOMAKE(rdscif, 2.1)
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_CC
|
||||
AC_HEADER_STDC
|
||||
AC_C_CONST
|
||||
AC_PROG_RANLIB
|
||||
|
||||
changequote(,)dnl
|
||||
INCLUDES=-I${ALLIANCE_TOP}/include
|
||||
LDFLAGS=-L${ALLIANCE_TOP}/lib
|
||||
changequote([,])dnl
|
||||
|
||||
AC_SUBST(INCLUDES)
|
||||
AC_SUBST(LDFLAGS)
|
||||
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
src/Makefile
|
||||
])
|
|
@ -0,0 +1,2 @@
|
|||
lib_LIBRARIES = libRcf.a
|
||||
libRcf_a_SOURCES = cif_drive.c cif_error.c cif_parse.c rcf.h cif.h cif_drive.h cif_error.h cif_parse.h
|
|
@ -0,0 +1,317 @@
|
|||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
CC = @CC@
|
||||
INCLUDES = @INCLUDES@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
RANLIB = @RANLIB@
|
||||
|
||||
lib_LIBRARIES = libRcf.a
|
||||
libRcf_a_SOURCES = cif_drive.c cif_error.c cif_parse.c rcf.h cif.h cif_drive.h cif_error.h cif_parse.h
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
LIBRARIES = $(lib_LIBRARIES)
|
||||
|
||||
|
||||
DEFS = @DEFS@ -I. -I$(srcdir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LIBS = @LIBS@
|
||||
libRcf_a_LIBADD =
|
||||
libRcf_a_OBJECTS = cif_drive.o cif_error.o cif_parse.o
|
||||
AR = ar
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
DEP_FILES = .deps/cif_drive.P .deps/cif_error.P .deps/cif_parse.P
|
||||
SOURCES = $(libRcf_a_SOURCES)
|
||||
OBJECTS = $(libRcf_a_OBJECTS)
|
||||
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .c .o .s
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
|
||||
mostlyclean-libLIBRARIES:
|
||||
|
||||
clean-libLIBRARIES:
|
||||
-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
|
||||
|
||||
distclean-libLIBRARIES:
|
||||
|
||||
maintainer-clean-libLIBRARIES:
|
||||
|
||||
install-libLIBRARIES: $(lib_LIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||
@list='$(lib_LIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p"; \
|
||||
$(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p; \
|
||||
else :; fi; \
|
||||
done
|
||||
@$(POST_INSTALL)
|
||||
@list='$(lib_LIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \
|
||||
$(RANLIB) $(DESTDIR)$(libdir)/$$p; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-libLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(lib_LIBRARIES)'; for p in $$list; do \
|
||||
rm -f $(DESTDIR)$(libdir)/$$p; \
|
||||
done
|
||||
|
||||
.s.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.S.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.o core *.core
|
||||
|
||||
clean-compile:
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
maintainer-clean-compile:
|
||||
|
||||
libRcf.a: $(libRcf_a_OBJECTS) $(libRcf_a_DEPENDENCIES)
|
||||
-rm -f libRcf.a
|
||||
$(AR) cru libRcf.a $(libRcf_a_OBJECTS) $(libRcf_a_LIBADD)
|
||||
$(RANLIB) libRcf.a
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $$unique $(LISP)
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
subdir = src
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
here=`cd $(top_builddir) && pwd`; \
|
||||
top_distdir=`cd $(top_distdir) && pwd`; \
|
||||
distdir=`cd $(distdir) && pwd`; \
|
||||
cd $(top_srcdir) \
|
||||
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign src/Makefile
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
|
||||
|
||||
-include $(DEP_FILES)
|
||||
|
||||
mostlyclean-depend:
|
||||
|
||||
clean-depend:
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf .deps
|
||||
|
||||
maintainer-clean-depend:
|
||||
|
||||
%.o: %.c
|
||||
@echo '$(COMPILE) -c $<'; \
|
||||
$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
|
||||
@-cp .deps/$(*F).pp .deps/$(*F).P; \
|
||||
tr ' ' '\012' < .deps/$(*F).pp \
|
||||
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
|
||||
>> .deps/$(*F).P; \
|
||||
rm .deps/$(*F).pp
|
||||
|
||||
%.lo: %.c
|
||||
@echo '$(LTCOMPILE) -c $<'; \
|
||||
$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
|
||||
@-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
|
||||
< .deps/$(*F).pp > .deps/$(*F).P; \
|
||||
tr ' ' '\012' < .deps/$(*F).pp \
|
||||
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
|
||||
>> .deps/$(*F).P; \
|
||||
rm -f .deps/$(*F).pp
|
||||
info-am:
|
||||
info: info-am
|
||||
dvi-am:
|
||||
dvi: dvi-am
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
install-exec-am: install-libLIBRARIES
|
||||
install-exec: install-exec-am
|
||||
|
||||
install-data-am:
|
||||
install-data: install-data-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-am
|
||||
uninstall-am: uninstall-libLIBRARIES
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(LIBRARIES)
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-libLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-tags mostlyclean-depend mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
clean-am: clean-libLIBRARIES clean-compile clean-tags clean-depend \
|
||||
clean-generic mostlyclean-am
|
||||
|
||||
clean: clean-am
|
||||
|
||||
distclean-am: distclean-libLIBRARIES distclean-compile distclean-tags \
|
||||
distclean-depend distclean-generic clean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
maintainer-clean-am: maintainer-clean-libLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-tags \
|
||||
maintainer-clean-depend maintainer-clean-generic \
|
||||
distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
.PHONY: mostlyclean-libLIBRARIES distclean-libLIBRARIES \
|
||||
clean-libLIBRARIES maintainer-clean-libLIBRARIES uninstall-libLIBRARIES \
|
||||
install-libLIBRARIES mostlyclean-compile distclean-compile \
|
||||
clean-compile maintainer-clean-compile tags mostlyclean-tags \
|
||||
distclean-tags clean-tags maintainer-clean-tags distdir \
|
||||
mostlyclean-depend distclean-depend clean-depend \
|
||||
maintainer-clean-depend info-am info dvi-am dvi check check-am \
|
||||
installcheck-am installcheck install-exec-am install-exec \
|
||||
install-data-am install-data install-am install uninstall-am uninstall \
|
||||
all-redirect all-am all installdirs mostlyclean-generic \
|
||||
distclean-generic clean-generic maintainer-clean-generic clean \
|
||||
mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,56 @@
|
|||
#ifndef __P
|
||||
# if defined(__STDC__) || defined(__GNUC__)
|
||||
# define __P(x) x
|
||||
# else
|
||||
# define __P(x) ()
|
||||
# endif
|
||||
#endif
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Tool : RDSCIF |
|
||||
| |
|
||||
| File : cif.h |
|
||||
| |
|
||||
| Authors : Petrot Frederic & Jacomme Ludovic |
|
||||
| --------- |
|
||||
| Date : The king ^ 04/07/93 |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# ifndef RDSCIF_CIF
|
||||
# define RDSCIF_CIF
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Constants |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
/* Fred the king, has written this line !!!! */
|
||||
|
||||
# define CIF_UNIT 100
|
||||
|
||||
/* You can't beleive it ?, but it's true !! */
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Macro |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Types |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Variables |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Functions |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# endif
|
|
@ -0,0 +1,718 @@
|
|||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Tool : RDSCIF |
|
||||
| |
|
||||
| File : cif_drive.c |
|
||||
| |
|
||||
| Authors : Petrot Frederic & Jacomme Ludovic |
|
||||
| --------- --------- |
|
||||
| Date : The king ^ 04/07/93 ^ The slave |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Include Files |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# include <stdlib.h>
|
||||
# include <stdio.h>
|
||||
# include <time.h>
|
||||
|
||||
# include <mut.h>
|
||||
# include <mph.h>
|
||||
# include <rds.h>
|
||||
# include <rpr.h>
|
||||
# include <rfm.h>
|
||||
# include <rwi.h>
|
||||
# include <rut.h>
|
||||
# include <rtl.h>
|
||||
|
||||
# include "cif.h"
|
||||
# include "cif_error.h"
|
||||
# include "cif_drive.h"
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Constants |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
static char CifBuffer[ 256 ];
|
||||
|
||||
static long CIF_DS_A = 0;
|
||||
static long CIF_DS_B = 0;
|
||||
|
||||
static ptype_list *HEAD_CIF_MODEL = (ptype_list *)NULL;
|
||||
static long CifModelIndex = 0;
|
||||
|
||||
static int RDS_CIF_BERKLEY_DRIVER = 0;
|
||||
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Types |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Variables |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Functions |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| rdstocifname |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
char *rdstocifname( Name )
|
||||
|
||||
char *Name;
|
||||
{
|
||||
char *Source;
|
||||
char *Target;
|
||||
char One;
|
||||
|
||||
if ( Name == (char *)NULL )
|
||||
{
|
||||
return( (char *)NULL );
|
||||
}
|
||||
|
||||
One = 1;
|
||||
|
||||
Source = Name;
|
||||
Target = CifBuffer;
|
||||
|
||||
while ( *Source != '\0' )
|
||||
{
|
||||
if ( *Source == ' ' )
|
||||
{
|
||||
if ( One )
|
||||
{
|
||||
*Target++ = '[';
|
||||
Source++;
|
||||
|
||||
One = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*Target++ = ']';
|
||||
*Target++ = '[';
|
||||
Source++;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ( *Source == SEPAR ) && ( ! One ) )
|
||||
{
|
||||
*Target++ = ']';
|
||||
One = 1;
|
||||
}
|
||||
|
||||
*Target++ = *Source++;
|
||||
}
|
||||
|
||||
if ( ! One )
|
||||
{
|
||||
*Target++ = ']';
|
||||
}
|
||||
|
||||
*Target = '\0';
|
||||
|
||||
return ( CifBuffer );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| r_cif_model_list |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
static ptype_list *r_cif_model_list( Figure )
|
||||
|
||||
rdsfig_list *Figure;
|
||||
{
|
||||
rdsins_list *Instance;
|
||||
rdsfig_list *Model;
|
||||
ptype_list *List;
|
||||
|
||||
for ( Instance = Figure->INSTANCE;
|
||||
Instance != (rdsins_list *)NULL;
|
||||
Instance = Instance->NEXT )
|
||||
{
|
||||
for ( List = HEAD_CIF_MODEL;
|
||||
List != (ptype_list *)NULL;
|
||||
List = List->NEXT )
|
||||
{
|
||||
if (((rdsfig_list *)List->DATA)->NAME == Instance->FIGNAME )
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ( List == (ptype_list *)NULL )
|
||||
{
|
||||
for ( Model = HEAD_RDSFIG;
|
||||
Model != (rdsfig_list *)NULL;
|
||||
Model = Model->NEXT )
|
||||
{
|
||||
if ( Model->NAME == Instance->FIGNAME ) break;
|
||||
}
|
||||
|
||||
if ( Model == (rdsfig_list *)NULL )
|
||||
{
|
||||
ciferror( CIF_ERROR_MODEL, Instance->FIGNAME, 0 );
|
||||
}
|
||||
|
||||
(void)r_cif_model_list( Model );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
HEAD_CIF_MODEL = addptype( HEAD_CIF_MODEL,
|
||||
++CifModelIndex, (char *)Figure );
|
||||
return( HEAD_CIF_MODEL );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| cif_model_list |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
ptype_list *cif_model_list( Figure )
|
||||
|
||||
rdsfig_list *Figure;
|
||||
{
|
||||
CifModelIndex = 0;
|
||||
|
||||
if ( HEAD_CIF_MODEL != (ptype_list *)NULL )
|
||||
{
|
||||
freeptype( HEAD_CIF_MODEL);
|
||||
}
|
||||
|
||||
HEAD_CIF_MODEL = NULL;
|
||||
|
||||
return( r_cif_model_list( Figure ) );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| write_figure |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void write_figure( File, Model )
|
||||
|
||||
FILE *File;
|
||||
long Model;
|
||||
{
|
||||
(void)fprintf( File, "C%ld;\n", Model );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| write_instance |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void write_instance( File, Name, Model, X, Y, Trans )
|
||||
|
||||
FILE *File;
|
||||
char *Name;
|
||||
long Model;
|
||||
long X;
|
||||
long Y;
|
||||
long Trans;
|
||||
{
|
||||
char Buffer[ 100 ];
|
||||
|
||||
long Xcif;
|
||||
long Ycif;
|
||||
|
||||
Xcif = RDS_TO_CIF_UNIT( X );
|
||||
Ycif = RDS_TO_CIF_UNIT( Y );
|
||||
|
||||
switch ( Trans )
|
||||
{
|
||||
case RDS_NOSYM :
|
||||
(void)sprintf( Buffer, "T%ld, %ld", Xcif, Ycif );
|
||||
break;
|
||||
case RDS_SYM_X :
|
||||
(void)sprintf( Buffer, "MX T%ld, %ld", Xcif, Ycif );
|
||||
break;
|
||||
case RDS_SYM_Y :
|
||||
(void)sprintf( Buffer, "MY T%ld, %ld", Xcif, Ycif );
|
||||
break;
|
||||
case RDS_SYMXY :
|
||||
(void)sprintf( Buffer, "R-1, 0 T%ld, %ld", Xcif, Ycif );
|
||||
break;
|
||||
case RDS_ROT_P :
|
||||
(void)sprintf( Buffer, "R0, 1 T%ld, %ld", Xcif, Ycif );
|
||||
break;
|
||||
case RDS_ROT_M :
|
||||
(void)sprintf( Buffer, "R0, -1 T%ld, %ld", Xcif, Ycif );
|
||||
break;
|
||||
case RDS_SY_RP :
|
||||
(void)sprintf( Buffer, "MX R0, -1 T%ld, %ld", Xcif, Ycif );
|
||||
break;
|
||||
case RDS_SY_RM :
|
||||
(void)sprintf( Buffer, "MX R0, 1 T%ld, %ld", Xcif, Ycif );
|
||||
break;
|
||||
default :
|
||||
ciferror( CIF_ERROR_BAD_TRANS, Name, 0 );
|
||||
}
|
||||
|
||||
if ( ! RDS_CIF_BERKLEY_DRIVER )
|
||||
{
|
||||
(void)fprintf( File, "4I %s;", Name);
|
||||
}
|
||||
else
|
||||
{
|
||||
(void)fprintf( File, "91 %s;", Name);
|
||||
}
|
||||
|
||||
(void)fprintf( File, "C%ld %s;\n", Model, Buffer );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| write_connector |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void write_connector( File, Name, Index, Width, X, Y, Dx, Dy, Layer, WriteLayer )
|
||||
|
||||
FILE *File;
|
||||
char *Name;
|
||||
long Index;
|
||||
long Width;
|
||||
long X;
|
||||
long Y;
|
||||
long Dx;
|
||||
long Dy;
|
||||
char *Layer;
|
||||
char WriteLayer;
|
||||
{
|
||||
if ( Name == (char *)NULL )
|
||||
{
|
||||
ciferror( CIF_ERROR_CONNECTOR_NAME, (char *)X, Y );
|
||||
}
|
||||
|
||||
if ( WriteLayer )
|
||||
{
|
||||
(void)fprintf( File, "L%s;\n", Layer );
|
||||
}
|
||||
|
||||
Name = rdstocifname( Name );
|
||||
|
||||
if ( ! RDS_CIF_BERKLEY_DRIVER )
|
||||
{
|
||||
(void)fprintf( File, "4X %s %ld %ld %ld %ld %s;\n",
|
||||
Name, Index,
|
||||
RDS_TO_CIF_UNIT( X ) + RDS_TO_CIF_UNIT( Dx ) / 2,
|
||||
RDS_TO_CIF_UNIT( Y ) + RDS_TO_CIF_UNIT( Dy ) / 2,
|
||||
RDS_TO_CIF_UNIT( Width ), Name );
|
||||
}
|
||||
else
|
||||
{
|
||||
(void)fprintf( File, "94 %s %ld %ld %s;\n",
|
||||
Name,
|
||||
RDS_TO_CIF_UNIT( X ) + RDS_TO_CIF_UNIT( Dx ) / 2,
|
||||
RDS_TO_CIF_UNIT( Y ) + RDS_TO_CIF_UNIT( Dy ) / 2,
|
||||
Layer );
|
||||
}
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| write_rectangle |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void write_rectangle( File, Name, X, Y, Dx, Dy, Layer, WriteLayer )
|
||||
|
||||
FILE *File;
|
||||
char *Name;
|
||||
long X;
|
||||
long Y;
|
||||
long Dx;
|
||||
long Dy;
|
||||
char *Layer;
|
||||
char WriteLayer;
|
||||
{
|
||||
if ( WriteLayer )
|
||||
{
|
||||
(void)fprintf( File, "L%s;\n", Layer );
|
||||
}
|
||||
|
||||
if ( ( Name != (char *)NULL ) &&
|
||||
( *Name != '*' ) &&
|
||||
( *Name != '\0' ) )
|
||||
{
|
||||
if ( ! RDS_CIF_BERKLEY_DRIVER )
|
||||
{
|
||||
(void)fprintf( File, "4N %s %ld %ld;\n",
|
||||
rdstocifname( Name ),
|
||||
RDS_TO_CIF_UNIT( X ) + RDS_TO_CIF_UNIT( Dx ) / 2,
|
||||
RDS_TO_CIF_UNIT( Y ) + RDS_TO_CIF_UNIT( Dy ) / 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
(void)fprintf( File, "95 %s %ld %ld %ld %ld %s;\n",
|
||||
rdstocifname( Name ),
|
||||
RDS_TO_CIF_UNIT( Dx ), RDS_TO_CIF_UNIT( Dy ),
|
||||
RDS_TO_CIF_UNIT( X ) + RDS_TO_CIF_UNIT( Dx ) / 2,
|
||||
RDS_TO_CIF_UNIT( Y ) + RDS_TO_CIF_UNIT( Dy ) / 2,
|
||||
Layer );
|
||||
}
|
||||
}
|
||||
|
||||
(void)fprintf( File, "B%ld %ld %ld %ld;\n",
|
||||
RDS_TO_CIF_UNIT( ABSOLUTE( Dx ) ),
|
||||
RDS_TO_CIF_UNIT( ABSOLUTE( Dy ) ),
|
||||
RDS_TO_CIF_UNIT( X ) + RDS_TO_CIF_UNIT( Dx ) / 2,
|
||||
RDS_TO_CIF_UNIT( Y ) + RDS_TO_CIF_UNIT( Dy ) / 2);
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| write_header |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void write_header( File, Name )
|
||||
|
||||
FILE *File;
|
||||
char *Name;
|
||||
{
|
||||
long Counter;
|
||||
|
||||
(void)time( &Counter );
|
||||
(void)fprintf( File, "(rds to CIF driver cvs version $Revision: 1.1 $\n");
|
||||
(void)fprintf( File, "technology %s\n", RDS_TECHNO_NAME );
|
||||
(void)fprintf( File, "%s" , ctime( &Counter ) );
|
||||
(void)fprintf( File, "%s\n", Name );
|
||||
(void)fprintf( File, "%s);\n\n", mbkgetenv("USER") );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| write_header |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void write_tail( File, X, Y, Dx, Dy )
|
||||
|
||||
FILE *File;
|
||||
long X;
|
||||
long Y;
|
||||
long Dx;
|
||||
long Dy;
|
||||
{
|
||||
(void)fprintf( File, "(AB : %.2f, %.2f %.2f, %.2f in micron); \n",
|
||||
(float)X / RDS_UNIT,
|
||||
(float)Y / RDS_UNIT,
|
||||
(float)(X + Dx) / RDS_UNIT,
|
||||
(float)(Y + Dy) / RDS_UNIT );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| write_model_header |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void write_model_header( File, ModelName, ModelNum )
|
||||
|
||||
FILE *File;
|
||||
char *ModelName;
|
||||
long ModelNum;
|
||||
{
|
||||
(void)fprintf( File, "DS%ld %ld %ld;\n", ModelNum, CIF_DS_A, CIF_DS_B * 2 );
|
||||
(void)fprintf( File, "9 %s;\n", ModelName );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| write_model_abox |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void write_model_abox( File, X, Y, Dx, Dy )
|
||||
|
||||
|
||||
FILE *File;
|
||||
long X;
|
||||
long Y;
|
||||
long Dx;
|
||||
long Dy;
|
||||
{
|
||||
(void)fprintf( File, "(AB : %.2f, %.2f %.2f, %.2f in micron);\n",
|
||||
(float)X / RDS_UNIT,
|
||||
(float)Y / RDS_UNIT,
|
||||
(float)(X + Dx) / RDS_UNIT,
|
||||
(float)(Y + Dy) / RDS_UNIT);
|
||||
|
||||
if ( ! RDS_CIF_BERKLEY_DRIVER )
|
||||
{
|
||||
(void)fprintf( File, "4A %ld %ld %ld %ld; \n",
|
||||
RDS_TO_CIF_UNIT( X ),
|
||||
RDS_TO_CIF_UNIT( Y ),
|
||||
RDS_TO_CIF_UNIT( X + Dx ),
|
||||
RDS_TO_CIF_UNIT( Y + Dy ) );
|
||||
}
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| write_model_tail |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void write_model_tail( File )
|
||||
|
||||
FILE *File;
|
||||
{
|
||||
(void)fprintf( File, "DF;\n\n" );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| getcifmodel |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
long getcifmodel( Head, Name )
|
||||
|
||||
ptype_list *Head;
|
||||
char *Name;
|
||||
{
|
||||
ptype_list *Scan;
|
||||
|
||||
for ( Scan = Head;
|
||||
Scan != (ptype_list *)NULL;
|
||||
Scan = Scan->NEXT )
|
||||
{
|
||||
if (((rdsfig_list *)Scan->DATA)->NAME == Name )
|
||||
{
|
||||
return( Scan->TYPE );
|
||||
}
|
||||
}
|
||||
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| compute_cif_unit |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void compute_cif_unit()
|
||||
{
|
||||
/* why CIF_DS_A, CIF_DS_B ?
|
||||
the simple of driving CIF would be to take both as 1, and have on
|
||||
each coordinate a (x * CIF_UNIT)/rds_unit).
|
||||
The interest here is to shorten the lenght of the numbers in the
|
||||
CIF output, and to be able to express a precision better that a
|
||||
centh of a micron.
|
||||
CIF_DS_A and CIF_DS_B are defined as follow :
|
||||
(CIF_DS_A / CIF_DS_B) * rds_unit = CIF_UNIT
|
||||
see CIF documentation for details.
|
||||
the coodinates for CIF will be computed like
|
||||
(x * CIF_DS_B) / (CIF_DS_A * rds_unit).
|
||||
The computation algorithm is equivalent to the one given in the
|
||||
function RprComputeRdsUnit, so take a look there for details.
|
||||
|
||||
Friendly, The king ... */
|
||||
|
||||
/* why 2 * CIF_UNIT ?
|
||||
because all the rectangles in the CIF file are written like
|
||||
BOXES, ie dx and dy must be even since we drive dx/2 dy/2
|
||||
and we don't want to lose any information! */
|
||||
int cif_unit = 2 * CIF_UNIT;
|
||||
|
||||
if ( RDS_UNIT < cif_unit )
|
||||
{
|
||||
for ( CIF_DS_A = 1, CIF_DS_B = 1;
|
||||
( CIF_DS_A * RDS_UNIT ) != ( cif_unit * CIF_DS_B );
|
||||
CIF_DS_B++ )
|
||||
{
|
||||
for ( CIF_DS_A--;
|
||||
( CIF_DS_A * RDS_UNIT ) < ( cif_unit * CIF_DS_B );
|
||||
(CIF_DS_A)++ );
|
||||
|
||||
if ( ( CIF_DS_A * RDS_UNIT ) == ( cif_unit * CIF_DS_B ) ) break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for ( CIF_DS_A = 1, CIF_DS_B = 1;
|
||||
( CIF_DS_A * RDS_UNIT ) != ( cif_unit * CIF_DS_B );
|
||||
CIF_DS_A++ )
|
||||
{
|
||||
for ( CIF_DS_B--;
|
||||
( CIF_DS_A * RDS_UNIT ) > ( cif_unit * CIF_DS_B );
|
||||
CIF_DS_B++ );
|
||||
|
||||
if ( ( CIF_DS_A * RDS_UNIT ) == ( cif_unit * CIF_DS_B ) ) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| drive_model |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void drive_model( File, Model, Figure )
|
||||
|
||||
FILE *File;
|
||||
ptype_list *Model;
|
||||
rdsfig_list *Figure;
|
||||
{
|
||||
rdsrec_list *Rectangle;
|
||||
rdsins_list *Instance;
|
||||
int Layer;
|
||||
int WriteLayer;
|
||||
long Index;
|
||||
char *CifLayer;
|
||||
|
||||
Index = 0;
|
||||
|
||||
for ( Layer = 0; Layer < RDS_MAX_LAYER; Layer++ )
|
||||
{
|
||||
if ( Layer == RDS_ABOX ) continue;
|
||||
|
||||
CifLayer = GET_CIF_LAYER( Layer );
|
||||
|
||||
if ( CifLayer == RDS_CIF_LAYER_EMPTY ) continue;
|
||||
|
||||
WriteLayer = 1;
|
||||
|
||||
for ( Rectangle = Figure->LAYERTAB[ Layer ];
|
||||
Rectangle != (rdsrec_list *)NULL;
|
||||
Rectangle = Rectangle->NEXT )
|
||||
{
|
||||
/* drive connector :
|
||||
put the connector name in vti cif dialect.
|
||||
if the rds doesn't come from mbk, the type may be set but the
|
||||
mbk pointer may be null. */
|
||||
|
||||
if ( ( ( IsRdsConExter( Rectangle ) ) ||
|
||||
( IsRdsRefCon ( Rectangle ) ) ) &&
|
||||
! IsRdsVia( Rectangle )
|
||||
)
|
||||
{
|
||||
write_connector( File,
|
||||
Rectangle->NAME, ++Index,
|
||||
( Rectangle->DX > Rectangle->DY ) ?
|
||||
Rectangle->DX : Rectangle->DY,
|
||||
Rectangle->X , Rectangle->Y,
|
||||
Rectangle->DX , Rectangle->DY,
|
||||
CifLayer, WriteLayer );
|
||||
}
|
||||
|
||||
write_rectangle( File,
|
||||
Rectangle->NAME,
|
||||
Rectangle->X , Rectangle->Y,
|
||||
Rectangle->DX, Rectangle->DY,
|
||||
CifLayer, WriteLayer );
|
||||
/* layer choice :
|
||||
|
||||
the layer is driven only once, since in cif when a layer is defined,
|
||||
all further objects are build with this layer. This is close of the
|
||||
rds representation, so the writting functions print a layer when the
|
||||
parameter is not NULL, nothing if it is. The king ... */
|
||||
|
||||
WriteLayer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for ( Instance = Figure->INSTANCE;
|
||||
Instance != (rdsins_list *)NULL;
|
||||
Instance = Instance->NEXT )
|
||||
{
|
||||
write_instance( File, Instance->INSNAME,
|
||||
getcifmodel( Model, Instance->FIGNAME ),
|
||||
Instance->X, Instance->Y,
|
||||
(long)Instance->TRANSF );
|
||||
}
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| cifsaverdsfig |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void cifsaverdsfig( Figure )
|
||||
|
||||
rdsfig_list *Figure;
|
||||
{
|
||||
FILE *File;
|
||||
ptype_list *Model;
|
||||
ptype_list *List;
|
||||
rdsrec_list *Abox;
|
||||
|
||||
if ( mbkgetenv( "RDS_CIF_BERKLEY_DRIVER" ) != (char *)0 )
|
||||
{
|
||||
RDS_CIF_BERKLEY_DRIVER = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
RDS_CIF_BERKLEY_DRIVER = 0;
|
||||
}
|
||||
|
||||
compute_cif_unit();
|
||||
|
||||
List = Model = (ptype_list *)reverse((chain_list *)cif_model_list( Figure ) );
|
||||
|
||||
if ( ( File = mbkfopen( Figure->NAME, "cif", "w" ) ) == NULL )
|
||||
{
|
||||
ciferror( CIF_ERROR_FILE_OPEN, Figure->NAME, 0 );
|
||||
}
|
||||
|
||||
write_header( File, Figure->NAME );
|
||||
|
||||
while ( Model != (ptype_list *)NULL )
|
||||
{
|
||||
write_model_header( File, ((rdsfig_list *)Model->DATA)->NAME,
|
||||
Model->TYPE );
|
||||
|
||||
Abox = ((rdsfig_list *)Model->DATA)->LAYERTAB[ RDS_ABOX ];
|
||||
|
||||
if ( Abox != (rdsrec_list *)NULL )
|
||||
{
|
||||
write_model_abox( File, Abox->X, Abox->Y,
|
||||
Abox->DX, Abox->DY );
|
||||
}
|
||||
|
||||
drive_model( File, List, ((rdsfig_list *)Model->DATA) );
|
||||
write_model_tail( File );
|
||||
|
||||
Model = Model->NEXT;
|
||||
}
|
||||
|
||||
write_figure( File, getcifmodel( List, Figure->NAME ) );
|
||||
|
||||
Abox = Figure->LAYERTAB[ RDS_ABOX ];
|
||||
|
||||
if ( Abox != (rdsrec_list *)NULL )
|
||||
{
|
||||
write_tail( File, Abox->X, Abox->Y, Abox->DX, Abox->DY );
|
||||
}
|
||||
|
||||
(void)fprintf( File, "E \n");
|
||||
|
||||
if ( fclose( File ) )
|
||||
{
|
||||
ciferror( CIF_ERROR_FILE_CLOSE, Figure->NAME, 0 );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
#ifndef __P
|
||||
# if defined(__STDC__) || defined(__GNUC__)
|
||||
# define __P(x) x
|
||||
# else
|
||||
# define __P(x) ()
|
||||
# endif
|
||||
#endif
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Tool : RDSCIF |
|
||||
| |
|
||||
| File : cif_drive.h |
|
||||
| |
|
||||
| Authors : Petrot Frederic & Jacomme Ludovic |
|
||||
| --------- |
|
||||
| Date : The king ^ 04/07/93 |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# ifndef RDSCIF_DRIVE
|
||||
# define RDSCIF_DRIVE
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Constants |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Macro |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/* See the comment in CifComputUnit for the 2 * CIF_UNIT here */
|
||||
# define RDS_TO_CIF_UNIT( X ) \
|
||||
\
|
||||
( ( ( ( X ) * 2 * CIF_UNIT / RDS_UNIT) * CIF_DS_B ) / CIF_DS_A )
|
||||
|
||||
# define ABSOLUTE( X ) \
|
||||
\
|
||||
( ( ( X ) > 0 ) ? ( X ) : -( X ) )
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Types |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Variables |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Functions |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# endif
|
|
@ -0,0 +1,315 @@
|
|||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Tool : RDSCIF |
|
||||
| |
|
||||
| File : cif_error.c |
|
||||
| |
|
||||
| Authors : Petrot Frederic & Jacomme Ludovic |
|
||||
| --------- |
|
||||
| Date : The king ^ 04/07/93 |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Include Files |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# include <stdio.h>
|
||||
# include <mut.h>
|
||||
# include "cif_error.h"
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Constants |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Types |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Variables |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Functions |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| ciferror |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void ciferror( Error, Text, Value )
|
||||
|
||||
char Error;
|
||||
char *Text;
|
||||
long Value;
|
||||
{
|
||||
switch( Error )
|
||||
{
|
||||
case CIF_ERROR_BAD_TRANS :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Unknown instance transformation on `%s'\n",
|
||||
Text );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_CONNECTOR_NAME :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Rds connector (%ld, %ld) has no name !\n",
|
||||
(long)Text, Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_FILE_OPEN :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Could not open file `%s'\n",
|
||||
Text );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_FILE_CLOSE :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Could not close file `%s'\n",
|
||||
Text );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_MODEL :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Could not find model `%s'\n",
|
||||
Text );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_EXPECTED_SEMI :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Missing ';' line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_EXPECTED_SPACE :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Missing space, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_EXPECTED_NAME :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Missing name, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_EXPECTED_UNSIGNED :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Missing unsigned integer, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_EXPECTED_SIGNED :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Missing signed integer, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_EXPECTED_LAYER :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Missing layer name, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_EXPECTED_MANHATTAN :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Expected manhattan distance, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_EXPECTED_EOF :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: End of file expected, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_UNEXPECTED_EOF :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Unexpected end of file, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_UNSIGNED_OVERFLOW :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Unsigned integer overflow, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_SIGNED_OVERFLOW :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Signed integer overflow, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_LAYER_UNKNOWN :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Layer unknown, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_POLYGON_EMPTY :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Polygon empty, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_POLYGON_OVERFLOW :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Polygon overflow, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_POLYGON_NOT_REC :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Polygon not rectangular, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_SYMBOL_STARTED :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Symbol has already started, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_SYMBOL_NOT_STARTED :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Symbol hasn't started, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_BAD_DEFINE :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Bad define, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_BAD_COMMAND :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Bad command, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_BAD_COMMENT :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Bad comment, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_BAD_CONNECTOR :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Bad connector specification, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_BAD_SYMBOL :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Bad symbol specification, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_SYMBOL_NOT_DEFINE :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Symbol number %ld not define\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_BAD_MIRROR :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Bad mirror specification, line %ld\n",
|
||||
Value );
|
||||
break;
|
||||
|
||||
case CIF_ERROR_NO_TOP_MODEL :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: there is no top model !\n"
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
EXIT( 1 );
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| cifwarning |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
void cifwarning( Warning, Text, Value )
|
||||
|
||||
char Warning;
|
||||
char *Text;
|
||||
long Value;
|
||||
{
|
||||
switch( Warning )
|
||||
{
|
||||
case CIF_WARNING_PHYSICAL_GRID :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Rectangle not aligned on the physical grid !\n"
|
||||
);
|
||||
break;
|
||||
|
||||
case CIF_WARNING_UNCONNECTED_NODE :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Node %s is not connected, in model %s !\n",
|
||||
Text, (char *)Value
|
||||
);
|
||||
break;
|
||||
|
||||
case CIF_WARNING_ROUND_FLASH :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: Command round flash ignored, line %ld !\n",
|
||||
Value
|
||||
);
|
||||
break;
|
||||
|
||||
case CIF_WARNING_USER_COMMAND :
|
||||
|
||||
(void)fprintf( stderr,
|
||||
"cif109: User command ignored, line %ld !\n",
|
||||
Value
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
#ifndef __P
|
||||
# if defined(__STDC__) || defined(__GNUC__)
|
||||
# define __P(x) x
|
||||
# else
|
||||
# define __P(x) ()
|
||||
# endif
|
||||
#endif
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Tool : RDSCIF |
|
||||
| |
|
||||
| File : cif_error.h |
|
||||
| |
|
||||
| Authors : Petrot Frederic & Jacomme Ludovic |
|
||||
| --------- |
|
||||
| Date : The king ^ 04/07/93 |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# ifndef RDSCIF_ERROR
|
||||
# define RDSCIF_ERROR
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Constants |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# define CIF_ERROR_BAD_TRANS 0
|
||||
# define CIF_ERROR_CONNECTOR_NAME 1
|
||||
# define CIF_ERROR_FILE_OPEN 2
|
||||
# define CIF_ERROR_FILE_CLOSE 3
|
||||
# define CIF_ERROR_MODEL 4
|
||||
|
||||
# define CIF_ERROR_EXPECTED_SEMI 5
|
||||
# define CIF_ERROR_EXPECTED_SPACE 6
|
||||
# define CIF_ERROR_EXPECTED_NAME 7
|
||||
# define CIF_ERROR_EXPECTED_SIGNED 8
|
||||
# define CIF_ERROR_EXPECTED_UNSIGNED 9
|
||||
# define CIF_ERROR_EXPECTED_LAYER 10
|
||||
# define CIF_ERROR_EXPECTED_MANHATTAN 11
|
||||
# define CIF_ERROR_EXPECTED_EOF 12
|
||||
# define CIF_ERROR_UNEXPECTED_EOF 13
|
||||
# define CIF_ERROR_SIGNED_OVERFLOW 14
|
||||
# define CIF_ERROR_UNSIGNED_OVERFLOW 15
|
||||
# define CIF_ERROR_LAYER_UNKNOWN 16
|
||||
# define CIF_ERROR_POLYGON_EMPTY 17
|
||||
# define CIF_ERROR_POLYGON_OVERFLOW 18
|
||||
# define CIF_ERROR_POLYGON_NOT_REC 19
|
||||
# define CIF_ERROR_SYMBOL_STARTED 20
|
||||
# define CIF_ERROR_SYMBOL_NOT_STARTED 21
|
||||
# define CIF_ERROR_BAD_DEFINE 22
|
||||
# define CIF_ERROR_BAD_COMMAND 23
|
||||
# define CIF_ERROR_BAD_COMMENT 24
|
||||
# define CIF_ERROR_BAD_CONNECTOR 25
|
||||
# define CIF_ERROR_BAD_SYMBOL 26
|
||||
# define CIF_ERROR_SYMBOL_NOT_DEFINE 27
|
||||
# define CIF_ERROR_BAD_MIRROR 28
|
||||
# define CIF_ERROR_NO_TOP_MODEL 29
|
||||
|
||||
# define CIF_WARNING_PHYSICAL_GRID 0
|
||||
# define CIF_WARNING_UNCONNECTED_NODE 1
|
||||
# define CIF_WARNING_ROUND_FLASH 2
|
||||
# define CIF_WARNING_USER_COMMAND 3
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Macro |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Types |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Variables |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Functions |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
extern void ciferror __P((char Error, char *Text, long Value));
|
||||
extern void cifwarning __P((char Warning, char *Text, long Value));
|
||||
|
||||
# endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,110 @@
|
|||
#ifndef __P
|
||||
# if defined(__STDC__) || defined(__GNUC__)
|
||||
# define __P(x) x
|
||||
# else
|
||||
# define __P(x) ()
|
||||
# endif
|
||||
#endif
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Tool : RDSCIF |
|
||||
| |
|
||||
| File : cif_parse.h |
|
||||
| |
|
||||
| Authors : Jacomme Ludovic |
|
||||
| |
|
||||
| Date : 23/08/93 |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# ifndef RDSCIF_PARSE
|
||||
# define RDSCIF_PARSE
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Constants |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# define CIF_MAX_BUFFER 512
|
||||
# define CIF_MAX_SYMBOL_HEAD 16
|
||||
# define CIF_MASK_SYMBOL (long)(0x0000F)
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Commands |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# define CIF_COMMAND_NULL 0
|
||||
# define CIF_COMMAND_POLYGON 1
|
||||
# define CIF_COMMAND_BOX 2
|
||||
# define CIF_COMMAND_ROUNDFLASH 3
|
||||
# define CIF_COMMAND_WIRE 4
|
||||
# define CIF_COMMAND_LAYER 5
|
||||
# define CIF_COMMAND_DEFSTART 6
|
||||
# define CIF_COMMAND_DEFFINISH 7
|
||||
# define CIF_COMMAND_DEFDELETE 8
|
||||
# define CIF_COMMAND_CALL 9
|
||||
# define CIF_COMMAND_COMMENT 10
|
||||
# define CIF_COMMAND_END 11
|
||||
# define CIF_COMMAND_EOF 12
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Overflow |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# define CIF_MAX_UNSIGNED ((unsigned int)((0XFFFFFFFF-9)/10))
|
||||
# define CIF_MAX_SIGNED ((int )((0X7FFFFFFF-9)/10))
|
||||
# define CIF_MAX_POINT 512
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Macros |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
#define CIF_TO_RDS_UNIT( X ) \
|
||||
\
|
||||
( ( ( X )*CifScaleA*RDS_UNIT ) / ( CifScaleB*CIF_UNIT ) )
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Types |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
typedef struct symbol_list
|
||||
{
|
||||
struct symbol_list *NEXT;
|
||||
long NUMBER;
|
||||
rdsfig_list *MODEL;
|
||||
|
||||
} symbol_list;
|
||||
|
||||
typedef struct node_list
|
||||
{
|
||||
struct node_list *NEXT;
|
||||
char *NAME;
|
||||
char LAYER;
|
||||
long X;
|
||||
long Y;
|
||||
|
||||
} node_list;
|
||||
|
||||
typedef struct connector_list
|
||||
{
|
||||
struct connector_list *NEXT;
|
||||
char *NAME;
|
||||
char LAYER;
|
||||
long X;
|
||||
long Y;
|
||||
long WIDTH;
|
||||
|
||||
} connector_list;
|
||||
|
||||
|
||||
|
||||
# endif
|
|
@ -0,0 +1,48 @@
|
|||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Tool : RCF |
|
||||
| |
|
||||
| File : rcf112.h |
|
||||
| |
|
||||
| Authors : Jacomme Ludovic |
|
||||
| |
|
||||
| Date : 27.06.95 |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
# ifndef RCF_112_H
|
||||
# define RCF_112_H
|
||||
|
||||
#ifndef __P
|
||||
# if defined(__STDC__) || defined(__GNUC__)
|
||||
# define __P(x) x
|
||||
# else
|
||||
# define __P(x) ()
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Constants |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Types |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Global Variables |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
/*------------------------------------------------------------\
|
||||
| |
|
||||
| Functions |
|
||||
| |
|
||||
\------------------------------------------------------------*/
|
||||
|
||||
extern rdsfig_list * cifloadrdsfig __P((rdsfig_list *Figure, char *Name, char Mode));
|
||||
extern void cifsaverdsfig __P((rdsfig_list *Figure));
|
||||
|
||||
# endif
|
Loading…
Reference in New Issue