~ubuntu-branches/ubuntu/trusty/alliance/trusty

« back to all changes in this revision

Viewing changes to .pc/07-genlib-fix-dirs.patch/genlib/src/genlib.sh

  • Committer: Package Import Robot
  • Author(s): Roland Stigge
  • Date: 2012-03-24 14:06:12 UTC
  • mfrom: (4.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20120324140612-81we6dfm8gj2d38n
Tags: 5.0-20110203-6
* debian/control:
  - Standards-Version: 3.9.3
  - Homepage: http://www-soc.lip6.fr/en/recherche/cian/alliance/
  - Build-Depends:
    + texlive-latex-recommended
    - texlive-full
* debian/compat: 9
* Added patch to fix format string issues (06-fix-format-strings.patch)
* Added patch to fix examples build / genlib (07-genlib-fix-dirs.patch)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
#
 
3
# $Id: genlib.sh,v 1.9 2002/10/24 10:28:32 hcl Exp $
 
4
#                                                                        
 
5
# /------------------------------------------------------------------\
 
6
# |                                                                  |
 
7
# |        A l l i a n c e   C A D   S y s t e m                     |
 
8
# |                      D p G e n                                   |
 
9
# |                                                                  |
 
10
# |  Author    :                      Jean-Paul CHAPUT               |
 
11
# |  E-mail    :         alliance-users@asim.lip6.fr               |
 
12
# | ================================================================ |
 
13
# |  sh script :         "./dpgen/dpgen.sh"                          |
 
14
# | **************************************************************** |
 
15
# |  U p d a t e s                                                   |
 
16
# |                                                                  |
 
17
# \------------------------------------------------------------------/
 
18
#
 
19
 
 
20
 
 
21
# /------------------------------------------------------------------\
 
22
# |                                                                  |
 
23
# |                      Functions Definitions                       |
 
24
# |                                                                  |
 
25
# \------------------------------------------------------------------/
 
26
 
 
27
 
 
28
# --------------------------------------------------------------------
 
29
# Function  :  `print_usage()'.
 
30
 
 
31
 print_usage()
 
32
 {
 
33
   echo ""
 
34
   echo "  usage: genlib [-cdlknv] [--keep-exec] [--no-exec] [--no-rm-core] \\"
 
35
   echo "               [--keep-log] [--verbose] \\"
 
36
   echo "               <program> [-e [args]]"
 
37
   echo ""
 
38
   echo "  Options:"
 
39
   echo "    [-c|--no-rm-core]    : Don't remove core file."
 
40
   echo "    [-l|--keep-log]      : Keep log file (.grr) after execution."
 
41
   echo "    [-k|--keep-exec]     : Keep binary after execution."
 
42
   echo "    [-m|--keep-makefile] : Keep makefile after execution."
 
43
   echo "    [-n|--no-exec]       : Do not execute the binary."
 
44
   echo "    [-v|--verbose]       : Issue more informations."
 
45
   echo "    [-e [args]]          : [args] are passed to the binary."
 
46
   echo ""
 
47
 }
 
48
 
 
49
 
 
50
# --------------------------------------------------------------------
 
51
# Function  :  `vecho()'.
 
52
 
 
53
 vecho()
 
54
 { 
 
55
   ECHOFLAGS="" 
 
56
   if [ $1 -gt $VERBOSE ]; then return 0; fi
 
57
   if [ "$2" = "-n" ]; then
 
58
     ECHOFLAGS="-n"; shift;
 
59
   fi
 
60
   echo $ECHOFLAGS "$2" 2>&1 | tee -a $CSOURCE.grr
 
61
 }
 
62
 
 
63
 
 
64
# /------------------------------------------------------------------\
 
65
# |                                                                  |
 
66
# |                  Main Part of the Shell Script                   |
 
67
# |                                                                  |
 
68
# \------------------------------------------------------------------/
 
69
 
 
70
 if [ -z "$ALLIANCE_TOP" ]; then
 
71
   alcbanner "GenLib" "4.0" "Procedural Generation Language" "1991"
 
72
 else
 
73
   ${ALLIANCE_TOP}/bin/alcbanner "GenLib" "4.0" "Procedural Generation Language" "1991"
 
74
 fi
 
75
 
 
76
 
 
77
 
 
78
# --------------------------------------------------------------------
 
79
# Process the command line.
 
80
 
 
81
# If no arguments, print usage.
 
82
 if [ $# -eq 0 ]; then print_usage; exit 0; fi
 
83
 
 
84
 
 
85
  KEEP_BIN="n"
 
86
  KEEP_LOG="n"
 
87
 KEEP_CORE="n"
 
88
 KEEP_MAKEFILE="n"
 
89
   VERBOSE=0
 
90
   EXECUTE="y"
 
91
 ARGUMENTS=""
 
92
   PROGRAM="not set"
 
93
     DEVEL="n"
 
94
 
 
95
 
 
96
# Parse the arguments.
 
97
 while [ $# -gt 0 ]; do
 
98
 
 
99
   case $1 in
 
100
 
 
101
     --no-rm-core) KEEP_CORE="y";;
 
102
     --keep-makefile)  KEEP_MAKEFILE="y";;
 
103
     --keep-exec)  KEEP_BIN="y";;
 
104
     --keep-log)   KEEP_LOG="y";;
 
105
     --no-exec)    EXECUTE="n";;
 
106
     --verbose)    VERBOSE=1;;
 
107
     --devel)      DEVEL="y";;
 
108
 
 
109
     -*) NB=2; CH=`echo $1 | cut -c$NB`
 
110
         while [ "$CH" != "" ]; do
 
111
 
 
112
           case $CH in
 
113
 
 
114
             m) KEEP_MAKEFILE="y";;
 
115
             c) KEEP_CORE="y";;
 
116
             k) KEEP_BIN="y";;
 
117
             l) KEEP_LOG="y";;
 
118
             n) EXECUTE="n";;
 
119
             v) VERBOSE=1;;
 
120
             d) DEVEL="y";;
 
121
             e) echo "genlib:warning: misplaced -e option.";
 
122
                print_usage; exit 1;;
 
123
             *) echo "genlib:warning: Invalid option \`$CH' (ignored)."
 
124
                print_usage;;
 
125
 
 
126
           esac
 
127
 
 
128
           NB=`expr $NB + 1`
 
129
           CH=`echo $1 | cut -c$NB`
 
130
 
 
131
         done;;
 
132
 
 
133
     *)            PROGRAM=$1; shift; break;;
 
134
 
 
135
   esac
 
136
 
 
137
   shift
 
138
 
 
139
 done
 
140
 
 
141
 
 
142
# Parse optionals program arguments.
 
143
 if [ $# -gt 0 ]; then
 
144
   if [ "$1" != "-e" ]; then
 
145
 
 
146
     echo "genlib:warning: ignored \`$1' parameter after program name."
 
147
     print_usage
 
148
 
 
149
   else
 
150
 
 
151
     shift; ARGUMENTS="$*"
 
152
 
 
153
   fi
 
154
 fi
 
155
 
 
156
 
 
157
# Check arguments coherency.
 
158
 if [ "$PROGRAM" = "not set" ]; then
 
159
 
 
160
   echo "genlib:error: Missing <program> argument."
 
161
   print_usage; exit 1;
 
162
 
 
163
 fi
 
164
 
 
165
 CSOURCE=`basename $PROGRAM .c`
 
166
 
 
167
 
 
168
# Removing previously generated files.
 
169
 rm -f $CSOURCE.grr $CSOURCE.o > /dev/null 2>&1
 
170
 
 
171
 
 
172
# --------------------------------------------------------------------
 
173
# Print the current MBK environment.
 
174
 
 
175
 if [ ! -z "$ALLIANCE_TOP" ]; then ALLIANCE_TOP=$ALLIANCE_TOP; fi
 
176
 
 
177
 vecho 1    "  o  Current Alliance environment:"
 
178
 vecho 1    "     - ALLIANCE_TOP    : ${ALLIANCE_TOP-not set}"
 
179
 vecho 1    "  o  Current MBK environment:"
 
180
 vecho 1    "     - MBK_IN_LO       : ${MBK_IN_LO-not set}"
 
181
 vecho 1    "     - MBK_OUT_LO      : ${MBK_OUT_LO-not set}"
 
182
 vecho 1    "     - MBK_IN_PH       : ${MBK_IN_PH-not set}"
 
183
 vecho 1    "     - MBK_OUT_PH      : ${MBK_OUT_PH-not set}"
 
184
 vecho 1    "     - MBK_WORK_LIB    : ${MBK_WORK_LIB-not set}"
 
185
 vecho 1 -n "     - MBK_CATA_LIB    : "
 
186
 
 
187
 if [ -z "$MBK_CATA_LIB" ]; then
 
188
 
 
189
   vecho 1 "not set"
 
190
 
 
191
 else
 
192
 
 
193
   STRING=`echo ${MBK_CATA_LIB} |                            \
 
194
             awk 'BEGIN { FS=":"; }                          \
 
195
                  { for( i=1; i<=NF; i++) {                  \
 
196
                      printf("%s\n", $i);                    \
 
197
                      if (i < NF)                            \
 
198
                        printf("                         "); \
 
199
                    }                                        \
 
200
                  }' -`
 
201
 
 
202
   vecho 1 "$STRING"
 
203
 
 
204
 fi
 
205
 
 
206
 vecho 1    "     - MBK_CATAL_NAME  : ${MBK_CATAL_NAME-not set}"
 
207
 vecho 1    "     - MBK_VDD         : ${MBK_VDD-not set}"
 
208
 vecho 1    "     - MBK_VSS         : ${MBK_VSS-not set}"
 
209
 vecho 1    "     - RDS_TECHNO_NAME : ${RDS_TECHNO_NAME-not set}"
 
210
 vecho 1    ""
 
211
 
 
212
 
 
213
# --------------------------------------------------------------------
 
214
# Development hacks.
 
215
 
 
216
 if [ "$DEVEL" = "y" ]; then
 
217
   ALLIANCE_INSTALL_DIR="__ALLIANCE_INSTALL_DIR__"
 
218
   ALLIANCE_DEVEL_INCLUDE="-I${ALLIANCE_INSTALL_DIR}/include"
 
219
   ALLIANCE_DEVEL_LIB="-L${ALLIANCE_INSTALL_DIR}/lib"
 
220
   export ALLIANCE_INSTALL_DIR ALLIANCE_DEVEL_INCLUDE ALLIANCE_DEVEL_LIB
 
221
 
 
222
   vecho 0    "  o  Switching to development environment :"
 
223
   vecho 0    "     - ALLIANCE_INSTALL_DIR : ${ALLIANCE_INSTALL_DIR-not set}"
 
224
 fi
 
225
 
 
226
 
 
227
# --------------------------------------------------------------------
 
228
# Build and execute the Makefile.
 
229
 
 
230
 vecho 1 "  o  Program generation."
 
231
 vecho 1 "     - Creating Makefile."
 
232
 
 
233
 MAKEFILE="Makefile-$$"
 
234
 
 
235
 
 
236
# --------------------------------------------------------------------
 
237
# Start of the Makefile text.
 
238
 
 
239
cat << EOF > $MAKEFILE
 
240
  ALLIANCE_INCLUDE = $ALLIANCE_TOP/include
 
241
  ALLIANCE_LIB     = $ALLIANCE_TOP/lib
 
242
 
 
243
  LOCAL_ALC_IDIR = $ALLIANCE_DEVEL_INCLUDE -I\$(ALLIANCE_INCLUDE)
 
244
  LOCAL_ALC_DEFS = 
 
245
  LOCAL_ALC_INCS = \$(LOCAL_ALC_IDIR) \$(LOCAL_ALC_DEFS)
 
246
 
 
247
  LOCAL_ALC_LDIR = $ALLIANCE_DEVEL_LIB -L\$(ALLIANCE_LIB)
 
248
  LOCAL_ALC_LVBE = -lBvl \\
 
249
                   -lBeh \\
 
250
                   -lBhl \\
 
251
                   -lLog \\
 
252
                   -lCst
 
253
  LOCAL_ALC_LMGN = -lMgn
 
254
  LOCAL_ALC_LMUT = -lMut
 
255
  LOCAL_ALC_LMLO = -lMlu \\
 
256
                   -lMlo \\
 
257
                   -lMal \\
 
258
                   -lMcl \\
 
259
                   -lMgl \\
 
260
                   -lMel \\
 
261
                   -lMhl \\
 
262
                   -lMsl \\
 
263
                   -lMvg \\
 
264
                   -lRcn
 
265
  LOCAL_ALC_LMPH = -lMpu \\
 
266
                   -lMph \\
 
267
                   -lMap \\
 
268
                   -lMcp \\
 
269
                   -lMmg
 
270
  LOCAL_ALC_LIBS = \$(LOCAL_ALC_LDIR) \\
 
271
                   \$(LOCAL_ALC_LVBE) \\
 
272
                   \$(LOCAL_ALC_LMGN) \\
 
273
                   \$(LOCAL_ALC_LMLO) \\
 
274
                   \$(LOCAL_ALC_LMPH) \\
 
275
                   \$(LOCAL_ALC_LMUT)
 
276
 
 
277
  LOCAL_STD_LIBS = -lm
 
278
 
 
279
#  C Flags for normal compilation.
 
280
 LOCAL_CFLAGS = \$(CFLAGS) -c -g
 
281
 LOCAL_OFLAGS = \$(OFLAGS) -o
 
282
 
 
283
 
 
284
all: $CSOURCE
 
285
 
 
286
$CSOURCE: $CSOURCE.o
 
287
        \$(CC) \$(LOCAL_OFLAGS) \$@ \$? \$(LOCAL_ALC_LIBS) \$(LOCAL_STD_LIBS)
 
288
        rm -f \$?
 
289
 
 
290
$CSOURCE.o: $CSOURCE.c
 
291
        \$(CC) \$(LOCAL_CFLAGS) \$(LOCAL_ALC_INCS) \$?
 
292
 
 
293
 
 
294
clean:
 
295
        rm -f $CSOURCE $CSOURCE.o $CSOURCE.exe
 
296
 
 
297
 
 
298
EOF
 
299
 
 
300
 
 
301
# --------------------------------------------------------------------
 
302
# End of the Makefile text.
 
303
 
 
304
 
 
305
 vecho 1 "     - Running Makefile."
 
306
 
 
307
 make -f $MAKEFILE ALLIANCE_TOP=$ALLIANCE_TOP \
 
308
         CSOURCE=$CSOURCE clean all >> $CSOURCE.grr 2>&1
 
309
 
 
310
 exit_code=$?
 
311
 
 
312
 if [ $exit_code -ne 0 ]; then
 
313
 
 
314
   if [ $KEEP_MAKEFILE != "y" ]; then rm -f $MAKEFILE; fi
 
315
 
 
316
   echo "genlib:error: Compilation failed."
 
317
   echo "error messages:"
 
318
   cat $CSOURCE.grr
 
319
   exit $exit_code
 
320
 
 
321
 else
 
322
 
 
323
   if [ "$EXECUTE" = "y" ]; then
 
324
 
 
325
     vecho 1 "  o  Execute program..."
 
326
     ./$CSOURCE $ARGUMENTS; exit_code=$?
 
327
 
 
328
     vecho 1 "     - Exit code := $exit_code."
 
329
     if [ $exit_code -ne 0 ]; then
 
330
       if [ $KEEP_MAKEFILE != "y" ]; then rm -f $MAKEFILE; fi
 
331
       echo "genlib:error: Execution failed."
 
332
     fi
 
333
 
 
334
     if [ "$KEEP_CORE" != "y" ]; then rm -f core >> $CSOURCE.grr 2>&1; fi
 
335
 
 
336
   else
 
337
     vecho 1 "  o  Execution step skipped."
 
338
     exit_code=0
 
339
   fi
 
340
 
 
341
 fi
 
342
 
 
343
 
 
344
 vecho 1 ""
 
345
 vecho 1 "  o  Remove temporary file."
 
346
 
 
347
 rm -f $MAKEFILE
 
348
 
 
349
 if [ "$KEEP_BIN"  != "y" ]; then rm -f $CSOURCE $CSOURCE.exe >> $CSOURCE.grr 2>&1; fi
 
350
 
 
351
 if [ \( $exit_code -eq 0 \) -a \( "$KEEP_LOG" != "y" \) ]; then
 
352
   rm -f $CSOURCE.grr > /dev/null 2>&1
 
353
 fi
 
354
 
 
355
 echo ""
 
356
 
 
357
 
 
358
 exit $exit_code