← Back to Patent Explorer
US5956513A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for automated software build control

Assignee: Verizon Patent and Licensing Inc
•
Filing: 1997-08-07
•
Granted: 1999-09-21
•
Expires: 2017-08-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An automated computer program application, called an Automated Build Control (ABC) application, provides an improved tool for managing the software build process. ABC uses the specification of a programmer's original program files as input, and automatically identifies all header, include, and other shared library files, which eliminates coding of dependencies. ABC identifies embedded header files, such as those which are referenced in other header files. ABC identifies duplicate headers so future builds can be expedited. ABC ensures all necessary source modules are located and available for compilation, prior to compilation. ABC performs comparisons of date/time stamps and identifies what source modules require recompilation. Essentially, ABC evaluates the compiling and linking processes prior to performing them, thus detecting any potential errors or conflicts before any time and effort is wasted.

Inventors

  • 👤 John V. McLain, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 08:02
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/70; G06F8/71

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 182 words
A method for automating a software build, said method comprising: (1) reading a configuration data file that provides a listing of modules, including program files header files and object modules, in order to determine which versions of said modules are required for compilation and the respective locations thereof, wherein said locations include a project library and one or more third party shared libraries; (2) scanning each said program file to determine an identity for each header file listed in each said program file; (3) if an identified header file is not specified in said configuration data file, then searching for a most recent version of said identified header file in said project library and said third party shared libraries specified by said configuration date file; (4) if said identified header file is specified in said configuration data file, then searching for said specified version of said header file in said project library and said third party shared libraries specified by said configuration date file; (5) generating an internal table listing said modules along with information relating to the compilation of said modules.
Claim 2
Independent Claim 182 words
A method for automating a software build, said method comprising: (1) reading a configuration data file that provides a listing of modules, including program files header files and object modules, in order to determine which versions of said modules are required for compilation and the respective locations thereof, wherein said locations include a project library and one or more third party shared libraries; (2) scanning each said program file to determine an identity for each header file listed in each said program file; (3) if an identified header file is not specified in said configuration data file, then searching for a most recent version of said identified header file in said project library and said third party shared libraries specified by said configuration date file; (4) if said identified header file is specified in said configuration data file, then searching for said specified version of said header file in said project library and said third party shared libraries specified by said configuration date file; (5) generating an internal table listing said modules along with information relating to the compilation of said modules.
Claim 3
Dependent Claim 76 words
A method according to claim 1, further comprising: (a) if said identified header file is not located in said project library or in said third party shared libraries, then listing an unresolved conflict error message for said identified header file in said internal table; (b) if said identified header file is located in said project library or in said third party shared libraries, then indicating that said identified header file was located in said internal table.
Claim 4
Dependent Claim 24 words
A method according to claim 2, wherein step (a) further comprises displaying said unresolved conflict error message immediately upon detection thereof to a user.
Claim 5
Dependent Claim 40 words
A method according to claim 2, wherein step (b) further comprises listing the name of said identified header file, the version of said identified header file and the location wherein said identified header file is located in said internal table.
Claim 6
Dependent Claim 45 words
A method according to claim 2, wherein step (b) further comprises: listing the name of said identified header file and a date/time stamp for said identified header file in said internal table; determining whether any additional header files are embedded in said identified header file.
Claim 7
Dependent Claim 245 words
A method according to claim 5, wherein if it is determined that there are additional header files embedded in said identified header file, then said method further comprises: (a) determining a name of each said embedded header file; (b) if a specified version of a said embedded header file is not indicated in said configuration data file, then searching for a most recent version of said embedded header file in said project library or in said third party shared libraries; (c) if a specified version of said embedded header file is indicated in said configuration date file, then searching for the specified version of said embedded header file in said project library or in said third party shared libraries; (d) if said embedded header file is not located in said project library or in said third party shared libraries, then listing an unresolved conflict error message for said embedded header file, said name of said embedded header file and a string of flag characters in said internal table; (e) if said embedded header file is located in said project library or in said third party shared libraries, then said method further comprises: (i) listing a name of said embedded header file and a date/time stamp for said embedded header file in said internal table; (ii) if there are any additional header files embedded in said embedded header files, then repeating steps (a) through (e) until every header file corresponding to said program file is located.
Claim 8
Dependent Claim 107 words
A method according to claim 1, further comprising: (a) searching for each said program file referenced in said configuration data file in said project library or in said third party shared libraries; (b) listing, for each said program file not located in said project library or in said third party shared library, an unresolved conflict error message, characters identifying said not located program file and a string of flag characters in said internal table; (c) listing, for each said program file located in said project library or in said third party shared library, characters identifying said located program file and a date/time stamp in said internal table.
Claim 9
Dependent Claim 24 words
A method according to claim 7, wherein step (b) further comprises displaying said unresolved conflict error message immediately upon detection thereof to a user.
Claim 10
Dependent Claim 116 words
A method according to claim 7, further comprising: (a) determining for each said located program file a name of a corresponding object module; (b) searching for each said object module in said project library or in said third party shared libraries; (c) listings for each said object module not located in said project library or in said third party shared library, an unresolved conflict error message, characters representing said not located object module and a string of flag characters in said internal table; (d) listing, for each said object module located in said project library or in said third party shared library, characters representing said located program file and a date/time stamp in said internal table.
Claim 11
Dependent Claim 24 words
A method according to claim 9, wherein step (c) further comprises displaying said unresolved conflict error message immediately upon detection thereof to a user.
Claim 12
Dependent Claim 58 words
A method according to claim 2, further comprising: searching said internal table to obtain a complete list of all of said header files for the software build and identifying any header files appearing more than one time therein; listing an unresolved conflict error message in said internal table for any header files appearing more than one time therein.
Claim 13
Dependent Claim 76 words
A method according to claim 1, further comprising: identifying a said program file for recompilation if a date/time stamp of said program file is greater in value than a date/time stamp of a said object module corresponding to said program file; identifying a said program file for recompilation if a date/time stamp of said identified leader file is greater in value than a date/time stamp of a said object module corresponding to said identified header file.
Claim 14
Independent Claim 184 words
A system for automating a software build, said system comprising: means for reading a configuration data file that provides a listing of modules, including program files, header files and object modules, in order to determine which versions of said modules are required for compilation and the respective locations thereof, wherein said locations include a project library and one or more third party shared libraries; means for scanning each said program file to determine an identity for each header file listed in each said program file; means for searching for a most recent version of an identified header file in said project library and said third party shared libraries specified by said configuration date file if said identified header file is not specified in said configuration data file; searching for a specified version of said identified header file in said project library and said third party shared libraries specified by said configuration date file if said identified header file is specified in said configuration data file; means for generating an internal table listing said modules along with information relating to the compilation of said modules.
Claim 15
Independent Claim 184 words
A system for automating a software build, said system comprising: means for reading a configuration data file that provides a listing of modules, including program files, header files and object modules, in order to determine which versions of said modules are required for compilation and the respective locations thereof, wherein said locations include a project library and one or more third party shared libraries; means for scanning each said program file to determine an identity for each header file listed in each said program file; means for searching for a most recent version of an identified header file in said project library and said third party shared libraries specified by said configuration date file if said identified header file is not specified in said configuration data file; searching for a specified version of said identified header file in said project library and said third party shared libraries specified by said configuration date file if said identified header file is specified in said configuration data file; means for generating an internal table listing said modules along with information relating to the compilation of said modules.
Claim 16
Dependent Claim 76 words
A system according to claim 13, further comprising: means for listing an unresolved conflict error message for said identified header file in said internal table, if said identified header file is not located in said project library or in said third party shared libraries; means for indicating that said identified header file was located in said internal table, if said identified header file is located in said project library or in said third party shared libraries.
Claim 17
Dependent Claim 39 words
A system according to claim 14, further comprising: means for listing the name of said identified header file, the version of said identified header file and the location wherein said identified header file is located in said internal table.
Claim 18
Dependent Claim 46 words
A system according to claim 14, further comprising: means for listing the name of said identified header file and a date/time stamp for said identified header file in said internal table; means for determining whether any additional header files are embedded in said identified header file.
Claim 19
Dependent Claim 199 words
A system according to claim 16, further comprising: means for determining the name of a header file embedded in said identified header file; means for searching for a most recent version of said embedded header file in said project library or in said third party shared libraries if a specified version of said embedded header file is not indicated in said configuration data file; means for searching for the specified version of said embedded header file in said project library or in said third party shared libraries if a specified version of said embedded header file is indicated in said configuration date file; means for listing an unresolved conflict error message for said embedded header file, said name of said embedded header file and a string of flag characters in said internal table, if said embedded header file is not located in said project library or in said third party shared libraries; wherein if said embedded header file is located in said project library or in said third party shared libraries, then said system further comprises: means for listing a name of said embedded header file and a date/time stamp for said embedded header file in said internal table.
Claim 20
Dependent Claim 110 words
A system according to claim 13, further comprising: means for searching for each said program file referenced in said configuration data file in said project library or in said third party shared libraries; means for listings for each said program file not located in said project library or in said third party shared library, an unresolved conflict error message, characters identifying said not located program file and a string of flag characters in said internal table; means for listing, for each said program file located in said project library or in said third party shared library, characters identifying said located program file and a date/time stamp in said internal table.
Claim 21
Dependent Claim 120 words
A system according to claim 18, further comprising: means for determining for each said located program file a name of a corresponding object module; means for searching for each said object module in said project library or in said third party shared libraries; means for listing, for each said object module not located in said project library or in said third party shared library, an unresolved conflict error message, characters representing said not located object module and a string of flag characters in said internal table; means for listing, for each said object module located in said project library or in said third party shared library, characters representing said located program file and a date/time stamp in said internal table.
Claim 22
Dependent Claim 62 words
A system according to claim 14, further comprising: means for searching said internal table to obtain a complete list of all of said header files for the software build and identifying any header files appearing more than one time therein; means for listing an unresolved conflict error message in said internal table for any header files appearing more than one time therein.
Claim 23
Dependent Claim 80 words
A system according to claim 13, further comprising: means for identifying a said program file for recompilation if a date/time stamp of said program file is greater in value than a date/time stamp of a said object module corresponding to said program file; means for identifying, a said program file for recompilation if a date/time stamp of said identified header file is greater in value than a date/time stamp of a said object module corresponding to said identified header file.
Claim 24
Independent Claim 173 words
A system for automating a software build, said system comprising: a configuration data file that includes versions of each module required for compilation and locations of each said module, wherein said locations include a project library and one or more third party shared libraries, said modules including program files, header files and object modules; a scanning device, wherein said scanning device scans each said program file to determine the identity of each header file listed in each said program file; a searching device, wherein said searching device searches for a most recent version of each said header file in said libraries specified by said configuration date file, if said header file is not specified in said configuration data file, or searches specified version of a said header file in said libraries specified by said configuration date file if said header file is specified in said configuration data file; generation device, wherein said generation device generates an internal table listing each said module along with information relating to the compilation of each said module.
Claim 25
Independent Claim 173 words
A system for automating a software build, said system comprising: a configuration data file that includes versions of each module required for compilation and locations of each said module, wherein said locations include a project library and one or more third party shared libraries, said modules including program files, header files and object modules; a scanning device, wherein said scanning device scans each said program file to determine the identity of each header file listed in each said program file; a searching device, wherein said searching device searches for a most recent version of each said header file in said libraries specified by said configuration date file, if said header file is not specified in said configuration data file, or searches specified version of a said header file in said libraries specified by said configuration date file if said header file is specified in said configuration data file; generation device, wherein said generation device generates an internal table listing each said module along with information relating to the compilation of each said module.

References Cited (Backward Citations)

US5159687A Cited
US5649200A Cited
US5748961A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-09-20 2003-03-22 2003-09-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-20 2007-03-22 2007-09-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-20 2011-03-22 2011-09-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag