]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/hdrtst/testinternalheaders.sh
ICU-62141.0.1.tar.gz
[apple/icu.git] / icuSources / test / hdrtst / testinternalheaders.sh
1 # Copyright (C) 2016 and later: Unicode, Inc. and others.
2 # License & terms of use: http://www.unicode.org/copyright.html
3 # Copyright (C) 2016 International Business Machines Corporation
4 # and others. All rights reserved.
5 #
6 # Run this script from $ICU_ROOT/src/source/
7 # ~/svn.icu/trunk/src/source$ test/hdrtst/testinternalheaders.sh
8
9 CC=clang
10 CXX=clang++
11
12 # Runtime libraries
13
14 for file in `ls common/*.h`; do
15 echo $file
16 echo '#include "'$file'"' > ht_temp.cpp ;
17 echo 'void noop() {}' >> ht_temp.cpp ;
18 $CXX -c -std=c++11 -I common -O0 ht_temp.cpp ;
19 done ;
20
21 for file in `ls i18n/*.h`; do
22 echo $file
23 echo '#include "'$file'"' > ht_temp.cpp ;
24 echo 'void noop() {}' >> ht_temp.cpp ;
25 $CXX -c -std=c++11 -I common -I i18n -O0 ht_temp.cpp ;
26 done ;
27
28 for file in `ls io/*.h`; do
29 echo $file
30 echo '#include "'$file'"' > ht_temp.cpp ;
31 echo 'void noop() {}' >> ht_temp.cpp ;
32 $CXX -c -std=c++11 -I common -I i18n -I io -O0 ht_temp.cpp ;
33 done ;
34
35 # layout is removed.
36
37 # layoutex now depends on external additions such as HarfBuzz, skip here
38
39 # -I . for includes of layout/*.h
40 #for file in `ls layoutex/*.h`; do
41 # echo $file
42 # echo '#include "'$file'"' > ht_temp.cpp ;
43 # echo 'void noop() {}' >> ht_temp.cpp ;
44 # $CXX -c -I common -I i18n -I io -I layout -I . -I layoutex -O0 ht_temp.cpp ;
45 #done ;
46
47 # Tools
48
49 for file in `ls tools/toolutil/*.h`; do
50 echo $file
51 echo '#include "'$file'"' > ht_temp.cpp ;
52 echo 'void noop() {}' >> ht_temp.cpp ;
53 $CXX -c -std=c++11 -I common -I i18n -I io -I tools/toolutil -O0 ht_temp.cpp ;
54 done ;
55
56 # Exclude tzcode: tools/tzcode/private.h uses an argument "new" in a function declaration.
57 # Markus sent an email to the tz list on 20160307 requesting that it be renamed.
58 # We don't want to patch it, and don't want to spend the time for this script here
59 # to know about C-only header files.
60
61 for tool in escapesrc genccode gencmn gencolusb gennorm2 genren gentest icupkg icuswap \
62 pkgdata genbrk gencfu gencnval gendict genrb gensprep icuinfo makeconv memcheck; do
63 for file in `ls tools/$tool/*.h`; do
64 echo $file
65 echo '#include "'$file'"' > ht_temp.cpp ;
66 echo 'void noop() {}' >> ht_temp.cpp ;
67 $CXX -c -std=c++11 -I common -I i18n -I io -I tools/toolutil -I tools/$tool -O0 ht_temp.cpp ;
68 done ;
69 done ;
70
71 # Tests
72
73 for file in `ls tools/ctestfw/unicode/*.h`; do
74 echo $file
75 echo '#include "'$file'"' > ht_temp.cpp ;
76 echo 'void noop() {}' >> ht_temp.cpp ;
77 $CXX -c -std=c++11 -I common -I i18n -I io -I tools/toolutil -I tools/ctestfw -O0 ht_temp.cpp ;
78 done ;
79
80 # C not C++ for cintltst
81 for file in `ls test/cintltst/*.h`; do
82 echo $file
83 echo '#include "'$file'"' > ht_temp.c ;
84 echo 'void noop() {}' >> ht_temp.c ;
85 $CC -c -std=c11 -I common -I i18n -I io -I tools/toolutil -I tools/ctestfw -I test/cintltst -O0 ht_temp.c ;
86 done ;
87
88 for test in intltest iotest testmap thaitest; do
89 for file in `ls test/$test/*.h`; do
90 echo $file
91 echo '#include "'$file'"' > ht_temp.cpp ;
92 echo 'void noop() {}' >> ht_temp.cpp ;
93 $CXX -c -std=c++11 -I common -I i18n -I io -I tools/toolutil -I tools/ctestfw -I test/$test -O0 ht_temp.cpp ;
94 done ;
95 done ;
96
97 # layoutex now depends on external additions such as HarfBuzz, skip here
98
99 #for file in `ls test/letest/*.h`; do
100 # echo $file
101 # echo '#include "'$file'"' > ht_temp.cpp ;
102 # echo 'void noop() {}' >> ht_temp.cpp ;
103 # $CXX -c -I common -I i18n -I io -I layout -I . -I layoutex -I tools/toolutil -I tools/ctestfw -I test/letest -O0 ht_temp.cpp ;
104 #done ;
105
106 # TODO: perf/*/*.h
107
108 rm ht_temp.cpp ht_temp.o