source: CMT/v1r10p20011126/contrib/scenario1.sh @ 1

Last change on this file since 1 was 1, checked in by arnault, 19 years ago

Import all tags

File size: 4.0 KB
Line 
1
2#
3# Test de -no_auto_import
4#
5
6#
7#  4 packages A, B, C, D
8#
9
10scroot=${CMTROOT}/demo/scenario1
11
12CMTPATH=${scroot}
13
14rm -Rf ${scroot}
15mkdir -p ${scroot}
16cmt create A v1 ${scroot}
17cmt create B v1 ${scroot}
18cmt create C v1 ${scroot}
19cmt create D v1 ${scroot}
20
21cd ${scroot}
22
23echo '#ifndef __$(package)_h__     '  > template.h
24echo '#define __$(package)_h__     ' >> template.h
25echo 'class $(package)             ' >> template.h
26echo '{                            ' >> template.h
27echo '  public:                    ' >> template.h
28echo '    $(package) ();           ' >> template.h
29echo '    void f ();               ' >> template.h
30echo '};                           ' >> template.h
31echo '#endif                       ' >> template.h
32
33echo '#include "$(package).h"      '  > template.cxx
34echo '#include "stdio.h"           ' >> template.cxx
35echo '$(package)::$(package) ()    ' >> template.cxx
36echo '{                            ' >> template.cxx
37echo '}                            ' >> template.cxx
38echo 'void $(package)::f ()        ' >> template.cxx
39echo '{                            ' >> template.cxx
40echo '  printf ("$(package)::f\\n");' >> template.cxx
41echo '}                            ' >> template.cxx
42
43echo 'package $(package)' >requirements
44echo 'macro $(package)_linkopts "-L$(PACKAGE_ROOT)/${CMTCONFIG} -l$(package)" WIN32 "$(PACKAGE_ROOT)/${CMTCONFIG}/$(package).lib"' >>requirements
45echo 'library $(package) $(package).cxx' >>requirements
46echo 'path_append PATH "${scroot}/$(package)/v1/${CMTCONFIG}"' >>requirements
47
48cd ${scroot}/B/v1/cmt
49cmt filter ${scroot}/template.h ../src/B.h
50cmt filter ${scroot}/template.cxx ../src/B.cxx
51cmt filter ${scroot}/requirements requirements
52gmake
53
54cd ${scroot}/C/v1/cmt
55cmt filter ${scroot}/template.h ../src/C.h
56cmt filter ${scroot}/template.cxx ../src/C.cxx
57cmt filter ${scroot}/requirements requirements
58gmake
59
60cd ${scroot}/D/v1/cmt
61cmt filter ${scroot}/template.h ../src/D.h
62cmt filter ${scroot}/template.cxx ../src/D.cxx
63cmt filter ${scroot}/requirements requirements
64gmake
65
66cd ${scroot}/A/v1/cmt
67
68echo 'package A                 '  > requirements
69echo 'use B v1                  ' >> requirements
70echo 'use C v1 -no_auto_imports ' >> requirements
71echo 'use D v1 -no_auto_imports ' >> requirements
72echo 'application b -check b.cxx' >> requirements
73echo 'application c -check -import=C c.cxx' >> requirements
74echo 'application d -check -import=C -import=D d.cxx' >> requirements
75
76echo '#include "B.h"           '   > ../src/b.cxx
77echo 'int main ()              '  >> ../src/b.cxx
78echo '{                        '  >> ../src/b.cxx
79echo '  B b;                   '  >> ../src/b.cxx
80echo '  b.f ();                '  >> ../src/b.cxx
81echo '  return (0);            '  >> ../src/b.cxx
82echo '}                        '  >> ../src/b.cxx
83
84echo '#include "B.h"           '   > ../src/c.cxx
85echo '#include "C.h"           '  >> ../src/c.cxx
86echo 'int main ()              '  >> ../src/c.cxx
87echo '{                        '  >> ../src/c.cxx
88echo '  B b;                   '  >> ../src/c.cxx
89echo '  b.f ();                '  >> ../src/c.cxx
90echo '  C c;                   '  >> ../src/c.cxx
91echo '  c.f ();                '  >> ../src/c.cxx
92echo '  return (0);            '  >> ../src/c.cxx
93echo '}                        '  >> ../src/c.cxx
94
95echo '#include "B.h"           '   > ../src/d.cxx
96echo '#include "C.h"           '  >> ../src/d.cxx
97echo '#include "D.h"           '  >> ../src/d.cxx
98echo 'int main ()              '  >> ../src/d.cxx
99echo '{                        '  >> ../src/d.cxx
100echo '  B b;                   '  >> ../src/d.cxx
101echo '  b.f ();                '  >> ../src/d.cxx
102echo '  C c;                   '  >> ../src/d.cxx
103echo '  c.f ();                '  >> ../src/d.cxx
104echo '  D d;                   '  >> ../src/d.cxx
105echo '  d.f ();                '  >> ../src/d.cxx
106echo '  return (0);            '  >> ../src/d.cxx
107echo '}                        '  >> ../src/d.cxx
108
109. setup.sh
110
111gmake check
112
113cd ${CMTROOT}/contrib
Note: See TracBrowser for help on using the repository browser.