Imported Upstream version 58.1
[platform/upstream/icu.git] / source / 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 -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 -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 -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 -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 genccode gencmn gencolusb gennorm2 genren gentest icupkg icuswap pkgdata \
62         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 -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 -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.cpp ;
84     echo 'void noop() {}' >> ht_temp.cpp ;
85     $CC -c -I common -I i18n -I io -I tools/toolutil -I tools/ctestfw -I test/cintltst -O0 ht_temp.cpp ;
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 -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