Turn audio into a shareable video. forked from nypublicradio/audiogram

opensslconf_asm.h 6.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. /*
  2. In OpenSSL, opensslconf.h was generated by Configure script with
  3. specifying a target argument, where it includes several defines that
  4. depend on OS and architecture platform.
  5. In node, we statically mapped --dest-os and --dest-cpu options in
  6. configure to the target of Configure in OpenSSL and make
  7. `deps/openssl/conf/openssconf.h` so as to include each file
  8. according to its target by checking pre-defined compiler macros.
  9. Included opnesslconf.h files for supported target architectures can
  10. be generated by `Makefile` and stored under
  11. `archs/{target}/asm/opensslconf.h`. The Makefile also fixes several
  12. defines to meet node build requirements.
  13. Here is a map table of configure options in node, target arch of
  14. Configure in OpenSSL and CI support.
  15. | --dest-os | --dest-cpu | OpenSSL target arch | CI |
  16. | --------- | ---------- | -------------------- | --- |
  17. | aix | ppc | aix-gcc | o |
  18. | aix | ppc64 | aix64-gcc | o |
  19. | linux | ia32 | linux-elf | o |
  20. | linux | x32 | linux-x32 | - |
  21. | linux | x64 | linux-x86_64 | o |
  22. | linux | arm | linux-armv4 | o |
  23. | linux | arm64 | linux-aarch64 | o |
  24. | linux | ppc | linux-ppc | o |
  25. | linux | ppc64 | linux-ppc64 | o |
  26. | linux | ppc64 | linux-ppc64le | o | (node_byteoder: little)
  27. | linux | s390 | linux32-s390x | o |
  28. | linux | s390x | linux64-s390x | o |
  29. | mac | ia32 | darwin-i386-cc | - |
  30. | mac | x64 | darwin64-x86-cc | o |
  31. | win | ia32 | VC-WIN32 | - |
  32. | win | x64 | VC-WIN64A | o |
  33. | solaris | ia32 | solaris-x86-gcc | o |
  34. | solaris | x64 | solaris64-x86_64-gcc | o |
  35. | freebsd | ia32 | BSD-x86 | - |
  36. | freebsd | x64 | BSD-x86_64 | o |
  37. | openbsd | ia32 | BSD-x86 | - |
  38. | openbsd | x64 | BSD-x86_64 | - |
  39. | others | others | linux-elf | - |
  40. --dest-os and --dest-cpu are mapped to pre-defined macros.
  41. | --dest-os | pre-defined macro |
  42. | ------------------ | ------------------------- |
  43. | aix | _AIX |
  44. | win | _WIN32 |
  45. | win(64bit) | _WIN64 |
  46. | mac | __APPLE__ && __MACH__ |
  47. | solaris | __sun |
  48. | freebsd | __FreeBSD__ |
  49. | openbsd | __OpenBSD__ |
  50. | linux (not andorid)| __linux__ && !__ANDROID__ |
  51. | android | __ANDROID__ |
  52. | --dest-cpu | pre-defined macro |
  53. | ---------- | ----------------- |
  54. | arm | __arm__ |
  55. | arm64 | __aarch64__ |
  56. | ia32 | __i386__ |
  57. | ia32(win) | _M_IX86 |
  58. | mips | __mips__ |
  59. | mipsel | __MIPSEL__ |
  60. | x32 | __ILP32__ |
  61. | x64 | __x86_64__ |
  62. | x64(win) | _M_X64 |
  63. | ppc | __PPC__ |
  64. | | _ARCH_PPC |
  65. | ppc64 | __PPC64__ |
  66. | | _ARCH_PPC64 |
  67. | s390 | __s390__ |
  68. | s390x | __s390x__ |
  69. These are the list which is not implemented yet.
  70. | --dest-os | --dest-cpu | OpenSSL target arch | CI |
  71. | --------- | ---------- | -------------------- | --- |
  72. | linux | mips | linux-mips32,linux-mips64,linux64-mips64? | --- |
  73. | linux | mipsel | ? | --- |
  74. | android | ia32 | android-x86 | --- |
  75. | android | arm | android-armv7 | --- |
  76. | android | mips | android-mips | --- |
  77. | android | mipsel | ? | --- |
  78. Supported target arch list in OpenSSL can be obtained by typing
  79. `deps/openssl/openssl/Configure LIST`.
  80. */
  81. #if defined(OPENSSL_LINUX) && defined(__i386__)
  82. # include "./archs/linux-elf/asm/include/openssl/opensslconf.h"
  83. #elif defined(OPENSSL_LINUX) && defined(__ILP32__)
  84. # include "./archs/linux-x32/asm/include/openssl/opensslconf.h"
  85. #elif defined(OPENSSL_LINUX) && defined(__x86_64__)
  86. # include "./archs/linux-x86_64/asm/include/openssl/opensslconf.h"
  87. #elif defined(OPENSSL_LINUX) && defined(__arm__)
  88. # include "./archs/linux-armv4/asm/include/openssl/opensslconf.h"
  89. #elif defined(OPENSSL_LINUX) && defined(__aarch64__)
  90. # include "./archs/linux-aarch64/asm/include/openssl/opensslconf.h"
  91. #elif defined(__APPLE__) && defined(__MACH__) && defined(__i386__)
  92. # include "./archs/darwin-i386-cc/asm/include/openssl/opensslconf.h"
  93. #elif defined(__APPLE__) && defined(__MACH__) && defined(__x86_64__)
  94. # include "./archs/darwin64-x86_64-cc/asm/include/openssl/opensslconf.h"
  95. #elif defined(_WIN32) && defined(_M_IX86)
  96. # include "./archs/VC-WIN32/asm/include/openssl/opensslconf.h"
  97. #elif defined(_WIN32) && defined(_M_X64)
  98. # include "./archs/VC-WIN64A/asm/include/openssl/opensslconf.h"
  99. #elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
  100. # include "./archs/BSD-x86/asm/include/openssl/opensslconf.h"
  101. #elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__x86_64__)
  102. # include "./archs/BSD-x86_64/asm/include/openssl/opensslconf.h"
  103. #elif defined(__sun) && defined(__i386__)
  104. # include "./archs/solaris-x86-gcc/asm/include/openssl/opensslconf.h"
  105. #elif defined(__sun) && defined(__x86_64__)
  106. # include "./archs/solaris64-x86_64-gcc/asm/include/openssl/opensslconf.h"
  107. #elif defined(OPENSSL_LINUX) && defined(__PPC64__) && defined(L_ENDIAN)
  108. # include "./archs/linux-ppc64le/asm/include/openssl/opensslconf.h"
  109. #elif defined(OPENSSL_LINUX) && defined(__PPC64__)
  110. # include "./archs/linux-ppc64/asm/include/openssl/opensslconf.h"
  111. #elif defined(OPENSSL_LINUX) && !defined(__PPC64__) && defined(__ppc__)
  112. # include "./archs/linux-ppc/asm/include/openssl/opensslconf.h"
  113. #elif defined(_AIX) && defined(_ARCH_PPC64)
  114. # include "./archs/aix64-gcc/asm/include/openssl/opensslconf.h"
  115. #elif defined(_AIX) && !defined(_ARCH_PPC64) && defined(_ARCH_PPC)
  116. # include "./archs/aix-gcc/asm/include/openssl/opensslconf.h"
  117. #elif defined(OPENSSL_LINUX) && defined(__s390x__)
  118. # include "./archs/linux64-s390x/asm/include/openssl/opensslconf.h"
  119. #elif defined(OPENSSL_LINUX) && defined(__s390__)
  120. # include "./archs/linux32-s390x/asm/include/openssl/opensslconf.h"
  121. #elif defined(OPENSSL_LINUX) && defined(__mips64) && defined(__MIPSEL__)
  122. # include "./archs/linux64-mips64/asm/include/openssl/opensslconf.h"
  123. #else
  124. # include "./archs/linux-elf/asm/include/openssl/opensslconf.h"
  125. #endif