US2023259339A1PendingUtilityA1

Multi-Platform Compiling

Assignee: ORACLE INT CORPPriority: Nov 30, 2015Filed: Apr 26, 2023Published: Aug 17, 2023
Est. expiryNov 30, 2035(~9.3 yrs left)· nominal 20-yr term from priority
G06F 8/41
60
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Cross-compiling, by a multi-version compiler, may produce complied code targeted to a specified release version of a programming platform supported by the compiler. The specified version may be different from a default version of the programming platform targeted by the compiler. Thus, the multi-version compiler may cross-compile source code to generate compiled code for different versions of the programming platform. A developer may specify the target version using a single compiler option and the compiler may, in response, cross-compile for the target version without requiring any additional options to be configured by the user. The multi-version compiler may include library data regarding multiple versions of the programming platform, preventing a developer from having to locate and provide the necessary library data for each targeted version.

Claims

exact text as granted — not AI-modified
1 - 20 . (canceled) 
     
     
         21 . A method, comprising:
 performing, by one or more processors:
 applying differential library data of a library data repository to baseline library data of the library data repository to generate a specified release version of a library, the specified release version different from a baseline version of the library corresponding to the baseline library data of the library data repository; 
 compiling source code into compiled code targeted to the specified release version, the compiled code comprising one or more accesses to interfaces of the specified release version of the library; and 
 outputting the compiled code targeted to the specified release version. 
   
     
     
         22 . The method of  claim 21 , further comprising:
 receiving a compile command to compile the source code, the compile command comprising a version option indicating the specified release version, wherein the specified release version is one of a plurality of versions of a programming language supported by a compiler performing the compiling and outputting.   
     
     
         23 . The method of  claim 22 , wherein the programming language is the Java Programming Language. 
     
     
         24 . The method of  claim 22 , wherein the one or more accesses to interfaces of the specified release version of the library are generated according to application programming interface (API) information of the specified release version of the library accessed from a location within the library data repository identified by the version option. 
     
     
         25 . The method of  claim 22 , further comprising installing the compiler and library data including the baseline library and respective differential library data for the plurality of versions in the library data repository, wherein the compiler and the library data for the plurality of versions are installed as part of a single installation. 
     
     
         26 . The method of  claim 21 , wherein the baseline library data corresponds to an earlier version of a programming language as compared to a version of the programming language to which the differential library data corresponds. 
     
     
         27 . The method of  claim 21 , further comprising:
 receiving a compile command to compile the source code, the compile command comprising a version option indicating a baseline release version different from the specified release version;   compiling source code into compiled code targeted to the baseline release version, the compiled code comprising one or more accesses to interfaces of the baseline release version of the library; and   outputting the compiled code targeted to the baseline release version.   
     
     
         28 . One or more non-transitory, computer-readable storage media, storing program instructions that when executed on or across one or more computing devices, cause the one or more computing devices to implement:
 applying differential library data of a library data repository to baseline library data of the library data repository to generate a specified release version of a library, the specified release version different from a baseline version of the library corresponding to the baseline library data of the library data repository;   compiling source code into compiled code targeted to the specified release version, the compiled code comprising one or more accesses to interfaces of the specified release version of the library; and   outputting the compiled code targeted to the specified release version.   
     
     
         29 . The one or more non-transitory, computer-readable storage media of  claim 28 , storing additional program instructions that when executed on or across one or more computing devices, cause the one or more computing devices to implement:
 receiving a compile command to compile the source code, the compile command comprising a version option indicating the specified release version, wherein the specified release version is one of a plurality of versions of a programming language supported by a compiler performing the compiling and outputting.   
     
     
         30 . The one or more non-transitory, computer-readable storage media of  claim 29 , wherein the programming language is the Java Programming Language. 
     
     
         31 . The one or more non-transitory, computer-readable storage media of  claim 29 , wherein the one or more accesses to interfaces of the specified release version of the library are generated according to application programming interface (API) information of the specified release version of the library accessed from a location within the library data repository identified by the version option. 
     
     
         32 . The one or more non-transitory, computer-readable storage media of  claim 29 , storing additional program instructions that when executed on or across one or more computing devices, cause the one or more computing devices to implement:
 installing the compiler and library data including the baseline library and respective differential library data for the plurality of versions in the library data repository, wherein the compiler and the library data for the plurality of versions are installed as part of a single installation.   
     
     
         33 . The one or more non-transitory, computer-readable storage media of  claim 28 , wherein the baseline library data corresponds to an later version of a programming language as compared to a version of the programming language to which the differential library data corresponds. 
     
     
         34 . The one or more non-transitory, computer-readable storage media of  claim 28 , storing additional program instructions that when executed on or across one or more computing devices, cause the one or more computing devices to implement:
 receiving a compile command to compile the source code, the compile command comprising a version option indicating a baseline release version different from the specified release version;   compiling source code into compiled code targeted to the baseline release version, the compiled code comprising one or more accesses to interfaces of the baseline release version of the library; and   outputting the compiled code targeted to the baseline release version.   
     
     
         35 . A system, comprising:
 at least one processor;   a memory, comprising program instructions that when executed by the at least one processor cause the at least one processor to implement a compiler configured to:
 apply differential library data of a library data repository to baseline library data of the library data repository to generate a specified release version of a library, the specified release version different from a baseline version of the library corresponding to the baseline library data of the library data repository; 
 compile source code into compiled code targeted to the specified release version, the compiled code comprising one or more accesses to interfaces of the specified release version of the library; and 
 output the compiled code targeted to the specified release version. 
   
     
     
         36 . The system of  claim 35 , the compiler further configured to:
 receive a compile command to compile the source code, the compile command comprising a version option indicating the specified release version, wherein the specified release version is one of a plurality of versions of a programming language supported by the compiler.   
     
     
         37 . The system of  claim 36 , wherein the programming language is the Java Programming Language. 
     
     
         38 . The system of  claim 36 , wherein the one or more accesses to interfaces of the specified release version of the library are generated according to application programming interface (API) information of the specified release version of the library accessed from a location within the library data repository identified by the version option. 
     
     
         39 . The system of  claim 35 , wherein the baseline library data corresponds to an earlier version of a programming language as compared to a version of the programming language to which the differential library data corresponds. 
     
     
         40 . The system of  claim 35 , the compiler further configured to:
 receive a compile command to compile the source code, the compile command comprising a version option indicating a baseline release version different from the specified release version;   compile source code into compiled code targeted to the baseline release version, the compiled code comprising one or more accesses to interfaces of the baseline release version of the library; and   output the compiled code targeted to the baseline release version.

Join the waitlist — get patent alerts

Track US2023259339A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.