mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	[devel] Improved missing symbol handling in checksym.awk; symbols missing in
both the old and new files can now be optionally ignored, treated as errors or warnings.
This commit is contained in:
		
							parent
							
								
									f1cf90238b
								
							
						
					
					
						commit
						d02f246887
					
				
							
								
								
									
										3
									
								
								ANNOUNCE
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								ANNOUNCE
									
									
									
									
									
								
							@ -462,6 +462,9 @@ Version 1.5.0beta56 [December 7, 2010]
 | 
				
			|||||||
Version 1.5.0beta57 [December 7, 2010]
 | 
					Version 1.5.0beta57 [December 7, 2010]
 | 
				
			||||||
  Documented the pngvalid gamma error summary with additional comments and
 | 
					  Documented the pngvalid gamma error summary with additional comments and
 | 
				
			||||||
    print statements.
 | 
					    print statements.
 | 
				
			||||||
 | 
					  Improved missing symbol handling in checksym.awk; symbols missing in both
 | 
				
			||||||
 | 
					    the old and new files can now be optionally ignored, treated as errors
 | 
				
			||||||
 | 
					    or warnings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
 | 
					Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
 | 
				
			||||||
(subscription required; visit
 | 
					(subscription required; visit
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										3
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								CHANGES
									
									
									
									
									
								
							@ -3100,6 +3100,9 @@ Version 1.5.0beta56 [December 7, 2010]
 | 
				
			|||||||
Version 1.5.0beta57 [December 7, 2010]
 | 
					Version 1.5.0beta57 [December 7, 2010]
 | 
				
			||||||
  Documented the pngvalid gamma error summary with additional comments and
 | 
					  Documented the pngvalid gamma error summary with additional comments and
 | 
				
			||||||
    print statements.
 | 
					    print statements.
 | 
				
			||||||
 | 
					  Improved missing symbol handling in checksym.awk; symbols missing in both
 | 
				
			||||||
 | 
					    the old and new files can now be optionally ignored, treated as errors
 | 
				
			||||||
 | 
					    or warnings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 | 
					Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 | 
				
			||||||
(subscription required; visit
 | 
					(subscription required; visit
 | 
				
			||||||
 | 
				
			|||||||
@ -20,6 +20,7 @@ BEGIN{
 | 
				
			|||||||
   lasto = 0        # last ordinal value from png.h
 | 
					   lasto = 0        # last ordinal value from png.h
 | 
				
			||||||
   mastero = 0      # highest ordinal in master file
 | 
					   mastero = 0      # highest ordinal in master file
 | 
				
			||||||
   symbolo = 0      # highest ordinal in png.h
 | 
					   symbolo = 0      # highest ordinal in png.h
 | 
				
			||||||
 | 
					   missing = "error"# log an error on missing symbols
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Read existing definitions from the master file (the first
 | 
					# Read existing definitions from the master file (the first
 | 
				
			||||||
@ -44,6 +45,13 @@ FILENAME==master && NF==2 && $2~/^@/ && $1!~/^;/ {
 | 
				
			|||||||
      print master ": bad export line format:", $0
 | 
					      print master ": bad export line format:", $0
 | 
				
			||||||
   err = 1
 | 
					   err = 1
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					FILENAME==master && $1==";missing" && NF==2{
 | 
				
			||||||
 | 
					   # This allows the master file to control how missing symbols
 | 
				
			||||||
 | 
					   # are handled; symbols that aren't in either the master or
 | 
				
			||||||
 | 
					   # the new file.  Valid values are 'ignore', 'warning' and
 | 
				
			||||||
 | 
					   # 'error'
 | 
				
			||||||
 | 
					   missing = $2
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
FILENAME==master {
 | 
					FILENAME==master {
 | 
				
			||||||
   next
 | 
					   next
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -112,11 +120,19 @@ END{
 | 
				
			|||||||
         }
 | 
					         }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (unexported != 0) {
 | 
					      if (unexported != 0) {
 | 
				
			||||||
         # Symbols in the .def but not in the new file are errors
 | 
					         # Symbols in the .def but not in the new file are errors, but
 | 
				
			||||||
 | 
					         # the 'unexported' symbols aren't in either.  By default this
 | 
				
			||||||
 | 
					         # is an error too (see the setting of 'missing' at the start),
 | 
				
			||||||
 | 
					         # but this can be reset on the command line or by stuff in the
 | 
				
			||||||
 | 
					         # file - see the comments above.
 | 
				
			||||||
 | 
					         if (missing != "ignore") {
 | 
				
			||||||
            if (o-1 > unexported)
 | 
					            if (o-1 > unexported)
 | 
				
			||||||
            print "png.h: warning: unexported symbol definitions:", unexported "-" o-1
 | 
					               print "png.h:", missing ": missing symbols:", unexported "-" o-1
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
            print "png.h: warning: unexported symbol definition:", unexported
 | 
					               print "png.h:", missing ": missing symbol:", unexported
 | 
				
			||||||
 | 
					            if (missing != "warning")
 | 
				
			||||||
 | 
					               err = 1
 | 
				
			||||||
 | 
					         }
 | 
				
			||||||
         unexported = 0
 | 
					         unexported = 0
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (symbol[o] != "" && removed[o] != "") {
 | 
					      if (symbol[o] != "" && removed[o] != "") {
 | 
				
			||||||
 | 
				
			|||||||
@ -3,6 +3,12 @@
 | 
				
			|||||||
; On OS/2 uncomment lines preceded by ;0S2
 | 
					; On OS/2 uncomment lines preceded by ;0S2
 | 
				
			||||||
;--------------------------------------------------------------
 | 
					;--------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; make scripts/pngwin.chk will validate this file against the
 | 
				
			||||||
 | 
					; build of libpng, the following line tells the check code to
 | 
				
			||||||
 | 
					; ignore symbols (ordinal values) that are missing in both
 | 
				
			||||||
 | 
					; files.
 | 
				
			||||||
 | 
					;missing ignore
 | 
				
			||||||
 | 
					
 | 
				
			||||||
; If you give the library an explicit name one or other files
 | 
					; If you give the library an explicit name one or other files
 | 
				
			||||||
; may need modifying to support the new name on one or more
 | 
					; may need modifying to support the new name on one or more
 | 
				
			||||||
; systems.
 | 
					; systems.
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user