A local copy of OpenSSL from GitHub
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

232 lines
4.1 KiB

10 years ago
Refactor file writing - introduce template driven file writing apps/CA.pl and tools/c_rehash are built from template files. So far, this was done by Configure, which created its own problems as it forced everyone to reconfigure just because one of the template files had changed. Instead, have those files created as part of the normal build in apps/ and in tools/. Furthermore, this prepares for a future where Configure may produce entirely other build files than Makefile, and the latter can't be guaranteed to be the holder of all information for other scripts. Instead, configdata.pm (described below) becomes the center of configuration information. This introduces a few new things: %config a hash table to hold all kinds of configuration data that can be used by any other script. configdata.pm a perl module that Configure writes. It currently holds the hash tables %config and %target. util/dofile.pl a script that takes a template on STDIN and outputs the result after applying configuration data on it. It's supposed to be called like this: perl -I$(TOP) -Mconfigdata < template > result or perl -I$(TOP) -Mconfigdata templ1 templ2 ... > result Note: util/dofile.pl requires Text::Template. As part of this changed, remove a number of variables that are really just copies of entries in %target, and use %target directly. The exceptions are $target{cflags} and $target{lflags}, they do get copied to $cflags and $lflags. The reason for this is that those variable potentially go through a lot of changes and would rather deserve a place in %config. That, however, is for another commit. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
7 years ago
  1. # Ignore editor artefacts
  2. /.dir-locals.el
  3. # Top level excludes
  4. /Makefile
  5. /MINFO
  6. /TABLE
  7. /*.pc
  8. /rehash.time
  9. /inc.*
  10. /makefile.*
  11. /out.*
  12. /tmp.*
  13. /configdata.pm
  14. # Links under apps
  15. /apps/CA.pl
  16. /apps/tsget
  17. /apps/tsget.pl
  18. /apps/md4.c
  19. # Auto generated headers
  20. /crypto/buildinf.h
  21. /include/crypto/*_conf.h
  22. /include/openssl/asn1.h
  23. /include/openssl/asn1t.h
  24. /include/openssl/bio.h
  25. /include/openssl/cmp.h
  26. /include/openssl/cms.h
  27. /include/openssl/conf.h
  28. /include/openssl/configuration.h
  29. /include/openssl/crmf.h
  30. /include/openssl/crypto.h
  31. /include/openssl/ct.h
  32. /include/openssl/err.h
  33. /include/openssl/ess.h
  34. /include/openssl/fipskey.h
  35. /include/openssl/ocsp.h
  36. /include/openssl/opensslv.h
  37. /include/openssl/pkcs12.h
  38. /include/openssl/pkcs7.h
  39. /include/openssl/safestack.h
  40. /include/openssl/srp.h
  41. /include/openssl/ssl.h
  42. /include/openssl/ui.h
  43. /include/openssl/x509.h
  44. /include/openssl/x509v3.h
  45. /include/openssl/x509_vfy.h
  46. # Auto generated doc files
  47. doc/man1/openssl-*.pod
  48. # Auto generated der files
  49. providers/common/der/der_digests_gen.c
  50. providers/common/der/der_dsa_gen.c
  51. providers/common/der/der_ec_gen.c
  52. providers/common/der/der_ecx_gen.c
  53. providers/common/der/der_rsa_gen.c
  54. providers/common/der/der_wrap_gen.c
  55. providers/common/der/der_sm2_gen.c
  56. providers/common/include/prov/der_dsa.h
  57. providers/common/include/prov/der_ec.h
  58. providers/common/include/prov/der_ecx.h
  59. providers/common/include/prov/der_rsa.h
  60. providers/common/include/prov/der_digests.h
  61. providers/common/include/prov/der_wrap.h
  62. providers/common/include/prov/der_sm2.h
  63. # error code files
  64. /crypto/err/openssl.txt.old
  65. /engines/e_afalg.txt.old
  66. /engines/e_capi.txt.old
  67. /engines/e_dasync.txt.old
  68. /engines/e_ossltest.txt.old
  69. # Executables
  70. /apps/openssl
  71. /test/sha256t
  72. /test/sha512t
  73. /test/gost2814789t
  74. /test/ssltest_old
  75. /test/*test
  76. /test/fips_aesavs
  77. /test/fips_desmovs
  78. /test/fips_dhvs
  79. /test/fips_drbgvs
  80. /test/fips_dssvs
  81. /test/fips_ecdhvs
  82. /test/fips_ecdsavs
  83. /test/fips_rngvs
  84. /test/fips_test_suite
  85. /test/ssltest_old
  86. /test/x509aux
  87. /test/v3ext
  88. /test/versions
  89. /test/ossl_shim/ossl_shim
  90. /test/rsa_complex
  91. /test/confdump
  92. /test/bio_prefix_text
  93. /test/evp_extra_test2
  94. # Certain files that get created by tests on the fly
  95. /test-runs
  96. /test/buildtest_*
  97. /test/provider_internal_test.cnf
  98. /test/fipsmodule.cnf
  99. /providers/fipsmodule.cnf
  100. # Fuzz stuff.
  101. # Anything without an extension is an executable on Unix, so we keep files
  102. # with extensions. And we keep the corpora subddir versioned as well.
  103. # Anything more generic with extensions that should be ignored will be taken
  104. # care of by general ignores for those extensions (*.o, *.obj, *.exe, ...)
  105. /fuzz/*
  106. !/fuzz/README*
  107. !/fuzz/corpora
  108. !/fuzz/*.*
  109. # Misc auto generated files
  110. /doc/man7/openssl_user_macros.pod
  111. /tools/c_rehash
  112. /tools/c_rehash.pl
  113. /util/shlib_wrap.sh
  114. /tags
  115. /TAGS
  116. *.map
  117. *.ld
  118. /apps/progs.c
  119. /apps/progs.h
  120. # Windows (legacy)
  121. /tmp32
  122. /tmp32.dbg
  123. /tmp32dll
  124. /tmp32dll.dbg
  125. /out32
  126. /out32.dbg
  127. /out32dll
  128. /out32dll.dbg
  129. /inc32
  130. /MINFO
  131. /ms/bcb.mak
  132. /ms/libeay32.def
  133. /ms/nt.mak
  134. /ms/ntdll.mak
  135. /ms/ssleay32.def
  136. /ms/version32.rc
  137. # Files created on other branches that are not held in git, and are not
  138. # needed on this branch
  139. /include/openssl/asn1_mac.h
  140. /include/openssl/des_old.h
  141. /include/openssl/fips.h
  142. /include/openssl/fips_rand.h
  143. /include/openssl/krb5_asn.h
  144. /include/openssl/kssl.h
  145. /include/openssl/pq_compat.h
  146. /include/openssl/ssl23.h
  147. /include/openssl/tmdiff.h
  148. /include/openssl/ui_compat.h
  149. /test/fips_aesavs.c
  150. /test/fips_desmovs.c
  151. /test/fips_dsatest.c
  152. /test/fips_dssvs.c
  153. /test/fips_hmactest.c
  154. /test/fips_randtest.c
  155. /test/fips_rngvs.c
  156. /test/fips_rsagtest.c
  157. /test/fips_rsastest.c
  158. /test/fips_rsavtest.c
  159. /test/fips_shatest.c
  160. /test/fips_test_suite.c
  161. /test/shatest.c
  162. # Generated docs directories
  163. /doc/html
  164. /doc/man
  165. ##### Generic patterns
  166. # Auto generated assembly language source files
  167. *.s
  168. !/crypto/*/asm/*.s
  169. /crypto/arm*.S
  170. /crypto/*/*.S
  171. *.asm
  172. !/crypto/*/asm/*.asm
  173. # Object files
  174. *.o
  175. *.obj
  176. # editor artefacts
  177. *.swp
  178. .#*
  179. \#*#
  180. *~
  181. # Certificate symbolic links
  182. *.0
  183. # All kinds of libraries and executables
  184. *.a
  185. *.so
  186. *.so.*
  187. *.dylib
  188. *.dylib.*
  189. *.dll
  190. *.dll.*
  191. *.exe
  192. *.pyc
  193. *.exp
  194. *.lib
  195. *.pdb
  196. *.ilk
  197. *.def
  198. *.rc
  199. *.res
  200. # Misc generated stuff
  201. Makefile.save
  202. /crypto/**/lib
  203. /engines/**/lib
  204. /ssl/**/lib
  205. *.bak
  206. cscope.*
  207. *.d
  208. *.d.tmp
  209. pod2htmd.tmp
  210. # Windows manifest files
  211. *.manifest
  212. doc-nits