boringssl/crypto/obj
David Benjamin 6cc903880d Reimplement objects.pl in Go.
The perl script is a little nuts. obj_dat.pl actually parses the header
file that objects.pl emits to figure out what all the objects are.
Replace it all with a single Go script.

BUG=16

Change-Id: Ib1492e22dbe4cf9cf84db7648612b156bcec8e63
Reviewed-on: https://boringssl-review.googlesource.com/12963
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: Adam Langley <agl@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2016-12-21 22:14:13 +00:00
..
CMakeLists.txt Fix a bug in obj_dat.pl and add basic crypto/obj tests. 2016-04-26 15:19:26 +00:00
obj_dat.h Reimplement objects.pl in Go. 2016-12-21 22:14:13 +00:00
obj_mac.num Reimplement objects.pl in Go. 2016-12-21 22:14:13 +00:00
obj_test.cc Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
obj_xref.c Trim and simplify obj_xref.c. 2016-12-21 19:39:41 +00:00
obj.c Reimplement objects.pl in Go. 2016-12-21 22:14:13 +00:00
objects.go Reimplement objects.pl in Go. 2016-12-21 22:14:13 +00:00
objects.txt Remove CECPQ1 (experimental post-quantum key agreement). 2016-12-09 19:16:56 +00:00
README Reimplement objects.pl in Go. 2016-12-21 22:14:13 +00:00

The files nid.h, obj_mac.num, and obj_dat.h are generated from objects.txt and
obj_mac.num. To regenerate them, run:

    go run objects.go

objects.txt contains the list of all built-in OIDs. It is processed by
objects.go to output obj_mac.num, obj_dat.h, and nid.h.

obj_mac.num is the list of NID values for each OID. This is an input/output
file so NID values are stable across regenerations.

nid.h is the header which defines macros for all the built-in OIDs in C.

obj_dat.h contains the ASN1_OBJECTs corresponding to built-in OIDs themselves
along with lookup tables for search by short name, OID, etc.