]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/config/test/link/vc_gen.sh
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / config / test / link / vc_gen.sh
1 #! /bin/bash
2 # copyright John Maddock 2005
3 # Use, modification and distribution are subject to the
4 # Boost Software License, Version 1.0. (See accompanying file
5 # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7 libname=""
8 src=""
9 header=""
10 all_dep=""
11
12 # current makefile:
13 out=""
14 # temporary file:
15 tout=""
16 # install target temp file:
17 iout=""
18 # debug flag:
19 debug="no"
20 # compile options:
21 opts=""
22 # main output sub-directory:
23 subdir=""
24 # extra debug /RTc options:
25 debug_extra=""
26
27 function vc6_gen_lib()
28 {
29 all_dep="$all_dep $libname""_dir ./$subdir/$libname.lib ./$subdir/$libname.exe"
30 echo " copy $subdir\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
31 if test $debug == "yes"; then
32 echo " copy $subdir\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
33 fi
34 #
35 # set up section comments:
36 cat >> $tout << EOF
37 ########################################################
38 #
39 # section for $libname.lib
40 #
41 ########################################################
42 EOF
43 #
44 # process source files:
45 all_obj=""
46 for file in $src
47 do
48 obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'`
49 obj="$subdir/$libname/$obj"
50 all_obj="$all_obj $obj"
51 echo "$obj: $file \$(ALL_HEADER)" >> $tout
52 echo " cl /c \$(INCLUDES) $opts \$(CXXFLAGS) -Y- -Fo./$subdir/$libname/ -Fd$subdir/$libname.pdb $file" >> $tout
53 echo "" >> $tout
54 done
55 #
56 # now for the directories for this library:
57 echo "$libname"_dir : >> $tout
58 echo " @if not exist \"$subdir\\$libname\\\$(NULL)\" mkdir $subdir\\$libname" >> $tout
59 echo "" >> $tout
60 #
61 # now for the clean options for this library:
62 all_clean="$all_clean $libname""_clean"
63 echo "$libname"_clean : >> $tout
64 echo " del $subdir\\$libname\\"'*.obj' >> $tout
65 echo " del $subdir\\$libname\\"'*.idb' >> $tout
66 echo " del $subdir\\$libname\\"'*.exp' >> $tout
67 echo " del $subdir\\$libname\\"'*.pch' >> $tout
68 echo "" >> $tout
69 #
70 # now for the main target for this library:
71 echo ./$subdir/$libname.lib : $all_obj >> $tout
72 echo " link -lib /nologo /out:$subdir/$libname.lib \$(XSFLAGS) $all_obj" >> $tout
73 echo "" >> $tout
74 # now the test program:
75 echo ./$subdir/$libname.exe : main.cpp ./$subdir/$libname.lib >> $tout
76 echo " cl \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -o ./$subdir/$libname.exe main.cpp /link /LIBPATH:./$subdir" >> $tout
77 echo " $subdir"'\'"$libname.exe" >> $tout
78 echo "" >> $tout
79 }
80
81 function vc6_gen_dll()
82 {
83 all_dep="$all_dep $libname""_dir ./$subdir/$libname.lib ./$subdir/$libname.exe"
84 echo " copy $subdir\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
85 echo " copy $subdir\\$libname.dll "'"$'"(MSVCDIR)\\bin"'"' >> $iout
86 if test $debug == "yes"; then
87 echo " copy $subdir\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
88 fi
89 #
90 # set up section comments:
91 cat >> $tout << EOF
92 ########################################################
93 #
94 # section for $libname.lib
95 #
96 ########################################################
97 EOF
98 #
99 # process source files:
100 all_obj=""
101 for file in $src
102 do
103 obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'`
104 obj="$subdir/$libname/$obj"
105 all_obj="$all_obj $obj"
106 echo "$obj: $file \$(ALL_HEADER)" >> $tout
107 echo " cl /c \$(INCLUDES) $opts \$(CXXFLAGS) -Y- -Fo./$subdir/$libname/ -Fd$subdir/$libname.pdb $file" >> $tout
108 echo "" >> $tout
109 done
110 #
111 # now for the directories for this library:
112 echo "$libname"_dir : >> $tout
113 echo " @if not exist \"$subdir\\$libname\\\$(NULL)\" mkdir $subdir\\$libname" >> $tout
114 echo "" >> $tout
115 #
116 # now for the clean options for this library:
117 all_clean="$all_clean $libname""_clean"
118 echo "$libname"_clean : >> $tout
119 echo " del $subdir\\$libname\\"'*.obj' >> $tout
120 echo " del $subdir\\$libname\\"'*.idb' >> $tout
121 echo " del $subdir\\$libname\\"'*.exp' >> $tout
122 echo " del $subdir\\$libname\\"'*.pch' >> $tout
123 echo "" >> $tout
124 #
125 # now for the main target for this library:
126 echo ./$subdir/$libname.lib : $all_obj >> $tout
127 echo " link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:\"$subdir/$libname.pdb\" /debug /machine:I386 /out:\"$subdir/$libname.dll\" /implib:\"$subdir/$libname.lib\" /LIBPATH:\$(STLPORT_PATH)\\lib \$(XLFLAGS) $all_obj" >> $tout
128 echo "" >> $tout
129 # now the test program:
130 echo ./$subdir/$libname.exe : main.cpp ./$subdir/$libname.lib >> $tout
131 echo " cl \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -o ./$subdir/$libname.exe main.cpp /link /LIBPATH:./$subdir" >> $tout
132 echo " $subdir"'\'"$libname.exe" >> $tout
133 echo "" >> $tout
134 }
135
136 is_stlport="no"
137
138 function vc6_gen()
139 {
140 debug="no"
141 tout="temp"
142 iout="temp_install"
143 all_dep="main_dir"
144 all_clean=""
145 echo > $out
146 echo > $tout
147 rm -f $iout
148
149 libname="liblink_test-${subdir}-s-${boost_version}"
150 opts='/nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD'
151 vc6_gen_lib
152
153 libname="liblink_test-${subdir}-mt-s-${boost_version}"
154 opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD '
155 vc6_gen_lib
156
157 debug="yes"
158 libname="liblink_test-${subdir}-sgd-${boost_version}"
159 opts='/nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD '"$debug_extra"' '
160 vc6_gen_lib
161
162 libname="liblink_test-${subdir}-mt-sgd-${boost_version}"
163 opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD '"$debug_extra"' '
164 vc6_gen_lib
165
166 libname="link_test-${subdir}-mt-gd-${boost_version}"
167 opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD '"$debug_extra"' '
168 vc6_gen_dll
169
170 debug="no"
171 opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD '
172 libname="link_test-${subdir}-mt-${boost_version}"
173 vc6_gen_dll
174
175 debug="no"
176 opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD '
177 libname="liblink_test-${subdir}-mt-${boost_version}"
178 vc6_gen_lib
179
180 debug="yes"
181 libname="liblink_test-${subdir}-mt-gd-${boost_version}"
182 opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD '"$debug_extra"' '
183 vc6_gen_lib
184
185 cat > $out << EOF
186 # copyright John Maddock 2005
187 # Use, modification and distribution are subject to the
188 # Boost Software License, Version 1.0. (See accompanying file
189 # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
190 #
191 # auto generated makefile for VC6 compiler
192 #
193 # usage:
194 # make
195 # brings libraries up to date
196 # make install
197 # brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
198 #
199
200 #
201 # Add additional compiler options here:
202 #
203 CXXFLAGS=
204 #
205 # Add additional include directories here:
206 #
207 INCLUDES=
208 #
209 # add additional linker flags here:
210 #
211 XLFLAGS=
212 #
213 # add additional static-library creation flags here:
214 #
215 XSFLAGS=
216
217 !IF "\$(OS)" == "Windows_NT"
218 NULL=
219 !ELSE
220 NULL=nul
221 !ENDIF
222
223 !IF "\$(MSVCDIR)" == ""
224 !ERROR Variable MSVCDIR not set.
225 !ENDIF
226
227 EOF
228 echo "" >> $out
229 echo "ALL_HEADER=$header" >> $out
230 echo "" >> $out
231 echo "all : $all_dep" >> $out
232 echo >> $out
233 echo "clean : $all_clean" >> $out
234 echo >> $out
235 echo "install : all" >> $out
236 cat $iout >> $out
237 echo >> $out
238 echo main_dir : >> $out
239 echo " @if not exist \"$subdir\\\$(NULL)\" mkdir $subdir" >> $out
240 echo "" >> $out
241
242 cat $tout >> $out
243 }
244
245 function vc6_stlp_gen()
246 {
247 debug="no"
248 tout="temp"
249 iout="temp_install"
250 all_dep="main_dir"
251 all_clean=""
252 echo > $out
253 echo > $tout
254 rm -f $iout
255
256 libname="liblink_test-${subdir}-mt-s-${boost_version}"
257 opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB '
258 vc6_gen_lib
259
260 debug="true"
261 libname="liblink_test-${subdir}-mt-sgd-${boost_version}"
262 opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB '"$debug_extra"' '
263 vc6_gen_lib
264
265 libname="link_test-${subdir}-mt-gd-${boost_version}"
266 opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
267 vc6_gen_dll
268
269 debug="no"
270 opts='/nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL '
271 libname="link_test-${subdir}-mt-${boost_version}"
272 vc6_gen_dll
273
274 debug="no"
275 opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL '
276 libname="liblink_test-${subdir}-mt-${boost_version}"
277 vc6_gen_lib
278
279 debug="true"
280 libname="liblink_test-${subdir}-mt-gd-${boost_version}"
281 opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
282 vc6_gen_lib
283
284 # debug STLPort mode:
285 # not yet supported by bjam?
286 debug="yes"
287 opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
288 libname="link_test-${subdir}-mt-pgd-${boost_version}"
289 vc6_gen_dll
290 libname="liblink_test-${subdir}-mt-spgd-${boost_version}"
291 opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB '"$debug_extra"' '
292 vc6_gen_lib
293 opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
294 libname="liblink_test-${subdir}-mt-pgd-${boost_version}"
295 vc6_gen_lib
296
297 cat > $out << EOF
298 # copyright John Maddock 2005
299 # Use, modification and distribution are subject to the
300 # Boost Software License, Version 1.0. (See accompanying file
301 # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
302 #
303 # auto generated makefile for VC6+STLPort
304 #
305 # usage:
306 # make
307 # brings libraries up to date
308 # make install
309 # brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
310 #
311
312 #
313 # Add additional compiler options here:
314 #
315 CXXFLAGS=
316 #
317 # Add additional include directories here:
318 #
319 INCLUDES=
320 #
321 # add additional linker flags here:
322 #
323 XLFLAGS=
324 #
325 # add additional static-library creation flags here:
326 #
327 XSFLAGS=
328
329 !IF "\$(OS)" == "Windows_NT"
330 NULL=
331 !ELSE
332 NULL=nul
333 !ENDIF
334
335 !IF "\$(MSVCDIR)" == ""
336 !ERROR Variable MSVCDIR not set.
337 !ENDIF
338
339 !IF "\$(STLPORT_PATH)" == ""
340 !ERROR Variable STLPORT_PATH not set.
341 !ENDIF
342
343 EOF
344 echo "" >> $out
345 echo "ALL_HEADER=$header" >> $out
346 echo "" >> $out
347 echo "all : $all_dep" >> $out
348 echo >> $out
349 echo "clean : $all_clean" >> $out
350 echo >> $out
351 echo "install : stlport_check all" >> $out
352 cat $iout >> $out
353 echo >> $out
354 echo main_dir : >> $out
355 echo " @if not exist \"$subdir\\\$(NULL)\" mkdir $subdir" >> $out
356 echo "" >> $out
357 echo 'stlport_check : $(STLPORT_PATH)\stlport\string' >> $out
358 echo " echo" >> $out
359 echo "" >> $out
360
361 cat $tout >> $out
362 }
363
364
365 . common.sh
366
367 #
368 # generate vc6 makefile:
369 debug_extra="/GX"
370 out="vc6.mak"
371 subdir="vc6"
372 vc6_gen
373 #
374 # generate vc6-stlport makefile:
375 is_stlport="yes"
376 out="vc6-stlport.mak"
377 no_single="yes"
378 subdir="vc6-stlport"
379 vc6_stlp_gen
380 #
381 # generate vc7 makefile:
382 debug_extra="/GX /RTC1"
383 is_stlport="no"
384 out="vc7.mak"
385 no_single="no"
386 subdir="vc7"
387 vc6_gen
388 #
389 # generate vc7-stlport makefile:
390 is_stlport="yes"
391 out="vc7-stlport.mak"
392 no_single="yes"
393 subdir="vc7-stlport"
394 vc6_stlp_gen
395 #
396 # generate vc71 makefile:
397 is_stlport="no"
398 out="vc71.mak"
399 no_single="no"
400 subdir="vc71"
401 vc6_gen
402 #
403 # generate vc71-stlport makefile:
404 is_stlport="yes"
405 out="vc71-stlport.mak"
406 no_single="yes"
407 subdir="vc71-stlport"
408 vc6_stlp_gen
409
410
411 #
412 # remove tmep files;
413 rm -f $tout $iout
414
415
416
417
418
419
420
421
422
423
424