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.

238 lines
4.2 KiB

9 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.in
  5. /Makefile
  6. /MINFO
  7. /TABLE
  8. /*.pc
  9. /rehash.time
  10. /inc.*
  11. /makefile.*
  12. /out.*
  13. /tmp.*
  14. /configdata.pm
  15. # Links under apps
  16. /apps/CA.pl
  17. /apps/tsget
  18. /apps/tsget.pl
  19. /apps/md4.c
  20. # Auto generated headers
  21. /crypto/buildinf.h
  22. /include/crypto/*_conf.h
  23. /include/openssl/asn1.h
  24. /include/openssl/asn1t.h
  25. /include/openssl/bio.h
  26. /include/openssl/cmp.h
  27. /include/openssl/cms.h
  28. /include/openssl/conf.h
  29. /include/openssl/configuration.h
  30. /include/openssl/crmf.h
  31. /include/openssl/crypto.h
  32. /include/openssl/ct.h
  33. /include/openssl/err.h
  34. /include/openssl/ess.h
  35. /include/openssl/fipskey.h
  36. /include/openssl/lhash.h
  37. /include/openssl/ocsp.h
  38. /include/openssl/opensslv.h
  39. /include/openssl/pkcs12.h
  40. /include/openssl/pkcs7.h
  41. /include/openssl/safestack.h
  42. /include/openssl/srp.h
  43. /include/openssl/ssl.h
  44. /include/openssl/ui.h
  45. /include/openssl/x509.h
  46. /include/openssl/x509v3.h
  47. /include/openssl/x509_vfy.h
  48. # Auto generated doc files
  49. doc/man1/openssl-*.pod
  50. # Auto generated der files
  51. providers/common/der/der_digests_gen.c
  52. providers/common/der/der_dsa_gen.c
  53. providers/common/der/der_ec_gen.c
  54. providers/common/der/der_ecx_gen.c
  55. providers/common/der/der_rsa_gen.c
  56. providers/common/der/der_wrap_gen.c
  57. providers/common/der/der_sm2_gen.c
  58. providers/common/include/prov/der_dsa.h
  59. providers/common/include/prov/der_ec.h
  60. providers/common/include/prov/der_ecx.h
  61. providers/common/include/prov/der_rsa.h
  62. providers/common/include/prov/der_digests.h
  63. providers/common/include/prov/der_wrap.h
  64. providers/common/include/prov/der_sm2.h
  65. # error code files
  66. /crypto/err/openssl.txt.old
  67. /engines/e_afalg.txt.old
  68. /engines/e_capi.txt.old
  69. /engines/e_dasync.txt.old
  70. /engines/e_ossltest.txt.old
  71. # Executables
  72. /apps/openssl
  73. /test/sha256t
  74. /test/sha512t
  75. /test/gost2814789t
  76. /test/ssltest_old
  77. /test/*test
  78. /test/fips_aesavs
  79. /test/fips_desmovs
  80. /test/fips_dhvs
  81. /test/fips_drbgvs
  82. /test/fips_dssvs
  83. /test/fips_ecdhvs
  84. /test/fips_ecdsavs
  85. /test/fips_rngvs
  86. /test/fips_test_suite
  87. /test/ssltest_old
  88. /test/x509aux
  89. /test/v3ext
  90. /test/versions
  91. /test/ossl_shim/ossl_shim
  92. /test/rsa_complex
  93. /test/confdump
  94. /test/bio_prefix_text
  95. /test/evp_extra_test2
  96. /test/threadstest_fips
  97. # Certain files that get created by tests on the fly
  98. /test-runs
  99. /test/buildtest_*
  100. /test/provider_internal_test.cnf
  101. /test/fipsmodule.cnf
  102. /providers/fipsmodule.cnf
  103. # Fuzz stuff.
  104. # Anything without an extension is an executable on Unix, so we keep files
  105. # with extensions. And we keep the corpora subddir versioned as well.
  106. # Anything more generic with extensions that should be ignored will be taken
  107. # care of by general ignores for those extensions (*.o, *.obj, *.exe, ...)
  108. /fuzz/*
  109. !/fuzz/README*
  110. !/fuzz/corpora
  111. !/fuzz/*.*
  112. # Misc auto generated files
  113. /doc/man7/openssl_user_macros.pod
  114. /tools/c_rehash
  115. /tools/c_rehash.pl
  116. /util/shlib_wrap.sh
  117. /util/wrap.pl
  118. /tags
  119. /TAGS
  120. *.map
  121. *.ld
  122. /apps/progs.c
  123. /apps/progs.h
  124. # Windows (legacy)
  125. /tmp32
  126. /tmp32.dbg
  127. /tmp32dll
  128. /tmp32dll.dbg
  129. /out32
  130. /out32.dbg
  131. /out32dll
  132. /out32dll.dbg
  133. /inc32
  134. /MINFO
  135. /ms/bcb.mak
  136. /ms/libeay32.def
  137. /ms/nt.mak
  138. /ms/ntdll.mak
  139. /ms/ssleay32.def
  140. /ms/version32.rc
  141. # Files created on other branches that are not held in git, and are not
  142. # needed on this branch
  143. /include/openssl/asn1_mac.h
  144. /include/openssl/des_old.h
  145. /include/openssl/fips.h
  146. /include/openssl/fips_rand.h
  147. /include/openssl/krb5_asn.h
  148. /include/openssl/kssl.h
  149. /include/openssl/pq_compat.h
  150. /include/openssl/ssl23.h
  151. /include/openssl/tmdiff.h
  152. /include/openssl/ui_compat.h
  153. /test/fips_aesavs.c
  154. /test/fips_desmovs.c
  155. /test/fips_dsatest.c
  156. /test/fips_dssvs.c
  157. /test/fips_hmactest.c
  158. /test/fips_randtest.c
  159. /test/fips_rngvs.c
  160. /test/fips_rsagtest.c
  161. /test/fips_rsastest.c
  162. /test/fips_rsavtest.c
  163. /test/fips_shatest.c
  164. /test/fips_test_suite.c
  165. /test/shatest.c
  166. # Generated docs directories
  167. /doc/html
  168. /doc/man
  169. ##### Generic patterns
  170. # Auto generated assembly language source files
  171. *.s
  172. !/crypto/*/asm/*.s
  173. /crypto/arm*.S
  174. /crypto/*/*.S
  175. *.asm
  176. !/crypto/*/asm/*.asm
  177. # Object files
  178. *.o
  179. *.obj
  180. # editor artefacts
  181. *.swp
  182. .#*
  183. \#*#
  184. *~
  185. # Certificate symbolic links
  186. *.0
  187. # All kinds of libraries and executables
  188. *.a
  189. *.so
  190. *.so.*
  191. *.dylib
  192. *.dylib.*
  193. *.dll
  194. *.dll.*
  195. *.exe
  196. *.pyc
  197. *.exp
  198. *.lib
  199. *.pdb
  200. *.tds
  201. *.ilk
  202. *.def
  203. *.rc
  204. *.res
  205. # Misc generated stuff
  206. Makefile.save
  207. /crypto/**/lib
  208. /engines/**/lib
  209. /ssl/**/lib
  210. *.bak
  211. cscope.*
  212. *.d
  213. *.d.tmp
  214. pod2htmd.tmp
  215. MAKE0[0-9][0-9][0-9].@@@
  216. # Windows manifest files
  217. *.manifest
  218. doc-nits