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