mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
llvm-build: Add sketchy support for preserving comments when using
--write-llvmbuild. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146434 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
import StringIO
|
||||
import os
|
||||
import sys
|
||||
|
||||
@ -231,7 +232,22 @@ class LLVMProjectInfo(object):
|
||||
if not os.path.exists(directory_path):
|
||||
os.makedirs(directory_path)
|
||||
|
||||
# Create the LLVMBuild file.
|
||||
# In an effort to preserve comments (which aren't parsed), read in
|
||||
# the original file and extract the comments. We only know how to
|
||||
# associate comments that prefix a section name.
|
||||
f = open(infos[0]._source_path)
|
||||
comments_map = {}
|
||||
comment_block = ""
|
||||
for ln in f:
|
||||
if ln.startswith(';'):
|
||||
comment_block += ln
|
||||
elif ln.startswith('[') and ln.endswith(']\n'):
|
||||
comments_map[ln[:-1]] = comment_block
|
||||
else:
|
||||
comment_block = ""
|
||||
f.close()
|
||||
|
||||
# Create the LLVMBuild fil[e.
|
||||
file_path = os.path.join(directory_path, 'LLVMBuild.txt')
|
||||
f = open(file_path, "w")
|
||||
|
||||
@ -260,7 +276,11 @@ class LLVMProjectInfo(object):
|
||||
""" % header_string
|
||||
|
||||
for i,fragment in enumerate(fragments):
|
||||
print >>f, '[component_%d]' % i
|
||||
name = '[component_%d]' % i
|
||||
comment = comments_map.get(name)
|
||||
if comment is not None:
|
||||
f.write(comment)
|
||||
print >>f, name
|
||||
f.write(fragment)
|
||||
if fragment is not fragments[-1]:
|
||||
print >>f
|
||||
|
Reference in New Issue
Block a user