source: draft-ietf-httpbis/06/BUILDING.txt @ 784

Last change on this file since 784 was 464, checked in by julian.reschke@…, 11 years ago

add explanation how the ABNF parsing/collection step works

File size: 1.2 KB
Line 
1ABNF
2====
3
4The build process now uses BAP, Bill Fenner's ABNF parser.
5
6To build BAP:
7
8cd ~/abnfparser/bap
9./configure
10make
11
12If linking fails, try to change
13
14  bap:    ${OBJS}
15          ${CC} -o $@ ${DEBUG} ${OBJS} -ll
16       
17to
18
19  bap:    ${OBJS}
20          ${CC} -o $@ ${DEBUG} ${OBJS} -lfl
21         
22
23The actual build process does the following steps:
24
251) Extract ABNF
26
27Extracts the individual ABNF fragments (labeled with type="abnf2616") into
28*.abnf (using XSLT).
29
302) Parse ABNF and do 1st formatting step
31
32Parse the ABNF using BAP, sort it, and re-parse the result using BAP,
33serializing the result with folded lines for RFC production to *.parsed-abnf.
34
353) Generate Collected ABNF appendix, and check whether the src is up2date
36
37Reads both *.xml and *parsed-abnf using XSLT, generating *.abnf-appendix,
38ready for inclusion into the source. While doing so, checks that the current
39source has an up to date appendix already.
40
41This step will produce a WARNING message when the newly generated appendix
42needs to be refreshed in the source.
43
44Q: Why not do it automatically?
45
46A: Mainly, it would make bootstrapping harder, given the current toolchain.
47
Note: See TracBrowser for help on using the repository browser.