Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Method and system for program building

a program building and program technology, applied in the field of program building, can solve problems such as being unable to adapt to suit the specific needs of a vendor

Inactive Publication Date: 2015-04-14
INT BUSINESS MASCH CORP
View PDF6 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0032]When redirecting generic program invocation through the invention, the invention provides a smart mechanism to mutate program invoking commands and additionally provides a mechanism to run scripts before and after underlying program invocation. By using the invention as a front-end invocation replacement for compiler and linker commands, a build process for generating software can be dramatically influenced without having to actually modify build scripts, e.g. make files, used to control the process. One such use of this facility is the generation of highly optimized profiled software wherein the generation of such would require special command options and tools and wherein the original build scripts were not written with this sort of optimization in mind. Another use of such a facility is the replacement of one compiler vendor for another wherein the build scripts contain vendor specific options. Another use of such a facility is the ability to selectively reduce optimization of particular modules when one vendor's compiler generates code that violates the original intentions of the source code.
[0034]The prior art method of running scripts before compilation involves running the compiler from within a script or make-file. Within a script or make-file, commands can be issued before and after invoking the compiler. The invention here reverses this process; instead of the script running the compiler, the unified build frontend can run a script from within its own process. The infrastructure to intelligently select when, how and under what conditions to process script commands by the unified build frontend makes this feasible.
[0037]Further embodiments of the present invention provide the ability to use special tools to compile specific parts of the used kernel to improve performance or integrity. Another example is the ability to instruct the compiler to generate alternative code; when it is determined that either; a module doesn't lend itself to be optimized in a particular fashion, or a compiler abnormality (bug) causes the compiler to generate invalid code.

Problems solved by technology

The basic issue is; how to build an optimized kernel given the following conflicting factors, that the used compiler requires specific options to build optimized code, and the make-files—the instructions used to build the kernel—are platform agnostic; and therefore cannot be modified to suit a particular needs of a vendor.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Examples

Experimental program
Comparison scheme
Effect test

first embodiment

[0047]FIG. 1 shows a system for program building, in accordance with an embodiment of the present invention, and FIG. 2 to 4 show a method for program building, in accordance with the present invention.

[0048]Referring to FIGS. 1 and 2, the shown embodiment of the present invention employs a system 1 for program building comprising a resource pool 9 with predefined source files and predefined build scripts comprising a sequence of build commands; a unified build frontend 12 and at least one compiling tool 10. Each build command comprises an origin command line 20 interpretable by an operating system 7 and addressed to at least one compiling tool 10. In the shown embodiments the origin command line 20 contains a source file name 22, a destination file name 24, a program name 25, an indication of at least one action 26 to be performed by the at least one addressed compiling tool 10, and an option 28 related to a corresponding action 26 to be performed.

[0049]According to the present inv...

second embodiment

[0069]FIGS. 5 and 6 show a method for program building, in accordance with the present invention.

[0070]Referring to FIGS. 5 and 6, the corresponding flowchart depicts a typical instance of the invention for compiler script injection. The five main steps are, starting the unified build frontend 12 in precisely the same fashion as would be the underlying compiling tool 10; detecting environmental parameters and reading XML control file 30, iterating the input command line components 22, 24, 25, 26, 28 or input parameters and mutating them, initiating a new process within which a pre-compile script may be run and / or the underlying compiling tool 10 is invoked and / or a post-compile script may be run.

[0071]Referring to FIG. 5, during program generation, the compiling tool 10 is usually started by way of the origin command line 20 provided by the operating system 7 or by an automated make program, in step S100. In either case, the unified build frontend 12 receives information by the orig...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

An improved method for program building uses predefined source files and predefined build scripts comprising a sequence of build commands; wherein each build command comprises an origin command line interpretable by an operating system and addressed to at least one compiling tool.

Description

BACKGROUND OF THE INVENTION[0001]1. Field of the Invention[0002]The present invention relates in general to the field of program building for generating computer code interpretable by a target hardware platform, and in particular to a method for program building, and a system for program building using predefined source files and predefined build scripts. Still more particularly, the present invention relates to a data processing program and a computer program product for program building.[0003]2. Description of the Related Art[0004]Computer programs that run native on central processing units without runtime software interpretation are produced when human authored source code is translated into machine code by another program called a compiler. A compiler is typically a generic program that converts valid human readable source code to machine instructions. Commercial software foundries that produce large software programs typically use automated build processes to translate many th...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Patents(United States)
IPC IPC(8): G06F9/45
CPCG06F8/447
Inventor KASS, ERIC R.SELL, STEFAN B.
Owner INT BUSINESS MASCH CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products