Skip to content

Commit 618e76d

Browse files
committed
Update STEP code to version from http://www.statik.tu-cottbus.de/fileadmin/project_dth/scl/ This configuration is closer to building on many platforms but will need special options to configure not supplied by default. As this is not the final form the libraries will take in the BRL-CAD tree no attempt is made to work with this build structure. One more commit will be needed for a file renaming but after that point modifications will be due to BRL-CAD developers. (Note - two files named src/fedex_plus/.pure and src/express/.Sanitize are added here that were also present in the original distribution but were missed.)
1 parent b848b4c commit 618e76d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+528
-1471
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ message:
88
@echo "using defaults from your path."
99
@echo "If... "
1010
@echo "- the installation fails or "
11-
@echo "- you didn't get the compilers, etc you expected or
11+
@echo "- you didn't get the compilers, etc you expected or "
1212
@echo "- you want to do multiple installations (using different compilers or "
1313
@echo " other SCL options)"
1414
@echo "then you will need to read the instructions in INSTALL"

README.projdth

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
*************************************************
2+
3+
NOTE: this tarball is the scl3-2_cygwin.tar.bz2
4+
tarball described below, with the change of binary
5+
names for cygwin in the makefiles removed and this
6+
file inserted.
7+
The text below is the text form of the contents of:
8+
9+
http://www.statik.tu-cottbus.de/fileadmin/project_dth/scl/
10+
11+
as retreived Mar. 7, 2009
12+
13+
*************************************************
14+
15+
16+
NIST STEP Class Library (SCL)
17+
18+
* What is SCL?
19+
* Platform issues
20+
* Installation
21+
* Testing and using SCL
22+
23+
What is SCL?
24+
25+
SCL is basically a toolbox to build interfaces between
26+
application programs and STEP data repositories. The
27+
latter can be STEP physical files (SPF as defined by
28+
ISO 10303-21) or object-oriented database systems, of
29+
which two products are supported by SCL.
30+
31+
SCL was written by NIST for the U.S. government and is
32+
therefore not subject to copyright. You may study it,
33+
modify it, redistribute it, create free or non-free
34+
software with it. For more information about SCL and in
35+
order to get its original distribution, please refer to
36+
the official SCL site at NIST:
37+
http://www.mel.nist.gov/msidstaff/sauder/SCL.htm.
38+
39+
WSTEP, a free SCL port to Windows is available at
40+
http://www.bauv.unibw-muenchen.de/~bauv1/download/WStep/
41+
(ported by Stefan Schwarz).
42+
Platform issues
43+
44+
The original SCL source distribution cannot be cleanly
45+
un-archived on case-insensitive file systems like Windows'
46+
NTFS because of a name conflict. Here is a source archive
47+
with the conflicting file renamed:
48+
scl3-2.tar.bz2.
49+
Tar.bz2 archives can be unpacked with bzip2 and tar or
50+
with the Windows program 7-Zip.
51+
52+
SCL is mainly written in C++, but it also contains C
53+
sources, lex and yacc sources (compatible to flex and
54+
bison) and csh and sh scripts. The C++ sources, written
55+
in the 1990s, are not fully compliant to ANSI/ISO C++.
56+
Here is a patch that updates base parts of SCL to
57+
ANSI/ISO C++ (only the SPF interface, not the complete
58+
database system interfaces or the dataprobe GUI).
59+
The patch also addresses some problems with newer
60+
UNIX-like systems:
61+
scl3-2_isocpp.diff
62+
63+
There are furthermore some issues with the configure
64+
script and some makefiles which are addressed by the
65+
following patch. This patch also adds a macro that is at
66+
least required for gcc:
67+
scl3-2_build.diff
68+
69+
These patches were tested with gcc 3.3 under Linux, Mac
70+
OS X, as well as Windows with Cygwin. Cygwin is a UNIX-like
71+
environment for Windows with complete GNU toolchain. Some
72+
further modifications are necessary to build SCL under
73+
Cygwin:
74+
scl3-2_build_cygwin.diff
75+
76+
A source archive with the three patches already applied
77+
is provided here for your convenience:
78+
scl3-2_cygwin.tar.bz2.
79+
80+
Remaing problem: The p21 file scanner of SCL currently
81+
does not allow for comments within the parameter list of
82+
data records. Only comments outside of data records are
83+
accepted.
84+
85+
DISCLAIMER: Use at your own risk.
86+
The patches are incomplete, may be incorrect, and are
87+
not endorsed by NIST.
88+
89+
Installation
90+
91+
Install Linux, or Cygwin on Windows, or Fink on Mac OS X.
92+
In either case you need the packages gcc-core, gcc-g++,
93+
binutils, make, bison, yacc, sed, tcsh, tar, bzip2.
94+
95+
Under Linux or Mac OS X, unpack scl3-2.tar.bz2. Apply the
96+
first two patches:
97+
98+
tar xfj ~/scl3-2.tar.bz2
99+
cd scl3-2
100+
patch -p1 < ~/scl3-2_isocpp.diff
101+
patch -p1 < ~/scl3-2_build.diff
102+
103+
Under Windows + Cygwin, unpack scl3-2_cygwin.tar.bz2, do
104+
not apply patches:
105+
106+
tar xfj ~/scl3-2_cygwin.tar.bz2
107+
cd scl3-2
108+
109+
Build fedex, fedex_plus, exppp, mkProbe and a simple demo
110+
called p21read with the command
111+
112+
./configure --with-arch=local
113+
114+
This takes less than 2 minutes on a 1.6 GHz PC. The results
115+
are installed under "scl3-2/local/". Add the following
116+
lines to ~/.bashrc:
117+
118+
MANPATH="${MANPATH}:~/scl3-2/man"
119+
PATH="${PATH}:~/scl3-2/local/bin"
120+
121+
(Note: Instead of "local", you should use a more descriptive
122+
name like "arch-cygwin" in the configure command and PATH
123+
variable if you build for multiple architectures on the same
124+
filesystem.)
125+
126+
Testing and using SCL
127+
128+
In order to build the Class Library and p21read for another
129+
EXPRESS schema like IFC 2x2, use the following command. (
130+
Note: You need a syntactically corrected version of the
131+
schema: ifc2x2a1.exp.)
132+
133+
mkProbe -i -p ~/ifc2x2a1.exp ifc2x2
134+
135+
mkProbe builds and installs the library and p21read under
136+
"scl3-2/local/Probes/ifc2x2/". This takes about 2 minutes on
137+
a 1.6 GHz PC with Linux but 12 minutes on a 2.8 GHz PC with
138+
Windows + Cygwin. The resulting executable is 5...20 MB big,
139+
depending on the platform and whether you strip debug symbols
140+
off of it. If you want to build only the library, not p21read,
141+
omit -p from the mkProbe call.
142+
143+
Test p21read with some IFC data:
144+
145+
~/scl3-2/local/Probes/ifc2x2/p21read_ifc2x2 in.ifc out.ifc
146+
147+
assumed you provide an existing file "in.ifc". P21read simply
148+
reads the file in.ifc, checks it, and writes its content back
149+
into out.ifc.
150+
151+
Besides p21read, SCL comes with some other tiny demonstrators
152+
which are built by the above configure command and installed
153+
beneath "local/testbuild/": The demo tstatic creates instances
154+
of entities in a compiled example EXPRESS schema, populates
155+
their attributes, and prints them like they would appear in a
156+
STEP file. The demo treg looks for all entities (classes)
157+
contained in a compiled EXPRESS schema, creates an instance of
158+
each entity with random attribute data, and creates a STEP file
159+
of them. The demo tio reads objects from a STEP file, then reads
160+
this file again and appends the objects to the existing model,
161+
and writes the doubled model out to a STEP file.
162+
163+
While the demo tstatic works only with the provided example
164+
schema, the demos p21read, treg, and tio work with any EXPRESS
165+
schema you build a STEP Class Library for. Tstatic uses early
166+
bound access functions, while the other demos use only late
167+
bound access functions.
168+
169+
Stefan Richter, LS Statik & Dynamik
170+
created 09 Jan 2005, updated 01 Mar 2006

arch_template/checkout

Lines changed: 0 additions & 23 deletions
This file was deleted.

arch_template/make_rules.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ SCL_DEFS= @DEFS@ @SCL_DEFS@
143143

144144
MR_COND_DEFS = $(SCL_DEFS) $(OS_FLAGS) $(ORBIX_FLAGS)
145145
MR_INCLUDES = $(OS_INCS) $(ORBIX_INCS)
146-
CDEBUGFLAGS = -g
146+
CDEBUGFLAGS = -O0
147147

148148
CFLAGS = $(CDEBUGFLAGS) $(MR_COND_DEFS)
149149
LDFLAGS = $(OS_LD_FLAGS)

arch_template/ofiles/dai/Makefile.aside

Lines changed: 0 additions & 139 deletions
This file was deleted.

0 commit comments

Comments
 (0)