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.

228 lines
4.0 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
  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/configuration.h
  23. /include/openssl/opensslv.h
  24. # Auto generated doc files
  25. # Keep this in sync with doc/man1/build.info
  26. doc/man1/openssl-ca.pod
  27. doc/man1/openssl-cms.pod
  28. doc/man1/openssl-crl.pod
  29. doc/man1/openssl-dgst.pod
  30. doc/man1/openssl-dhparam.pod
  31. doc/man1/openssl-dsa.pod
  32. doc/man1/openssl-dsaparam.pod
  33. doc/man1/openssl-ec.pod
  34. doc/man1/openssl-ecparam.pod
  35. doc/man1/openssl-enc.pod
  36. doc/man1/openssl-gendsa.pod
  37. doc/man1/openssl-genpkey.pod
  38. doc/man1/openssl-genrsa.pod
  39. doc/man1/openssl-ocsp.pod
  40. doc/man1/openssl-passwd.pod
  41. doc/man1/openssl-pkcs12.pod
  42. doc/man1/openssl-pkcs7.pod
  43. doc/man1/openssl-pkcs8.pod
  44. doc/man1/openssl-pkey.pod
  45. doc/man1/openssl-pkeyparam.pod
  46. doc/man1/openssl-pkeyutl.pod
  47. doc/man1/openssl-rand.pod
  48. doc/man1/openssl-req.pod
  49. doc/man1/openssl-rsa.pod
  50. doc/man1/openssl-rsautl.pod
  51. doc/man1/openssl-s_client.pod
  52. doc/man1/openssl-s_server.pod
  53. doc/man1/openssl-s_time.pod
  54. doc/man1/openssl-smime.pod
  55. doc/man1/openssl-speed.pod
  56. doc/man1/openssl-spkac.pod
  57. doc/man1/openssl-srp.pod
  58. doc/man1/openssl-storeutl.pod
  59. doc/man1/openssl-ts.pod
  60. doc/man1/openssl-verify.pod
  61. doc/man1/openssl-x509.pod
  62. # error code files
  63. /crypto/err/openssl.txt.old
  64. /engines/e_afalg.txt.old
  65. /engines/e_capi.txt.old
  66. /engines/e_dasync.txt.old
  67. /engines/e_ossltest.txt.old
  68. # Executables
  69. /apps/openssl
  70. /test/sha256t
  71. /test/sha512t
  72. /test/gost2814789t
  73. /test/ssltest_old
  74. /test/*test
  75. /test/fips_aesavs
  76. /test/fips_desmovs
  77. /test/fips_dhvs
  78. /test/fips_drbgvs
  79. /test/fips_dssvs
  80. /test/fips_ecdhvs
  81. /test/fips_ecdsavs
  82. /test/fips_rngvs
  83. /test/fips_test_suite
  84. /test/ssltest_old
  85. /test/x509aux
  86. /test/v3ext
  87. /test/versions
  88. /test/ossl_shim/ossl_shim
  89. /test/rsa_complex
  90. /test/confdump
  91. /test/bio_prefix_text
  92. # Other generated files in test/
  93. /test/provider_internal_test.conf
  94. /test/fipsinstall.conf
  95. /providers/fipsinstall.conf
  96. # Certain files that get created by tests on the fly
  97. /test-runs
  98. /test/buildtest_*
  99. # Fuzz stuff.
  100. # Anything without an extension is an executable on Unix, so we keep files
  101. # with extensions. And we keep the corpora subddir versioned as well.
  102. # Anything more generic with extensions that should be ignored will be taken
  103. # care of by general ignores for those extensions (*.o, *.obj, *.exe, ...)
  104. /fuzz/*
  105. !/fuzz/README*
  106. !/fuzz/corpora
  107. !/fuzz/*.*
  108. # Misc auto generated files
  109. /doc/man7/openssl_user_macros.pod
  110. /tools/c_rehash
  111. /tools/c_rehash.pl
  112. /util/shlib_wrap.sh
  113. /tags
  114. /TAGS
  115. *.map
  116. *.ld
  117. # Windows (legacy)
  118. /tmp32
  119. /tmp32.dbg
  120. /tmp32dll
  121. /tmp32dll.dbg
  122. /out32
  123. /out32.dbg
  124. /out32dll
  125. /out32dll.dbg
  126. /inc32
  127. /MINFO
  128. /ms/bcb.mak
  129. /ms/libeay32.def
  130. /ms/nt.mak
  131. /ms/ntdll.mak
  132. /ms/ssleay32.def
  133. /ms/version32.rc
  134. # Files created on other branches that are not held in git, and are not
  135. # needed on this branch
  136. /include/openssl/asn1_mac.h
  137. /include/openssl/des_old.h
  138. /include/openssl/fips.h
  139. /include/openssl/fips_rand.h
  140. /include/openssl/krb5_asn.h
  141. /include/openssl/kssl.h
  142. /include/openssl/pq_compat.h
  143. /include/openssl/ssl23.h
  144. /include/openssl/tmdiff.h
  145. /include/openssl/ui_compat.h
  146. /test/fips_aesavs.c
  147. /test/fips_desmovs.c
  148. /test/fips_dsatest.c
  149. /test/fips_dssvs.c
  150. /test/fips_hmactest.c
  151. /test/fips_randtest.c
  152. /test/fips_rngvs.c
  153. /test/fips_rsagtest.c
  154. /test/fips_rsastest.c
  155. /test/fips_rsavtest.c
  156. /test/fips_shatest.c
  157. /test/fips_test_suite.c
  158. /test/shatest.c
  159. # Generated docs directories
  160. /doc/html
  161. /doc/man
  162. ##### Generic patterns
  163. # Auto generated assembly language source files
  164. *.s
  165. !/crypto/*/asm/*.s
  166. /crypto/arm*.S
  167. /crypto/*/*.S
  168. *.asm
  169. !/crypto/*/asm/*.asm
  170. # Object files
  171. *.o
  172. *.obj
  173. # editor artefacts
  174. *.swp
  175. .#*
  176. \#*#
  177. *~
  178. # Certificate symbolic links
  179. *.0
  180. # All kinds of libraries and executables
  181. *.a
  182. *.so
  183. *.so.*
  184. *.dylib
  185. *.dylib.*
  186. *.dll
  187. *.dll.*
  188. *.exe
  189. *.pyc
  190. *.exp
  191. *.lib
  192. *.pdb
  193. *.ilk
  194. *.def
  195. *.rc
  196. *.res
  197. # Misc generated stuff
  198. Makefile.save
  199. /crypto/**/lib
  200. /engines/**/lib
  201. /ssl/**/lib
  202. *.bak
  203. cscope.*
  204. *.d
  205. *.d.tmp
  206. pod2htmd.tmp
  207. # Windows manifest files
  208. *.manifest
  209. doc-nits