Home | History | Annotate | Download | only in jni
      1 #!/bin/sh
      2 #
      3 # This script is used to generate the source files for this test.
      4 #
      5 LIMITS=""
      6 CONSTANTS=""
      7 for SIZE in 8 16 32 64; do
      8     for PREFIX in INT INT_LEAST INT_FAST; do
      9         LIMITS="$LIMITS $PREFIX${SIZE}_MIN $PREFIX${SIZE}_MAX"
     10         CONSTANTS="$CONSTANTS $PREFIX${SIZE}_C"
     11     done
     12     for PREFIX in UINT UINT_LEAST UINT_FAST; do
     13         LIMITS="$LIMITS $PREFIX${SIZE}_MAX"
     14         CONSTANTS="$CONSTANTS $PREFIX${SIZE}_C"
     15     done
     16 done
     17 
     18 LIMITS="$LIMITS INTMAX_MIN INTMAX_MAX UINTMAX_MAX"
     19 CONSTANTS="$CONSTANTS INTMAX_C UINTMAX_C"
     20 
     21 for PREFIX in INTPTR PTRDIFF; do
     22     LIMITS="$LIMITS ${PREFIX}_MIN ${PREFIX}_MAX"
     23     CONSTANTS="$CONSTANTS ${PREFIX}_C"
     24 done
     25 
     26 LIMITS="$LIMITS UINTPTR_MAX"
     27 CONSTANTS="$CONSTANTS UINTPTR_C"
     28 
     29 SRC=test_cpp_no_macros.cpp
     30 
     31 gen_cpp_no_macros ()
     32 {
     33     echo "/* AUTO-GENERATED FILE - DO NOT MODIFY! */"
     34     echo "#include <android/api-level.h>"
     35     echo "#if __ANDROID_API__ < 20"
     36     echo "#include <stdint.h>"
     37     for MACRO in $LIMITS $CONSTANTS; do
     38         echo "#ifdef $MACRO"
     39         echo "#error $MACRO defined!"
     40         echo "#endif"
     41     done
     42     echo "#endif"
     43 }
     44 
     45 gen_cpp_limit_macros ()
     46 {
     47     echo "/* AUTO-GENERATED FILE - DO NOT MODIFY! */"
     48     echo "#define __STDC_LIMIT_MACROS 1"
     49     echo "#include <android/api-level.h>"
     50     echo "#include <stdint.h>"
     51     for MACRO in $LIMITS; do
     52         echo "#ifndef $MACRO"
     53         echo "#error $MACRO is not defined!"
     54         echo "#endif"
     55     done
     56     echo "#if __ANDROID_API__ < 20"
     57     for MACRO in $CONSTANTS; do
     58         echo "#ifdef $MACRO"
     59         echo "#error $MACRO is defined!"
     60         echo "#endif"
     61     done
     62     echo "#endif"
     63 }
     64 
     65 gen_cpp_constant_macros ()
     66 {
     67     echo "/* AUTO-GENERATED FILE - DO NOT MODIFY! */"
     68     echo "#define __STDC_CONSTANT_MACROS 1"
     69     echo "#include <android/api-level.h>"
     70     echo "#include <stdint.h>"
     71     echo "#if __ANDROID_API__ < 20"
     72     for MACRO in $LIMITS; do
     73         echo "#ifdef $MACRO"
     74         echo "#error $MACRO is defined!"
     75         echo "#endif"
     76     done
     77     echo "#endif"
     78     for MACRO in $CONSTANTS; do
     79         echo "#ifndef $MACRO"
     80         echo "#error $MACRO is not defined!"
     81         echo "#endif"
     82     done
     83 }
     84 
     85 gen_cpp_all_macros ()
     86 {
     87     echo "/* AUTO-GENERATED FILE - DO NOT MODIFY! */"
     88     echo "#define __STDC_LIMIT_MACROS 1"
     89     echo "#define __STDC_CONSTANT_MACROS 1"
     90     echo "#include <stdint.h>"
     91     for MACRO in $LIMITS $CONSTANTS; do
     92         echo "#ifndef $MACRO"
     93         echo "#error $MACRO defined!"
     94         echo "#endif"
     95     done
     96 }
     97 
     98 gen_c ()
     99 {
    100     echo "/* AUTO-GENERATED FILE - DO NOT MODIFY! */"
    101     echo "#include <stdint.h>"
    102     for MACRO in $LIMITS $CONSTANTS; do
    103         echo "#ifndef $MACRO"
    104         echo "#error $MACRO defined!"
    105         echo "#endif"
    106     done
    107 }
    108 
    109 gen_c > test_c.c
    110 gen_cpp_no_macros > test_no_macros.cpp
    111 gen_cpp_limit_macros > test_limit_macros.cpp
    112 gen_cpp_constant_macros > test_constant_macros.cpp
    113 gen_cpp_all_macros > test_all_macros.cpp
    114